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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Baresi, L.: Formal customization of graphical notations. PhD thesis, Dipartimento di Elettronica e Informazione – Politecnico di Milano (1997) (in Italian)
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)
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)
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)
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)
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)
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)
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)
Garland, D.: Software architecture: a roadmap. In: The Future of Software Engineering, pp. 91–101. ACM Press, New York (2000)
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)
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)
Hoare, C.: Communicating sequential processes. Communicat. Associat. Comput. Mach. 21(8), 666–677 (1978)
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)
Kemmerer, R.A., Vigna, G.: Intrusion Detection. IEEE Computer (2002); Special publication on Security and Privacy
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Computer 36(1), 41–50 (2003)
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)
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)
Le Métayer, D.: Software architecture styles as graph grammars. In: Sigsoft, pp. 15–23. ACM Press, New York (1996)
McCamant, S., Ernst, M.: Predicting problems caused by component upgrades. In: Proceedings of ESEC/FSE 2003, pp. 287–296. ACM Press, New York (2003)
Mens, T., Van Eetvelde, N., Janssen, D., Demeyer, S.: Formalising refactorings with graph transformations. Journal of Software Maintenance and Evolution, 1001–1025 (2004)
Mens, T., Scürr, A., Taenzer, G.: Proceedings of the Workshop on Graph-Based Tools. ENTCS (2002)
OMG. Meta object facility (MOF) specification (September 1999)
OMG. Unified Modeling Language (UML), version 1.5. OMG Standard (2003)
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)
Pavlopoulou, C., Young, M.: Residual test coverage monitoring. In: International Conference on Software Engineering, pp. 277–284 (1999)
Pratt, T.W.: Pair grammars, graph languages and string-to-graph translations. Journal of Computer and System Sciences 5, 560–595 (1971)
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)
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)
W3C. SVG: Scalable Vector Graphics (SVG) version 1.2. W3C (May 2004), http://www.w3.org/TR/2004/WD-SVG12-20040510/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)