Approaches for Model Transformation Reuse: Factorization and Composition

  • Jesús Sánchez Cuadrado
  • Jesús García Molina
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5063)


Reusability is one of the principal software quality factors. In the context of model driven development (MDD), reuse of model transformations is also considered a key activity to achieve productivity and quality. It is necessary to devote important research efforts to find out appropriate reusability mechanisms for transformation tools and languages. In this paper we present two approaches for reusing model transformation definitions. Firstly, we tackle the creation of related model transformations, showing how the factorization of common parts can be achieved. Secondly, we describe a proposal on the composition of existing, separated transformation definitions so that they can be used to solve a concrete transformation problem. We illustrate both proposals with examples taken from the development of a software product line for adventure games, which has been implemented using the modularization mechanisms of the RubyTL transformation language.


Model Transformation Composition Operator Software Product Line Transformation Language Transformation Tool 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (1992)CrossRefMathSciNetGoogle Scholar
  2. 2.
    Kurtev, I., van den Berg, K., Jouault, F.: Rule-based modularization in model transformation languages illustrated with ATL. Sci. Comput. Program 68(3), 111–127 (2007)CrossRefGoogle Scholar
  3. 3.
    Balogh, A., Varró, D.: Pattern composition in graph transformation rules. In: European Workshop on Composition of Model Transformations, Bilbao, Spain (July 2006)Google Scholar
  4. 4.
    Lawley, M., Raymond, K.: Implementing a practical declarative logic-based model transformation engine. In: SAC 2007: Proceedings of the 2007 ACM symposium on Applied computing, pp. 971–977. ACM, New York (2007)CrossRefGoogle Scholar
  5. 5.
    Sánchez, J., García, J., Menarguez, M.: RubyTL: A Practical, Extensible Transformation Language. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 158–172. Springer, Heidelberg (2006)Google Scholar
  6. 6.
    Voelter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: SPLC 2007: Proceedings of the 11th International Software Product Line Conference (SPLC 2007), Washington, DC, USA, pp. 233–242. IEEE Computer Society, Los Alamitos (2007)CrossRefGoogle Scholar
  7. 7.
    Steel, J., Jzquel, J.-M.: On model typing. Journal of Software and Systems Modeling (SoSyM) 6(4), 452–468 (2007)Google Scholar
  8. 8.
    Kleppe, A.: MCC: A model transformation environment. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 173–187. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Cuadrado, J.S., Molina, J.G.: A phasing mechanism for model transformation languages. In: SAC 2007: Proceedings of the 2007 ACM symposium on Applied computing, pp. 1020–1024. ACM Press, New York (2007)CrossRefGoogle Scholar
  10. 10.
    Cuadrado, J.S., Molina, J.G.: Building domain-specific languages for model-driven development. IEEE Softw. 24(5), 48–55 (2007)CrossRefGoogle Scholar
  11. 11.
    Fabro, M.D.D., Bézivin, J., Valduriez, P.: Weaving models with the eclipse amw plugin. In: Eclipse Modeling Symposium, Eclipse Summit Europe 2006, Esslingen, Germany (2006)Google Scholar
  12. 12.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading (1995)Google Scholar
  13. 13.
    Voelter, M., Groher, I.: Handling variability in model transformations and generators. In: Proceedings of the 7th OOPSLA Workshop on Domain-Specific Modeling (DSM07) (2007)Google Scholar
  14. 14.
    Vanhooff, B., Ayed, D., Van Baelen, S., Joosen, W., Berbers, Y.: UniTI: A Unified Transformation Infrastructure. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 31–45. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  16. 16.
    OMG. Final adopted specification for MOF 2.0 Query/View/Transformation (2005),
  17. 17.
    Willink, E.D., Harris, P.J.: The side transformation pattern: Making transforms modular and reusable. Electr. Notes Theor. Comput. Sci. 127(3), 17–29 (2005)CrossRefGoogle Scholar
  18. 18.
    Oldevik, J., Haugen, O.: Higher-order transformations for product lines. In: SPLC 2007: Proceedings of the 11th International Software Product Line Conference, Washington, DC, USA, pp. 243–254. IEEE Computer Society, Los Alamitos (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Jesús Sánchez Cuadrado
    • 1
  • Jesús García Molina
    • 1
  1. 1.University of MurciaSpain

Personalised recommendations