Mission Oriented Architectural Legacy Evolution |
Model Oriented Reengineering Process for
Human Computer Interface |
User Interface Reengineering
Rapid improvements in computer hardware and new developments in operating systems often make it desirable to migrate mission-critical systems to faster and more cost-efficient computing environments. This system migration presents a myriad of challenges in software evolution. Often the legacy application runs on a mainframe with a character-oriented user interface, and must be migrated to a more powerful workstation with graphical user interface capabilities.
Since half or more of the code of an interactive application system is devoted to implementing the user interface, the majority of the cost of system migration is in reengineering the user interface. The MORPH technique and toolset provide automated support for user interface migration, significantly reducing the time and cost of migrating legacy applications.
MORPH Program Description
The MORPH toolset supports user interface reengineering. It provides automated reverse engineering of character-oriented user interfaces and transforms them to graphical user interfaces. MORPH identifies basic user interaction tasks and associated attributes in legacy code by applying static program analysis techniques, including control flow analysis, data flow analysis, and pattern matching. The resulting model is then used to transform the detected abstractions in the model to a specific graphical widget toolkit.
Program Features
The MORPH reengineering toolkit consists of three components:
Input from the human analyst is supported in order to refine the model and make judgment decisions in the representation and transformation stages. The transformation stage allows specific graphical implementations to be chosen and integrated into the legacy code.
MORALE
MORPH supports the Mission Oriented Architectural Legacy Evolution (MORALE) reengineering process. The goal of the MORALE project is to facilitate the evolution of legacy software systems. Facilitation takes the form of improved quality by requirements validation, reduced risk via architectural evaluation and assessment, and increased productivity from maintenance and access to design rationale and from high level reuse of architectural components.
The MORPH Toolkit
The MORPH toolkit, currently under development, provides automated support for reengineering user interfaces. The screen shots below show a character-oriented user interface being processed by MORPH - the upper right window is the old interface, the diagram showing the control flow of the program, and the MORPH window showing the user interface components identified. The resulting graphical user interface suggested by MORPH is on the lower right.
Graphical Interfaces Supported
MORPH processes code from applications with character-oriented user interfaces (all input and output are characters, as with old 3270 and vt100 programs) and provides automated support to migrate to graphical toolkits. Currently, the graphical toolkits supported are:
MORPH System Requirements
Since MORPH performs static analysis, it can process character-oriented user interfaces from code written for any environment. The MORPH research prototype itself runs in the following environment:
|
Sponsorship Effort sponsored by the Defense Advanced Research Projects Agency, and Air Force Research Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-96-2-0229. |