Model-Driven Engineering of Self-Adaptive Software with EUREMA (bibtex)
Reference:
Thomas Vogel and Holger Giese, "Model-Driven Engineering of Self-Adaptive Software with EUREMA", ACM Trans. Auton. Adapt. Syst., vol. 8, no. 4, pp. 18:1-18:33, January 2014.
Abstract:
The development of self-adaptive software requires the engineering of an adaptation engine that controls the underlying adaptable software by feedback loops. The engine often describes the adaptation by runtime models representing the adaptable software and by activities such as analysis and planning that use these models. To systematically address the interplay between runtime models and adaptation activities, runtime megamodels have been proposed. A runtime megamodel is a specific model capturing runtime models and adaptation activities. In this article, we go one step further and present an executable modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that 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 feedback loops. Megamodels are kept 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 explicit at a higher level of abstraction and it enables solutions where multiple feedback loops interact or operate on top of each other and self-adaptation co-exists with offline adaptation for evolution.
Links:
@Article{VG-TAAS-EUREMA,
  AUTHOR = {Vogel, Thomas and Giese, Holger},
  TITLE = {{Model-Driven Engineering of Self-Adaptive Software with
  EUREMA}},
  YEAR = {2014},
  MONTH = {January},
  JOURNAL = {ACM Trans. Auton. Adapt. Syst.},
  VOLUME = {8},
  NUMBER = {4},
  PAGES = {18:1-18:33},
  URL = {http://dx.doi.org/10.1145/2555612},
  ABSTRACT = {The development of self-adaptive software requires the
  engineering of an adaptation engine that controls the underlying
  adaptable software by feedback loops. The engine often describes the
  adaptation by runtime models representing the adaptable software and
  by activities such as analysis and planning that use these models. To
  systematically address the interplay between runtime models and
  adaptation activities, runtime megamodels have been proposed. A runtime
  megamodel is a specific model capturing runtime models and adaptation
  activities. In this article, we go one step further and present
  an executable modeling language for ExecUtable RuntimE MegAmodels
  (EUREMA) that 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 feedback loops. Megamodels are kept 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
  explicit at a higher level of abstraction and it enables solutions
  where multiple feedback loops interact or operate on top of each other
  and self-adaptation co-exists with offline adaptation for evolution.}
}
Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.
Powered by bibtexbrowser