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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
An autoscaling group in the Amazon cloud’s terminology.
- 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.
Note that the approach can be easily extended to consider an MÂ /Â MÂ /Â n model.
- 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.
References
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)
Baier, C., Katoen, J.-P., et al.: Principles of Model Checking, vol. 26202649. MIT Press, Cambridge (2008)
Baresi, L., Di Nitto, E., Ghezzi, C.: Toward open-world software: Issue and challenges. Computer 39(10), 36–43 (2006)
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
Bennani, M., Menasce, D.: Resource allocation for autonomic data centers using analytic performance models. In: ICAC (2005)
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)
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)
Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)
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)
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
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)
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)
Gambi, A., Toffetti, G., Pautasso, C., Pezze, M.: Kriging controllers for cloud applications. Internet Comput. IEEE 17(4), 40–47 (2013)
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)
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)
Jackson, J.R.: Networks of waiting lines. Oper. Res. 5(4), 518–521 (1957)
Jiang, Y., Perng, C.-S., Li, T., Chang, R.: Self-adaptive cloud capacity planning. In: SCC (2012)
Kemeny, J.G., Snell, J.L.: Finite Markov Chains, vol. 210. Springer, New York (1976)
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)
Li, H., Venugopal, S.: Using reinforcement learning for controlling an elastic web application hosting platform. In: ICAC (2011)
Mell, P., Grance, T.: The nist definition of cloud computing (draft). NIST Spec. Publ. 800(145), 1–7 (2011)
Miglierina, M., Gibilisco, G., Ardagna, D., Di Nitto, E.: Model based control for multi-cloud applications. In: MiSE (2013)
Patikirikorala, T., Colman, A., Han, J., Wang, L.: A multi-model framework to implement self-managing control systems for qos management. In: SEAMS (2011)
Robinson, R.C.: An introduction to dynamical systems, vol. 19. AMS Bookstore (2013)
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)
Watkins, C., Dayan, P.: Technical note: Q-learning. Mach. Learn. 8(3–4), 279–292 (1992)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)