Graph-Based Design and Analysis of Dynamic Software Architectures

  • Roberto Bruni
  • Antonio Bucchiarone
  • Stefania Gnesi
  • Dan Hirsch
  • Alberto Lluch Lafuente
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5065)


We illustrate two ways to address the specification, modelling and analysis of dynamic software architectures using: i) ordinary typed graph transformation techniques implemented in Alloy; ii) a process algebraic presentation of graph transformation implemented in Maude. The two approaches are compared by showing how different aspects can be tackled, including representation issues, modelling phases, property specification and analysis.


Software Architecture Graph Transformation Graph Grammar Alloy Analyzer Design Term 
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.
    Aguirre, N., Maibaum, T.S.E.: Hierarchical temporal specifications of dynamically reconfigurable component based systems. Electr. Notes Theor. Comput. Sci. 108, 69–81 (2004)CrossRefGoogle Scholar
  2. 2.
    Garlan, D., Allen, R.B., Douence, R.: Specifying and analyzing dynamic software architectures. In: Astesiano, E. (ed.) FASE 1998. LNCS, vol. 1382, Springer, Heidelberg (1998)Google Scholar
  3. 3.
    Baresi, L., Heckel, R., Thöne, S., Varró, D.: Style-based refinement of dynamic software architectures. In: Proceedings of WICSA 2004, pp. 155–166. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  4. 4.
    Baresi, L., Spoletini, P.: On the use of Alloy to analyze graph transformation systems. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 306–320. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Bruni, R., Bucchiarone, A., Gnesi, S., Melgratti, H.: Modelling dynamic software architectures using typed graph grammars. In: Proceedings of GTVC 2007. ENTCS, Elsevier, Amsterdam (to appear)Google Scholar
  6. 6.
    Bruni, R., Lluch Lafuente, A., Montanari, U.: Hierarchical design rewriting with Maude. In: Proceedings of WRLA 2008, Elsevier, Amsterdam (to appear, 2008)Google Scholar
  7. 7.
    Bruni, R., Lluch Lafuente, A., Montanari, U., Tuosto, E.: Service oriented architectural design. In: TGC 2007. LNCS, vol. 4912, pp. 186–203. Springer, Heidelberg (2007)Google Scholar
  8. 8.
    Bruni, R., Lluch Lafuente, A., Montanari, U., Tuosto, E.: Style based reconfigurations of software architectures. Technical Report TR-07-17, Dipartimento di Informatica, Università di Pisa (2007)Google Scholar
  9. 9.
    Bucchiarone, A., Galeotti, J.P.: Dynamic software architectures verification using DynAlloy. In: Proceedings of GT-VMT 2008 (to appear, 2008)Google Scholar
  10. 10.
    Canal, C., Pimentel, E., Troya, J.M.: Specification and refinement of dynamic software architectures. In: Proceedings of WICSA 1999. IFIP Conference Proceedings, vol. 140, pp. 107–126. Kluwer, Dordrecht (1999)Google Scholar
  11. 11.
    Cardelli, L., Gardner, P., Ghelli, G.: A spatial logic for querying graphs. In: Widmayer, P., Triguero, F., Morales, R., Hennessy, M., Eidenbenz, S., Conejo, R. (eds.) ICALP 2002. LNCS, vol. 2380, pp. 597–610. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Castellani, I., Montanari, U.: Graph grammars for distributed systems. In: Ehrig, H., Nagl, M., Rozenberg, G. (eds.) Graph Grammars 1982. LNCS, vol. 153, pp. 20–38. Springer, Heidelberg (1983)CrossRefGoogle Scholar
  13. 13.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)zbMATHGoogle Scholar
  14. 14.
    Clements, P., Garlan, D., Bass, L., Stafford, J., Nord, R., Ivers, J., Little, R.: Documenting Software Architectures: Views and Beyond. Pearson Education, London (2002)Google Scholar
  15. 15.
    Courcelle, B.: The expression of graph properties and graph transformations in monadic second-order logic. In: Handbook of Graph Grammars and Computing by Graph Transformation, pp. 313–400. World Scientific, Singapore (1997)Google Scholar
  16. 16.
    Degano, P., Montanari, U.: Concurrent histories: A basis for observing distributed systems. J. Comput. Syst. Sci. 34(2/3), 422–461 (1987)CrossRefMathSciNetzbMATHGoogle Scholar
  17. 17.
    Degano, P., Montanari, U.: A model for distributed systems based on graph rewriting. J. ACM 34(2), 411–449 (1987)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Dynamic Software Architectures for Global Computing Systems, http://fmt.isti.cnr/~antonio
  19. 19.
    Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A., Corradini, A.: Algebraic approaches to graph transformation - Part II: Single pushout approach and comparison with double pushout approach. In: Handbook of Graph Grammars, pp. 247–312. World Scientific, Singapore (1997)Google Scholar
  20. 20.
    Endler, M.: A language for implementing generic dynamic reconfigurations of distributed programs. In: Proceedings of BSCN 1994, pp. 175–187 (1994)Google Scholar
  21. 21.
    Ferrari, G.L., Hirsch, D., Lanese, I., Montanari, U., Tuosto, E.: Synchronised hyperedge replacement as a model for service oriented computing. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 22–43. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  22. 22.
    Frias, M., Galeotti, J., Pombo, C.L., Aguirre, N.: DynAlloy: Upgrading Alloy with actions. In: ICSE 2005, pp. 442–450. ACM Press, New York (2005)Google Scholar
  23. 23.
    Gadducci, F., Montanari, U.: Comparing logics for rewriting: rewriting logic, action calculi and tile logic. Theor. Comput. Sci. 285(2), 319–358 (2002)CrossRefMathSciNetzbMATHGoogle Scholar
  24. 24.
    Habel, A.: Hyperedge Replacement: Grammars and Languages. Springer-Verlag New York, Inc., Secaucus, NJ, USA (1992)Google Scholar
  25. 25.
    Hirsch, D., Inverardi, P., Montanari, U.: Modeling software architectures and styles with graph grammars and constraint solving. In: WICSA 1999. IFIP Conference Proceedings, vol. 140, Kluwer Academic Publishers, Dordrecht (1999)Google Scholar
  26. 26.
    Hirsch, D., Montanari, U.: Shaped hierarchical architectural design. Electronic Notes on Theoretical Computer Science 109, 97–109 (2004)CrossRefGoogle Scholar
  27. 27.
    Jackson, D.: Software Abstractions: Logic, Language and Analysis. MIT Press, Cambridge (2006)Google Scholar
  28. 28.
  29. 29.
    Jensen, O.H., Milner, R.: Bigraphs and mobile processes. Technical Report 570, Computer Laboratory, University of Cambridge (2003)Google Scholar
  30. 30.
    Jerad, C., Barkaoui, K., Grissa-Touzi, A.: Hierarchical verification in Maude of LfP software architectures. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 156–170. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  31. 31.
    Kacem, M.H., Kacem, A.H., Jmaiel, M., Drira, K.: Describing dynamic software architectures using an extended UML model. In: Proceedings of SAC 2006, pp. 1245–1249. ACM, New York (2006)CrossRefGoogle Scholar
  32. 32.
    Kim, J.S., Garlan, D.: Analyzing architectural styles with Alloy. In: Proceedings of ROSATEA 2006, pp. 70–80. ACM Press, New York (2006)CrossRefGoogle Scholar
  33. 33.
    König, B., Montanari, U., Gardner, P. (eds.): Graph Transformations and Process Algebras for Modeling Distributed and Mobile Systems, IBFI, Schloss Dagstuhl, Germany, June 6-11, 2004. Dagstuhl Seminar Proceedings, vol. 04241 (2004),
  34. 34.
    Martí-Oliet, N., Pita, I., Fiadeiro, J.L., Meseguer, J., Maibaum, T.S.E.: A verification logic for rewriting logic. J. Log. Comput. 15(3), 317–352 (2005)CrossRefzbMATHGoogle Scholar
  35. 35.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  36. 36.
    Meseguer, J., Rosu, G.: The rewriting logic semantics project. TCS 373(3), 213–237 (2007)CrossRefMathSciNetzbMATHGoogle Scholar
  37. 37.
    Métayer, D.L.: Describing software architecture styles using graph grammars. IEEE Trans. Software Eng. 24(7), 521–533 (1998)CrossRefGoogle Scholar
  38. 38.
    Sensoria Project,
  39. 39.
    Shaw, M., Garlan, D.: Software Architectures: Perspectives on an emerging discipline. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Roberto Bruni
    • 1
  • Antonio Bucchiarone
    • 2
    • 3
  • Stefania Gnesi
    • 3
  • Dan Hirsch
    • 4
  • Alberto Lluch Lafuente
    • 1
  1. 1.Department of Computer ScienceUniversity of PisaItaly
  2. 2.IMT Alti Studi LuccaItaly
  3. 3.ISTI-CNRPisaItaly
  4. 4.Argentina Software Development Center (Intel)Argentina

Personalised recommendations