Model-Driven Engineering of Self-Adaptive Software with EUREMA

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.

[1]  Nenad Medvidovic,et al.  PLASMA: a plan-based layered architecture for software model-driven adaptation , 2010, ASE '10.

[2]  Jean Bézivin,et al.  On the Need for Megamodels , 2004, OOPSLA 2004.

[3]  Rolf Isermann,et al.  Adaptive control systems , 1991 .

[4]  Frank Eliassen,et al.  Using architecture models for runtime adaptability , 2006, IEEE Software.

[5]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[6]  Bradley R. Schmerl,et al.  On Patterns for Decentralized Control in Self-Adaptive Systems , 2010, Software Engineering for Self-Adaptive Systems.

[7]  Jean-Marie Favre,et al.  Foundations of Model (Driven) (Reverse) Engineering : Models - Episode I: Stories of The Fidus Papyrus and of The Solarus , 2004, Language Engineering for Model-Driven Software Development.

[8]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[9]  Mieczyslaw M. Kokar,et al.  Control theory-based foundations of self-controlling software , 1999, IEEE Intell. Syst..

[10]  Bradley R. Schmerl,et al.  Architecture-based self-adaptation in the presence of multiple objectives , 2006, SEAMS '06.

[11]  Jesper Andersson,et al.  FORMS: Unifying reference model for formal specification of distributed self-adaptive systems , 2012, TAAS.

[12]  Frank Eliassen,et al.  MUSIC: Middleware Support for Self-Adaptation in Ubiquitous and Service-Oriented Environments , 2009, Software Engineering for Self-Adaptive Systems.

[13]  VogelThomas,et al.  Model-Driven Engineering of Self-Adaptive Software with EUREMA , 2014 .

[14]  Gordon S. Blair,et al.  Models@ run.time , 2009, Computer.

[15]  Jesper Andersson,et al.  Reflecting on self-adaptive software systems , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[16]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

[17]  Holger Giese,et al.  Making control loops explicit when architecting self-adaptive systems , 2010, SOAR '10.

[18]  Mary Shaw,et al.  Visibility of control in adaptive systems , 2008, ULSSIS '08.

[19]  Mary Shaw,et al.  Beyond objects: a software design paradigm based on process control , 1995, SOEN.

[20]  Jesper Andersson,et al.  On interacting control loops in self-adaptive systems , 2011, SEAMS '11.

[21]  John R. Beaumont,et al.  Control and Coordination in Hierarchical Systems , 1981 .

[22]  Holger Giese,et al.  Structured Information Processing for Self-Optimizing Mechatronic Systems , 2004, ICINCO.

[23]  Thomas Vogel,et al.  The Role of Models and Megamodels at Runtime , 2010, MoDELS.

[24]  Thomas Vogel,et al.  Graph Transformations for MDE, Adaptation, and Models at Runtime , 2012, SFM.

[25]  Thomas Vogel,et al.  A language for feedback loops in self-adaptive systems: Executable runtime megamodels , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[26]  Bradley R. Schmerl,et al.  An architecture for coordinating multiple self-management systems , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[27]  Takeo Kanade,et al.  Software Engineering for Self-Adaptive Systems II , 2013, Lecture Notes in Computer Science.

[28]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[29]  Brice Morin,et al.  Unifying Runtime Adaptation and Design Evolution , 2009, 2009 Ninth IEEE International Conference on Computer and Information Technology.

[30]  Thomas Ledoux,et al.  Synchronization of Multiple Autonomic Control Loops: Application to Cloud Computing , 2012, COORDINATION.

[31]  Holger Giese,et al.  Friends or foes?: a conceptual analysis of self-adaptation and it change management , 2008, SEAMS '08.

[32]  E. Gat On Three-Layer Architectures , 1997 .

[33]  Soguy Mak-Karé Gueye Coordinating Energy-aware Administration Loops Using Discrete Control , 2012 .

[34]  Jean Bézivin,et al.  Traceability and Provenance Issues in Global Model Management , 2007 .

[35]  Jeff Magee,et al.  A Case Study in Goal-Driven Architectural Adaptation , 2009, Software Engineering for Self-Adaptive Systems.

[36]  Aniruddha S. Gokhale,et al.  Simplifying autonomic enterprise Java Bean applications via model-driven engineering and simulation , 2007, Software & Systems Modeling.

[37]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[38]  Thomas Vogel,et al.  Incremental model synchronization for efficient run-time monitoring , 2009, MODELS'09.

[39]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[40]  Thomas Vogel,et al.  Adaptation and abstract runtime models , 2010, SEAMS '10.

[41]  Thomas Vogel,et al.  Requirements and Assessment of Languages and Frameworks for Adaptation Models , 2011, MoDELS.

[42]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[43]  Rajarshi Das,et al.  Coordinating Multiple Autonomic Managers to Achieve Specified Power-Performance Tradeoffs , 2007, Fourth International Conference on Autonomic Computing (ICAC'07).

[44]  T. Vogel,et al.  Model-Driven Engineering of Adaptation Engines for Self-Adaptive Software : Executable Runtime Megamodels , 2013 .

[45]  Brice Morin,et al.  Models@ Run.time to Support Dynamic Adaptation , 2009, Computer.

[46]  Brice Morin,et al.  Taming Dynamically Adaptive Systems using models and aspects , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[47]  Mahdi Derakhshanmanesh,et al.  Achieving dynamic adaptation via management and interpretation of runtime models , 2012, J. Syst. Softw..

[48]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[49]  Gordon S. Blair,et al.  Using Architecture Models to Support the Generation and Operation of Component-Based Adaptive Systems , 2009, Software Engineering for Self-Adaptive Systems.

[50]  Jesper Andersson,et al.  Software Engineering Processes for Self-Adaptive Systems , 2013, Software Engineering for Self-Adaptive Systems.

[51]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[52]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[53]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[54]  P. Varaiya,et al.  Control and coordination in hierarchical systems , 1982, Proceedings of the IEEE.

[55]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .