Meta-Adaptation Strategies for Adaptation in Cyber-Physical Systems

Modern Cyber-Physical Systems (CPS) not only need to be dependable, but also resilient to and able to adapt to changing situations in their environment. When developing such CPS, however, it is often impossible to anticipate all potential situations upfront and provide corresponding tactics. Situations that lie out of this “envelope of adaptability” can lead to problems that range from single component malfunctioning to complete system failure. The existing approaches to self-adaptation cannot typically cope with such situations as they still rely on a fixed set of tactics, which in case of complex systems does not guarantee achieving correct functionality. To alleviate this problem, we propose the concept of meta-adaptation strategies, which extends the limits of adaptability of a system by constructing new tactics at runtime to reflect the changes in the environment. The approach is demonstrated on an existing architecture-based self-adaptation method and exemplified by two concrete meta-adaptation strategies.

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

[2]  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).

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

[4]  Noël Plouzeau,et al.  Adaptation in Cyber-Physical Systems : from System Goals to Architecture Configurations , 2014 .

[5]  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.

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

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

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

[9]  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.

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

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

[12]  T. H. Tse,et al.  Special Issue on Dynamic Analysis and Testing of Embedded Software , 2012, J. Syst. Softw..

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

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

[15]  Bradley R. Schmerl,et al.  Making Self-Adaptation an Engineering Reality , 2005, Self-star Properties in Complex Information Systems.

[16]  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).

[17]  Bradley R. Schmerl,et al.  Increasing System Dependability through Architecture-Based Self-Repair , 2002, WADS.

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

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

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

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

[22]  Bradley R. Schmerl,et al.  Using Architectural Style as a Basis for System Self-repair , 2002, WICSA.

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

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

[25]  Ladan Tahvildari,et al.  Requirements driven software evolution , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

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

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

[28]  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).

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

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

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

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

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

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

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

[36]  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.

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

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

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

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

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

[42]  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).

[43]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

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

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

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

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