Model-Driven Engineering of Adaptation Engines for Self-Adaptive Software: Executable Runtime Megamodels (bibtex)
by ,
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 (Thomas Vogel, Holger Giese), 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.}
}
Powered by bibtexbrowser