Development of Transformation Languages


Katrin Hölldobler

Title Development of Transformation Languages
When 13.03.2013, 10:00
Where Room 5052
Abstract Today it is common to use a set of modeling languages to describe different viewpoints of a software system.  Within the process of developing, evolving, and maintaining a system, we encounter situations where it is necessary to transform models in various ways.  These transformations can be, e.g., complex edit operations, structural refactorings, refinements or even semantic-preserving.

We are in our work interested in (a) developing a general purpose transformation language for UML/P [Rumpe,2011] but furthermore (b) a method and tool infrastructure to easily define and implement language specific transformation languages.

We demonstrate how this can be done by applying the idea on UML/P-Statecharts, which is a textual sublanguage of UML/P used for modeling software system behavior.  In our example, it is useful for the generation of executable code from Statecharts to simplify the Statecharts first by reducing the models to use only a subset of the modeling language features, without changing the semantics. Therefore, semantic-preserving transformations are needed.

To generate a Statechart-specific transformation language for describing the transformations we apply the MontiCore transformation engine, which we have adapted to support additional grammar

concepts and refactored the grammar of the Statecharts in order to generate the transformation language. Based on this language we show how to define the rules for a simplification of Statecharts.