A Control-Theoretic Approach to Self-adaptive Systems and an Application to Cloud-Based Software

  • Chapter
  • First Online:
Software Engineering (LASER 2013, LASER 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8987))

Abstract

Software systems are usually developed to provide a fixed set of functionalities within given environmental conditions. However, in the last few years, there has been an increasing interest in systems that can autonomously modify their behavior in response to dynamic changes occurring in their execution environment. In one word, they must be self-adaptive. Self-adaptation requires the ability to discover and analyze changes, and to react by applying an adequate set of adaptation actions. The choice of the adaptation actions to apply can be performed in a model-driven fashion, that is by evaluating their effectiveness on a model of the system that is kept alive and updated at run-time.

We describe an approach to the design of self-adaptive systems that frames self-adaptation as a control theory problem. Our approach considers the architecture of the application, represented through a Discrete Time Markov Chain (DTMC); the running environment upon which it is deployed, described through a Queuing Model (QM); and a cost model, specified through a Dynamic System. At run-time the system autonomously increases or decreases the amount of resources allocated to different components of the application in response to changes of both workload intensity and distribution, and of performance of the computing resources. The adopted policy both minimizes costs and maintains the desired QoS, in terms of average response time. We evaluate our approach simulating a cloud computing application in a cloud infrastructure. This computing environment has been chosen because it allows on-demand access to a configurable pool of resources that can be easily provisioned and released at run-time.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
EUR 29.95
Price includes VAT (France)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
EUR 32.09
Price includes VAT (France)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
EUR 42.20
Price includes VAT (France)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    An autoscaling group in the Amazon cloud’s terminology.

  2. 2.

    Note that, in general, more final states can be supported. In this work we consider a single final state to represent the successful completion of requests.

  3. 3.

    Note that the approach can be easily extended to consider an M / M / n model.

  4. 4.

    The model that is obtained by connecting QMs into a network enriched with the probabilities of moving from one node to another is also known as Jackson Network [16].

  5. 5.

    For a deeper analysis the interested reader can refer to [7, 14].

