In order to make the development of business software applications more efficient, especially in the 1970’s and 80’s several automation solutions build on macro-based generation of COBOL and PL/I applications have been developed With these techniques and tools very large and complex applications have been implemented, often in many variants. Today COBOL and PL/I aren’t thought of to be appropriate languages for the development of modern software applications any more. But the numerous and mostly business-critical applications that have been created with macro-based generator systems are still used productively worldwide.
These applications that have grown over decades still have to be extended or adapted to ensure they meet current requirements and can be used in combination with new techniques. To protect the extensive investments that already have been made some kind of modernization of the generator systems and the generated applications is needed. The necessary information and documentation, however, are insufficiently only or even don’t exist any more.
To develop a procedure that automates the modernization of generators as far as possible, to reduce the effort needed as well as possible errors. The modernization should be executed step-by-step: In MoMaG the focus is on the transformation of old generators into new generator technologies; the generated target language, e.g. COBOL or PL/I, initially remains the same. As a result, the generators as well as the generated applications can be extended and maintained with the new generator techniques that support model-driven development, for example. This is the prerequisite to generate the applications in a new target language and for a modern platform in the next step.
The validation of the transformation results is particularly important: Mostly large enterprises use software generators for the generation of business-critical systems. Same functionality of the applications must be guaranteed when generators are changed. A multi-level automated procedure should be developed for such validation. In a first step, this procedure should prove that the original and new generated code is functionally equivalent, even if it’s structurally different. In a second step, the generators themselves and therefore all relevant configurations are compared. It must be proved that the new generator still generates systems that meet the previous requirements and therefore offers a reliable basis for subsequently changing the target language.
The practicability of the results will be proved using examples. Additionally different generator techniques will be used for validation of the MoMaG procedure; SWT and Pacbase are considered besides Delta ADS and anonymized generator systems “from the real world” are analysed thereby.
The research project MoMaG started in March 2015. When reaching the milestone in the middle of the project time, concept and design for the target generator system as well as for the migration are largely completed and already partly implemented as prototype with Delta ADS.
The project is funded by the Federal Ministry of Education and Research [Bundesministerium für Bildung und Forschung] (BMBF), and the following participants join the MoMaG project: