skip to main content
research-article
Public Access

Analyzing Latency-Aware Self-Adaptation Using Stochastic Games and Simulations

Published:13 January 2016Publication History
Skip Abstract Section

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.

References

  1. R. Alur, T. A. Henzinger, and O. Kupferman. 2002. Alternating-time temporal logic. Journal of the ACM 49, 5 (2002), 672--713. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarCross RefCross Ref
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. M. Chiulli. 1999. Quantitative Analysis: An Introduction. Taylor & Francis.Google ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarCross RefCross Ref
  21. Daniel Jackson. 2012. Software Abstractions: Logic, Language, and Analysis. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. O. Kephart and D. M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Analyzing Latency-Aware Self-Adaptation Using Stochastic Games and Simulations

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Autonomous and Adaptive Systems
              ACM Transactions on Autonomous and Adaptive Systems  Volume 10, Issue 4
              Special Section on Best Papers from SEAMS 2014 and Regular Articles
              February 2016
              211 pages
              ISSN:1556-4665
              EISSN:1556-4703
              DOI:10.1145/2872308
              Issue’s Table of Contents

              Copyright © 2016 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 13 January 2016
              • Accepted: 1 November 2015
              • Revised: 1 September 2015
              • Received: 1 February 2015
              Published in taas Volume 10, Issue 4

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader