Description and Proof of Property Preservation of Model Transformations

Model transformations are heavily used in model evolution, refinement and refactorings. Model transformations are carried out against certain constraints to preserve certain properties of the models. During model evolution, model transformations should preserve system interfaces; during model refactoring, model transformations should preserve system behaviors. In order to prove that a software transformation satisfies transformation constraints, constraints should be formalized first. And in order to automate the proof, the process of the proof should be universal to be supported by algorithms. This paper proposes an approach for formalizing transformation constraints with graph productions. With the formalized constraints and software transformation rules, an algorithm is also proposed based on critical pair analyzing technologies to automatically prove whether a transformation rule satisfies a transformation constraint or not. The proposed approach is validated with a

[1]  Hartmut Ehrig,et al.  Efficient Detection of Conflicts in Graph-based Model Transformation , 2006, Electron. Notes Theor. Comput. Sci..

[2]  Lars Grunske,et al.  A Graphical Specification of Model Transformations with Triple Graph Grammars , 2005, ECMDA-FA.

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

[4]  Ma Zhi Description and Proof of Property Preservation of Model Transformations , 2007 .

[5]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[6]  Zhao Junfeng,et al.  Research and Implementation of Jade Bird Object-Oriented Software Modeling Tool , 2003 .

[7]  Paul L. Bergstein Object-preserving class transformations , 1991, OOPSLA 1991.

[8]  Alberto Pettorossi,et al.  Semantics preserving transformation rules for Prolog , 1991, PEPM '91.

[9]  Tom Mens,et al.  Detecting Structural Refactoring Conflicts Using Critical Pair Analysis , 2005, SETra@ICGT.

[10]  John E. Gessford Object-Oriented System Design , 1992 .

[11]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[12]  Rohit Gheyi,et al.  Formal refactorings for object models , 2005, OOPSLA '05.

[13]  Paulo Borba,et al.  A rigorous approach for proving model refactorings , 2005, ASE.

[14]  Tom Mens,et al.  Supporting Model Refactorings Through Behaviour Inheritance Consistencies , 2004, UML.

[15]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[16]  Tom Mens,et al.  Formalizing refactorings with graph transformations , 2005, J. Softw. Maintenance Res. Pract..

[17]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.