A COBOL MONITOR
Thomas Benz
May 1993


DATA AUTOMATION PLANNING SYSTEM (DAPS)
Peter Bruno
May 1993
 
VERIFICATION OF TIMING CONSTRANTS OF REAL-TIME DISTRIBUTED SYSTEMS
Sudhir Gajre and Po-Li Soong
May 1993

 This paper provides a new methodology to verify the timing constraints of real-time distributed systems. Several works concerning different facets of real-time distributed systems are integrated to achiveve this goal. As a modeling tool, communicating real-time state machines (CRSM’s)) [1] are employed. Depending on the nature of the system, finite state of infinite state, two approached are employed. For a finite state system a reachability graph is built from the CRSM’s model. All the possible execution paths of CRSM’s are represented in reachability graph. By real-time temporal logic, the timing constraints are specified. The timing constraints are verified using the reachability graph. For infinite state systems we have designed and built a simulator. The behavior of the system is simulated on the simulator and the timings can be observed from the history files generated by the simulator.


DEVELOPMENT OF AN INTEGRATED SOFTWARE BASE
Christopher Little and Rajiv Shah
May, 1993

The thesis project describes the development of the Integrate Software Base (ISB) application

ISB is a window driven utility that allows a user to access by search, and reuse software elements stored in its software base. In the context of ISB, an element is defined as an independent, useful software entity. A software base is defined as a repository which stores software elements. ISB employs a simple and effective means for classifying the elements stored in the base in order to facilitate search and retrieval.

The software elements are defined and classified using a faceted classification scheme.

ISB can be accessed by a user while creating/editing a file in an editor. The user inferface of ISB provides a template in an entry window where the user can specify the attributes for the target element. ISB searches its software base for all candidate elements which fit the description of the target component specified by the user. If the search is successful, ISB displays the abstract of the candidate element(s). The user can further view the source code and/or the textual description of any candidate element. This source code and/or the textual description can also be imported into the editing session of the user.

Apart from searching and retrieval of elements stored in its software base, ISB provides librarian facilities for inserting new elements, and updating and deleting existing elements.

While ISB is not intended to be a full software development environment, it is a significant component and a good foundation of one. It supports the software development reusability concept, which is becoming more and more popular in the software reusability concept, which is becoming more and more popular in the software engineering discipline. ISB provides the integration of an editor, relational database, and a user interface. Thus the goals of ISB are to develop a valuable software generation tool while promoting software reusability and software integration.

Another goal of the project is to use rigorous and formal software development techniques promoted throughout the software engineering program to develop the software system from its requirements to its implementation and testing. Thus it studies the possibilities and advantages of using the formal specification language Z to specify the functionalities of a non-trivial software system. It will also be shown how Z provides a strong framework for subsequent design and implementation.

The user interface is also a significant feature of ISB’s development. A specification language based on a variation of State Transition Diagrams is used to specify the user interface. Throughout ISB’s development every effort was made to couple as loosely as possible its software base and user interface components. This leaves open the possibility to easily adapt an alternate user interface at a later stage. ISB’s help library, which provides context sensitive help, is also a significant feature of the user interface.

The ISB project has been a challenge from beginning to end. Its development contained both theoretical and practical aspects, and this made it interesting. It is hoped that ISB’s software base will grow over time and that programmers will avail of its usefulness. The concept of software reusability encourages programmers to reuse software which has already been developed and tested.


An Object Oriented Approach to Data Strucures Using C++
Jeffrey Davis
May 1994

This paper presents a library of re-usable data structures in the context of an object oriented software development methodology. The object-oriented methodology is based on proven software engineering principles such as abstraction, encapsulation, modularity, reusability, and safety. The C++ programming language provides mechanisms to implement these principles at the code level. This paper defines the object-oriented foundations and demonstrates the constructs in C++ which allow a programmer to effectively implement these principles. Complete examples of several data structures based on these foundations and constructs are illustrated. The specifications for stack and queue classes are presented including both static and dynamic representations. The specifications for lists and binary trees are then presented using a dual paradigm which supports both positional and recursive navigation.


Distributed DB2 Front End Processor
Cynthia Faulkner
May 1994

Verification and Object-Oriented Analysis and Design
Jin Huang
May 1994

This paper provides a set of verification criteria to verify the product of object-oriented analysis and design(OOAD).

Several stages of work are integrated to achieve this goal. The importance of verification in OOAD motivates the thesis. Several popular OOAD methodologies are analyzed and compared. Critical OOAD concepts and components which are independent of OOAD methodologies are extracted. A set of verification criteria is established based on these critical concepts and components to verify each OOAD component for its completeness, consistency and correctness.


Object Oriented Design for Communications
Raymond Savarese
May 1994

Report Generator Utility
Joseph Schofield
May 1994

Project Management Control System
Sylvia Appel and Mark Skopek
May 1995

Persistent Object Data Storage System (PODS)
Paul Di Marco
May 1995

Grid Based Application Editor
Mario Mariccino
May 1995

Rapid Prototyping & Application Migration to a Visual Environment
Paul Sedlak
May 1995

Specification & Verification of Programs Using Penelope
Steve Zevan
May 1995