by Vogel, Thomas and Giese, Holger
Abstract:
The development of self-adaptive software requires the engineering of an adaptation engine that controls and adapts the underlying adaptable software by means of feedback loops. The adaptation engine often describes the adaptation by using runtime models representing relevant aspects of the adaptable software and particular activities such as analysis and planning that operate on these runtime models. To systematically address the interplay between runtime models and adaptation activities in adaptation engines, runtime megamodels have been proposed for self-adaptive software. A runtime megamodel is a specific runtime model whose elements are runtime models and adaptation activities. Thus, a megamodel captures the interplay between multiple models and between models and activities as well as the activation of the activities. In this article, we go one step further and present a modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that considerably eases the development of adaptation engines by following a model-driven engineering approach. We provide a domain-specific modeling language and a runtime interpreter for adaptation engines, in particular for feedback loops. Megamodels are kept explicit and alive at runtime and by interpreting them, they are directly executed to run feedback loops. Additionally, they can be dynamically adjusted to adapt feedback loops. Thus, EUREMA supports development by making feedback loops, their runtime models, and adaptation activities explicit at a higher level of abstraction. Moreover, it enables complex solutions where multiple feedback loops interact or even operate on top of each other. Finally, it leverages the co-existence of self-adaptation and off-line adaptation for evolution.
Reference:
Model-Driven Engineering of Adaptation Engines for Self-Adaptive Software: Executable Runtime Megamodels (Vogel, Thomas and Giese, Holger), Technical report 66, Hasso Plattner Institute at the University of Potsdam, Germany, 2013.
Bibtex Entry:
@TechReport{VG-TR13,
AUTHOR = {Vogel, Thomas and Giese, Holger},
TITLE = {{Model-Driven Engineering of Adaptation Engines for
Self-Adaptive Software: Executable Runtime Megamodels}},
YEAR = {2013},
MONTH = {April},
NUMBER = {66},
INSTITUTION = {Hasso Plattner Institute at the University of Potsdam,
Germany},
URL = {http://opus.kobv.de/ubp/volltexte/2013/6382/},
ABSTRACT = {The development of self-adaptive software requires
the engineering of an adaptation engine that controls and adapts
the underlying adaptable software by means of feedback loops. The
adaptation engine often describes the adaptation by using runtime models
representing relevant aspects of the adaptable software and particular
activities such as analysis and planning that operate on these runtime
models. To systematically address the interplay between runtime models
and adaptation activities in adaptation engines, runtime megamodels
have been proposed for self-adaptive software. A runtime megamodel is a
specific runtime model whose elements are runtime models and adaptation
activities. Thus, a megamodel captures the interplay between multiple
models and between models and activities as well as the activation of
the activities. In this article, we go one step further and present
a modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that
considerably eases the development of adaptation engines by following
a model-driven engineering approach. We provide a domain-specific
modeling language and a runtime interpreter for adaptation engines, in
particular for feedback loops. Megamodels are kept explicit and alive
at runtime and by interpreting them, they are directly executed to run
feedback loops. Additionally, they can be dynamically adjusted to adapt
feedback loops. Thus, EUREMA supports development by making feedback
loops, their runtime models, and adaptation activities explicit at a
higher level of abstraction. Moreover, it enables complex solutions
where multiple feedback loops interact or even operate on top of each
other. Finally, it leverages the co-existence of self-adaptation and
off-line adaptation for evolution.}
}