Keep it SIMPLEX: satisfying multiple goals with guarantees in control-based self-adaptive systems

An increasingly important concern of software engineers is handling uncertainties at design time, such as environment dynamics that may be difficult to predict or requirements that may change during operation. The idea of self-adaptation is to handle such uncertainties at runtime, when the knowledge becomes available. As more systems with strict requirements require self-adaptation, providing guarantees for adaptation has become a high-priority. Providing such guarantees with traditional architecture-based approaches has shown to be challenging. In response, researchers have studied the application of control theory to realize self-adaptation. However, existing control-theoretic approaches applied to adapt software systems have primarily focused on satisfying only a single adaptation goal at a time, which is often too restrictive for real applications. In this paper, we present Simplex Control Adaptation, SimCA, a new approach to self-adaptation that satisfies multiple goals, while being optimal with respect to an additional goal. SimCA offers robustness to measurement inaccuracy and environmental disturbances, and provides guarantees. We evaluate SimCA for two systems with strict requirements that have to deal with uncertainties: an underwater vehicle system used for oceanic surveillance, and a tele-assistance system for health care support.

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

[2]  Jing Xu,et al.  Exploring optimal controller parameters for complex industrial systems , 2015, 2015 IEEE International Conference on Cyber Technology in Automation, Control, and Intelligent Systems (CYBER).

[3]  George B. Dantzig,et al.  Linear Programming 1: Introduction , 1997 .

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

[5]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

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

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

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

[9]  Martin Gogolla,et al.  Using Models at Runtime to Address Assurance for Self-Adaptive Systems , 2015, Models@run.time@Dagstuhl.

[10]  References , 1971 .

[11]  Rogério de Lemos,et al.  Assurances for Self-Adaptive Systems: Principles, Models, and Techniques , 2013 .

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

[13]  Danny Weyns,et al.  Tele Assistance: A Self-Adaptive Service-Based System Exemplar , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[14]  Henry Hoffmann,et al.  ARPE: A Tool To Build Equation Models of Computing Systems , 2013, Feedback Computing.

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

[16]  Danilo Ardagna,et al.  A Multi-model Optimization Framework for the Model Driven Design of Cloud Applications , 2014, SSBSE.

[17]  Bradley R. Schmerl,et al.  Improving Architecture-Based Self-adaptation Using Preemption , 2009, SOAR.

[18]  Carlo Ghezzi,et al.  Assurances for Self-Adaptive Systems , 2013, Lecture Notes in Computer Science.

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

[20]  Vincenzo Grassi,et al.  Qos-driven runtime adaptation of service oriented architectures , 2009, ESEC/SIGSOFT FSE.

[21]  Radu Calinescu,et al.  Self-adaptive Software with Decentralised Control Loops , 2015, FASE.

[22]  Alberto L. Sangiovanni-Vincentelli,et al.  A mixed discrete-continuous optimization scheme for Cyber-Physical System architecture exploration , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[23]  Yixin Diao,et al.  Comparative studies of load balancing with control and optimization techniques , 2005, Proceedings of the 2005, American Control Conference, 2005..

[24]  T. Koopmans,et al.  Activity Analysis of Production and Allocation. , 1952 .

[25]  Xindong Wu,et al.  Optimizing Service Systems Based on Application-Level QoS , 2009, IEEE Transactions on Services Computing.

[26]  V. Klee,et al.  HOW GOOD IS THE SIMPLEX ALGORITHM , 1970 .

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

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

[29]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

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

[31]  William H. Press,et al.  Numerical Recipes in FORTRAN - The Art of Scientific Computing, 2nd Edition , 1987 .

[32]  Danny Weyns,et al.  SimCA vs ActivFORMS: comparing control- and architecture-based adaptation on the TAS exemplar , 2015, CTSE@SIGSOFT FSE.

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

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

[35]  M. H. Wright The interior-point revolution in optimization: History, recent developments, and lasting consequences , 2004 .

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

[37]  Gabor Karsai,et al.  Towards Practical Runtime Verification and Validation of Self-Adaptive Software Systems , 2013, Software Engineering for Self-Adaptive Systems.

[38]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[39]  Jing Zhao,et al.  A decomposition-based approach for service composition with global QoS guarantees , 2012, Inf. Sci..

[40]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

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

[42]  Bradley R. Schmerl,et al.  Architecture-based self-adaptation in the presence of multiple objectives , 2006, SEAMS '06.

[43]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[44]  Carlo Ghezzi,et al.  Performance‐driven dynamic service selection , 2015, Concurr. Comput. Pract. Exp..

[45]  Danny Weyns,et al.  A survey of formal methods in self-adaptive systems , 2012, C3S2E '12.