Rule-based modeling and static analysis of self-adaptive systems by graph transformation. (English) Zbl 1398.68092

De Nicola, Rocco (ed.) et al., Software, services, and systems. Essays dedicated to Martin Wirsing on the occasion of his retirement from the chair of programming and software engineering, Munich, Germany, 2015. Essays. Cham: Springer (ISBN 978-3-319-15544-9/pbk). Lecture Notes in Computer Science 8950, 582-601 (2015).
Summary: 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.
For the entire collection see [Zbl 1312.68005].


68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)
68Q42 Grammars and rewriting systems
68T05 Learning and adaptive systems in artificial intelligence


JBoss; AGG
Full Text: DOI


[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)
[2] Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. 4(2), 14:1–14:42 (2009)
[3] Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003) · Zbl 05087044
[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)
[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)
[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)
[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)
[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) · Zbl 05682219
[9] Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. In: EATCS Monographs in Theor. Comp. Science. Springer (2006) · Zbl 1095.68047
[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), http://www.eecs.tu-berlin.de/menue/forschung/forschungsberichte/2013 · Zbl 1398.68092
[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)
[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) · Zbl 1009.68650
[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) · Zbl 05804079
[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) · Zbl 1284.68324
[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) · Zbl 06068929
[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)
[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)
[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) · Zbl 05090575
[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)
[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)
[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)
[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)
[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)
[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) · Zbl 05367393
[25] JBoss: jBPM Engine, http://www.jboss.org/jbpm
[26] Wirsing, M.: Structured algebraic specifications: A kernel language. Theor. Comput. Sci., 123–249 (1986) · Zbl 0599.68021
[27] Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 1: Equations and Initial Semantics, Berlin. EATCS Monographs on Theoretical Computer Science, vol. 6 (1985) · Zbl 0557.68013
[28] Krieg-Brückner, B.: Seven years of COMPASS. In: COMPASS/ADT, pp. 1–13 (1995)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.