paper about the application of their reverse/reengineering tool (ITOC) to 4GL legacy applications.
They recognise that the dependency of customer on a vendor can prevent them from moving to and benefiting from newer technologies (particularly new RDBMS).
Competition amongst and advances in database systems means that many 4GL applications are now legacies. In addition, 4GLs are often tightly coupled with their
RDBMS - hindering migration.
Applications typically consist of user interface, logic and RDBMS.
4GLs automate many of the tedious and error prone GUI functions inherent in 3GLs. In addition, CASE tools can further improve productivity by generating the
4GL logic code from high level application descriptions.
Specifically, ITOC recovers the design from Ingres ABF 4GL applications. It does not deal with migrating data and assumes that a relational database will be used
below the source and the target application. However, its objective is to decouple to application (gui and logic) from the data. ITOC recovers a module data
diagram, which is the input to the case tool repository. The case tool (Oracle Designer 2000) can then generate the application in HTML, VB or Oracle Designer
2000.
Inputs to ITOC are the 4GL source code, the RDB schema and the screen definitions.
ITOC was tested on 3 commercial applications and one that the authors developed to test more obscure implementations of Ingres. The results measured the tools
effectiveness at recovering major design components. It proved least effective on the larger, more complex applications. analysis was carried out by domain expert.
It was good at recovering the GUIs which helps users since they are already familiar with the look and feel and need less re-training. The templates can also be
reused for new applications.
ITOC also produces a report which explicitly provides the business rules it has been able to extract from the source. Practitioners found this useful when completing
the reengineering.
A metric report is also produced to allow an estimate of the effort required to complete the reengineering project after using ITOC.
Related work has had little or no real world application.
I guess its fair to say that ITOC reverse engineers and gives program comprehension as a by product.
Related pages: Bibliography
|