Strengthening Adaptation in Cyber-Physical Systems via Meta-Adaptation Strategies

The dynamic nature of complex Cyber-Physical Systems puts extra requirements on their functionalities: they not only need to be dependable, but also able to adapt to changing situations in their environment. When developing such systems, however, it is often impossible to explicitly design for all potential situations up front and provide corresponding strategies. Situations that come out of this “envelope of adaptability” can lead to problems that end up by applying an emergency fail-safe strategy to avoid complete system failure. The existing approaches to self-adaptation cannot typically cope with such situations better—while they are adaptive (and can apply learning) in choosing a strategy, they still rely on a pre-defined set of strategies not flexible enough to deal with those situations adequately. To alleviate this problem, we propose the concept of meta-adaptation strategies, which extends the limits of adaptability of a system by constructing new strategies at runtime to reflect the changes in the environment. Though the approach is generally applicable to most approaches to self-adaptation, we demonstrate our approach on IRM-SA—a design method and associated runtime model for self-adaptive distributed systems based on component ensembles. We exemplify the meta-adaptation strategies concept by providing three concrete meta-adaptation strategies and show its feasibility on an emergency coordination case study.

[1]  Axel van Lamsweerde,et al.  Requirements engineering: from craft to discipline , 2008, SIGSOFT '08/FSE-16.

[2]  Thomas Ledoux,et al.  FPath and FScript: Language support for navigation and reliable reconfiguration of Fractal architectures , 2009, Ann. des Télécommunications.

[3]  Luciano Baresi,et al.  Live goals for adaptive service compositions , 2010, SEAMS '10.

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[6]  Henry Hoffmann,et al.  Automated design of self-adaptive software with control-theoretical formal guarantees , 2014, Software Engineering & Management.

[7]  Luciano Baresi,et al.  Adaptation Goals for Adaptive Service-Oriented Architectures , 2011, Relating Software Requirements and Architectures.

[8]  Jun Han,et al.  A systematic survey on the design of self-adaptive software systems using control engineering approaches , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[9]  David B. Knoester,et al.  Applying genetic algorithms to decision making in autonomic computing systems , 2009, ICAC '09.

[10]  Luciano Baresi,et al.  Fuzzy Goals for Requirements-Driven Adaptation , 2010, 2010 18th IEEE International Requirements Engineering Conference.

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

[12]  Rogério de Lemos,et al.  Dynamic plans for integration testing of self-adaptive software systems , 2011, SEAMS '11.

[13]  Siobhán Clarke,et al.  DIVERSIFY: Ecology-inspired software evolution for diversity emergence , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[14]  Andres J. Ramirez,et al.  Design patterns for developing dynamically adaptive systems , 2010, SEAMS '10.

[15]  Erwin Schoitsch,et al.  Special Theme "Cyber-Physical Systems" , 2014 .

[16]  David Garlan,et al.  Stitch: A language for architecture-based self-adaptation , 2012, J. Syst. Softw..

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

[18]  John Mylopoulos,et al.  (Requirement) evolution requirements for adaptive systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[19]  A. E. Eiben,et al.  On-Line, On-Board Evolution of Robot Controllers , 2009, Artificial Evolution.

[20]  Nelly Bencomo,et al.  RELAX: a language to address uncertainty in self-adaptive systems requirement , 2010, Requirements Engineering.

[21]  Jeff Magee,et al.  A Rigorous Architectural Approach to Adaptive Software Engineering , 2009, Journal of Computer Science and Technology.

[22]  Thaís Vasconcelos Batista,et al.  Managing Dynamic Reconfiguration in Component-Based Systems , 2005, EWSA.

[23]  Jeff Magee,et al.  From goals to components: a combined approach to self-management , 2008, SEAMS '08.

[24]  Betty H. C. Cheng,et al.  Automated Generation of Adaptive Test Plans for Self-Adaptive Systems , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[25]  Jacques Klein,et al.  Towards flexible evolution of Dynamically Adaptive Systems , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[26]  Ladan Tahvildari,et al.  Towards a goal‐driven approach to action selection in self‐adaptive software , 2012, Softw. Pract. Exp..

[27]  Ilias Gerostathopoulos,et al.  Architectural Homeostasis in Self-Adaptive Software-Intensive Cyber-Physical Systems , 2016, ECSA.

[28]  Charles Ofria,et al.  Avida , 2004, Artificial Life.

[29]  Ji Zhang,et al.  The Four Levels of Requirements Engineering for and in Dynamic Adaptive Systems , 2005 .

[30]  Ilias Gerostathopoulos,et al.  Meta-Adaptation Strategies for Adaptation in Cyber-Physical Systems , 2015, ECSA.

[31]  Sam Malek,et al.  Automated mining of software component interactions for self-adaptation , 2014, SEAMS 2014.

[32]  Andres J. Ramirez,et al.  Automatically generating adaptive logic to balance non-functional tradeoffs during reconfiguration , 2010, ICAC '10.

[33]  Betty H. C. Cheng,et al.  Towards run-time adaptation of test cases for self-adaptive systems in the face of uncertainty , 2014, SEAMS 2014.

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

[35]  George Fairbanks Architectural Hoisting , 2014, IEEE Software.

[36]  Noël Plouzeau,et al.  Self-adaptation in software-intensive cyber-physical systems: From system goals to architecture configurations , 2016, J. Syst. Softw..

[37]  Carlo Ghezzi,et al.  Managing non-functional uncertainty via model-driven adaptivity , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[38]  Ilias Gerostathopoulos,et al.  Design of ensemble-based component systems by invariant refinement , 2013, CBSE '13.

[39]  Ilias Gerostathopoulos,et al.  DEECo: an ecosystem for cyber-physical systems , 2014, ICSE Companion.

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

[41]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[42]  John Mylopoulos,et al.  Requirements-driven software evolution , 2012, Computer Science - Research and Development.

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

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

[45]  Carlo Ghezzi,et al.  Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[46]  Ilias Gerostathopoulos,et al.  DEECO: an ensemble-based component system , 2013, CBSE '13.

[47]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[48]  Anna Perini,et al.  Towards goal-oriented development of self-adaptive systems , 2008, SEAMS '08.

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

[50]  Thomas Vogel,et al.  Software Engineering Meets Control Theory , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[51]  Sebastián Uchitel,et al.  Modes for Software Architectures , 2006, EWSA.