References

  1. Ardagna, D., Panicucci, B., Passacantando, M.: Generalized nash equilibria for the service provisioning problem in cloud systems. IEEE Trans. Serv. Comput. 6(4), 429–442 (2013)

    Article  Google Scholar 

  2. Baier, C., Katoen, J.-P., et al.: Principles of Model Checking, vol. 26202649. MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  3. Baresi, L., Di Nitto, E., Ghezzi, C.: Toward open-world software: Issue and challenges. Computer 39(10), 36–43 (2006)

    Article  Google Scholar 

  4. Baresi, L., Pasquale, L., Spoletini, P.: Fuzzy goals for requirements-driven adaptation. In: 2010 18th IEEE International Requirements Engineering Conference (RE), pp. 125–134, September 2010

    Google Scholar 

  5. Bennani, M., Menasce, D.: Resource allocation for autonomic data centers using analytic performance models. In: ICAC (2005)

    Google Scholar 

  6. Bi, J., Zhu, Z., Tian, R., Wang, Q.: Dynamic provisioning modeling for virtualized multi-tier applications in cloud data center. In: Cloud Computing (CLOUD) (2010)

    Google Scholar 

  7. Calcavecchia, N.M., Caprarescu, B.A., Nitto, E.D., Dubois, D.J., Petcu, D.: Depas: A decentralized probabilistic algorithm for auto-scaling. CoRR, abs/1202.2509 (2012)

    Google Scholar 

  8. Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)

    Article  Google Scholar 

  9. Di Nitto, E., Ghezzi, C., Metzger, A., Papazoglou, M., Pohl, K.: A journey to highly dynamic, self-adaptive service-based applications. Autom. Softw. Eng. 15(3–4), 313–341 (2008)

    Article  Google Scholar 

  10. Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: IEEE 31st International Conference on Software Engineering, 2009, ICSE 2009, pp. 111–121, May 2009

    Google Scholar 

  11. Filieri, A., Ghezzi, C., Leva, A., Maggio, M.: Self-adaptive software meets control theory: a preliminary approach supporting reliability requirements. In: Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, pp. 283–292. IEEE Computer Society, Washington, DC (2011)

    Google Scholar 

  12. Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 341–350. ACM, New York (2011)

    Google Scholar 

  13. Gambi, A., Toffetti, G., Pautasso, C., Pezze, M.: Kriging controllers for cloud applications. Internet Comput. IEEE 17(4), 40–47 (2013)

    Article  Google Scholar 

  14. Gambi, A., Toffetti, G., Pezzè, M.: Assurance of self-adaptive controllers for the cloud. In: Cámara, J., de Lemos, R., Ghezzi, C., Lopes, A. (eds.) Assurances for Self-Adaptive Systems. LNCS, vol. 7740, pp. 311–339. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  15. Ghezzi, C., Menghi, C., Sharifloo, A.M., Spoletini, P.: On requirements verification for model refinements. In: 2013 21st IEEE International Requirements Engineering Conference (RE), pp. 62–71. IEEE (2013)

    Google Scholar 

  16. Jackson, J.R.: Networks of waiting lines. Oper. Res. 5(4), 518–521 (1957)

    Article  MathSciNet  Google Scholar 

  17. Jiang, Y., Perng, C.-S., Li, T., Chang, R.: Self-adaptive cloud capacity planning. In: SCC (2012)

    Google Scholar 

  18. Kemeny, J.G., Snell, J.L.: Finite Markov Chains, vol. 210. Springer, New York (1976)

    MATH  Google Scholar 

  19. Kendall, D.G.: Stochastic processes occurring in the theory of queues and their analysis by the method of the imbedded markov chain. Ann. Math. Stat. 24, 338–354 (1953)

    Article  MathSciNet  MATH  Google Scholar 

  20. Li, H., Venugopal, S.: Using reinforcement learning for controlling an elastic web application hosting platform. In: ICAC (2011)

    Google Scholar 

  21. Mell, P., Grance, T.: The nist definition of cloud computing (draft). NIST Spec. Publ. 800(145), 1–7 (2011)

    Google Scholar 

  22. Miglierina, M., Gibilisco, G., Ardagna, D., Di Nitto, E.: Model based control for multi-cloud applications. In: MiSE (2013)

    Google Scholar 

  23. Patikirikorala, T., Colman, A., Han, J., Wang, L.: A multi-model framework to implement self-managing control systems for qos management. In: SEAMS (2011)

    Google Scholar 

  24. Robinson, R.C.: An introduction to dynamical systems, vol. 19. AMS Bookstore (2013)

    Google Scholar 

  25. Sharifloo, A.M., Spoletini, P.: LOVER: Light-weight fOrmal verification of adaptivE systems at run time. In: Păsăreanu, C.S., Salaün, G. (eds.) FACS 2012. LNCS, vol. 7684, pp. 170–187. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  26. Watkins, C., Dayan, P.: Technical note: Q-learning. Mach. Learn. 8(3–4), 279–292 (1992)

    MATH  Google Scholar 

  27. Zhang, L., Ardagna, D.: Sla based profit optimization in autonomic computing systems. In: Proceedings of the 2nd International Conference on Service Oriented Computing, pp. 173–182. ACM (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Claudio Menghi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Ghezzi, C., Gibilisco, G.P., Menghi, C., Miglierina, M. (2015). A Control-Theoretic Approach to Self-adaptive Systems and an Application to Cloud-Based Software. In: Meyer, B., Nordio, M. (eds) Software Engineering. LASER LASER 2013 2014. Lecture Notes in Computer Science(), vol 8987. Springer, Cham. https://doi.org/10.1007/978-3-319-28406-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-28406-4_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-28405-7

  • Online ISBN: 978-3-319-28406-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics

Navigation