Formal Analysis and Verification of Self-Healing Systems

  • Hartmut Ehrig
  • Claudia Ermel
  • Olga Runge
  • Antonio Bucchiarone
  • Patrizio Pelliccione
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6013)


Self-healing (SH-)systems are characterized by an automatic discovery of system failures, and techniques how to recover from these situations. In this paper, we show how to model SH-systems using algebraic graph transformation. These systems are modeled as typed graph grammars enriched with graph constraints. This allows not only for formal modeling of consistency and operational properties, but also for their analysis and verification using the tool AGG. We present sufficient static conditions for self-healing properties, deadlock-freeness and liveness of SH-systems. The overall approach is applied to a traffic light system case study, where the corresponding properties are verified.


Graph Transformation Reachable State Normal Rule Graph Grammar Graph Constraint 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Brun, Y., Marzo Serugendo, G., Gacek, C., Giese, H., Kienle, H., Litoiu, M., Müller, H., Pezzè, M., Shaw, M.: Engineering self-adaptive systems through feedback loops. In: Software Engineering for Self-Adaptive Systems, pp. 48–70 (2009)Google Scholar
  2. 2.
    Andersson, J., Lemos, R., Malek, S., Weyns, D.: Modeling dimensions of self-adaptive software systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 27–47. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  3. 3.
    Rodosek, G.D., Geihs, K., Schmeck, H., Burkhard, S.: Self-healing systems: Foundations and challenges. In: Self-Healing and Self-Adaptive Systems, Germany. Dagstuhl Seminar Proceedings, vol. 09201 (2009)Google Scholar
  4. 4.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)CrossRefMathSciNetGoogle Scholar
  5. 5.
    White, S.R., Hanson, J.E., Whalley, I., Chess, D.M., Segal, A., Kephart, J.O.: Autonomic computing: Architectural approach and prototype. Integr. Comput.-Aided Eng. 13(2), 173–188 (2006)Google Scholar
  6. 6.
    Bucchiarone, A., Pelliccione, P., Vattani, C., Runge, O.: Self-repairing systems modeling and verification using AGG. In: WICSA 2009 (2009)Google Scholar
  7. 7.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS Monographs in Theor. Comp. Science. Springer, Heidelberg (2006)zbMATHGoogle Scholar
  8. 8.
    Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.): Handbook of Graph Grammars and Computing by Graph Transformation. Applications, Languages and Tools, vol. 2. World Scientific, Singapore (1999)Google Scholar
  9. 9.
    Ehrig, H., Ermel, C., Runge, O., Bucchiarone, A., Pelliccione, P.: Formal analysis and verication of self-healing systems: Long version. Technical report, TU Berlin (2010),
  10. 10.
    Perry, D., Wolf, A.: Foundations for the Study of Software Architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  11. 11.
    Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: FOSE, pp. 259–268 (2007)Google Scholar
  12. 12.
    Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. IEEE Software 23(2), 62–70 (2006)CrossRefGoogle Scholar
  13. 13.
    Garlan, D., Schmerl, B.: Model-based adaptation for self-healing systems. In: WOSS 2002, pp. 27–32. ACM, New York (2002)CrossRefGoogle Scholar
  14. 14.
    Becker, B., Giese, H.: Modeling of correct self-adaptive systems: A graph transformation system based approach. In: Soft Computing as Transdisciplinary Science and Technology (CSTST 2008), pp. 508–516. ACM Press, New York (2008)CrossRefGoogle Scholar
  15. 15.
    Bucchiarone, A.: Dynamic software architectures for global computing systems. PhD thesis, IMT Institute for Advanced Studies, Lucca, Italy (2008)Google Scholar
  16. 16.
    Becker, B., Beyer, D., Giese, H., Klein, F., Schilling, D.: Symbolic invariant verification for systems with dynamic structural adaptation. In: Int. Conf. on Software Engineering (ICSE). ACM Press, New York (2006)Google Scholar
  17. 17.
    Baresi, L., Heckel, R., Thone, S., Varro, D.: Style-based refinement of dynamic software architectures. In: WICSA 2004. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  18. 18.
    Hirsch, D., Inverardi, P., Montanari, U.: Modeling software architectures and styles with graph grammars and constraint solving. In: WICSA, pp. 127–144 (1999)Google Scholar
  19. 19.
    Métayer, D.L.: Describing software architecture styles using graph grammars. IEEE Trans. Software Eng. 24(7), 521–533 (1998)CrossRefGoogle Scholar
  20. 20.
    Kastenberg, H., Rensink, A.: Model checking dynamic states in groove. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 299–305. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Aguirre, N., Maibaum, T.S.E.: Hierarchical temporal specifications of dynamically reconfigurable component based systems. ENTCS 108, 69–81 (2004)Google Scholar
  22. 22.
    Rensink, A., Schmidt, A., Varr’o, D.: Model checking graph transformations: A comparison of two approaches. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 226–241. Springer, Heidelberg (2004)Google Scholar
  23. 23.
    Reisig, W.: Petri Nets: An Introduction. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer, Heidelberg (1985)zbMATHGoogle Scholar
  24. 24.
    Spanoudakis, G., Zisman, A., Kozlenkov, A.: A service discovery framework for service centric systems. In: IEEE SCC, pp. 251–259 (2005)Google Scholar
  25. 25.
    Canfora, G., Penta, M.D., Esposito, R., Villani, M.L.: An approach for qos-aware service composition based on genetic algorithms. In: GECCO, pp. 1069–1075 (2005)Google Scholar
  26. 26.
    Zeng, L., Benatallah, B., Dumas, M., Kalagnanam, J., Sheng, Q.Z.: Quality driven web services composition. In: WWW, pp. 411–421 (2003)Google Scholar
  27. 27.
    Baresi, L., Guinea, S., Pasquale, L.: Self-healing BPEL processes with Dynamo and the JBoss rule engine. In: ESSPE 2007, pp. 11–20. ACM, New York (2007)CrossRefGoogle Scholar
  28. 28.
    Colombo, M., Nitto, E.D., Mauri, M.: Scene: A service composition execution environment supporting dynamic changes disciplined through rules. In: ICSOC, pp. 191–202 (2006)Google Scholar
  29. 29.
    Rukzio, E., Siorpaes, S., Falke, O., Hussmann, H.: Policy based adaptive services for mobile commerce. In: WMCS 2005. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  30. 30.
    Inverardi, P., Pelliccione, P., Tivoli, M.: Towards an assume-guarantee theory for adaptable systems. In: SEAMS, pp. 106–115. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  31. 31.
    Ehrig, H., Habel, A., Lambers, L.: Parallelism and Concurrency Theorems for Rules with Nested Application Conditions. In: EC-EASST (to appear, 2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Hartmut Ehrig
    • 1
  • Claudia Ermel
    • 1
  • Olga Runge
    • 1
  • Antonio Bucchiarone
    • 2
  • Patrizio Pelliccione
    • 3
  1. 1.Institut für Softwaretechnik und Theoretische InformatikTechnische Universität BerlinGermany
  2. 2.FBK-IRSTTrentoItaly
  3. 3.Dipartimento di InformaticaUniversità dell’AquilaItaly

Personalised recommendations