Rule-Based Modeling and Static Analysis of Self-adaptive Systems by Graph Transformation

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


Software systems nowadays require continuous operation despite changes both in user needs and in their operational environments. Self-adaptive systems are typically instrumented with tools to autonomously perform adaptation to these changes while maintaining some desired properties. In this paper we model and analyze self-adaptive systems by means of typed, attributed graph grammars. The interplay of different grammars representing the application and the adaptation logic is realized by an adaption manager. Within this formal framework we define consistency and operational properties that are maintained despite adaptations and we give static conditions for their verification. The overall approach is supported by the AGG tool for modeling, simulating, and analyzing graph transformation systems. A case study modeling a business process that adapts to changing environment conditions is used to demonstrate and validate the formal framework.


Business Process Graph Transformation Composite Service Normal Rule Type Graph 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  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. Software Engineering for Self-Adaptive Systems, 48–70 (2009)Google Scholar
  2. 2.
    Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. 4(2), 14:1–14:42 (2009)Google Scholar
  3. 3.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Babaoğlu, Ö., Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A., van Steen, M. (eds.): SELF-STAR 2004. LNCS, vol. 3460. Springer, Heidelberg (2005)Google Scholar
  5. 5.
    Rodosek, G.D., Geihs, K., Schmeck, H., Burkhard, S.: Self-healing systems: Foundations and challenges. In: Self-Healing and Self-Adaptive Systems. Number 09201 in Proc. Dagstuhl Seminar (2009)Google Scholar
  6. 6.
    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
  7. 7.
    Bucchiarone, A., Pelliccione, P., Vattani, C., Runge, O.: Self-repairing systems modeling and verification using AGG. In: IEEE Joint Working IEEE/IFIP Conference on Software Architecture (WICSA 2009), pp. 181–190 (2009)Google Scholar
  8. 8.
    Ehrig, H., Ermel, C., Runge, O., Bucchiarone, A., Pelliccione, P.: Formal analysis and verification of self-healing systems. In: Rosenblum, D.S., Taentzer, G. (eds.) FASE 2010. LNCS, vol. 6013, pp. 139–153. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. In: EATCS Monographs in Theor. Comp. Science. Springer (2006)Google Scholar
  10. 10.
    Bucchiarone, A., Ehrig, H., Ermel, C., Pelliccione, P., Runge, O.: Modeling and analysis of self-adaptive systems based on graph transformation. Technical Report 2013/03, TU Berlin (2013),
  11. 11.
    Böse, F., Piotrowski, J., Scholz-Reiter, B.: Autonomously controlled storage management in vehicle logistics - applications of RFID and mobile computing systems. Int. Journal of RT Technologies: Research an Application 1(1), 57–76 (2009)CrossRefGoogle Scholar
  12. 12.
    Chapin, N., Hale, J.E., Kham, K.M., Ramil, J.F., Tan, W.G.: Types of software evolution and software maintenance. Software Maintenance 13(1), 3–30 (2001)CrossRefzbMATHGoogle Scholar
  13. 13.
    Lanese, I., Bucchiarone, A., Montesi, F.: A framework for rule-based dynamic adaptation. In: Wirsing, M., Hofmann, M., Rauschmayer, A. (eds.) TGC 2010, LNCS, vol. 6084, pp. 284–300. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  14. 14.
    Golas, U., Lambers, L., Ehrig, H., Orejas, F.: Attributed graph transformation with inheritance: Efficient conflict detection and local confluence analysis using abstract critical pairs. Theor. Comput. Sci. 424, 46–68 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Bruni, R., Corradini, A., Gadducci, F., Lluch Lafuente, A., Vandin, A.: A conceptual framework for adaptation. In: de Lara, J., Zisman, A. (eds.) Fundamental Approaches to Software Engineering. LNCS, vol. 7212, pp. 240–254. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  16. 16.
    Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A survey of self-management in dynamic software architecture specifications. In: Proc. 1st ACM SIGSOFT Workshop on Self-Managed Systems (WOSS 2004), pp. 28–33. ACM (2004)Google Scholar
  17. 17.
    Bencomo, N., Blair, G.S.: Using architecture models to support the generation and operation of component-based adaptive systems. Software Engineering for Self-Adaptive Systems, 183–200 (2009)Google Scholar
  18. 18.
    Garlan, D., Cheng, S.W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)CrossRefGoogle Scholar
  19. 19.
    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 (2008)Google Scholar
  20. 20.
    Spanoudakis, G., Zisman, A., Kozlenkov, A.: A service discovery framework for service centric systems. In: Proc. Int. Conf. on Services Computing, pp. 251–259 (2005)Google Scholar
  21. 21.
    Canfora, G., Penta, M.D., Esposito, R., Villani, M.L.: An approach for QoS-aware service composition based on genetic algorithms. In: Proc. Conf. on Genetic and Evolutionary Computation (GECO 2005), pp. 1069–1075 (2005)Google Scholar
  22. 22.
    Baresi, L., Guinea, S., Pasquale, L.: Self-healing BPEL processes with Dynamo and the JBoss rule engine. In: ESSPE 2007, pp. 11–20. ACM (2007)Google Scholar
  23. 23.
    Colombo, M., Di Nitto, E., Mauri, M.: SCENE: A service composition execution environment supporting dynamic changes disciplined through rules. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 191–202. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    Pfeffer, H., Linner, D., Steglich, S.: Dynamic adaptation of workflow based service compositions. In: Huang, D.-S., Wunsch II, D.C., Levine, D.S., Jo, K.-H. (eds.) ICIC 2008. LNCS, vol. 5226, pp. 763–774. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  25. 25.
    JBoss: jBPM Engine,
  26. 26.
    Wirsing, M.: Structured algebraic specifications: A kernel language. Theor. Comput. Sci., 123–249 (1986)Google Scholar
  27. 27.
    Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 1: Equations and Initial Semantics, Berlin. EATCS Monographs on Theoretical Computer Science, vol. 6 (1985)Google Scholar
  28. 28.
    Krieg-Brückner, B.: Seven years of COMPASS. In: COMPASS/ADT, pp. 1–13 (1995)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Antonio Bucchiarone
    • 1
  • Hartmut Ehrig
    • 2
  • Claudia Ermel
    • 2
  • Patrizio Pelliccione
    • 3
  • Olga Runge
    • 2
  1. 1.Fondazione Bruno KesslerTrentoItaly
  2. 2.Technische Universität BerlinGermany
  3. 3.Chalmers University of Technology and University of GothenburgSweden

Personalised recommendations