Graph Transformations for MDE, Adaptation, and Models at Runtime


Holger Giese, Leen Lambers, Basil Becker, Stephan Hildebrandt, Stefan Neumann, Thomas Vogel, and Sebastian Wätzoldt. “Graph Transformations for MDE, Adaptation, and Models at Runtime”. In: Formal Methods for Model-Driven Engineering. Ed. by Marco Bernardo, Vittorio Cortellessa, and Alfonso Pierantonio. Vol. 7320. Lecture Notes in Computer Science (LNCS). Springer, 2012, pp. 137–191. DOI: 10.1007/978-3-642-30982-3_5


Software evolution and the resulting need to continuously adapt the software is one of the main challenges for software engineering. The model-driven development movement therefore aims at improving the longevity of software by keeping the development artifacts more consistent and better changeable by employing models and to a certain degree automated model operations. Another trend are systems that tackle the challenge at runtime by being able to adapt their structure and behavior to be more flexible and operate in more dynamic environments (e.g., context-aware software, autonomic computing, self-adaptive software). Finally, models at runtime, where the benefits of model-driven development are employed at runtime to support adaptation capabilities, today lead towards a unification of both ideas. In this paper, we present graph transformations and show that they can be employed to engineer solutions for all three outlined cases. Furthermore, we will even be able to demonstrate that graph transformation based technology has the potential to also unify all three cases in a single scenario where models at runtime and runtime adaptation is linked with classical MDE. Therefore, we at first provide an introduction in graph transformations, then present the related techniques of Story Pattern and Triple Graph Grammars, and demonstrate how with the help of both techniques model transformations, adaptation behavior and runtime model framework work. In addition, we show that due to the formal underpinning analysis becomes possible and report about a number of successful examples.


    author = {Giese, Holger and Lambers, Leen and Becker, Basil and Hildebrandt, Stephan and Neumann, Stefan and Vogel, Thomas and W\"{a}tzoldt, Sebastian},
    title = {Graph Transformations for MDE, Adaptation, and Models at Runtime},
    year = {2012},
    booktitle = {Formal Methods for Model-Driven Engineering},
    volume = {7320},
    pages = {137--191},
    editor = {Bernardo, Marco and Cortellessa, Vittorio and Pierantonio, Alfonso},
    series = {Lecture Notes in Computer Science (LNCS)},
    publisher = {Springer},
    doi = {10.1007/978-3-642-30982-3_5},