Henshin: advanced concepts and tools for in-place EMF model transformations

The Eclipse Modeling Framework (EMF) provides modeling and code generation facilities for Java applications based on structured data models. Henshin is a new language and associated tool set for in-place transformations of EMF models. The Henshin transformation language uses pattern-based rules on the lowest level, which can be structured into nested transformation units with well-defined operational semantics. So-called amalgamation units are a special type of transformation units that provide a forall-operator for pattern replacement. For all of these concepts, Henshin offers a visual syntax, sophisticated editing functionalities, execution and analysis tools. The Henshin transformation language has its roots in attributed graph transformations, which offer a formal foundation for validation of EMF model transformations. The transformation concepts are demonstrated using two case studies: EMF model refactoring and meta-model evolution.

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

[2]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[3]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[4]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

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

[6]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[7]  Gabriele Taentzer,et al.  Lifting Parallel Graph Transformation Concepts to Model Transformation based on the Eclipse Modeling Framework , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[8]  Arend Rensink,et al.  Model Checking Dynamic States in GROOVE , 2006, SPIN.

[9]  Radu Mateescu,et al.  CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes , 2007, CAV.

[10]  Arturo Boronat Moll A formal framework for model management , 2011 .

[11]  Jürgen Wolff von Gudenberg,et al.  UML- Unified Modeling Language , 1998, Informatik-Spektrum.

[12]  Gabriele Taentzer,et al.  EMF Model Refactoring based on Graph Transformation Concepts , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[13]  Yannis Tzitzikas OCL: Object Constraint Language , 2005 .

[14]  Dániel Varró,et al.  Advanced model transformation language constructs in the VIATRA2 framework , 2006, SAC.

[15]  Holger Giese,et al.  Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques , 2009 .

[16]  Sabine Kuske,et al.  Transformation units: a structuring principle for graph transformation systems , 2000 .

[17]  Richard F. Paige,et al.  Update Transformations in the Small with the Epsilon Wizard Language , 2007, J. Object Technol..

[18]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

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