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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Object Management Group, Inc.: Model Driven Architecture. (September 2004), http://www.omg.org/mda/
Miller, J., Mukerji, J.: Model Driven Architecture (MDA). Object Management Group, Document ormsc/2001-07-01 (July 2001)
Object Management Group, Inc (September 2004), http://www.omg.org/
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 2003
Object Management Group, Inc.: MOF 2.0 Query/Views/Transformations RFP. Document ad/02-04-10 (April 2002)
French National Institute for Research in Computer Science and Control (INRIA): Model Transfor mation Language (MTL) (September 2004), http://modelware.inria.fr/
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)
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)
Eclipse Project: AspectJ (September 2004), http://www.eclipse.org/aspectj/
Parnas, D.L.: On the Criteria to be used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)
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/
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)
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)
Object Management Group, Inc.: Common Object Request Broker Architecture: Core Specification, v3.0.3 (March 2004)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Silaghi, R., Fondement, F., Strohmeier, A. (2005). “Weaving” MTL Model Transformations. In: Aßmann, U., Aksit, M., Rensink, A. (eds) Model Driven Architecture. MDAFA MDAFA 2004 2003. Lecture Notes in Computer Science, vol 3599. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11538097_9
Download citation
DOI: https://doi.org/10.1007/11538097_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28240-2
Online ISBN: 978-3-540-31819-4
eBook Packages: Computer ScienceComputer Science (R0)