Architectural Homeostasis in Self-Adaptive Software-Intensive Cyber-Physical Systems

  • Ilias GerostathopoulosEmail author
  • Dominik Skoda
  • Frantisek Plasil
  • Tomas Bures
  • Alessia Knauss
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9839)


Self-adaptive software-intensive cyber-physical systems (sasiCPS) encounter a high level of run-time uncertainty. State-of-the-art architecture-based self-adaptation approaches assume designing against a fixed set of situations that warrant self-adaptation; as a result, failures may appear when sasiCPS operate in environment conditions they are not specifically designed for. In response, we propose to increase the homeostasis of sasiCPS, i.e., the capacity to maintain an operational state despite run-time uncertainty, by introducing run-time changes to the architecture-based self-adaptation strategies according to environment stimuli. In addition to articulating the main idea of architectural homeostasis, we describe three mechanisms that reify the idea: (i) collaborative sensing, (ii) faulty component isolation from adaptation, and (iii) enhancing mode switching. Moreover, our experimental evaluation of the three mechanisms confirms that allowing a complex system to change its self-adaptation strategies helps the system recover from runtime errors and abnormalities and keep it in an operational state.


Cyber-physical systems Software architecture Run-time uncertainty Self-adaptation strategies 



This work was partially supported by the project no. LD15051 from COST CZ (LD) programme by the Ministry of Education, Youth and Sports of the Czech Republic; by Charles University institutional fundings SVV-2016-260331 and PRVOUK; by Charles University Grant Agency project No. 391115. This work is part of the TUM Living Lab Connected Mobility project and has been funded by the Bayerisches Staatsministerium für Wirtschaft und Medien, Energie und Technologie.


  1. 1.
    Kim, B.K., Kumar, P.R.: Cyber-physical systems: a perspective at the centennial. Proc. IEEE 100, 1287–1308 (2012)CrossRefGoogle Scholar
  2. 2.
    Hölzl, M., Rauschmayer, A., Wirsing, M.: Engineering of software-intensive systems: state of the art and research challenges. In: Wirsing, M., Banâtre, J.-P., Hölzl, M., Rauschmayer, A. (eds.) Software-Intensive Systems. LNCS, vol. 5380, pp. 1–44. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. 3.
    Beetz, K., Böhm, W.: Challenges in engineering for software-intensive embedded systems. In: Pohl, K., Hönninger, H., Achatz, R., Broy, M. (eds.) Model-Based Engineering of Embedded Systems, pp. 3–14. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  4. 4.
    Ramirez, A.J., Jensen, A.C., Cheng, B.H.: A taxonomy of uncertainty for dynamically adaptive systems. In: SEAMS 2012, pp. 99–108. IEEE (2012)Google Scholar
  5. 5.
    Cheng, B.H.C.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Self-adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  6. 6.
    Cheng, S.-W., Garlan, D., Schmerl, B.: Stitch: a language for architecture-based self-adaptation. J. Syst. Softw. 85, 1–38 (2012)CrossRefGoogle Scholar
  7. 7.
    Iftikhar, M.U., Weyns, D.: ActivFORMS: active formal models for self-adaptation. In: SEAMS 2014, pp. 125–134. ACM Press (2014)Google Scholar
  8. 8.
    Weyns, D., Malek, S., Andersson, J.: FORMS: a formal reference model for self-adaptation. In: Proceedings of the 7th International Conference on Autonomic Computing, pp. 205–214. ACM, New York (2010)Google Scholar
  9. 9.
    Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. IEEE Softw. 23, 62–70 (2006)CrossRefGoogle Scholar
  10. 10.
    Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Self-adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Gerostathopoulos, I., Bures, T., Hnetynka, P., Hujecek, A., Plasil, F., Skoda, D.: Meta-adaptation strategies for adaptation in cyber-physical systems. In: Weyns, D., Mirandola, R., Crnkovic, I. (eds.) ECSA 2015. LNCS, vol. 9278, pp. 45–52. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-23727-5_4 CrossRefGoogle Scholar
  12. 12.
    Cheng, B.H.C., Sawyer, P., Bencomo, N., Whittle, J.: A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 468–483. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-04425-0_36 CrossRefGoogle Scholar
  13. 13.
    Shaw, M.: “Self-healing”: softening precision to avoid brittleness. In: Proceedings of the First Workshop on Self-healing Systems, pp. 111–114. ACM (2002)Google Scholar
  14. 14.
    Bures, T., Gerostathopoulos, I., Hnetynka, P., Keznikl, J., Kit, M., Plasil, F.: DEECo – an ensemble-based component system. In: Proceedings of CBSE 2013, pp. 81–90. ACM (2013)Google Scholar
  15. 15.
    Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36, 41–50 (2003)CrossRefGoogle Scholar
  16. 16.
    Perrouin, G., Morin, B., Chauvel, F., Fleurey, F., Klein, J., Traon, Y.L., Barais, O., Jezequel, J.-M.: Towards flexible evolution of dynamically adaptive systems. In: Proceedings of ICSE 2012, pp. 1353–1356. IEEE (2012)Google Scholar
  17. 17.
    Fairbanks, G.: Architectural hoisting. IEEE Softw. 31, 12–15 (2014)CrossRefGoogle Scholar
  18. 18.
    Ramirez, A.J., Cheng, B.H., Bencomo, N., Sawyer, P.: Relaxing claims: coping with uncertainty while evaluating assumptions at run time. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 53–69. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  19. 19.
    Esfahani, N., Kouroshfar, E., Malek, S.: Taming uncertainty in self-adaptive software. In: Proceedings of SIGSOFT/FSE 2011, pp. 234–244. ACM (2011)Google Scholar
  20. 20.
    Knauss, A., Damian, D., Franch, X., Rook, A., Müller, H.A., Thomo, A.: ACon: a learning-based approach to deal with uncertainty in contextual requirements at runtime. Inf. Softw. Technol. 70, 85–99 (2016)CrossRefGoogle Scholar
  21. 21.
    Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Proceedings of ICSE 1998, pp. 177–186. IEEE (1998)Google Scholar
  22. 22.
    Cheng, S., Huang, A., Garlan, D., Schmerl, B., Steenkiste, P.: Rainbow: architecture-based self-adaptation with reusable infrastructure. IEEE Comput. 37, 46–54 (2004)CrossRefGoogle Scholar
  23. 23.
    Elkhodary, A., Esfahani, N., Malek, S.: FUSION: a framework for engineering self-tuning self-adaptive software systems. In: Proceedings of FSE 2010, pp. 7–16. ACM (2010)Google Scholar
  24. 24.
    Villegas, N.M., Tamura, G., Müller, H.A., Duchien, L., Casallas, R.: DYNAMICO: a reference model for governing control objectives and context relevance in self-adaptive software systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Self-adaptive Systems. LNCS, vol. 7475, pp. 265–293. Springer, Heidelberg (2013)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Ilias Gerostathopoulos
    • 1
    • 2
    Email author
  • Dominik Skoda
    • 2
  • Frantisek Plasil
    • 2
  • Tomas Bures
    • 2
  • Alessia Knauss
    • 3
  1. 1.Fakultät fur InformatikTechnische Universität MünchenMunichGermany
  2. 2.Charles University in PragueFaculty of Mathematics and PhysicsPragueCzech Republic
  3. 3.Department of Computer Science and EngineeringChalmers University of TechnologyGothenburgSweden

Personalised recommendations