Model Transformations for DSL Processing

Jan 14, 2019 • Stefan Kapferer

With our next major Context Mapper release we will provide architectural refactorings (ARs) which allow the user/architect to evolve and improve the modeled architecture iteratively. As a “proof-of-concept” we implemented a model transformation with the Henshin transformation tool. The implementation of this first refactoring was part of a seminar (paper & presentation) at OST (former “HSR”).

Below you can find the links to the paper and the presentation.

Abstract

Model transformation is a key concept in Model-driven Software Development (MDD) and refers to an automated process transforming one model into another model. Models can be seen as an abstraction of a system or any concept in the world. They can be represented in various ways, for example graphically, as text or even code. Thus, models are a powerful instrument which is used in all disciplines of software engineering. This paper gives an introduction into model transformation and its classifications. It provides an overview over existing transformation tools and presents Henshin as one particular approach based on algebraic graph transformation. It further summarizes the theory behind this graph transformation approach based on graph grammars. With an example application in the context of architectural refactorings and service decomposition, this paper demonstrates how model transformation can be applied to Domain-specific Language (DSL) processing. Finally, the Henshin concepts and its tools are evaluated based on the experience gained through the development of the presented examples.

Paper & Presentation

Paper | Presentation