"Weaving" MTL Model Transformations

Model transformations are the core of the MDA approach to software development. As specified by the OMG, model transformations should act on any kind of model of any kind of metamodel, which implies the possible “reflective” use of model transformations, i.e., model transformations acting on model trans formations. However, this requires transformation developers to be familiar with the metamodel of the transformation language itself, which is not always the case. In order to overcome such a frustrating impediment for the MTL language, and inspired by AOP approaches, we have designed and implemented an MTL weaver that modifies MTL transformations according to some weaving behavior, which is specified as special MTL transformations, called MTL-aspects, using an AOP-like extension to the MTL language. Both the weaver and the language extension are presented in this paper, and an example is used to show how transformation developers can take advantage of the proposed language extension constructs in order to write “reflective” model transformations in MTL without requiring any previous knowledge of the MTL metamodel itself.

[1]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[2]  Alfred Strohmeier,et al.  Integrating CBSE, SoC, MDA, and AOP in a software development method , 2003, Seventh IEEE International Enterprise Distributed Object Computing Conference, 2003. Proceedings..

[3]  Stanley M. Sutton,et al.  Multidimensional Separation of Concerns in Middleware , 2000 .

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

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

[6]  Bashar Nuseibeh,et al.  Workshop on multi-dimensional separation of concerns in software engineering , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[7]  Peter Fettke,et al.  Model Driven Architecture (MDA) , 2003, Wirtsch..

[8]  Jean Bézivin,et al.  First experiments with the ATL model transformation language: Transforming XSLT into XQuery , 2003 .

[9]  Alfred Strohmeier,et al.  Towards an MDA-oriented UML profile for distribution , 2004, Proceedings. Eighth IEEE International Enterprise Distributed Object Computing Conference, 2004. EDOC 2004..

[10]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[11]  Jean-Marc Jézéquel,et al.  MTL and Umlaut NG - Engine and Framework for Model Transformation , 2004 .

[12]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[13]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[14]  Simon Moser,et al.  Mit “Model-Driven-Architecture (MDA)” und der System Meter Methode zu verbessertem Management von IT-Projekten , 2004 .

[15]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.