The SOTA approach to engineering collective adaptive systems

The emergence of collective adaptive systems—i.e., computational systems made up of an ensemble of autonomous components that have to operate in a coordinated and adaptive way in open-ended and unpredictable environments—calls for innovative modeling and software engineering tools, to support their systematic and rigorous design and development. In this paper, we present a general model for collective adaptive systems called SOTA (“State Of The Affairs”). SOTA brings together the lessons of goal-oriented requirements modeling, context-aware system modeling, and dynamical systems modeling. It has the potential for acting as a general reference model to help tackling some key issues in the design and development of collective adaptive systems. In particular, as we will show with reference to a scenario of collectives of autonomous vehicles, SOTA enables: early verification of requirements, identification of knowledge requirements for self-adaptation, and the identification of the most suitable architectural patterns for self-adaptation.

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

[2]  Franco Zambonelli,et al.  Model Checking Goal-Oriented Requirements for Self-Adaptive Systems , 2012, 2012 IEEE 19th International Conference and Workshops on Engineering of Computer-Based Systems.

[3]  Tiziana Margaria,et al.  Leveraging Applications of Formal Methods, Verification and Validation. Distributed Systems: 8th International Symposium, ISoLA 2018, Limassol, Cyprus, November 5-9, 2018, Proceedings, Part III , 2018, ISoLA.

[4]  Franco Zambonelli,et al.  A biochemical approach to adaptive service ecosystems , 2010, Inf. Sci..

[5]  Jason Borenstein,et al.  Self-Driving Cars: Ethical Responsibilities of Design Engineers , 2017, IEEE Technology and Society Magazine.

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

[7]  Jesper Andersson,et al.  FORMS: Unifying reference model for formal specification of distributed self-adaptive systems , 2012, TAAS.

[8]  Eric Yu,et al.  Modeling Strategic Relationships for Process Reengineering , 1995, Social Modeling for Requirements Engineering.

[9]  John Mylopoulos,et al.  From object-oriented to goal-oriented requirements analysis , 1999, CACM.

[10]  Thomas Vogel,et al.  Architectural Concepts for Self-aware Computing Systems , 2017, Self-Aware Computing Systems.

[11]  Franco Zambonelli,et al.  Engineering and implementing software architectural patterns based on feedback loops , 2015, Scalable Comput. Pract. Exp..

[12]  Riza Cenk Erdur,et al.  A Requirements Model for Adaptive Multi-Organizational Systems , 2017, 2017 IEEE 11th International Conference on Self-Adaptive and Self-Organizing Systems (SASO).

[13]  Danny Weyns,et al.  Software Engineering of Self-Adaptive Systems: An Organised Tour and Future Challenges , 2017 .

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

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

[16]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems: Assurances (Dagstuhl Seminar 13511) , 2013, Dagstuhl Reports.

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

[18]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[19]  João Leite,et al.  A Survey of Programming Languages and Platforms for Multi-Agent Systems , 2006, Informatica.

[20]  Holger Giese,et al.  Generic Adaptive Monitoring Based on Executed Architecture Runtime Model Queries and Events , 2019, 2019 IEEE 13th International Conference on Self-Adaptive and Self-Organizing Systems (SASO).

[21]  Franco Zambonelli,et al.  Patterns for self-adaptive systems: agent-based simulations , 2015, EAI Endorsed Trans. Self Adapt. Syst..

[22]  Franco Zambonelli,et al.  Spatial Computing: An Emerging Paradigm for Autonomic Computing and Communication , 2004, WAC.

[23]  ChungLawrence,et al.  From object-oriented to goal-oriented requirements analysis , 1999 .

[24]  Franco Zambonelli,et al.  An Argumentation-Based Perspective Over the Social IoT , 2018, IEEE Internet of Things Journal.

[25]  Franco Zambonelli,et al.  Towards a taxonomy of adaptive agent-based collaboration patterns for autonomic service ensembles , 2011, 2011 International Conference on Collaboration Technologies and Systems (CTS).

[26]  Mark A. Neerincx,et al.  Embedding Stakeholder Values in the Requirements Engineering Process , 2015, REFSQ.

[27]  Massimo Cossentino,et al.  Self-adaptive smart spaces by proactive means–end reasoning , 2017, Journal of Reliable Intelligent Environments.

[28]  Rocco De Nicola,et al.  The Meaning of Adaptation: Mastering the Unforeseen? , 2018, ISoLA.

[29]  Holger Giese,et al.  Towards Generic Adaptive Monitoring , 2018, 2018 IEEE 12th International Conference on Self-Adaptive and Self-Organizing Systems (SASO).

[30]  Sabine Glesner,et al.  Parameterisation and Optimisation Patterns for MAPE-K Feedback Loops , 2017, 2017 IEEE 2nd International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[31]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[32]  Yaneer Bar-Yam,et al.  Dynamics Of Complex Systems , 2019 .

[33]  Pengfei Hao,et al.  A Heading Maintaining Oriented Compression Algorithm for GPS Trajectory Data , 2019, Informatica.

[34]  Xiaoyun Zhu,et al.  Self-Aware Computing Systems , 2017 .

[35]  H. Van Dyke Parunak,et al.  A mathematical analysis of collective cognitive convergence , 2009, AAMAS.

