Synthesis of OCL Pre-conditions for Graph Transformation Rules

Graph transformation (GT) is being increasingly used in Model Driven Engineering (MDE) to describe in-place transformations like animations and refactorings. For its practical use, rules are often complemented with OCL application conditions. The advancement of rule post-conditions into pre-conditions is a well-known problem in GT, but current techniques do not consider OCL. In this paper we provide an approach to advance post-conditions with arbitrary OCL expressions into pre-conditions. This presents benefits for the practical use of GT in MDE, as it allows: (i) to automatically derive pre-conditions from the meta-model integrity constraints, ensuring rule correctness, (ii) to derive pre-conditions from graph constraints with OCL expressions and (iii) to check applicability of rule sequences with OCL conditions.

[1]  David W. Embley,et al.  Conceptual Modeling - ER 2006, 25th International Conference on Conceptual Modeling, Tucson, AZ, USA, November 6-9, 2006, Proceedings , 2006, ER.

[2]  Günter Kniesel,et al.  Static composition of refactorings , 2004, Sci. Comput. Program..

[3]  Amel Mammar,et al.  Systematic Identification of Preconditions from Set-Based Integrity Constraints , 2006, INFORSID.

[4]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[5]  Tony Clark,et al.  Object Modeling with the OCL , 2002, Lecture Notes in Computer Science.

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

[7]  Reiko Heckel,et al.  Ensuring consistency of conditional graph rewriting - a constructive approach , 1995, SEGRAGRA.

[8]  Martin Gogolla,et al.  Expressing UML Class Diagrams Properties with OCL , 2002, Object Modeling with the OCL.

[9]  Gabriele Taentzer,et al.  Translation of Restricted OCL Constraints into Graph Constraints for Generating Meta Model Instances by Graph Grammars , 2008, GT-VMT@ETAPS.

[10]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[11]  Annegret Habel,et al.  Nested Constraints and Application Conditions for High-Level Structures , 2005, Formal Methods in Software and Systems Modeling.

[12]  Cristina Gómez,et al.  Drawing Preconditions of Operation Contracts from Conceptual Schemas , 2008, CAiSE.

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

[14]  Ernest Teniente,et al.  Reasoning on UML Class Diagrams with OCL Constraints , 2006, ER.

[15]  Jordi Cabot,et al.  Incremental integrity checking of UML/OCL conceptual schemas , 2009, J. Syst. Softw..

[16]  Hans-Jörg Kreowski,et al.  Formal Methods in Software and Systems Modeling, Essays Dedicated to Hartmut Ehrig, on the Occasion of His 60th Birthday , 2005, Formal Methods in Software and Systems Modeling.

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

[18]  Jordi Cabot Sagrera,et al.  Verification of UML/OCL Class Diagrams Using Constraint Programming , 2008 .

[19]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[20]  W. Marsden I and J , 2012 .

[21]  Juan de Lara,et al.  A UML/OCL framework for the analysis of graph transformation rules , 2009, Software & Systems Modeling.