Integrated Environment for maintaining developing forward engineering process
The ARTIST project aims at providing concepts, techniques, and tools for the modernization of software by a migration to the cloud. Many tools have been developed in the context of different WP’s of the ARTIST project. Allowing software engineers and modellers to apply these tools for real world migrations scenarios, they need to be integrated into a common environment. In this document, we report on the ARTIST integrated environment that provides a common interface to the ARTIST tools. In this sense, the integrated environment complements the methodology process tool, cf. WP6, with dedicated tool-support for software engineers and modellers to carry out a migration process.
As in ARTIST we work towards a model-based engineering approach to support cloud-oriented software migration, model transformations play a key role in the transition of software to the cloud. In fact, such a migration often requires carrying out several different transformations to ultimately gain the required software artefacts. These transformations need to be properly chained and maintained because typically a diverse set of transformations realized by different transformation languages and technologies need to be executed in an appropriate order. For this reason, we have developed a dedicated language that allows software engineers and modellers to compose multiple transformations into a chain, thereby enabling the automatic execution of such transformations if the chain becomes executed. The language supports transformation technologies mainly applied in the context of reverse-engineering application code into models, cf. WP8, and forward-engineering application code hosted by a cloud environment from models, cf. WP9. In this deliverable, we give an overview of the key concepts constituting this language and show how it can be applied for chaining transformations that have been developed in the context of the ARTIST project for supporting cloud-oriented software migration.
Moreover, transformations developed in the context of WP9 mainly realize model-to-model transformations with the purpose of refining and optimizing them towards a selected cloud environment and producing the pertinent application code from such models by relying on model-to-code transformations. In this deliverable, we report on a selected set of patterns for which we have developed concrete transformations and profiles, aiming to optimize certain software artefacts for a selected cloud environment. In this respect, the quality of reverse-engineered models plays a crucial role as they are considered as starting point for applying such transformations in the forward engineering phase, cf D8.3. Only if they their quality is appropriate, the quality of the models and generated application code as a result of possibly chained transformations will be sufficient and useful for software engineers and modellers.
The ARTIST migration process provides techniques to investigate on the feasibility of a migration to the cloud mainly by providing metrics, including source-code maintainability. In this deliverable, we report on the calculation of the maintainability metric of application code generated as a result of an ARTIST migration scenario with purpose to reason about possible improvements.