by Holger Giese, Leen Lambers, Basil Becker, Stephan Hildebrandt, Stefan Neumann, Thomas Vogel, Sebastian Wätzoldt
Abstract:
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.
Reference:
Graph Transformations for MDE, Adaptation, and Models at Runtime (Holger Giese, Leen Lambers, Basil Becker, Stephan Hildebrandt, Stefan Neumann, Thomas Vogel, Sebastian Wätzoldt), Chapter in Formal Methods for Model-Driven Engineering (Marco Bernardo, Vittorio Cortellessa, Alfonso Pierantonio, eds.), Springer Berlin / Heidelberg, volume 7320, 2012.
Bibtex Entry:
@InCollection{Giese:2012pa,
AUTHOR = {Giese, Holger and Lambers, Leen and Becker, Basil and Hildebrandt, Stephan and Neumann, Stefan and Vogel, Thomas and Wätzoldt, Sebastian},
TITLE = {{Graph Transformations for MDE, Adaptation, and Models at Runtime}},
YEAR = {2012},
MONTH = {June},
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 Berlin / Heidelberg},
URL = {http://dx.doi.org/10.1007/978-3-642-30982-3_5},
PDF = {uploads/pdf/ Giese+2012.pdf},
OPTacc_pdf = {},
ABSTRACT = {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.}
}