Advertisement

“Weaving” MTL Model Transformations

  • Raul Silaghi
  • Frédéric Fondement
  • Alfred Strohmeier
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3599)

Abstract

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.

Keywords

Model-Driven Architecture MDA Model Transformations MTL Aspect-Oriented Programming AOP 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Object Management Group, Inc.: Model Driven Architecture. (September 2004), http://www.omg.org/mda/
  2. 2.
    Miller, J., Mukerji, J.: Model Driven Architecture (MDA). Object Management Group, Document ormsc/2001-07-01 (July 2001)Google Scholar
  3. 3.
    Object Management Group, Inc (September 2004), http://www.omg.org/
  4. 4.
    Sendall, S., Kozaczynski, W.: Model Transformation – the Heart and Soul of Model-Driven Soft ware Development. IEEE Software, Special Issue on Model-Driven Development 20(5), 42–45 (2003); An extended version is available as Technical Report, EPFL-IC-LGL N° IC/2003/52, July 2003Google Scholar
  5. 5.
    Object Management Group, Inc.: MOF 2.0 Query/Views/Transformations RFP. Document ad/02-04-10 (April 2002)Google Scholar
  6. 6.
    French National Institute for Research in Computer Science and Control (INRIA): Model Transfor mation Language (MTL) (September 2004), http://modelware.inria.fr/
  7. 7.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  8. 8.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Eclipse Project: AspectJ (September 2004), http://www.eclipse.org/aspectj/
  10. 10.
    Parnas, D.L.: On the Criteria to be used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)CrossRefGoogle Scholar
  11. 11.
    Rouvellou, I., Jr Sutton, S.M., Tai, S.: Multidimensional Separation of Concerns in Middleware. In: Second Workshop on Multi-Dimensional Separation of Concerns in Software Engineering, held at the International Conference on Software Engineering, ICSE, Limerick, Ireland, June 4-11 (2000), http://www.research.ibm.com/
  12. 12.
    Silaghi, R., Strohmeier, A.: Integrating CBSE, SoC, MDA, and AOP in a Software Development Method. In: Proceedings of the 7th IEEE International Enterprise Distributed Object Computing Conference, EDOC, Brisbane, Queensland, Australia, September 16-19, pp. 136–146. IEEE Computer Society, Los Alamitos (2003); Also available as Technical Report, N° IC/2003/57, Swiss Federal Institute of Technology in Lausanne, Switzerland (September 2003)Google Scholar
  13. 13.
    Silaghi, R., Fondement, F., Strohmeier, A.: Towards an MDA-Oriented UML Profile for Distribution. In: Proceedings of the 8th IEEE International Enterprise Distributed Object Computing Conference, EDOC, Monterey, CA, USA, September 20-24, pp. 227–239. IEEE Computer Society, Los Alamitos (2004); Also available as Technical Report, N° IC/2004/49, Swiss Federal Institute of Technology in Lausanne, Switzerland (May 2004)Google Scholar
  14. 14.
    Object Management Group, Inc.: Common Object Request Broker Architecture: Core Specification, v3.0.3 (March 2004)Google Scholar
  15. 15.
    Sun Microsystems, Inc.: Java Remote Method Invocation Specification. Revision 1.7, Java 2 SDK, Standard Edition, v1.3.0 (December 1999), http://java.sun.com/j2se/1.3/docs/guide/rmi/ (September 2004)
  16. 16.
    Vojtisek, D.: BasicMTL Realization Guide. Inside the Carroll Research Program and part of the MOTOR project, Technical Report (February 2004), http://modelware.inria.fr/article.php3?id_article=45 (September 2004)
  17. 17.
    Bézivin, J., Dupé, G., Jouault, F., Pitette, G., Rougui, J.E.: First Experiments with the ATL Model Transformation Language: Transforming XSLT into XQuery. In: Second International Workshop on Generative Techniques in the Context of MDA, held at the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA, Anaheim, CA, USA, October 26-30 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Raul Silaghi
    • 1
  • Frédéric Fondement
    • 1
  • Alfred Strohmeier
    • 1
  1. 1.Software Engineering LaboratorySwiss Federal Institute of Technology in LausanneLausanne EPFLSwitzerland

Personalised recommendations