Efficient Detection of Conflicts in Graph-based Model Transformation

Using graph transformation as a formalism to specify model transformation, termination and confluence of the graph transformation system are often required properties. Only under these two conditions, existence and uniqueness of the outcoming model is ensured. Verifying confluence of a graph transformation system can be reduced to checking both local confluence and termination. A graph transformation system is locally confluent, if all its conflicts in a minimal context can be resolved. Formally, this means, that all critical pairs of the graph transformation system should be strictly confluent. Thus, answering the question of local confluence of a graph transformation system, requires the following two steps. At first the computation of all critical pairs is necessary. Secondly this set of critical pairs has to be tested for strict confluence. This paper concentrates on the first step, proposing an efficient method to compute the set of all critical pairs of a given graph transformation system. Efficiency is obtained because of the following two main reasons. At first all pairs of rules are analyzed to check if they can actually cause a conflict. Then for each conflict inducing pair of rules, the set of critical pairs is computed in a constructive way, avoiding needless computations. The overall goal of this paper is to encourage tool development and enhancement concerning the detection of conflicts in a graph transformation system. It should be an aid to translate the main theoretical results concerning confluence of a graph transformation system into practical methods for the analysis of model transformations specified with graph transformation.

[1]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

[2]  Gerard Huet,et al.  Conflunt reductions: Abstract properties and applications to term rewriting systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[3]  HuetGérard Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980 .

[4]  Juan de Lara,et al.  Automated Model Transformation and Its Validation Using AToM 3 and AGG , 2004, Diagrams.

[5]  Detlef Plump,et al.  Hypergraph rewriting: critical pairs and undecidability of confluence , 1993 .

[6]  Detlef Plump,et al.  Term graph rewriting , 1999 .

[7]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[8]  Hartmut Ehrig,et al.  Theory of Constraints and Application Conditions: From Graphs to High-Level Structures , 2004, Fundam. Informaticae.

[9]  Hartmut Ehrig,et al.  Fundamental Theory for Typed Attributed Graph Transformation , 2004, ICGT.

[10]  Hartmut Ehrig,et al.  Adhesive High-Level Replacement Categories and Systems , 2004, ICGT.

[11]  Dániel Varró,et al.  Termination Criteria for Model Transformation , 2005, Transformation Techniques in Software Engineering.

[12]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

[13]  Reiko Heckel,et al.  Graph Grammars with Negative Application Conditions , 1996, Fundam. Informaticae.