MoMaG - Modernization of Macro-based Generators
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:
AmAVaG - Automatic Architecture and Variability Analysis in Generating Systems
The research project AmAVaG started in January 2013. The project’s ambitious target was to automatically analyse the architecture and variability aspects of macro-based generating systems (e.g. developed with ADS, SWT, AMB). The results get represented and transformed into generative domain models. On one hand this extracted artefacts serve as re-documentation of the original generating system and on the other hand they serve as starting point for migration and modernisation.
The project was funded by the Federal Ministry of Education and Research [Bundesministerium für Bildung und Forschung] (BMBF). The following participants joined the project:
Generators and Modernisation: two strong points of Delta Software Technology
Since many years we develop generating technologies, among others ADS and HyperSenses. We brought our knowledge and experience into the project when it comes to the point where the architecture and variability aspects get extracted and transformed into appropriate models.
With our AMELIO Modernization Platform we already gained wide experience in migration and modernization of legacy-applications. AMELIO served as an optimal tool basis for the planned project.
Funding number: 01IS12043
Interoperability and Feature Tracing for Tool Chains in Model-driven Development
The research project IF-ModE (interoperability and feature tracing for tool chains in model-driven development) started in October 2008; its goal was the provision of information and techniques for the usage of MDD tools and tool chains based on them.
The great success of model-driven development tools, languages and methods has lead to a very heterogeneous range of products in this market. If a model-driven development process is to be implemented, there is currently no other way than to compose a tool chain specifically for the project. However, the costs are increased by the requirements for the interoperability of the tools and by the necessary efforts to build the know-how to use the specific set of different tools.
Hence, for a more extensive usage of MDD methods and tools it is important to develop techniques to improve or to establish interoperability as well as an appropriate information pool. They help to reduce the mentioned costs significantly. Furthermore, the advantages of model-driven development – particularly with regard to quality, productivity and maintenance – inure to the benefit of a large range of software developing companies.
Continued Cooperation with OFFIS
Delta Software Technology again was cooperating with the reknown OFFIS institute located in Oldenburg (Germany) which was also responsible for the project’s management. The project was funded by the German Federal Ministry of Research and Technology (BMBF) as part of the research programme “KMU innovativ”. The project’s duration was 24 months. Following the MINT project, whose subject was the investigation of solutions for the model-driven integration of business software, IF-ModE was already the second research project serving for collaboration with OFFIS.
Model-Driven Tool Chains: Experience Matters
Delta Software Technology has profound expertise with model-driven tool chains being also the basis for the enterprise products AMELIO Modernization Platform and SCORE Adaptive Bridges. Additionally the core technology HyperSenses – used for model-driven generator development and appliance – plays a decisive role concerning the integration of our products into the customer’s development processes. Here, Delta contributed important insights to the IF-ModE project and refined its own tools.
You are interested in model-driven development processes? Contact us directly!
Model-driven Integration of Information Systems
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.
The members of this project, which is funded by the German Federal Ministry of Education and Research (BMBF), were:
Generator Technology from Delta
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!
Process Families as Core Area of Research
In October 2003 the project PESOA (Process Family Engineering in Service-Oriented Applications) started, funded by the German Federal Ministry of Research and Technology. Participants in this project were:
As a project supported by the Ministry of Research, PESOA was part of the research programme "Software Engineering 2006". Its goal was the reinforcement of Germany as an ideal location for software companies.
The main goal of this project was the implementation of a process family engineering platform. Therefore, domain engineering techniques and product line engineering concepts should be applied to processes – further supplemented by generative techniques. In short, we wanted to apply the idea of system families to processes.
The areas of automotive and e-business served as domains for examples of process models. According to this, the concepts developed for PESOA have been applied to and verified with examples from two kinds of processes – technical processes and business processes.
The center of activities was the modeling of variability within processes, as well as the transformation of process models to target platforms.
Process Transformations with HyperSenses
Delta Software Technology undertook the task to implement the generation technologies for PESOA process transformations. Therefore the HyperSenses technology was the main instrument: Because of the differentiation of several modeling levels and comfortable tool support – especially for the development of patterns – HyperSenses is the ideal platform for the implementation of process transformations.
In this context the key goal was the consideration of different process modeling languages and notations. Using HyperSenses, we wanted to handle technical processes as well as business processes. In particular we wanted to import appropriate input data. The transformations should be performed based on a generic process meta-model, i.e. there is a common understanding of process definitions and variability. The support on the one hand of very different output formats and on the other hand of different target platforms is an integral part of the concept of HyperSenses.
Delta regards the usage of its own technologies for the PESOA project as an important seal of approval. The PESOA project resulted in significant advances related to the further development of our core technologies, as well as the commercial products based on them.
GP-WEB Research Project – ANGIE as Core Technology
In the project "Generative Programming for web-oriented software system families" (GP-WEB) at the University of Applied Sciences in Kaiserslautern, GP technologies have been examined in the web-/e-learning domain. Thereby, the ANGIE frame technology was used as the major conceptual platform.
The cutting-edge goals of this project included feature-model-based generators, the generation of graphical user interfaces and the use of generators as web services.
PoLITe Project at Fraunhofer IESE – Product Lines in the Center of Research Activities
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:
"Emerging Product Line Implementation Technologies: C++, Frames, and Generating Graphical User Interfaces"
U. Eisenecker, M. Emrich, C. Endler, M. Schlee
This PoLITe report classifies several technologies, particularly frames, in relation to "Generative Programming". The report provides an introduction into the subject.
"Generative Implementation Techniques for C++, Frames, and Graphical User Interfaces"
U. Eisenecker, M. Emrich, C. Endler, M. Schlee
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.
"Generative Programming Using Frame Technology"
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.
"Generative Programming of Graphical User Interfaces"
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.
Compiler Development with ELI
Compiler Development with ELI
Building of compiler unites research and product development
One subtask in developing the ANGIE generator system is the implementation of a compiler for the ANGIE script language.
To create the compiler, Delta Software Technology drew on the expertise and support of the "Programming languages and compilers" working group headed by professor Dr. U. Kastens at the University of Paderborn.
The focus of the collaboration was the ELI compiler development toolbox, an extraordinarily powerful and robust tool used in developing and maintaining the ANGIE compiler.