Model transformations with Tom

Model Driven Engineering (MDE) advocates the use of Model Transformations (MT) in order to automate repetitive development tasks. Many different model transformation languages have been proposed with a significant tool development cost as common language elements like expressions, statements, ... must be built from scratch for each new language development tools. The Tom language is a shallow extension of Java tailored to describe and implement transformations of tree based data-structures. A key feature of Tom allows to map any Java data-structure to tree based data abstractions that can then be accessed by powerful non-linear, associative, commutative pattern matching. In this paper, we present how this approach can be used in order to develop model transformations, in particular relying on Eclipse Modeling Framework (EMF) based metamodeling facilities. This allows to provide a transformation language at a low cost both for the development of its tools and the training of its users.

[1]  Tobias Rötschke,et al.  MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations , 2006, ECMDA-FA.

[2]  Benoît Combemale,et al.  Towards a Formal Verification of Process Model's Properties SIMPLEPDL and TOCL Case Study , 2007, ICEIS.

[3]  Gabriele Taentzer What Algebraic Graph Transformations Can Do For Model Transformations , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[4]  Pierre-Etienne Moreau,et al.  Rewriting Strategies in Java , 2008, Electron. Notes Theor. Comput. Sci..

[5]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[6]  Benoît Combemale,et al.  Essay on Semantics Definition in MDE - An Instrumented Approach for Model Verification , 2009, J. Softw..

[7]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

[8]  Andy Schürr,et al.  15 Years of Triple Graph Grammars , 2008, ICGT.

[9]  Eelco Visser,et al.  Code generation by model transformation: a case study in transformation modularity , 2008, Software & Systems Modeling.

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

[11]  Eelco Visser,et al.  The spoofax language workbench: rules for declarative specification of languages and IDEs , 2010, OOPSLA.

[12]  Christophe Ringeissen,et al.  A Pattern Matching Compiler for Multiple Target Languages , 2003, CC.

[13]  Antonio Vallecillo,et al.  Formal and Tool Support for Model Driven Engineering with Maude , 2007, J. Object Technol..

[14]  Claude Kirchner,et al.  A Type System for Tom , 2009, RULE.

[15]  Artur Boronat,et al.  MOMENT2: EMF Model Transformations in Maude , 2009, JISBD.

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

[17]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

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

[19]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[20]  Pierre-Etienne Moreau,et al.  Tom: Piggybacking Rewriting on Java , 2007, RTA.

[21]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[22]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.