EMF Model Refactoring based on Graph Transformation Concepts

The Eclipse Modeling Framework (EMF) provides a modeling and code generation framework for Eclipse applications based on structured data models. Within model driven software development based on EMF, refactoring of EMF models become a key activity. In this paper, we present an approach to define EMF model refactoring methods as transformation rules being applied in place on EMF models. Performing an EMF model refactoring, EMF transformation rules are applied and can be translated to corresponding graph transformation rules, as in the graph transformation environment AGG. If the resulting EMF model is consistent, the corresponding result graph is equivalent and can be used for validating EMF model refactoring. Results on conflicts and dependencies of refactorings for example, can help the developer to decide which refactoring is most suitable for a given model and why.

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

[2]  Gabriele Taentzer,et al.  Graphical definition of in-place transformations in the eclipse modeling framework , 2006, MoDELS'06.

[3]  Ivan Porres,et al.  Model Refactorings as Rule-Based Update Transformations , 2003, UML.

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

[5]  Jean-Marc Jézéquel,et al.  Refactoring UML Models , 2001, UML.

[6]  Jean-Michel Bruel Satellite Events at the MoDELS 2005 Conference : MoDELS 2005 International Workshop OCLWS, MoDeVA, MARTES, AOM, MTiP, WiSME, MODAUI, Nfc, MDD, WUsCaM, Montego Bay, Jamaica, October 2-7, 2005, Revised Selected Papers , 2006 .

[7]  Shane Sendall Combining Generative and Graph Transformation Techniques for Model Transformation : An Effective Alliance ? , 2003 .

[8]  Jim Steel,et al.  Practical Declarative Model Transformation with Tefkat , 2005, MoDELS Satellite Events.

[9]  Tom Mens,et al.  Analysing refactoring dependencies using graph transformation , 2007, Software & Systems Modeling.

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

[11]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

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

[13]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[14]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[15]  Artur Boronat,et al.  Algebraic Specification of a Model Transformation Engine , 2006, FASE.

[16]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[17]  Thomas Baar,et al.  Refactoring OCL annotated UML class diagrams , 2005, MoDELS'05.

[18]  Hassan Charaf,et al.  A Systematic Approach to Metamodeling Environments and Model Transformation Systems in VMTS , 2005, GraBaTs.