The modernisation of legacy applications, offloading or downsizing are on every IT department’s agenda. Enormous costs can be saved for example by migrating the applications from host to a Unix or Windows cluster; the transformation to current languages can again secure and prolongate the maintainability.
Meanwhile, there are many promising modernisation solutions for “normal” legacy application systems – for example realised in COBOL or PL/I. All of them claim to save the already made investments into the future.
But, whoever has used software generators for the application development, expects more than a simple language transformation. Generative development profits from a higher level of abstraction, the code to be maintained as well as the effort for the application tests are thus been significantly reduced. Nobody wants to waive these advantages after the modernisation.
Research results or even tools for the modernisation of generative development systems did not exist yet. But, should the huge advantage for the software development now prove as obstacle to the modernisation?
It quickly became clear for the experts from Delta Software Technology and the researchers from the University of Leipzig: We have to start the modernisation on a higher level, let’s start with the generators. If we transfer them into a modern world first, the generated systems will follow … automatically.
The concept convinced the experts of the Bundesministerum für Bildung und Forschung (BMBF, Federal Ministry of Education and Research): As part of the funding measure for innovative small and medium-sized companies “KMU Innovativ – IKT” the ministry supports the project "MoMaG – Modernisation of Macro-based Generats" that we conduct in cooperation with the University of Leipzig.
Read more: MoMaG Project
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:
In collaboration with the University of Applied Sciences in Kaiserslautern, the Fraunhofer IESE investigated various technologies for the efficient implementation of software product lines as part of the project PoLITe (Product Line Implementation Technologies). Fraunhofer IESE is one of the worldwide leading research institutes in the area of software and systems development. The project was supported by the "Stiftung Rheinland-Pfalz für Innovation" (foundation for innovation of Rheinland-Pfalz, Germany).
One essential emphasis of the project was the analysis of using frame processors. Frame processors apply Marvin Minsky's frame-slot concept to the description of software, particularly to the generation of source code. There are various frame processors, which differ conceptually very much. The generator language ANGIE, developed by Delta Software Technology, is a frame processor that differs from its competitors by combining generation-specific elements with modern programming language standards. The PoLITe project examined in detail the different concepts and their representatives using the generative development of graphical user interfaces as an exemplary application area.
Please find following the most important project results:
This PoLITe report classifies several technologies, particularly frames, in relation to "Generative Programming". The report provides an introduction into the subject.
This PoLITe report describes different implementation techniques for "Generative Programming" concepts – for C++ as well as for the usage of frame processors. A detailed survey with many examples.
The diploma thesis of Marco Emrich presents frames as a generative concept in detail. Various concrete frame technologies and methods are explained and compared with each other.
Max Schlee's diploma thesis addresses the generation of graphical user interfaces and presents a GUI generator based on ANGIE.
Delta Software Technology uses ANGIE as the core technology for the product development. This area of application ranges from the development of project-specific generators with HyperSenses to the automated service enablement with the standard product SCORE Adaptive Bridges and the tailor-made modernization of legacy applications with AMELIO Modernization Platform.
Delta has continually invested significant amounts in research and development for the core technologies used in Delta's range of software products. Delta products are built around world-beating generator technology that both implements the latest industry and academic research and leverages the extensive practical experience gained from building enterprise-class generator-based tools for more than 40 years.
Delta products implement industry standards and support a broad range of platform specific deployment targets. Developers using Delta tools follow a model-driven approach employing the best software engineering concepts. Delta supports traditional, OO, distributed, service, interface and component-based design and development methodologies.
Delta works closely with leading Universities and makes selected new technologies directly available to the global academic and development communities. Early exposure of new technologies is a core element of Delta's R&D process, ensuring early and comprehensive feedback that helps Delta to build products that are rock-solid and suitable for enterprise use.
L’échange étroit avec la science et la recherche scientifique a une importance fondamentale pour Delta Software Technology lors du développement d’outils et de technologies dans le domaine de la programmation générative. Au centre de la collaboration se trouve actuellement le projet de recherche IF-ModE dans lequel – comme dans le projet précédent MINT – une collaboration intense avec l’institut OFFIS est pratiquée. En plus, il y a une collaboration intense avec l’Université de Leipzig. Delta Software Technology s’efforce de consolider davantage la coopération couronnée de succès dans le domaine scientifique à l’avenir et de l’étendre à d’autres universités et instituts.
Delta Software Technology's development of Generative Programming tools and technologies benefits greatly from the vigorous exchange of ideas and information with the scientific and research communities.
Currently the research project IF-ModE is at the center of our collaboration activities. Within IF-ModE the intensive cooperation with the OFFIS institute – which took place in the prequel project MINT – is continued. Further intensive cooperation is underway with the University of Leipzig.
Delta Software Technology's aim is to continue to expand successful scientific cooperation in the future and to extend it to include other technical universities.
Delta Software Technology co-operates with its partners in a range of projects. The most important activities – besides the AmAVaG and IF-ModE project – are the concluded research projects MINT, PESOA, GP-Web and PoLITe, as well as the work performed on the theme “Feature Modelling” and the usage of the tool ELI for compiler development.
In March 2006 the research project MINT (Model-Driven Integration of Information Systems) started; its main goal was the provision of an efficient model-driven development method for the integration of existing (heterogeneous) business information systems.
Normally the focus of model-driven software development is on new development only. The integration of existing heterogeneous systems from different development cultures and “epochs” is much more problematic and critical for the enterprises as this involves the productive applications.
By using model-driven development concepts and advanced generator technology also for the integration of the legacy systems, companies will be enabled to accelerate their adaptation to changing business processes and new requirements, for example in the e-Commerce area.
MINT: Model-Driven Integration of Information Systems
What is the best way for the integration of business software - with particular focus on the data access layer?
The members of this project, which is funded by the German Federal Ministry of Education and Research (BMBF), were:
The product SCORE Adaptive Bridges - Data Architecture Integration, developed by Delta Software Technology, is one of the integration solutions examined within the project. This product offers a non-invasive integration technique that allows the usage of existing data objects and application components without requiring any changes to be made to these objects. The complete integration code is generated automatically.
More information about MINT and our contribution to the project you get from our project flyer.
Project results from MINT were presented at the MDD & PL 2009 in Leipzig (Germany). The detailed comparison of different integration approaches confirmed the effectiveness of project-specific and generator-based solutions.
You are interested in our integration solutions? Please contact us directly!