Adaptation in Cyber-Physical Systems : from System Goals to Architecture Configurations

Design of self-adaptive Cyber-Physical Systems (CPS) operating in dynamic environments is a significant challenge when a sufficient level of dependability is required. This stems partly from the fact that the concerns of self-adaptivity and dependability are to an extent contradictory. In this paper, we introduce IRM-SA (Invariant Refinement Method for Self Adaptation) – a design method and associated formally grounded model targeting CPS – that addresses self-adaptivity and supports dependability by providing traceability between system requirements, distinct situations in the environment, and predefined configurations of system architecture. Additionally, IRM-SA allows for self-adaptation at runtime and copes with operational uncertainty, such as temporary disconnections and network delays. As a proof of concept, it was implemented in DEECo, a component framework that is based on dynamic ensembles of components. Furthermore, its feasibility was evaluated in experimental settings assuming decentralized system operation. Version: April 29th, 2015. Revision of D3S-TR-2014-01 (March 18, 2014) This work was partially supported by the EU project ASCENS 257414. The research leading to these results has received funding from the European Union Seventh Framework Programme (FP7-PEOPLE-2010-ITN) under grant agreement n°264840. D3S Technical Report no. D3S-TR-2015-02 2 Self-Adaptation in Cyber-Physical Systems: from System Goals to Architecture Configurations Ilias Gerostathopoulos iliasg@d3s.mff.cuni.cz Tomas Bures bures@d3s.mff.cuni.cz Petr Hnetynka hnetynka@d3s.mff.cuni.cz Jaroslav Keznikl keznikl@d3s.mff.cuni.cz Michal Kit kit@d3s.mff.cuni.cz Frantisek Plasil plasil@d3s.mff.cuni.cz Noël Plouzeau noel.plouzeau@irisa.fr 1Charles University in Prague Faculty of Mathematics and Physics Prague, Czech Republic 2Institute of Computer Science Academy of Sciences of the Czech Republic Prague, Czech Republic 3IRISA University of Rennes 1 Rennes, France

[1]  William N. Robinson A requirements monitoring framework for enterprise systems , 2005, Requirements Engineering.

[2]  Heather Goldsby,et al.  Goal-Based Modeling of Dynamically Adaptive System Requirements , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[3]  Yoav Shoham,et al.  Multiagent Systems - Algorithmic, Game-Theoretic, and Logical Foundations , 2009 .

[4]  Klaus Marius Hansen,et al.  Modeling and analyzing architectural change with alloy , 2010, SAC '10.

[5]  Siegfried Gottwald,et al.  On t-Norms as Basic Connectives for Fuzzy Logic , 2000 .

[6]  Martin S. Feather,et al.  Requirements monitoring in dynamic environments , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[7]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[8]  Stephen P. Boyd,et al.  Future directions in control in an information-rich world , 2003 .

[9]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

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

[11]  John Mylopoulos,et al.  Adaptation in Open Systems: Giving Interaction Its Rightful Place , 2010, ER.

[12]  Ali al-Nowaihi,et al.  Probability Weighting Functions , 2011 .

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

[14]  Martin Wirsing,et al.  Engineering of Software-Intensive Systems: State of the Art and Research Challenges , 2008, Software-Intensive Systems and New Computing Paradigms.

[15]  Anna Perini,et al.  Automated Mapping from Goal Models to Self-Adaptive Systems , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

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

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

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

[19]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

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

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

[22]  Radoslaw Szymanek,et al.  FRODO 2.0: An Open-Source Framework for Distributed Constraint Optimization , 2009, IJCAI 2009.

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

[24]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[25]  John Mylopoulos,et al.  Awareness requirements for adaptive systems , 2011, SEAMS '11.

[26]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[27]  Michal Kit,et al.  Towards Dependable Emergent Ensembles of Components: The DEECo Component Model , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[28]  Maria Luisa Bonet,et al.  Solving (Weighted) Partial MaxSAT through Satisfiability Testing , 2009, SAT.

[29]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

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

[31]  Makoto Yokoo,et al.  The Distributed Constraint Satisfaction Problem: Formalization and Algorithms , 1998, IEEE Trans. Knowl. Data Eng..

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

[33]  Nelly Bencomo,et al.  Requirements-Aware Systems: A Research Agenda for RE for Self-adaptive Systems , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[34]  Majid Ahmadi,et al.  Robust indoor positioning using differential wi-fi access points , 2010, IEEE Transactions on Consumer Electronics.

[35]  Brice Morin Models aT RunTiMe To suppoRT dynaMic adapTaTion , 2022 .

[36]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

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

[38]  John Mylopoulos,et al.  Awareness Requirements , 2010, Software Engineering for Self-Adaptive Systems.

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

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

[41]  Rocco De Nicola,et al.  A Language-Based Approach to Autonomic Computing , 2011, FMCO.

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

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