Abstract
Self-adaptive systems must decide which adaptations to apply and when. In reactive approaches, adaptations are chosen and executed after some issue in the system has been detected (e.g., unforeseen attacks or failures). In proactive approaches, predictions are used to prepare the system for some future event (e.g., traffic spikes during holidays). In both cases, the choice of adaptation is based on the estimated impact it will have on the system. Current decision-making approaches assume that the impact will be instantaneous, whereas it is common that adaptations take time to produce their impact. Ignoring this latency is problematic because adaptations may not achieve their effect in time for a predicted event. Furthermore, lower impact but quicker adaptations may be ignored altogether, even if over time the accrued impact is actually higher. In this article, we introduce a novel approach to choosing adaptations that considers these latencies. To show how this improves adaptation decisions, we use a two-pronged approach: (i) model checking of Stochastic Multiplayer Games (SMGs) enables us to understand best- and worst-case scenarios of optimal latency-aware and non-latency-aware adaptation without the need to develop specific adaptation algorithms. However, since SMGs do not provide an algorithm to make choices at runtime, we propose a (ii) latency-aware adaptation algorithm to make decisions at runtime. Simulations are used to explore more detailed adaptation behavior and to check if the performance of the algorithm falls within the bounds predicted by SMGs. Our results show that latency awareness improves adaptation outcomes and also allows a larger set of adaptations to be exploited.
- R. Alur, T. A. Henzinger, and O. Kupferman. 2002. Alternating-time temporal logic. Journal of the ACM 49, 5 (2002), 672--713. Google ScholarDigital Library
- A. Arcuri and L. Briand. 2012. A Hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Software Testing, Verification and Reliability 24, 3 (2012), 219--250. Google ScholarDigital Library
- A. Bianco and L. de Alfaro. 1995. Model checking of probabalistic and nondeterministic systems. In Proceedings of the 15th Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS’95). Bangalore, India, 499--513. Google ScholarDigital Library
- V. Braberman, N. D’Ippolito, N. Piterman, D. Sykes, and S. Uchitel. 2013. Controller synthesis: From modelling to enactment. In Proceedings of the 2013 International Conference on Software Engineering (ICSE’13). IEEE Press, San Francisco, CA, USA, 1347--1350. Google ScholarDigital Library
- R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola, and G. Tamburrelli. 2011. Dynamic QoS management and optimization in service-based systems. IEEE Transactions on Software Engineering 37, 3 (2011), 387--409. Google ScholarDigital Library
- J. Cámara, P. Correia, R. de Lemos, D. Garlan, P. Gomes, B. Schmerl, and R. Ventura. 2013. Evolving an adaptive industrial software system to use architecture-based self-adaptation. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’13). IEEE Computer Society, San Francisco, CA, USA. Google ScholarDigital Library
- J. Cámara, G. A. Moreno, and D. Garlan. 2014. Stochastic game analysis and latency awareness for proactive self-adaptation. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). ACM, Hyderabad, India, 155--164. Google ScholarDigital Library
- T. Chen, V. Forejt, M. Kwiatkowska, D. Parker, and A. Simaistis. 2013a. Automatic verification of competitive stochastic systems. Formal Methods in System Design 43, 1 (2013), 61--92.Google ScholarCross Ref
- T. Chen, V. Forejt, M. Kwiatkowska, D. Parker, and A. Simaistis. 2013b. PRISM-games: A model checker for stochastic multi-player games. In Proceedings of the 19th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’13) (LNCS), Vol. 7795. Springer, Rome, Italy, 185--191. Google ScholarDigital Library
- S. W. Cheng, D. Garlan, and B. Schmerl. 2009a. Evaluating the effectiveness of the rainbow self-adaptive system. In 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’09). IEEE Computer Society, Vancouver, BC, Canada, 132--141. Google ScholarDigital Library
- S.-W. Cheng and D. Garlan. 2012. Stitch: A language for architecture-based self-adaptation. Journal of Systems and Software 85, 12 (2012), 2860--2875. Google ScholarDigital Library
- S.-W. Cheng, V. Poladian, D. Garlan, and B. Schmerl. 2009b. Improving architecture-based self-adaptation through resource prediction. In Software Engineering for Self-Adaptive Systems (SEfSAS), Betty H. C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, and Jeff Magee (Eds.). LNCS, Vol. 5525. Springer, 71--88. Google ScholarDigital Library
- R. M. Chiulli. 1999. Quantitative Analysis: An Introduction. Taylor & Francis.Google Scholar
- V. Forejt, M. Kwiatkowska, G. Norman, and D. Parker. 2011. Automated verification techniques for probabilistic systems. In Formal Methods for Eternal Networked Software Systems - 11th International School on Formal Methods for the Design of Computer, Communication and Software Systems, SFM 2011. Advanced Lectures (LNCS), Vol. 6659. Springer, Bertinoro, Italy, 53--113.Google Scholar
- A. Gambi, D. Moldovan, G. Copil, H.-L. Truong, and S. Dustdar. 2013. On estimating actuation delays in elastic computing systems. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’13). IEEE, San Francisco, CA, USA, 33--42. Google ScholarDigital Library
- A. Gandhi, M. Harchol-Balter, and R. Raghunathan. 2012. AutoScale: Dynamic, robust capacity management for multi-tier data centers. ACM Transactions on Computer Systems 30, 4 (2012), 14:1--14:26.. Google ScholarDigital Library
- D. Garlan, S. W. Cheng, A. C. Huang, B. Schmerl, and P. Steenkiste. 2004. Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer 37, 10 (2004), 46--54. Google ScholarDigital Library
- R. P. Goldman, D. J. Musliner, and K. D. Krebsbach. 2003. Managing online self-adaptation in real-time environments. In Self-Adaptive Software: Applications, Robert Laddaga, Howie Shrobe, and Paul Robertson (Eds.). Lecture Notes in Computer Science, Vol. 2614. Springer Berlin Heidelberg, 6--23. Google ScholarDigital Library
- J. Hielscher, R. Kazhamiakin, A. Metzger, and M. Pistore. 2008. A framework for proactive self-adaptation of service-based applications based on online testing. In Proceedings of the 1st European Conference on Towards a Service-Based Internet, ServiceWave’08. Springer-Verlag, Madrid, Spain, 122--133. Google ScholarDigital Library
- W. Van Der Hoek and M. Wooldridge. 2003. Model checking cooperation, knowledge, and time - A case study. Research in Economics 57, 3 (2003), 235--265.Google ScholarCross Ref
- Daniel Jackson. 2012. Software Abstractions: Logic, Language, and Analysis. MIT Press. Google ScholarDigital Library
- J. O. Kephart and D. M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50. Google ScholarDigital Library
- J. Kramer and J. Magee. 2007. Self-managed systems: An architectural challenge. In Future of Software Engineering (FOSE’07). Minneapolis, MN, USA, 259--268. Google ScholarDigital Library
- S. Kremer and J.-F. Raskin. 2001. A game-based verification of non-repudiation and fair exchange protocols. In Proceedings of the 12th International Conference on Concurrency Theory (CONCUR’01). LNCS, Vol. 2154. Springer, Aalborg, Denmark, 551--565. Google ScholarDigital Library
- M. Kwiatkowska, G. Norman, and D. Parker. 2008. Using probabilistic model checking in systems biology. ACM SIGMETRICS Performance Evaluation Review 35, 4 (2008), 14--21. Google ScholarDigital Library
- M. Kwiatkowska, G. Norman, and D. Parker. 2011. PRISM 4.0: Verification of probabilistic real-time systems. In Proceedings of the 23rd International Conference on Computer Aided Verification (CAV’11). LNCS, Vol. 6806. Springer, Snowbird, UT, USA, 585--591. Google ScholarDigital Library
- J. Liu, B. Priyantha, T. Hart, H. S. Ramos, A. Loureiro, and Q. Wang. 2012. Energy efficient GPS sensing with cloud offloading. In SenSys. ACM, 85. Google ScholarDigital Library
- L. Maatta, J. Suhonen, T. Laukkarinen, T. D. Hamalainen, and M. Hannikainen. 2010. Program image dissemination protocol for low-energy multihop wireless sensor networks. In Proceedings of the 2010 International Symposium on System on Chip (SoC). IEEE, Tampere, Finland.Google Scholar
- A. Metzger, O. Sammodi, and K. Pohl. 2013. Accurate proactive adaptation of service-oriented systems. In Assurances for Self-Adaptive Systems - Principles, Models, and Techniques, Javier Cámara, Rogério de Lemos, Carlo Ghezzi, and Antónia Lopes (Eds.). LNCS, Vol. 7740. Springer, 240--265.Google Scholar
- D. Musliner. 2001. Imposing real-time constraints on self-adaptive controller synthesis. In Self-Adaptive Software, Paul Robertson, Howie Shrobe, and Robert Laddaga (Eds.). LNCS, Vol. 1936. Springer, 143--160. Google ScholarDigital Library
- G. Norman, D. Parker, M. Kwiatkowska, S. Shukla, and R. Gupta. 2002. Formal analysis and validation of continuous time Markov chain based system level power management strategies. In Proceedings of the 7th Annual IEEE International Workshop on High Level Design Validation and Test (HLDVT’02). IEEE, Cannes, France, 45--50. Google ScholarDigital Library
- P. Oreizy, M. M. Gorlick, R. N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. S. Rosenblum, and A. L. Wolf. 1999. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems 14, 3 (1999), 54--62. Google ScholarDigital Library
- I. D. Paez Anaya, V. Simko, J. Bourcier, N. Plouzeau, and J. -M. Jézéquel. 2014. A prediction-driven adaptation approach for self-adaptive sensor networks. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). ACM, Hyderabad, India, 145--154. Google ScholarDigital Library
- V. Poladian, D. Garlan, M. Shaw, B. Schmerl, and J. Sousa. 2007. Leveraging resource prediction for anticipatory dynamic configuration. In Proceedings of the 1st International Conference on Self-Adaptive and Self-Organizing Systems (SASO’07). Boston, MA, USA, 214--223. Google ScholarDigital Library
- B. Schmerl, J. Cámara, G. A. Moreno, D. Garlan, and A. Mellinger. 2014. Architecture-Based Self-Adaptation for Moving Target Defense. Technical Report CMU-ISR-14-109. Carnegie Mellon University.Google Scholar
- A. Varga and R. Hornig. 2008. An overview of the OMNeT++ simulation environment. In Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems (Simutools’08). ICST, Marseille, France, 60:1--60:10. Google ScholarDigital Library
- C. Wang and J.-L. Pazat. 2012. A two-phase online prediction approach for accurate and timely adaptation decision. In Proceedings of the 12th International Conference on Services Computing (SCC’12). Honolulu, HW, USA, 218--225. Google ScholarDigital Library
- X. Zhang and C.-H. Lung. 2010. Improving software performance and reliability with an architecture-based self-adaptive framework. In Proceedings of the 34th Annual IEEE Computer Software and Applications Conference (COMPSAC’10). Seoul, South Korea, 72--81. Google ScholarDigital Library
Index Terms
- Analyzing Latency-Aware Self-Adaptation Using Stochastic Games and Simulations
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 ...
Flexible and Efficient Decision-Making for Proactive Latency-Aware Self-Adaptation
Proactive latency-aware adaptation is an approach for self-adaptive systems that considers both the current and anticipated adaptation needs when making adaptation decisions, taking into account the latency of the available adaptation tactics. Since ...
Stochastic game analysis and latency awareness for proactive self-adaptation
SEAMS 2014: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsAlthough different approaches to decision-making in self-adaptive systems have shown their effectiveness in the past by factoring in predictions about the system and its environment (e.g., resource availability), no proposal considers the latency ...
Comments