Impact Models for Architecture-Based Self-adaptive Systems

  • Javier Cámara Moreno
  • Antónia Lopes
  • David Garlan
  • Bradley Schmerl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8997)


Self-adaptive systems have the ability to adapt their behavior to dynamic operation conditions. In reaction to changes in the environment, these systems determine the appropriate corrective actions based in part on information about which action will have the best impact on the system. Existing models used to describe the impact of adaptations are either unable to capture the underlying uncertainty and variability of such dynamic environments, or are not compositional and described at a level of abstraction too low to scale in terms of specification effort required for non-trivial systems. In this paper, we address these shortcomings by describing an approach to the specification of impact models based on architectural system descriptions, which at the same time allows us to represent both variability and uncertainty in the outcome of adaptations, hence improving the selection of the best corrective action. The core of our approach is an impact model language equipped with a formal semantics defined in terms of Discrete Time Markov Chains. To validate our approach, we show how employing our language can improve the accuracy of predictions used for decision-making in the Rainbow framework for architecture-based self-adaptation.


  1. 1.
    Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)CrossRefGoogle Scholar
  2. 2.
    Calinescu, R., Kwiatkowska, M.Z.: Using quantitative analysis to implement autonomic IT systems. In: ICSE (2009)Google Scholar
  3. 3.
    Cheng, S., et al.: Evaluating the effectiveness of the rainbow self-adaptive system. In: SEAMS. IEEE (2009)Google Scholar
  4. 4.
    Cheng, S.-W., et al.: Using architectural style as a basis for system self-repair. In: WICSA. Kluwer, B.V. (2002)Google Scholar
  5. 5.
    Cheng, S.-W., Garlan, D.: Stitch: a language for architecture-based self-adaptation. J. Syst. Softw. 85(12), 2860–2875 (2012)CrossRefGoogle Scholar
  6. 6.
    Cheng, S.-W., Garlan, D., Schmerl, B.R.: Raide for engineering architecture-based self-adaptive systems. In: ICSE Companion. IEEE (2009)Google Scholar
  7. 7.
    Chiulli, R.: Quantitative Analysis: An Introduction. Automation and Production Systems. Taylor & Francis, London (1999)Google Scholar
  8. 8.
    Esfahani, N., Malek, S.: Uncertainty in self-adaptive software systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 7475, pp. 214–238. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  9. 9.
    Filieri, A., Ghezzi, C., Leva, A., Maggio, M.: Self-adaptive software meets control theory: a preliminary approach supporting reliability requirements. In: ASE (2011)Google Scholar
  10. 10.
    Garlan, D., et al.: Acme: an architecture description interchange language. In: CASCON (1997)Google Scholar
  11. 11.
    Garlan, D., et al.: Rainbow: architecture-based self-adaptation with reusable infrastructure. IEEE Comput. 37(10), 46–54 (2004)CrossRefGoogle Scholar
  12. 12.
    Klein, C., et al.: Brownout: building more robust cloud applications. In: ICSE. ACM (2014)Google Scholar
  13. 13.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Leitner, P., Hummer, W., Dustdar, S.: Cost-based optimization of service compositions. IEEE Trans. Serv. Comput. 6(2), 239–251 (2013)CrossRefGoogle Scholar
  15. 15.
    Norris, J.R.: Markov Chains. Cambridge Series in Statistical and Probabilistic Mathematics. Cambridge University Press, Cambridge (1998)Google Scholar
  16. 16.
    OMG. Object Constraint Language V2.4 (2014).
  17. 17.
    Rosa, L., Rodrigues, L., Lopes, A., Hiltunen, M.A., Schlichting, R.D.: Self-management of adaptable component-based applications. IEEE Trans. Software Eng. 39(3), 403–421 (2013)CrossRefGoogle Scholar
  18. 18.
    Sykes, D., et al.: Learning revised models for planning in adaptive systems. In: ICSE (2013)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Javier Cámara Moreno
    • 1
  • Antónia Lopes
    • 2
  • David Garlan
    • 1
  • Bradley Schmerl
    • 1
  1. 1.Institute for Software ResearchCarnegie Mellon UniversityPittsburghUSA
  2. 2.Department of Informatics, Faculty of SciencesUniversity of LisbonLisbonPortugal

Personalised recommendations