Date of Award


Document Type


Degree Name

Master of Science (MS)


Computer Science

First Advisor

Emanuel S. Grant


Many software development projects fail because of their inability to deliver the product in a timely and cost-effective manner, i.e. the software crisis. In a commercial airline company, a safety-critical system for preventing a “single-point of failure” needs to be developed and certified. To meet the project deadline an Agile approach was used in developing the first portion of the system. An appropriate software development methodology, i.e. reverse-engineering was then applied to the software system to develop method that would be used in system maintenance and evaluation.

The goals of this research study were to develop a segment of one of the UML activity diagrams as a purposeful and systematic methodology for conducting reverse-engineering on complete safety critical systems of the airline system. This was done to capture very high and very low-level designs of software engineering and to verify and validate the source code.

The UML activity diagram was developed from a source code of an aircraft-gate assignment system. This was done in order to capture very low-level details of the program code, from which the model was reversed engineered. The diagram was made to represent the entire source code, by going through and analyzing the source code line-by-line. Whenever there is a condition in the source code, the diagram branches out and interacts with other activities. To directly see the flow of the program, the directional arrows in the diagram were assigned.

With the data flow of the source code being represented in the visual format of the UML activity diagram, the interaction of each component can be easily understood and identified. The user can see the information that goes into each method, and what each method required. Once the user understands the flow of data within the program, the user can validate and verify that the software was developed with correct methods.

As the UML activity diagram represented the pseudo code of the program in a graphic way, it should be a good candidate to be used as a tool to help in reverse-engineering safety critical systems of an airline system. The UML activity diagram should be able to represent all aspects required in the deconstruction phrase of the reverse-engineering methodology. With the source code in the graphic diagram form, it should be much easier to identify the structure, functions and determine how each aspect of the program interact with each other so that the activity diagram can be used in a formal methodology for reverse-engineering.