Abstract
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,
to check access.

















Notes
Distributed Interactive Engineering Toolbox.
Sources and further information are available at http://graal.ens-lyon.fr/DIET.
References
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)
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)
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)
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)
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)
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)
Borgetto, D., Casanova, H., Da Costa, G., Pierson, J.M.: Energy-aware service allocation. Future Gener. Comput. Syst. 28(5), 769–779 (2012)
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)
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)
Chomsky, N.: Three models for the description of language. IEEE Trans. Inf. Theory 2(3), 113–124 (1956)
Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification. EATCS Monographs in Theoretical Computer Science. An EATCS Series. Springer, Berlin (1985)
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)
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)
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)
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)
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)
Hirsch, D., Montanari, U.: Consistent transformations for software architecture styles of distributed systems. Electron. Notes Theor. Comput. Sci. 28(0), 4–25 (2000)
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)
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)
IEEE: IEEE recommended practice for architectural description of software-intensive systems. IEEE Std 1471-2000, pp. 1–23 (2000)
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)
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)
Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)
Kleene, S.C.: On notation for ordinal number. J. Symb. Logic 3(4), 150–155 (1938)
Kleene, S.C.: Introduction to Metamathematics, Bibliotheca mathematica, vol. 1. North-Holland, Amsterdam (1952)
Le Métayer, D.: Describing software architecture styles using graph grammars. IEEE Trans. Softw. Eng. 24, 521–533 (1998)
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)
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)
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)
Oquendo, F.: Pi-method: a model-driven formal method for architecture-centric software engineering. ACM SIGSOFT Softw. Eng. Notes 31, 1–13 (2006)
Parr, T., Fisher, K.: LL(*): the foundation of the ANTLR parser generator. SIGPLAN Not. 47(6), 425–436 (2011)
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)
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)
Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Volume 1: Foundations, World Scientific, Singapore (1997).
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)
Selonen, P., Xu, J.: Validating uml models against architectural profiles. SIGSOFT Softw. Eng. Notes 28, 58–67 (2003)
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)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
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
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). https://doi.org/10.1007/s10270-014-0433-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-014-0433-1