Skip to main content

Graph-Based Design and Analysis of Dynamic Software Architectures

  • Chapter
Book cover Concurrency, Graphs and Models

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5065))

Abstract

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.

Research partially supported by the EU within the FETPI Global Computing, project IST-2005-016004 SENSORIA (Software Engineering for Service-Oriented Overlay Computers) and by the Italian FIRB Project Tocai.it.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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)

    Article  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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. 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. 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. 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. Bucchiarone, A., Galeotti, J.P.: Dynamic software architectures verification using DynAlloy. In: Proceedings of GT-VMT 2008 (to appear, 2008)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    MATH  Google Scholar 

  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. 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. Degano, P., Montanari, U.: Concurrent histories: A basis for observing distributed systems. J. Comput. Syst. Sci. 34(2/3), 422–461 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  17. Degano, P., Montanari, U.: A model for distributed systems based on graph rewriting. J. ACM 34(2), 411–449 (1987)

    Article  MathSciNet  Google Scholar 

  18. Dynamic Software Architectures for Global Computing Systems, http://fmt.isti.cnr/~antonio

  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. Endler, M.: A language for implementing generic dynamic reconfigurations of distributed programs. In: Proceedings of BSCN 1994, pp. 175–187 (1994)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Gadducci, F., Montanari, U.: Comparing logics for rewriting: rewriting logic, action calculi and tile logic. Theor. Comput. Sci. 285(2), 319–358 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  24. Habel, A.: Hyperedge Replacement: Grammars and Languages. Springer-Verlag New York, Inc., Secaucus, NJ, USA (1992)

    Google Scholar 

  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. Hirsch, D., Montanari, U.: Shaped hierarchical architectural design. Electronic Notes on Theoretical Computer Science 109, 97–109 (2004)

    Article  Google Scholar 

  27. Jackson, D.: Software Abstractions: Logic, Language and Analysis. MIT Press, Cambridge (2006)

    Google Scholar 

  28. Java/A, http://www.pst.ifi.lmu.de/Research/current-projects/java-a/

  29. Jensen, O.H., Milner, R.: Bigraphs and mobile processes. Technical Report 570, Computer Laboratory, University of Cambridge (2003)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  32. Kim, J.S., Garlan, D.: Analyzing architectural styles with Alloy. In: Proceedings of ROSATEA 2006, pp. 70–80. ACM Press, New York (2006)

    Chapter  Google Scholar 

  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), http://www.dagstuhl.de/04241/

  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)

    Article  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  36. Meseguer, J., Rosu, G.: The rewriting logic semantics project. TCS 373(3), 213–237 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  37. Métayer, D.L.: Describing software architecture styles using graph grammars. IEEE Trans. Software Eng. 24(7), 521–533 (1998)

    Article  Google Scholar 

  38. Sensoria Project, http://sensoria.fast.de/

  39. Shaw, M., Garlan, D.: Software Architectures: Perspectives on an emerging discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Pierpaolo Degano Rocco De Nicola José Meseguer

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bruni, R., Bucchiarone, A., Gnesi, S., Hirsch, D., Lluch Lafuente, A. (2008). Graph-Based Design and Analysis of Dynamic Software Architectures. In: Degano, P., De Nicola, R., Meseguer, J. (eds) Concurrency, Graphs and Models. Lecture Notes in Computer Science, vol 5065. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68679-8_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-68679-8_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-68676-7

  • Online ISBN: 978-3-540-68679-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics