Self-adaptive Software with Decentralised Control Loops

We present DECIDE, a rigorous approach to decentralising the control loops of distributed self-adaptive software used in missioncritical applications. DECIDE uses quantitative verification at runtime, first to agree individual component contributions to meeting systemlevel quality-of-service requirements, and then to ensure that components achieve their agreed contributions in the presence of changes and failures. All verification operations are carried out locally, using component-level models, and communication between components is infrequent. We illustrate the application of DECIDE and show its effectiveness using a case study from the unmanned underwater vehicle domain.

[1]  Radu Calinescu,et al.  Using quantitative analysis to implement autonomic IT systems , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[2]  Sebastián Uchitel,et al.  Hope for the best, prepare for the worst: multi-tier control for adaptive systems , 2014, ICSE.

[3]  Brice Morin,et al.  Kevoree Modeling Framework (KMF): Efficient modeling techniques for runtime use , 2014, ArXiv.

[4]  T. Ibaraki,et al.  THE MULTIPLE-CHOICE KNAPSACK PROBLEM , 1978 .

[5]  Hongyang Qu,et al.  Quantitative Multi-objective Verification for Probabilistic Systems , 2011, TACAS.

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

[7]  Michael Fisher,et al.  Verifying autonomous systems , 2013, CACM.

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

[9]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

[11]  Marie-Pierre Gleizes,et al.  Self-organization in multi-agent systems , 2005, The Knowledge Engineering Review.

[12]  Liam Paull,et al.  Introduction to Autonomy for Marine Robots , 2013 .

[13]  Radu Calinescu,et al.  Developing self-verifying service-based systems , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[14]  Marta Z. Kwiatkowska Quantitative verification: models, techniques and tools , 2007, ESEC/SIGSOFT FSE.

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

[16]  Radu Calinescu,et al.  An incremental verification framework for component-based software systems , 2013, CBSE '13.

[17]  Signe Redfield,et al.  Cooperation Between Underwater Vehicles , 2013 .

[18]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

[19]  Jeff Magee,et al.  FlashMob: distributed adaptive self-assembly , 2011, SEAMS '11.

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

[21]  Rami Bahsoon,et al.  A decentralized self-adaptation mechanism for service-based applications in the cloud , 2013, IEEE Transactions on Software Engineering.

[22]  Kousha Etessami,et al.  Multi-Objective Model Checking of Markov Decision Processes , 2007, Log. Methods Comput. Sci..

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

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

[25]  John J. Leonard,et al.  Autonomy for Unmanned Marine Vehicles with MOOS-IvP , 2013 .

[26]  Radu Calinescu,et al.  Efficient runtime quantitative verification using caching, lookahead, and nearly-optimal reconfiguration , 2014, SEAMS 2014.