[36]  Alessandro Ricci,et al.  Programming with event loops and control loops - From actors to agents , 2016, Comput. Lang. Syst. Struct..

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

[38]  Ajantha Dahanayake,et al.  Autonomic Computing: A Framework to Identify Autonomy Requirements , 2013, Complex Adaptive Systems.

[39]  Ying Liu,et al.  Agent and Cyber-Physical System Based Self-Organizing and Self-Adaptive Intelligent Shopfloor , 2017, IEEE Transactions on Industrial Informatics.

[40]  Rocco De Nicola,et al.  A Formal Approach to Autonomic Systems Programming: The SCEL Language , 2014, TAAS.

[41]  Matteo Pradella,et al.  ContextErlang: A language for distributed context-aware self-adaptive applications , 2015, Sci. Comput. Program..

[42]  Franco Zambonelli,et al.  Toward Sociotechnical Urban Superorganisms , 2012, Computer.

[43]  David Garlan,et al.  An Automated Approach to Management of a Collection of Autonomic Systems , 2019, 2019 IEEE 4th International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[44]  Anna Perini,et al.  Modelling Self-Adaptivity: A Goal-Oriented Approach , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems.

[45]  Ilias Gerostathopoulos,et al.  Experimenting with Adaptation in Smart Cyber-Physical Systems: A Model Problem and Testbed , 2019, Engineering Adaptive Software Systems.

[46]  Anna Perini,et al.  Requirements Engineering for Adaptive Service Based Applications , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[47]  Franco Zambonelli,et al.  Signs of a Revolution in Computer Science and Software Engineering , 2002, ESAW.

[48]  Ugo Montanari,et al.  The E-mobility Case Study , 2015, The ASCENS Approach.

[49]  Franco Zambonelli,et al.  SOTA: Towards a General Model for Self-Adaptive Systems , 2012, 2012 IEEE 21st International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[50]  Nelly Bencomo,et al.  Requirements for Self-adaptation , 2011, GTTSE.

[51]  Richard Alun Williams,et al.  Lessons learned on development and application of agent-based models of complex dynamical systems , 2017, Simul. Model. Pract. Theory.

[52]  Elisabeth Uhlemann,et al.  Connected-Vehicles Applications Are Emerging [Connected Vehicles] , 2016, IEEE Vehicular Technology Magazine.

[53]  Thomas Vogel,et al.  Model-Driven Engineering of Self-Adaptive Software with EUREMA , 2014, ACM Trans. Auton. Adapt. Syst..

[54]  Jesper Andersson,et al.  Rigorous Architectural Reasoning for Self-Adaptive Software Systems , 2016, 2016 Qualitative Reasoning about Software Architectures (QRASA).

[55]  Ken Goldberg,et al.  Robots and the return to collaborative intelligence , 2019, Nature Machine Intelligence.

[56]  John Mylopoulos,et al.  An Architecture for Requirements-Driven Self-reconfiguration , 2009, CAiSE.

[57]  Xinjun Mao,et al.  A survey of agent-oriented programming from software engineering perspective , 2017, Web Intell..

[58]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[59]  Sebastián Uchitel,et al.  Deriving event-based transition systems from goal-oriented requirements models , 2008, Automated Software Engineering.

[60]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..

[61]  Michael Winikoff,et al.  Towards a next-generation AOSE methodology , 2013, Sci. Comput. Program..

[62]  Schahram Dustdar,et al.  Context-driven personalized service discovery in pervasive environments , 2011, World Wide Web.

[63]  Vítor Estêvão Silva Souza,et al.  Requirements-based Software System Adaptation , 2012 .

[64]  Jeff Magee,et al.  Concurrency - state models and Java programs (2. ed.) , 2006 .

[65]  Paola Grosso,et al.  A domain model for self-adaptive software systems , 2017, ECSA.

[66]  Franco Zambonelli,et al.  On Recommending Opportunistic Rides , 2017, IEEE Transactions on Intelligent Transportation Systems.

[67]  Franco Zambonelli,et al.  Pervasive social context: Taxonomy and survey , 2013, TIST.

[68]  Rodolfo E. Haber,et al.  Self-adaptive systems: A survey of current approaches, research challenges and applications , 2013, Expert Syst. Appl..

[69]  J. Mylopoulos,et al.  Towards requirements-driven autonomic systems design , 2005, ACM SIGSOFT Softw. Eng. Notes.

[70]  Franco Zambonelli,et al.  On Self-Adaptation, Self-Expression, and Self-Awareness in Autonomic Service Component Ensembles , 2011, 2011 Fifth IEEE Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[71]  Marie-Pierre Gleizes,et al.  A Pattern based Modelling for Self-organizing Multi-agent Systems with Event-B , 2014, ICAART.

[72]  Franco Zambonelli,et al.  Engineering Collectives of Self-driving Vehicles: The SOTA Approach , 2018, ISoLA.

[73]  Nora Koch,et al.  Collective Autonomic Systems: Towards Engineering Principles and Their Foundations , 2016, LNCS Trans. Found. Mastering Chang..

[74]  Ilias Gerostathopoulos,et al.  An Architecture Framework for Experimentations with Self-Adaptive Cyber-physical Systems , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

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