Dynamic evolution of context-aware systems with models at runtime

Model-driven techniques have proven to yield significant benefits for context-aware systems. Specifically, semantically-rich models are used at runtime to monitor the system context and guide necessary changes. Under the closed-world assumption, adaptations are fully known at design time. Nevertheless, it is difficult to foresee all the possible situations that may arise in uncertain and complex contexts. In this paper, we present a model-based framework to support the dynamic evolution of context-aware systems to deal with unexpected context events in the open world. If model adaptations are not enough to solve uncertainty, our model-based evolution planner guides the evolution of the supporting models to preserve high-level requirements. A case study about a context-aware Web service composition, which is executed in a distributed computing infrastructure, illustrates the applicability of our framework. A realization methodology and a prototype system support our approach.

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

[2]  Tom Mens,et al.  Towards a taxonomy of software change: Research Articles , 2005 .

[3]  Sam Malek,et al.  Taming uncertainty in self-adaptive software , 2011, ESEC/FSE '11.

[4]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[5]  Bradley R. Schmerl,et al.  Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure , 2004, Computer.

[6]  Jay Labhart,et al.  Forward chaining parallel inference , 1990, IEEE Conference on Aerospace and Electronics.

[7]  Nelly Bencomo,et al.  A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty , 2009, MoDELS.

[8]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[9]  Lin Liu,et al.  Designing information systems in social context: a goal and scenario modelling approach , 2004, Inf. Syst..

[10]  Nelly Bencomo,et al.  Towards requirements aware systems: Run-time resolution of design-time assumptions , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[11]  Luciano Baresi,et al.  Toward Open-World Software: Issue and Challenges , 2006, Computer.

[12]  Sam Malek,et al.  SASSY: A Framework for Self-Architecting Service-Oriented Systems , 2011, IEEE Software.

[13]  Shusaku Tsumoto,et al.  Foundations of Intelligent Systems, 15th International Symposium, ISMIS 2005, Saratoga Springs, NY, USA, May 25-28, 2005, Proceedings , 2005, ISMIS.

[14]  John Keeney,et al.  Completely unanticipated dynamic adaptation of software , 2004 .

[15]  Roy H. Campbell,et al.  Reasoning about Uncertain Contexts in Pervasive Computing Environments , 2004, IEEE Pervasive Comput..

[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]  Vicente Pelechano,et al.  Context-Aware Autonomous Web Services in Software Product Lines , 2011, 2011 15th International Software Product Line Conference.

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

[19]  Heather Goldsby,et al.  Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty , 2008, MoDELS.

[20]  Tom Mens,et al.  Towards a taxonomy of software change , 2005, J. Softw. Maintenance Res. Pract..

[21]  David Garlan,et al.  Handling Uncertainty in Autonomic Systems , 2007 .

[22]  Jean Bézivin,et al.  Weaving Models with the Eclipse AMW plugin , 2006 .

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

[24]  Vicente Pelechano,et al.  Autonomic Computing through Reuse of Variability Models at Runtime: The Case of Smart Homes , 2009, Computer.

[25]  Eric S. K. Yu,et al.  Analyzing goal models: different approaches and how to choose among them , 2011, SAC.

[26]  Yijun Yu,et al.  From Goals to High-Variability Software Design , 2008, ISMIS.

[27]  Sam Malek,et al.  FUSION: a framework for engineering self-tuning self-adaptive software systems , 2010, FSE '10.

[28]  Nelly Bencomo,et al.  Models@run.time , 2014, Lecture Notes in Computer Science.

[29]  Xavier Franch,et al.  Service Level Agreement Monitor (SALMon) , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

[30]  Anind K. Dey,et al.  Understanding and Using Context , 2001, Personal and Ubiquitous Computing.

[31]  Irina Shklovski,et al.  Guest Editors' Introduction: Urban Computing--Navigating Space and Context , 2006, Computer.

[32]  Brice Morin,et al.  An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability , 2008, MoDELS.