Preserving constraints in horizontal model transformations

Graph rewriting is gaining credibility in the model transformation field, and tools are increasingly used to specify transformation activities. However, their use is often limited by special features of graph transformation approaches, which might not be familiar to experts in the modeling domain. On the other hand, trans- formations for specific domains may require special constraints to be enforced on transformation results. Preserving such constraints by manual definition of graph transformations can be a cumbersome and error-prone activity. We explore the prob- lem of ensuring that possible violations of constraints following a transformation are repaired in a way coherent with the intended meaning of the transformation. In par- ticular, we consider the use of transformation units within the DPO approach for intra-model transformations, where the modeling language is expressed via a type graph and graph conditions. We derive additional rules in a unit from a declarative rule expressing the principal objective of the transformation, so that the constraints set by the type graph and the graph conditions hold after the application of the unit. The approach is illustrated with reference to a diagrammatic reasoning system.

[1]  Arend Rensink,et al.  Repotting the Geraniums: On Nested Graph Transformation Rules , 2009, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[2]  Arend Rensink,et al.  Representing First-Order Logic Using Graphs , 2004, ICGT.

[3]  Paolo Bottoni,et al.  Constraining Concrete Syntax via Metamodel Information , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[4]  Hartmut Ehrig,et al.  A Logic of Graph Constraints , 2008, FASE.

[5]  Stuart Kent,et al.  Spider Diagrams: A Diagrammatic Reasoning System , 2001, J. Vis. Lang. Comput..

[6]  Annegret Habel,et al.  Correctness of high-level transformation systems relative to nested conditions† , 2009, Mathematical Structures in Computer Science.

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

[8]  Andy Schürr,et al.  Integrity Constraints in the Multi-paradigm Language PROGRES , 1998, TAGT.

[9]  Gabriele Taentzer,et al.  ViewPoint-oriented software development by distributed graph transformation: towards a basis for living with inconsistencies , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[10]  Gabriele Taentzer,et al.  Generating Instance Models from Meta Models , 2006, FMOODS.

[11]  Reiko Heckel,et al.  Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation , 2002, ICSE '02.

[12]  Gabriele Taentzer,et al.  Generating instance models from meta models , 2006, Software & Systems Modeling.

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

[14]  Juan de Lara,et al.  Enforced generative patterns for the specification of the syntax and semantics of visual languages , 2008, J. Vis. Lang. Comput..

[15]  Hans-Jörg Kreowski,et al.  Nested Graph Transformation Units , 1997, Int. J. Softw. Eng. Knowl. Eng..

[16]  Karl-Heinz Pennemann,et al.  Development of Correct Graph Transformation Systems , 2008, ICGT.

[17]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.