ABSTRACT
Architecture-based approaches to self-adaptation rely on architectural descriptions to reason about the best way of adapting the structure and behavior of software-intensive systems at runtime, either by choosing among a set of predefined adaptation strategies, or by automatically generating adaptation plans. Predefined strategy selection has a low computational overhead and facilitates dealing with uncertainty (e.g., by accounting explicitly for contingencies derived from unexpected outcomes of actions), but requires additional designer effort regarding the specification of strategies and is unable to guarantee optimal solutions. In contrast, runtime plan generation is able to explore a richer solution space and provide optimal solutions in some cases, but is more limited when dealing with uncertainty, and in-curs higher computational overheads. In this paper, we propose an approach to optimal adaptation plan generation for architecture-based self-adaptation via model checking of stochastic multiplayer games (SMGs). Our approach enables: (i) trade-off analysis among different qualities by means of utility functions and preferences, and (ii) explicit modeling of uncertainty in the outcome of adaptation actions and the behavior of the environment. Basing on the concepts embodied in the Rainbow framework for self-adaptation, we illustrate our approach in Znn.com, a case study that reproduces the infrastructure for a news website.
- R. Alur et al. Alternating-time temporal logic. J. ACM, 49(5), 2002. Google ScholarDigital Library
- A. Bianco and L. de Alfaro. Model checking of probabalistic and nondeterministic systems. In FSTTCS, volume 1026 of LNCS. Springer, 1995. Google ScholarDigital Library
- R. Calinescu et al. Dynamic QoS Management and Optimization in Service-Based Systems. IEEE Trans. Software Eng., 37(3), 2011. Google ScholarDigital Library
- R. Calinescu and M. Z. Kwiatkowska. Using Quantitative Analysis to Implement Autonomic IT Systems. In ICSE, 2009. Google ScholarDigital Library
- J. Cámara et al. Stochastic Game Analysis and Latency Awareness for Proactive Self-Adaptation. In SEAMS. ACM, 2014.Google Scholar
- T. Chen et al. Automatic verification of competitive stochastic systems. Form Method Syst Des, 43(1), 2013.Google Scholar
- T. Chen et al. PRISM-games: A model checker for stochastic multi-player games. In TACAS, volume 7795 of LNCS. Springer, 2013. Google ScholarDigital Library
- S. Cheng et al. Evaluating the Effectiveness of the Rainbow Self-Adaptive System. In SEAMS, 2009. Google ScholarDigital Library
- S.-W. Cheng and D. Garlan. Stitch: A language for architecture-based self-adaptation. Journal of Systems and Software, 85(12), 2012. Google ScholarDigital Library
- I. Epifani et al. Model Evolution by Run-Time Parameter Adaptation. In ICSE. IEEE CS, 2009. Google ScholarDigital Library
- V. Forejt et al. Automated verification techniques for probabilistic systems. In SFM, volume 6659 of LNCS. Springer, 2011.Google ScholarCross Ref
- D. Garlan et al. Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. IEEE Computer, 37(10), 2004. Google ScholarDigital Library
- F. Giunchiglia et al. Planning as model checking. In ECP, volume 1809 of LNAI. Springer, 1999. Google ScholarDigital Library
- J. O. Kephart and D. M. Chess. The vision of autonomic computing. Computer, 36, 2003. Google ScholarDigital Library
- J. Kramer and J. Magee. Self-managed systems: an architectural challenge. In FOSE. IEEE, 2007. Google ScholarDigital Library
- M. Kwiatkowska et al. PRISM 4.0: Verification of probabilistic real-time systems. In Proc. of CAV'11, volume 6806 of LNCS. Springer, 2011. Google ScholarDigital Library
- P. Oreizy et al. An architecture-based approach to self-adaptive software. IEEE Intell. Syst., 14, 1999. Google ScholarDigital Library
- D. Sykes et al. Exploiting non-functional preferences in architectural adaptation for self-managed systems. In SAC. ACM, 2010. Google ScholarDigital Library
- H. Tajalli et al. PLASMA: a plan-based layered architecture for software model-driven adaptation. In ASE. ACM, 2010. Google ScholarDigital Library
Index Terms
- Optimal planning for architecture-based self-adaptation via model checking of stochastic games
Recommendations
Proactive self-adaptation under uncertainty: a probabilistic model checking approach
ESEC/FSE 2015: Proceedings of the 2015 10th Joint Meeting on Foundations of Software EngineeringSelf-adaptive systems tend to be reactive and myopic, adapting in response to changes without anticipating what the subsequent adaptation needs will be. Adapting reactively can result in inefficiencies due to the system performing a suboptimal sequence ...
Improving architecture-based self-adaptation using preemption
SOAR'09: Proceedings of the First international conference on Self-organizing architecturesOne common approach to self-adaptive systems is to incorporate a control layer that monitors a system, supervisorily detects problems, and applies adaptation strategies to fix problems or improve system behavior. While such approaches have been found to ...
Dealing with Drift of Adaptation Spaces in Learning-based Self-Adaptive Systems Using Lifelong Self-Adaptation
Recently, machine learning (ML) has become a popular approach to support self-adaptation. ML has been used to deal with several problems in self-adaptation, such as maintaining an up-to-date runtime model under uncertainty and scalable decision-making. ...
Comments