Abstract
We give an introduction to graph transformation, not only for researchers in software engineering, but based on applications of graph transformation in this domain. In particular, we demonstrate the use of graph transformation to model object- and component-based systems and to specify syntax and semantics of diagram languages. Along the way we introduce the basic concepts, discuss different approaches, and mention relevant theory and tools.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
From UML to Java and Back Again: The Fujaba homepage. http://www.fujaba.de.
M. Andries, G. Engels, and J. Rekers. How to represent a visual specification. In K. Marriott and B. Meyer, editors, Visual Language Theory, pages 241–255. Springer-Verlag, 1997.
J.W. Backus. The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference. In International Conference on Information Processing, Paris, pages 125–131, 1959.
P. Baldan, A. Corradini, H. Ehrig, M. Löwe, U. Montanari, and F. Rossi. Concurrent semantics of algebraic graph transformation. In H.-J. Kreowski, U. Montanari, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 3: Concurrency and Distribution. World Scientific, 1999. Ehrig et al. [29], pages 107–188.
R. Bardohl and H. Ehrig. Conceptual model of the graphical editor GenGed for the visual definition of visual languages. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Proc. 6th Int. Workshop on Theory and Application of Graph Transformation (TAGT’98), Paderborn, November 1998, volume 1764 of LNCS. Springer-Verlag, 2000. Ehrig et al. [25], pages 252–266.
R. Bardohl, G. Taentzer, M. Minas, and A. Schürr. Application of graph transformation to visual languages. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 2: Applications, Languages, and Tools. World Scientific, 1999. Engels et al. [24], pages 105–180.
H. P. Barendregt, M. C. J. D. van Eekelen, J. R. W. Glauert, J. R. Kennaway, M. J. Plasmeier, and M. R. Sleep. Term graph rewriting. In PARLE, volume 259 of LNCS, pages 141–158. Springer-Verlag, 1987.
E. Barendsen and S. Smeters. Graph rewriting aspects of functional programming. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 2: Applications, Languages, and Tools. World Scientific, 1999. Engels et al. [24], pages 63–102.
L. Baresi. Formal customization of graphical notations. PhD thesis, Dipartimento di Elettronica e Informazione-Politecnico di Milano, 1997. In Italian.
M. Bauderon and H. Jacquet. Categorical product as a generic graph rewriting mechanism. Applied Categorical Structures, 9(1), 2001.
P. Bottoni, M. Koch, F. Parisi-Presicce, and G. Taentzer. A visualization of OCL using collaborations. In C. Kobryn, editors. Proc. UML 2001-Modeling Language, Concepts and Tools, Toronto, Kanada, LNCS. Springer-Verlag, 2001. Gogolla and Kobryn [43], pages 257–271.
P. Bottoni, A. Schürr, and G. Taentzer. Efficient Parsing of Visual Languages based on Critical Pair Analysis and Contextual Layered Graph Transformation. In Proc. IEEE Symposium on Visual Languages, September 2000. Long version available as technical report SI-2000-06, University of Rom.
G. Busatto, G. Engels, K. Mehner, and A. Wagner. A framework for adding packages to graph transformation approaches. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Proc. 6th Int. Workshop on Theory and Application of Graph Transformation (TAGT’98), Paderborn, November 1998, volume 1764 of LNCS. Springer-Verlag, 2000. Ehrig et al. [25], pages 352–367.
D. Coleman, P. Arnold, S. Bodof, C. Dollin, H. Gilchrist, F. Hayes, and P. Jeremes. Object Oriented Development, The Fusion Method. Prentice Hall, 1994.
A. Corradini and U. Montanari. Specification of Concurrent Systems: from Petri Nets to Graph Grammars. In Quality of Communication-Based Systems, pages 35–52. Kluwer Academic Publishers, 1995.
A. Corradini, U. Montanari, and F. Rossi. Graph processes. Fundamenta Informaticae, 26(3,4):241–266, 1996.
A. Corradini, U. Montanari, F. Rossi, H. Ehrig, R. Heckel, and M. Löwe. Algebraic approaches to graph transformation, Part I: Basic concepts and double pushout approach. In nberg [82] pages 163–245.
A. Corradini and F. Rossi. A new term graph rewriting formalism: Hyperedge replacement jungle rewriting. In Sleep M.R., Plasmeijer M.R., and M.C. van Eekelen, editors, Term Graph Rewriting: Theory and Practice, chapter 8, pages 101–116. John Wiley & Sons Ltd, 1993.
B. Courcelle. The monadic second-order logic of graphs I, recognizable sets of finite graphs. Information and Computation, 8521:12–75, 1990.
B. Courcelle. The expression of graph properties and graph transformations in monadic second-order logic. In Rozenberg [82].
F. Drewes, B. Hoffmann, and D. Plump. Hierarchical graph transformation. In J. Tiuryn, editor, Foundations of Software Science and Computation Structures (FoSSACS’00), Berlin, Germany, volume 1784 of LNCS. Springer-Verlag, March/April 2000.
F. Drewes, H.-J. Kreowski, and A. Habel. Hyperedge replacement graph grammars. In Rozenberg [82], pages 95–162.
D. D’Souza and A. Wills. Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, 1998.
H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 2: Applications, Languages, and Tools. World Scientific, 1999.
H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Proc. 6th Int. Workshop on Theory and Application of Graph Transformation (TAGT’98), Paderborn, November 1998, volume 1764 of LNCS. Springer-Verlag, 2000.
H. Ehrig and A. Habel. Graph grammars with application conditions. In G. Rozenberg and A. Salomaa, editors, The Book of L, pages 87–100. Springer-Verlag, 1985.
H. Ehrig, A. Habel, H.-J. Kreowski, and F. Parisi Presicce. Parallelism and concurrency in high-level replacement systems. Math. Struct. in Comp. Science, 1:361–404, 1991.
H. Ehrig, R. Heckel, M. Korff, M. Löwe, L. Ribeiro, A. Wagner, and A. Corradini. Algebraic approaches to graph transformation, Part II: Single pushout approach and comparison with double pushout approach. In Rozenberg [82], pages 247–312.
H. Ehrig, H.-J. Kreowski, U. Montanari, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 3: Concurrency and Distribution. World Scientific, 1999.
H. Ehrig and M. Löwe. Categorical principles, techniques and results for high-level replacement systems in computer science. Applied Categorical Structures, 1(1):21–50, 1993.
H. Ehrig, M. Pfender, and H.J. Schneider. Graph grammars: an algebraic approach. In 14th Annual IEEE Symposium on Switching and Automata Theory, pages 167–180. IEEE, 1973.
J. Engelfriet and G. Rozenberg. Node replacement graph grammars. In Rozenberg [82], pages 1–94.
G. Engels, R. Gall, M. Nagl, and W. Schäfer. Software specification using graph grammars. Computing, 31:317–346, 1983.
G. Engels, J.H. Hausmann, R. Heckel, and St. Sauer. Dynamic meta modeling: A graphical approach to the operational semantics of behavioral diagrams in UML. In A. Evans, S. Kent, and B. Selic, editors, Proc. UML 2000, York, UK, volume 1939 of LNCS, pages 323–337. Springer-Verlag, 2000.
G. Engels, R. Heckel, and J.M. Küster. Rule-based specification of behavioral consistency based on the UML meta model. In Gogolla and Kobryn [43].
G. Engels and A. Schürr. Hierarchical graphs, graph types and meta types. In Proc. of SEGRAGRA’95 ”Graph Rewriting and Computation”, volume 2 of Electronic Notes in TCS, 1995.
C. Ermel, M. Rudolf, and G. Taentzer. The AGG approach: Language and tool environment. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 2: Applications, Languages, and Tools. World Scientific, 1999. Engels et al. [24], pages 551–601.
A. Finkelstein, J. Kramer, B. Nuseibeh, M. Goedicke, and L. Finkelstein. Viewpoints: A framework for integrating multiple perspectives in system development. Int. Journal of Software Engineering and Knowledge Engineering, 2(1):31–58, March 1992.
T. Fischer, J. Niere, L. Torunski, and A. Zündorf. Story diagrams: A new graph transformation language based on UML and Java. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Proc. 6th Int. Workshop on Theory and Application of Graph Transformation (TAGT’98), Paderborn, November 1998, volume 1764 of LNCS. Springer-Verlag, 2000. Ehrig et al. [25].
P. Fradet, D. Le Métayer, and M. Périn. Consistency checking for multiple view software architectures. In Proc. Joint European Software Engineering Conference and Symp. on Foundations of Software Engineering, ESEC/FSE’99, volume 1687 of LNCS, pages 410–428, 1999.
C. Ghezzi, M. Jazayeri, and D. Mandrioli. Fundamentals of Software Engineering. Prentice Hall Int., 1991.
M. Goedicke. Paradigms of modular software development. In R. J. Mitchell, editor, Managing Complexity in Software Engineering, volume 17 of IEE Computing Series. Peter Peregrinus, 1990.
M. Gogolla and C. Kobryn, editors. Proc. UML 2001-Modeling Language, Concepts and Tools, Toronto, Kanada, LNCS. Springer-Verlag, 2001.
M. Große-Rhode, F. Parisi-Presicce, and M. Simeoni. Refinement of graph transformation systems via rule expressions. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Proc. 6th Int. Workshop on Theory and Application of Graph Transformation (TAGT’98), Paderborn, November 1998, volume 1764 of LNCS. Springer-Verlag, 2000. Ehrig et al. [25], pages 368–382.
A. Habel, R. Heckel, and G. Taentzer. Graph grammars with negative application conditions. Fundamenta Informaticae, 26(3,4):287–313, 1996.
D. Harel and A. Naamad. The STATEMATE Semantics of Statecharts. ACM Transactions on Software Engineering and Methodology, 5(4):293–333, oct 1996.
J.H. Hausmann, R. Heckel, and G. Taentzer. Detecting conflicting functional requirements in a use case driven approach: A static analysis technique based on graph transformation. In Proc. Int. Conference on Software Engineering (ICSE’2002), Orlando, FL, May 2002. ACM/IEEE Computer Society.
R. Heckel, A. Corradini, H. Ehrig, and M. Löwe. Horizontal and vertical structuring of typed graph transformation systems. Math. Struc. in Comp. Science, 6(6):613–648, 1996.
R. Heckel, J. Küster, and G. Taentzer. Confluence of typed attributed graph transformation systems. In A. Corradini and H.-J. Kreowski, editors, Proc. 1st Int. Conference on Graph Transformation (ICGT 02), Barcelona, Spain, LNCS. Springer-Verlag, October 2002. To appear.
R. Heckel and St. Sauer. Strengthening UML collaboration diagrams by state transformations. In H. Hußmann, editor, Proc. Fundamental Approaches to Software Engineering (FASE’2001), Genova, Italy, volume 2185 of LNCS. Springer-Verlag, April 2001.
R. Heckel and A. Wagner. Ensuring consistency of conditional graph grammars-a constructive approach. In Proc. of SEGRAGRA’ 95 “Graph Rewriting and Computation”, volume 2 of Electronic Notes in TCS, 1995.
D. Hirsch, P. Inverardi, and U. Montanari. Modeling software architectures and styles with graph grammars and constraint solving. In Proceedings of the First Working IFIP Conference on Software Architecture, San Antonio, Texas, E.E.U.U., February 1999.
D. Hirsch and M. Montanari. Synchronized hyperedge replacement with name mobility. In Proc. CONCUR 2001, Aarhus, Denmark, volume 2154 of LNCS, pages 121–136. Springer-Verlag, August 2001.
C. Hoare. Communicating sequential processes. Communicat. Associat. Comput. Mach., 21(8):666–677, 1978.
B. Hoffmann and M. Minas. A generic model for diagram syntax and semantics. In Proc. ICALP2000 Workshop on Graph Transformation and Visual Modelling Techniques, Geneva, Switzerland. Carleton Scientific, 2000.
D. Janssens. Actor grammars and local actions. In H.-J. Kreowski, U. Montanari, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 3: Concurrency and Distribution. World Scientific, 1999. Ehrig et al. [29], pages 57–106.
D. Janssens and G. Rozenberg. On the structure of node-label controlled graph grammars. Information Science, 20:191–216, 1980.
A. Kent and D. Akehurst. A relational approach to defining transformations in a metamodel. In Proc. UML 2002, Dresden, Germany, LNCS. Springer-Verlag, 2002. To appear.
H.J. Köhler, U. Nickel, J. Niere, and A. Zündorf. Integrating UML diagrams for production control systems. In Proc. of the 22th International Conference on Software Engineering (ICSE), Limerick, Irland. ACM Press, 2000.
J. Kramer and J. Magee. Distributed software architectures. In Proceedings of the 19th International Conference on Software Engineering (ICSE’ 97), pages 633–634. Springer-Verlag, May 1997.
H.-J. Kreowski and S. Kuske. On the interleaving semantics of transformation units-a step into GRACE. In 5th Int. Workshop on Graph Grammars and their Application to Computer Science, Williamsburg’ 94, LNCS 1073, pages 89–106. Springer-Verlag, 1996.
S. Kuske. A formal semantics of UML state machines based on structured graph transformation. In C. Kobryn, editors. Proc. UML 2001-Modeling Language, Concepts and Tools, Toronto, Kanada, LNCS. Springer-Verlag, 2001. Gogolla and Kobryn [43].
Le Métayer, D. Software architecture styles as graph grammars. In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, volume 216 of ACM Software Engineering Notes, pages 15–23, New York, October 16–18 1996. ACM Press.
M. Löwe. Algebraic approach to single-pushout graph transformation. Theoret. Comput. Sci., 109:181–224, 1993.
M. Löwe, M. Korff, and A. Wagner. An algebraic framework for the transformation of attributed graphs. In M. R. Sleep, M. J. Plasmeijer, and M.C. van Eekelen, editors, Term Graph Rewriting: Theory and Practice, chapter 14, pages 185–199. John Wiley & Sons Ltd, 1993.
K. Marriott, B. Meyer, and K.B. Wittenburg. A survey of visual language specification and recognition. In B. Meyer K. Marriott, editor, Visual Language Theory, chapter 2, pages 5–85. Springer-Verlag, 1998.
R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
R. Milner. Bigraphical reactive systems. In Kim Guldstrand Larsen and Mogens Nielsen, editors, Proc. 12th Intl. Conference on Concurrency Theory (CONCUR 2002), Aalborg, Denmark, volume 2154 of LNCS, pages 16–35. Springer-Verlag, August 2001.
M. Minas. Hypergraphs as a uniform diagram representation model. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Proc. 6th Int. Workshop on Theory and Application of Graph Transformation (TAGT’98), Paderborn, November 1998, volume 1764 of LNCS. Springer-Verlag, 2000. Ehrig et al. [25], pages 281–295.
U. Montanari. Separable graphs, planar graphs and web grammars. Information and Control 16, pages 243–267, 1970.
U. Montanari, M. Pistore, and F. Rossi. Modeling concurrent, mobile, and coordinated systems via graph transformation. In H.-J. Kreowski, U. Montanari, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 3: Concurrency and Distribution. World Scientific, 1999. Ehrig et al. [29], pages 189–268.
M. Nagl. Graph-Grammatiken: Theorie, Implementierung, Anwendungen. Vieweg, 1979.
M. Nagl, editor. Building Tightly Integrated Software Development Environments: The IPSEN Approach, LNCS 1170. Springer-Verlag, 1996.
Object Management Group. Meta object facility (MOF) specification, September 1999. http://www.omg.org.
Object Management Group. UML specification version 1.4, 2001. http://www.celigent.com/omg/umlrtf/.
J. L. Pfaltz and A. Rosenfeld. Web grammars. Int. Joint Conference on Artificial Intelligence, pages 609–619, 1969.
G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, Computer Science Department, 1981.
D. Plump. Term graph rewriting. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 2: Applications, Languages, and Tools. World Scientific, 1999. Engels et al. [24], pages 3–62.
T. W. Pratt. Pair grammars, graph languages and string-to-graph translations. Journal of Computer and System Sciences, 5:560–595, 1971.
T.W. Pratt. Definition of programming language semantics using grammars for hierarchical graphs. In H. Ehrig, V. Claus, and G. Rozenberg, editors, 1st Int. Workshop on Graph Grammars and their Application to Computer Science and Biology, LNCS 73, volume 73 of LNCS. Springer-Verlag, 1979.
J. Rekers and A. Schürr. Defining and parsing visual languages with layered graph grammars. Journal of Visual Languages and Computing, 8(1):27–55, 1997.
G. Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 1: Foundations. World Scientific, 1997.
H.-J. Schneider. Chomsky-Systeme für partielle Ordnungen. Technical Report 3-3, Universität Erlangen, 1970.
A. Schürr. Specification of graph translators with triple graph grammars. In Tinhofer, editor, Proc. WG’94 Int. Workshop on Graph-Theoretic Concepts in Computer Science, number 903 in LNCS, pages 151–163. Springer-Verlag, 1994.
A. Schürr. Logic based programmed structure rewriting systems. Fundamenta Informaticae, 26(3,4):363–386, 1996.
A. Schürr. Programmed graph replacement systems. In Rozenberg [82], pages 479–546.
A. Schürr, A.J. Winter, and A. Zündorf. The PROGRES approach: Language and environment. In G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 2: Applications, Languages, and Tools. World Scientific, 1999. Engels et al. [24], pages 487–550.
D. Scott and C. Strachey. Towards a mathematical semantics for computer languages. In Computers and Automata, pages 19–46. Wiley, 1971.
M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
S. H. von Solms. Node-label controlled graph grammars with context conditions. Intern. J. Computer Math 15, pages 39–49, 1984.
G. Taentzer. Parallel and Distributed Graph Transformation: Formal Description and Application to Communication-Based Systems. PhD thesis, TU Berlin, 1996. Shaker Verlag.
G. Taentzer, I. Fischer, M. Koch, and V. Volle. Distributed graph transformation with application to visual design of distributed systems. In H.-J. Kreowski, U. Montanari, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 3: Concurrency and Distribution. World Scientific, 1999. Ehrig et al. [29].
G. Taentzer, M. Goedicke, and T. Meyer. Dynamic change manegement by distributed graph transformation: Towards configurable distributed systems. In Proceedings TAGT’98, volume 1764 of LNCS, pages 179–193. Springer-Verlag, 2000.
M. von der Beek. A comparison of Statecharts variants. In Formal Techniques in Real-Time and Fault-Tolerant Systems. Springer LNCS 863, 1994.
C.P. Wadsworth. Semantics and Pragmatics of the Lambda Calculus. PhD thesis, University of Oxford, 1971.
M. Wermelinger and J.L. Fiadero. A graph transformation approach to software architecture reconfiguration. In H. Ehrig and G. Taentzer, editors, Joint APPLIGRAPH/GETGRATS Workshop on Graph Transformation Systems (GraTra’2000), Berlin, Germany, March 2000. http://tfs.cs.tu-berlin.de/gratra2000/.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Baresi, L., Heckel, R. (2002). Tutorial Introduction to Graph Transformation: A Software Engineering Perspective. In: Corradini, A., Ehrig, H., Kreowski, H.J., Rozenberg, G. (eds) Graph Transformation. ICGT 2002. Lecture Notes in Computer Science, vol 2505. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45832-8_30
Download citation
DOI: https://doi.org/10.1007/3-540-45832-8_30
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44310-0
Online ISBN: 978-3-540-45832-6
eBook Packages: Springer Book Archive