Requirements and Assessment of Languages and Frameworks for Adaptation Models

Approaches to self-adaptive software systems use models at runtime to leverage benefits of model-driven engineering (MDE) for providing views on running systems and for engineering feedback loops. Most of these approaches focus on causally connecting runtime models and running systems, and just apply typical MDE techniques, like model transformation, or well-known techniques, like event-condition-action rules, from other fields than MDE to realize a feedback loop. However, elaborating requirements for feedback loop activities for the specific case of runtime models is rather neglected. Therefore, we investigate requirements for Adaptation Models that specify the analysis, decision-making, and planning of adaptation as part of a feedback loop. In particular, we consider requirements for a modeling language of adaptation models and for a framework as the execution environment of adaptation models. Moreover, we discuss patterns for using adaptation models within the feedback loop regarding the structuring of loop activities and the implications on the requirements for adaptation models. Finally, we assess two existing approaches to adaptation models concerning their fitness for the requirements discussed in this paper.

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

[2]  Richard N. Taylor,et al.  Using Architectural Models to Manage and Visualize Runtime Adaptation , 2009, Computer.

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

[4]  David Garlan,et al.  Rainbow: cost-effective software architecture-based self-adaptation , 2008 .

[5]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

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

[7]  Gordon S. Blair,et al.  4th international workshop on models@run.time , 2009, MODELS'09.

[8]  Hui Song,et al.  Applying MDE Tools at Runtime: Experiments upon Runtime Models , 2010, Models@run.time.

[9]  Holger Giese,et al.  Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques , 2009 .

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

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

[12]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

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

[14]  Thomas Vogel,et al.  Language and Framework Requirements for Adaptation Models , 2011 .

[15]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[16]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[17]  Andres J. Ramirez,et al.  Evolving models at run time to address functional and non-functional adaptation requirements , 2009, MODELS 2009.

[18]  Hartmut Ehrig,et al.  Refinements of Graph Transformation Systems via Rule Expressions , 2000 .

[19]  Franck Fleurey,et al.  A Domain Specific Modeling Language Supporting Specification, Simulation and Execution of Dynamic Adaptive Systems , 2009, MoDELS.

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

[21]  Gordon S. Blair,et al.  Summary of the 5th International Workshop on Models@run.time , 2010, MoDELS Workshops.

[22]  Brice Morin,et al.  Modeling and Validating Dynamic Adaptation , 2009, MoDELS.