Skip to main content

From Graph Transformation to Software Engineering and Back

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3393))

Abstract

Software engineers usually represent problems and solutions using graph-based notations at different levels of abstractions. These notations are often semi-formal, but the use of graph transformation techniques can support reasoning about graphs in many ways, and thus can largely enhance them.

Recent work indicates many applications of graph transformation to software engineering and opens new research directions. This paper aims primarily at illustrating how graph transformation can help software engineers, but it also discusses how software engineering can ameliorate the practical application of graph transformation technology and its supporting tools.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andries, M., Engels, G., Rekers, J.: How to represent a visual specification. In: Marriott, K., Meyer, B. (eds.) Visual Language Theory, pp. 241–255. Springer, Heidelberg (1997)

    Google Scholar 

  2. Baresi, L.: Formal customization of graphical notations. PhD thesis, Dipartimento di Elettronica e Informazione – Politecnico di Milano (1997) (in Italian)

    Google Scholar 

  3. Baresi, L., Heckel, R., Thone, S., Varro, D.: Modeling and validation of serviceoriented architectures: application vs. style. In: Proceedings of the 9th European software engineering conference held jointly with 10th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 68–77. ACM Press, New York (2003)

    Google Scholar 

  4. Baresi, L., Orso, A., Pezzè, M.: Introducing formal methods in industrial practice. In: Proceedings of the 20th International Conference on Software Engineering, pp. 56–66. ACM Press, New York (1997)

    Google Scholar 

  5. Baresi, L., Heckel, R.: Tutorial introduction to graph transformation: A software engineering perspective. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 402–429. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  6. Clarke, E., Wing, J., Alur, R., Cleaveland, R., Dill, D., Emerson, A., Garland, S., German, S., Guttag, J., Hall, A., Henzinger, T., Holzmann, G., Jones, C., Kurshan, R., Leveson, N., McMillan, K., Moore, J., Peled, D., Pnueli, A., Rushby, J., Shankar, N., Sifakis, J., Sistla, P., Steffen, B., Wolper, P., Woodcock, J., Zave, P.: Formal methods: State of the art and future directions. ACM Computing Surveys 28(4), 626–643 (1996)

    Article  Google Scholar 

  7. Corradini, A., Dotti, F., Ribeiro, L.: A graph transformation view on the specification of applications using mobile code. In: Proceedings of the International Symposium on Graph Transformation and Visual Modeling Techniques (GT-VMT). Electronic Notes in Computer Science, vol. 50 (3) (2001)

    Google Scholar 

  8. Engels, G., Hausmann, J.H., Heckel, R., Sauer, S.: Dynamic meta modeling: A graphical approach to the operational semantics of behavioral diagrams in UML. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 323–337. Springer, Heidelberg (2000)

    Google Scholar 

  9. Garlan, D., Schmerl, B.: Model-based adaptation for self-healing systems. In: Proceedings of the first workshop on Self-healing systems, pp. 27–32. ACM Press, New York (2002)

    Chapter  Google Scholar 

  10. Garland, D.: Software architecture: a roadmap. In: The Future of Software Engineering, pp. 91–101. ACM Press, New York (2000)

    Google Scholar 

  11. Hausmann, J., Heckel, R., Taentzer, G.: Detecting conflicting functional requirements in a use case driven approach: A static analysis technique based on graph transformation. In: Proceedings of the International Conference on Software Engineering (ICSE 2002), May 2002, pp. 105–155. ACM Press, New York (2002)

    Chapter  Google Scholar 

  12. Hirsch, D., Inverardi, P., Montanari, U.: Graph grammars and constraint solving for software architecture styles. In: ISAW 1998: Proceedings of the Third International Workshop on Software Architecture, pp. 69–72 (1998)

    Google Scholar 

  13. Hoare, C.: Communicating sequential processes. Communicat. Associat. Comput. Mach. 21(8), 666–677 (1978)

    MATH  MathSciNet  Google Scholar 

  14. Hoffmann, B., Minas, M.: A generic model for diagram syntax and semantics. In: Proc. ICALP 2000 Workshop on Graph Transformation and Visual Modelling Techniques, Geneva, Switzerland. Carleton Scientific (2000)

    Google Scholar 

  15. Kemmerer, R.A., Vigna, G.: Intrusion Detection. IEEE Computer (2002); Special publication on Security and Privacy

    Google Scholar 

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

    Google Scholar 

  17. Koch, M., Mancini, L.V., Parisi-Presicce, F.: A graph based formalism for RBAC. ACM Transactions on Information and System Security (TISSEC) 5(3), 332–365 (2002)

    Article  Google Scholar 

  18. Kuske, S.: A formal semantics of UML state machines based on structured graph transformation. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, p. 241. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  19. Le Métayer, D.: Software architecture styles as graph grammars. In: Sigsoft, pp. 15–23. ACM Press, New York (1996)

    Chapter  Google Scholar 

  20. McCamant, S., Ernst, M.: Predicting problems caused by component upgrades. In: Proceedings of ESEC/FSE 2003, pp. 287–296. ACM Press, New York (2003)

    Chapter  Google Scholar 

  21. Mens, T., Van Eetvelde, N., Janssen, D., Demeyer, S.: Formalising refactorings with graph transformations. Journal of Software Maintenance and Evolution, 1001–1025 (2004)

    Google Scholar 

  22. Mens, T., Scürr, A., Taenzer, G.: Proceedings of the Workshop on Graph-Based Tools. ENTCS (2002)

    Google Scholar 

  23. OMG. Meta object facility (MOF) specification (September 1999)

    Google Scholar 

  24. OMG. Unified Modeling Language (UML), version 1.5. OMG Standard (2003)

    Google Scholar 

  25. Orso, A., Liang, D., Harrold, M., Lipton, R.: Gamma system: continuous evolution of software after deployment. In: Proceedings of the international symposium on Software testing and analysis, Roma, Italy, pp. 65–69. ACM Press, New York (2002)

    Chapter  Google Scholar 

  26. Pavlopoulou, C., Young, M.: Residual test coverage monitoring. In: International Conference on Software Engineering, pp. 277–284 (1999)

    Google Scholar 

  27. Pratt, T.W.: Pair grammars, graph languages and string-to-graph translations. Journal of Computer and System Sciences 5, 560–595 (1971)

    Article  MATH  MathSciNet  Google Scholar 

  28. Schürr, A. : Specification of graph translators with triple graph grammars. In: Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science, LNCS, vol. 904, p. 228–253. Springer, Heidelberg (1994)

    Google Scholar 

  29. Varró, D.: Towards symbolic analysis of visual modelling languages. In: Bottoni, P., Minas, M. (eds.) Proc. GT-VMT 2002: International Workshop on Graph Transformation and Visual Modelling Techniques, Barcelona, Spain, October 11-12. ENTCS, vol. 72, pp. 57–70. Elsevier, Amsterdam (2002)

    Google Scholar 

  30. W3C. SVG: Scalable Vector Graphics (SVG) version 1.2. W3C (May 2004), http://www.w3.org/TR/2004/WD-SVG12-20040510/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Baresi, L., Pezzè, M. (2005). From Graph Transformation to Software Engineering and Back. In: Kreowski, HJ., Montanari, U., Orejas, F., Rozenberg, G., Taentzer, G. (eds) Formal Methods in Software and Systems Modeling. Lecture Notes in Computer Science, vol 3393. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31847-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31847-7_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-24936-8

  • Online ISBN: 978-3-540-31847-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics