Skip to main content
Log in

Enhanced graph rewriting systems for complex software domains

Dynamic software architecture, non-functional requirements, and correctness by construction

Software & Systems Modeling Aims and scope Submit manuscript

    We’re sorry, something doesn't seem to be working properly.

    Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Cite this article


Methodologies for correct by construction reconfigurations can efficiently solve consistency issues in dynamic software architecture. Graph-based models are appropriate for designing such architectures and methods. At the same time, they may be unfit to characterize a system from a non-functional perspective. This stems from efficiency and applicability limitations in handling time-varying characteristics and their related dependencies. In order to lift these restrictions, an extension to graph rewriting systems is proposed herein. The suitability of this approach, as well as the restraints of currently available ones, is illustrated, analyzed, and experimentally evaluated with reference to a concrete example. This investigation demonstrates that the conceived solution can (i) express any kind of algebraic dependencies between evolving requirements and properties; (ii) significantly ameliorate the efficiency and scalability of system modifications with respect to classic methodologies; (iii) provide an efficient access to attribute values; (iv) be fruitfully exploited in software management systems; and (v) guarantee theoretical properties of a grammar, like its termination.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18


  1. Distributed Interactive Engineering Toolbox.

  2. Sources and further information are available at


  4. AGG:

  5. GMTE:



  1. Alaya, M.B., Monteil, T.: Frameself: a generic context-aware autonomic framework for self-management of distributed systems. In: 21st IEEE International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), pp. 60–65 (2012)

  2. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)

    Article  Google Scholar 

  3. Allen, R., Douence, R., Garlan, D.: Specifying and analyzing dynamic software architectures. In: Fundamental Approaches to Software Engineering, Lecture Notes in Computer Science, vol. 1382, pp. 21–37. Springer, Berlin (1998)

  4. Baleani, M., Ferrari, A., Mangeruca, L., Sangiovanni-Vincentelli, A., Freund, U., Schlenker, E., Wolff, H.J.: Correct-by-construction transformations across design environments for model-based embedded software development. In: Conference on Design, Automation and Test in Europe (DATE), pp. 1044–1049 (2005)

  5. Baresi, L., Heckel, R., Thöne, S., Varró, D.: Style-based modeling and refinement of service-oriented architectures. J. Softw. Syst. Model. 5(2), 187–207 (2006)

    Article  Google Scholar 

  6. Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: Automated conflict-free distributed implementation of component-based models. In: International Symposium on Industrial Embedded Systems (SIES), pp. 108–117 (2010)

  7. Borgetto, D., Casanova, H., Da Costa, G., Pierson, J.M.: Energy-aware service allocation. Future Gener. Comput. Syst. 28(5), 769–779 (2012)

    Article  Google Scholar 

  8. Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A survey of self-management in dynamic software architecture specifications. In: ACM SIGSOFT Workshop on Self-managed Systems (WOSS), ACM, New York, NY, USA, pp. 28–33 (2004)

  9. Caron, E., Desprez, F.: Diet: a scalable toolbox to build network enabled servers on the grid. Int. J. High Perform. Comput. Appl. 20(3), 335–352 (2006)

    Article  Google Scholar 

  10. Chomsky, N.: Three models for the description of language. IEEE Trans. Inf. Theory 2(3), 113–124 (1956)

    Article  MATH  Google Scholar 

  11. Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification. EATCS Monographs in Theoretical Computer Science. An EATCS Series. Springer, Berlin (1985)

    Google Scholar 

  12. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamental theory for typed attributed graphs and graph transformation based on adhesive HLR categories. Fundam. Inform. 74(1), 31–61 (2006)

    MathSciNet  MATH  Google Scholar 

  13. Eichler, C., Gharbi, G., Guermouche, N., Monteil, T., Stolf, P.: Graph-based formalism for machine-to-machine self-managed communications. In: 22nd IEEE International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), pp. 74–79 (2013)

  14. Gacek, C., Lemos, R.: Architectural description of dependable software systems. In: Besnard, D., Gacek, C., Jones, C. (eds.) Structure for Dependability: Computer-Based Systems from an Interdisciplinary Perspective, pp. 127–142. Springer, London (2006)

    Chapter  Google Scholar 

  15. Garlan, D., Monroe, R.T., Wile, D.: Acme: architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)

    Google Scholar 

  16. Gössler, G., Graf, S., Majster-Cederbaum, M., Martens, M., Sifakis, J.: Ensuring properties of interaction systems by construction In: Reps, T., Sagiv, M., Bauer, J. (eds.) Program Analysis and Compilation, Theory and Practice, pp. 201–224. Springer, Berlin (2007)

  17. Hirsch, D., Montanari, U.: Consistent transformations for software architecture styles of distributed systems. Electron. Notes Theor. Comput. Sci. 28(0), 4–25 (2000)

    Article  MATH  Google Scholar 

  18. Hirsch, D., Inverardi, P., Montanari, U.: Modeling software architectures and styles with graph grammars and constraint solving. In: Donohoe, P. (ed.) Software Architecture, The International Federation for Information Processing, vol. 12, pp. 127–143. Springer, New York (1999)

    Google Scholar 

  19. Hoffmann, B.: Graph transformation with variables. In: Formal Methods in Software and System Modeling, vol. 3393 of Lecture Notes in Computer Science, Springer, pp. 101–115 (2005)

  20. IEEE: IEEE recommended practice for architectural description of software-intensive systems. IEEE Std 1471-2000, pp. 1–23 (2000)

  21. Kacem, M.H., Jmaiel, M., Kacem, A.H., Drira, K.: Evaluation and comparison of ADL based approaches for the description of dynamic of software architectures. In: 7th International Conference on Enterprise Information Systems (ICEIS), Miami, USA, pp. 189–195 (2005)

  22. Kandé, M.M., Strohmeier, A.: Towards a uml profile for software architecture descriptions. In: 3rd International Conference on the Unified Modeling Language: Advancing the Standard (UML). Springer, Berlin, Heidelberg, pp. 513–527 (2000)

  23. Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  24. Kleene, S.C.: On notation for ordinal number. J. Symb. Logic 3(4), 150–155 (1938)

    Article  MathSciNet  MATH  Google Scholar 

  25. Kleene, S.C.: Introduction to Metamathematics, Bibliotheca mathematica, vol. 1. North-Holland, Amsterdam (1952)

    MATH  Google Scholar 

  26. Le Métayer, D.: Describing software architecture styles using graph grammars. IEEE Trans. Softw. Eng. 24, 521–533 (1998)

    Article  Google Scholar 

  27. Loulou, I., Kacem, A.H., Jmaiel, M., Drira, K.: Towards a unified graph-based framework for dynamic component-based architectures description in Z. In: IEEE/ACS International Conference on Pervasive Services (ICPS). IEEE Computer Society, Los Alamitos, CA, USA, pp. 227–234 (2004)

  28. Lun, L., Chi, X.: Relationship between testing criteria for architecture configuration testing based on wright specification. In: International Conference on Computational Intelligence and Software Engineering (CiSE), pp. 1–4 (2010)

  29. Magee, J., Kramer, J.: Dynamic structure in software architectures. In: 4th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), pp. 3–14 (1996)

  30. Oquendo, F.: Pi-method: a model-driven formal method for architecture-centric software engineering. ACM SIGSOFT Softw. Eng. Notes 31, 1–13 (2006)

    Google Scholar 

  31. Parr, T., Fisher, K.: LL(*): the foundation of the ANTLR parser generator. SIGPLAN Not. 47(6), 425–436 (2011)

    Article  Google Scholar 

  32. Rodriguez, I.B., Drira, K., Chassot, C., Guennoun, K., Jmaiel, M.: A rule-driven approach for architectural self adaptation in collaborative activities using graph grammars. Int. J. Auton. Comput. 3, 226–245 (2010)

    Article  Google Scholar 

  33. Rong, M., Liu, C., Zhang, G.: Modeling aspect-oriented software architecture based on acme. In: 6th International Conference on Computer Science Education (ICCSE), pp. 1159–1164 (2011)

  34. Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Volume 1: Foundations, World Scientific, Singapore (1997).

  35. Saxena, P., Menezes, N., Cocchini, P., Kirkpatrick, D.A.: The scaling challenge: can correct-by-construction design help? In: International Symposium on Physical Design (ISPD), ACM, New York, NY, USA, pp. 51–58 (2003)

  36. Selonen, P., Xu, J.: Validating uml models against architectural profiles. SIGSOFT Softw. Eng. Notes 28, 58–67 (2003)

    Article  Google Scholar 

  37. Sharrock, R., Monteil, T., Stolf, P., Hagimont, D., Broto, L.: Non-intrusive autonomic approach with self-management policies applied to legacy infrastructures for performance improvements. Int. J. Adapt. Resil. Auton. Syst. 2(1), 58–76 (2011)

    Article  Google Scholar 

  38. Simalatsar, A., Guo, L., Bozga, M., Passerone, R.: Integration of correct-by-construction bip models into the Metroii design space exploration flow. In: 30th IEEE International Conference on Computer Design (ICCD), pp. 490–491 (2012)

  39. Tahar, B.M., Taoufik, S.R., Mourad, K.: Checking non-functional properties of UML2.0 components assembly. In: 22nd IEEE International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), pp. 278–283 (2013)

  40. Wermelinger, M., Fiadeiro, J.L.: A graph transformation approach to software architecture reconfiguration. Science of Computer Programming 44(2), 133–155. Special Issue on Applications of Graph Transformations (GRATRA 2000) (2002)

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Cédric Eichler.

Additional information

Communicated by Prof. Hong Mei.

Researches presented in this paper have been partially funded by the ANR in the context of SOP project ANR-11-INFR-001.

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Eichler, C., Monteil, T., Stolf, P. et al. Enhanced graph rewriting systems for complex software domains. Softw Syst Model 15, 685–705 (2016).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: