What are the possibilities of graph transformation? This paper revisits the double-pushout approach to graph transformation, comparing four variants that employ different combinations of matching and right-hand morphisms in rules. These include the traditional approach, injective matching, arbitrary right-hand morphisms, and a combination of injective matching with arbitrary right-hand morphisms. The study demonstrates that injective matching expands expressiveness, particularly for generating graph languages without non-terminals and computing graph functions using convergent graph transformation systems. It also clarifies the validity of key theorems—commutativity, parallelism, and concurrency—across the three variations and offers modified results when necessary. This investigation enhances our understanding of graph transformation techniques and their applications. By analyzing the expressiveness and properties of different approaches, the paper provides valuable insights for researchers and practitioners working in areas such as software engineering, database systems, and model-driven development.
Published in Mathematical Structures in Computer Science, this paper fits the journal's focus on theoretical foundations and mathematical tools relevant to computer science. By revisiting and extending the double-pushout approach to graph transformation, the study contributes to the mathematical understanding of graph-based formalisms used in various computer science applications.