MOSAICO: offline synthesis of adaptation strategy repertoires with flexible trade-offs

Self-adaptation improves the resilience of software-intensive systems, enabling them to adapt their structure and behavior to run-time changes (e.g., in workload and resource availability). Many of these approaches reason about the best way of adapting by synthesizing adaptation plans online via planning or model checking tools. This method enables the exploration of a rich solution space, but optimal solutions and other guarantees (e.g., constraint satisfaction) are computationally costly, resulting in long planning times during which changes may invalidate plans. An alternative to online planning involves selecting at run time the adaptation best suited to the current system and environment conditions from among a predefined repertoire of adaptation strategies that capture repair and optimization tasks. This method does not incur run-time overhead but requires additional effort from engineers, who have to specify strategies and lack support to systematically assess their quality. In this article, we present MOSAICO, an approach for offline synthesis of adaptation strategy repertoires that makes a novel use of discrete abstractions of the state space to flexibly adapt extra-functional behavior in a scalable manner. The approach supports making trade-offs: (i) among multiple extra-functional concerns, and (ii) between computation time and adaptation quality (varying abstraction resolution). Our results show a remarkable improvement on system qualities in contrast to manually-specified repertoires. More interestingly, moderate increments in abstraction resolution can lead to pronounced quality improvements, whereas high resolutions yield only negligible improvement over medium resolutions.

[1]  Julie A. McCann,et al.  A survey of autonomic computing—degrees, models, and applications , 2008, CSUR.

[2]  Marta Z. Kwiatkowska,et al.  Stochastic Model Checking , 2007, SFM.

[3]  Bradley R. Schmerl,et al.  Architecture-based self-protection: composing and reasoning about denial-of-service mitigations , 2014, HotSoS '14.

[4]  Karl-Erik Årzén,et al.  Brownout: building more robust cloud applications , 2014, ICSE.

[5]  Paolo Romano,et al.  Using Analytical Models to Bootstrap Machine Learning Performance Predictors , 2015, 2015 IEEE 21st International Conference on Parallel and Distributed Systems (ICPADS).

[6]  Amir Pnueli,et al.  Synthesis of Reactive(1) designs , 2006, J. Comput. Syst. Sci..

[7]  Jeff Magee,et al.  Exploiting non-functional preferences in architectural adaptation for self-managed systems , 2010, SAC '10.

[8]  Bradley R. Schmerl,et al.  Evolving an adaptive industrial software system to use architecture-based self-adaptation , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[9]  Nils Gruschka,et al.  SOA and Web Services: New Technologies, New Standards - New Attacks , 2007, ECOWS 2007.

[10]  Panos Liatsis,et al.  CAPTCHA Usability and Performance, How to Measure the Usability Level of Human Interactive Applications Quantitatively and Qualitatively? , 2015, 2015 International Conference on Developments of E-Systems Engineering (DeSE).

[11]  Jan Maluszy¿ski Verification, Model Checking, and Abstract Interpretation , 2009, Lecture Notes in Computer Science.

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

[13]  Jordi Torres,et al.  Autonomic QoS control in enterprise Grid environments using online simulation , 2009, J. Syst. Softw..

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

[15]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[16]  David S. Rosenblum,et al.  QoS-Aware Service Composition in Dino , 2007, Fifth European Conference on Web Services (ECOWS'07).

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

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

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

[20]  Andrew Fox,et al.  C-MART: Benchmarking the Cloud , 2013, IEEE Transactions on Parallel and Distributed Systems.

[21]  Marta Z. Kwiatkowska,et al.  Automated Verification and Strategy Synthesis for Probabilistic Systems , 2013, ATVA.

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

[23]  Samuel Kounev,et al.  Modeling run-time adaptation at the system architecture level in dynamic service-oriented environments , 2013, Service Oriented Computing and Applications.

[24]  Marcel Schoppers,et al.  Universal Plans for Reactive Robots in Unpredictable Environments , 1987, IJCAI.

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

[26]  P. Ramadge,et al.  Supervisory control of a class of discrete event processes , 1987 .

[27]  Marta Z. Kwiatkowska,et al.  Pareto Curves for Probabilistic Model Checking , 2012, ATVA.

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

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

[30]  Rogério de Lemos,et al.  Dynamic plans for integration testing of self-adaptive software systems , 2011, SEAMS '11.

[31]  Bradley R. Schmerl,et al.  Incorporating architecture-based self-adaptation into an adaptive industrial software system , 2016, J. Syst. Softw..

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

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

[34]  Alessandra Gorla,et al.  Automatic recovery from runtime failures , 2013, 2013 35th International Conference on Software Engineering (ICSE).

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

[36]  David Garlan,et al.  Rainbow: cost-effective software architecture-based self-adaptation , 2008 .

[37]  Joost-Pieter Katoen,et al.  Discrete-Time Rewards Model-Checked , 2003, FORMATS.

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

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

[40]  Bradley R. Schmerl,et al.  Impact Models for Architecture-Based Self-adaptive Systems , 2014, FACS.

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

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

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

[44]  S. Shankar Sastry,et al.  Synthesis for Human-in-the-Loop Control Systems , 2014, TACAS.

[45]  Bradley R. Schmerl,et al.  Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure , 2004, Computer.

[46]  Paola Inverardi,et al.  Synthesizing self-adaptive connectors meeting functional and performance concerns , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

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

[48]  Bradley R. Schmerl,et al.  Evaluating the effectiveness of the Rainbow self-adaptive system , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[49]  Nenad Medvidovic,et al.  PLASMA: a plan-based layered architecture for software model-driven adaptation , 2010, ASE '10.