Optimal by Design: Model-Driven Synthesis of Adaptation Strategies for Autonomous Systems

Many software systems have become too large and complex to be managed efficiently by human administrators, particularly when they operate in uncertain and dynamic environments and require frequent changes. Requirements-driven adaptation techniques have been proposed to endow systems with the necessary means to autonomously decide ways to satisfy their requirements. However, many current approaches rely on general-purpose languages, models and/or frameworks to design, develop and analyze autonomous systems. Unfortunately, these tools are not tailored towards the characteristics of adaptation problems in autonomous systems. In this paper, we present Optimal by Design (ObD ), a framework for model-based requirements-driven synthesis of optimal adaptation strategies for autonomous systems. ObD proposes a model (and a language) for the high-level description of the basic elements of self-adaptive systems, namely the system, capabilities, requirements and environment. Based on those elements, a Markov Decision Process (MDP) is constructed to compute the optimal strategy or the most rewarding system behaviour. Furthermore, this defines a reflex controller that can ensure timely responses to changes. One novel feature of the framework is that it benefits both from goal-oriented techniques, developed for requirement elicitation, refinement and analysis, and synthesis capabilities and extensive research around MDPs, their extensions and tools. Our preliminary evaluation results demonstrate the practicality and advantages of the framework.

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

[2]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[3]  David Garlan,et al.  Hybrid Planning for Decision Making in Self-Adaptive Systems , 2016, 2016 IEEE 10th International Conference on Self-Adaptive and Self-Organizing Systems (SASO).

[4]  Axel van Lamsweerde,et al.  Runtime Monitoring and Resolution of Probabilistic Obstacles to System Goals , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[5]  Bradley R. Schmerl,et al.  Optimal planning for architecture-based self-adaptation via model checking of stochastic games , 2015, SAC.

[6]  Carlo Ghezzi,et al.  Supporting Self-Adaptation via Quantitative Verification and Sensitivity Analysis at Run Time , 2016, IEEE Transactions on Software Engineering.

[7]  Bradley R. Schmerl,et al.  Efficient Decision-Making under Uncertainty for Proactive Self-Adaptation , 2016, 2016 IEEE International Conference on Autonomic Computing (ICAC).

[8]  Natàlia Hurtós,et al.  ROSPlan: Planning in the Robot Operating System , 2015, ICAPS.

[9]  Emden R. Gansner,et al.  Graphviz - Open Source Graph Drawing Tools , 2001, GD.

[10]  Sebastian Junges,et al.  A Storm is Coming: A Modern Probabilistic Model Checker , 2017, CAV.

[11]  Thomas Vogel,et al.  Control Strategies for Self-Adaptive Software Systems , 2017, ACM Trans. Auton. Adapt. Syst..

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

[13]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[14]  Danny Weyns,et al.  ActivFORMS: A Runtime Environment for Architecture-Based Adaptation with Guarantees , 2017, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW).

[15]  Mirko Seifert,et al.  Model-Based Language Engineering with EMFText , 2011, GTTSE.

[16]  Henry Hoffmann,et al.  Automated multi-objective control for self-adaptive software design , 2015, ESEC/SIGSOFT FSE.

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

[18]  Bradley R. Schmerl,et al.  Proactive self-adaptation under uncertainty: a probabilistic model checking approach , 2015, ESEC/SIGSOFT FSE.

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

[20]  Danny Weyns,et al.  Engineering Trustworthy Self-Adaptive Software with Dynamic Assurance Cases , 2017, IEEE Transactions on Software Engineering.

[21]  Danny Weyns,et al.  Keep it SIMPLEX: satisfying multiple goals with guarantees in control-based self-adaptive systems , 2016, SIGSOFT FSE.

[22]  Leslie Pack Kaelbling,et al.  On the Complexity of Solving Markov Decision Problems , 1995, UAI.

[23]  Craig Boutilier,et al.  Decision-Theoretic Planning: Structural Assumptions and Computational Leverage , 1999, J. Artif. Intell. Res..

[24]  Carlo Ghezzi,et al.  Model evolution by run-time parameter adaptation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

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

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

[27]  Alexei Lapouchnian,et al.  Goal-Oriented Requirements Engineering: An Overview of the Current Research , 2005 .

[28]  David Garlan,et al.  Stochastic game analysis and latency awareness for proactive self-adaptation , 2014, SEAMS 2014.

[29]  Craig Boutilier,et al.  Structured Solution Methods for Non-Markovian Decision Processes , 1997, AAAI/IAAI.

[30]  Radu Calinescu,et al.  Dynamic QoS Management and Optimization in Service-Based Systems , 2011, IEEE Transactions on Software Engineering.

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

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

[33]  Craig A. Knoblock,et al.  PDDL-the planning domain definition language , 1998 .

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

[35]  Bradley R. Schmerl,et al.  Analyzing Latency-Aware Self-Adaptation Using Stochastic Games and Simulations , 2016, ACM Trans. Auton. Adapt. Syst..

[36]  Jean-Marc Jézéquel,et al.  Perpetual Assurances for Self-Adaptive Systems , 2019, Software Engineering for Self-Adaptive Systems.

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

[38]  Danny Weyns,et al.  ActivFORMS: active formal models for self-adaptation , 2014, SEAMS 2014.

[39]  Gerald Tesauro,et al.  Reinforcement Learning in Autonomic Computing: A Manifesto and Case Studies , 2007, IEEE Internet Computing.

[40]  Jun Sun,et al.  PAT: Towards Flexible Verification under Fairness , 2009, CAV.

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

[42]  Anna Perini,et al.  Engineering requirements for adaptive systems , 2015, Requirements Engineering.

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

[44]  Richard Fikes,et al.  STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving , 1971, IJCAI.

[45]  Sam Malek,et al.  Uncertainty in Self-Adaptive Software Systems , 2010, Software Engineering for Self-Adaptive Systems.

[46]  Nelly Bencomo,et al.  Supporting Decision-Making for Self-Adaptive Systems: From Goal Models to Dynamic Decision Networks , 2013, REFSQ.

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

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

[49]  Carlo Ghezzi,et al.  A formal approach to adaptive software: continuous assurance of non-functional requirements , 2011, Formal Aspects of Computing.

[50]  Radu Calinescu,et al.  Adaptive model learning for continual verification of non-functional properties , 2014, ICPE.

[51]  Axel van Lamsweerde,et al.  Deriving operational software specifications from system goals , 2002, SIGSOFT '02/FSE-10.

[52]  Craig Boutilier,et al.  Rewarding Behaviors , 1996, AAAI/IAAI, Vol. 2.

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