Modeling a Model Transformation Language

  • Eugene Syriani
  • Jeff Gray
  • Hans Vangheluwe


Domain-specific modeling techniques can reduce the gap between the problem space and the solution space by using abstractions and notations that represent domain concepts. The fact that only familiar concepts and notations are used in the model allows domain experts to understand and be involved directly in design. The resulting artifacts of this process are models and transformations. There are well-known techniques for developing modeling languages (e.g., meta-modeling and synthesis of modeling environments); however, there is currently no well-defined technique for engineering model transformation languages (MTLs). This chapter introduces a language engineering technique for building MTLs that is based on treating each MTL as a domain-specific language, more specifically, as languages for describing specific classes of transformations. In this approach, all the components of an MTL are modeled explicitly at the proper level of abstraction using the most appropriate formalisms. Consequently, this facilitates the automatic synthesis of MTL development environments and supports the evolution of model transformations, which assists domain experts in designing models and transformations in an integrated and uniform manner.


Domain-specific languages Higher-order transformation Language engineering Model transformation 



This work is supported partially by NSF CAREER award CCF-1052616.


  1. 1.
    Baar, T., Whittle, J.: On the usage of concrete syntax in model transformation rules. In: Virbitskaite, I., Voronkov, A. (eds.) Perspectives of Systems Informatics, LNCS, vol. 4378, pp. 84–97. Springer, Novosibirsk (2007)CrossRefGoogle Scholar
  2. 2.
    Balogh, A., Varró, D.: Advanced model transformation language constructs in the VIATRA2 framework. In: Symposium on Applied Computing, pp. 1280–1287. ACM, Dijon (2006)Google Scholar
  3. 3.
    Barroca, B., Lúcio, L., Amaral, V., Felix, R., Sousa, V.: DSLTrans: A turing incomplete transformation language. In: International Conference on Software Language Engineering, LNCS. Springer, Eindhoven (2010)Google Scholar
  4. 4.
    Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., Lindow, A.: Model transformations? Transformation models! In: Model Driven Engineering Languages and Systems, LNCS, vol. 4199, pp. 440–453. Springer, Genova (2006)Google Scholar
  5. 5.
    Bolduc, J.S., Vangheluwe, H.: The modelling and simulation package pythonDEVS for classical hierarchical DEVS. MSDL technical report msdl-tr-2001–01, McGill University (2001)Google Scholar
  6. 6.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. Spec. Issue Model Driven Software Dev. 45(3), 621–645 (2006)Google Scholar
  7. 7.
    Dong, X.: ARK, the metamodelling kernel for domain specific modelling. Master’s thesis, McGill University (2011)Google Scholar
  8. 8.
    Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G.: Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1: Foundations. World Scientific, Singapore (1997)Google Scholar
  9. 9.
    Ermel, C., Ehrig, K., Taentzer, G., Weiss, E.: Object oriented and rule-based design of visual languages using Tiger. In: Zündorf, A., Varró, D. (eds.) International Workshop on Graph Based Tools, ECEASST, vol. 1, pp. 1–13. Natal (2006)Google Scholar
  10. 10.
    France, R., Ghosh, S., Dinh Trong, T., Solberg, A.: Model-driven development using UML 2.0: Promises and pitfalls. IEEE Comput. 39(2), 59–66 (2006)Google Scholar
  11. 11.
    Gray, J., Tolvanen, J.P., Kelly, S., Gokhale, A., Neema, S., Sprinkle, J.: Domain-specific modeling. In: Fishwick, P.A. (ed.) CRC Handbook of Dynamic System Modeling, Chap.  7, pp. 1–20. CRC (2007)
  12. 12.
    Object Management Group: Meta Object Facility 2.4 Core Specification (2011). Access 24 Apr 2013
  13. 13.
    Object Management Group: Meta Object Facility 2.0 Query/View/Transformation Specification (2011). Access 24 Apr 2013
  14. 14.
    Harel, D., Rumpe, B.: Meaningful modeling: What’s the semantics of “Semantics”? Computer 37(10), 64–72 (2004)CrossRefGoogle Scholar
  15. 15.
    Hausmann, J.H., Heckel, R., Taentzer, G.: Detection of conflicting functional requirements in a use case-driven approach. In: International Conference on Software Engineering, pp. 105–115. ACM, Orlando (2002)Google Scholar
  16. 16.
    Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H.J., Rozenberg, G. (eds.) International Conference on Graph Transformation, LNCS, vol. 2505, pp. 161–176. Springer, Barcelona (2002)CrossRefGoogle Scholar
  17. 17.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)zbMATHCrossRefGoogle Scholar
  18. 18.
    Kelly, S., Lyytinen, K., Rossi, M.: MetaEdit + A fully configurable multi-user and multi-tool CASE and CAME environment. In: Iivari, J., Lyytinen, K., Rossi, M. (eds.) Conference on Advanced Information Systems Engineering, LNCS, vol. 1080, pp. 1–21. Springer, Crete (1996)CrossRefGoogle Scholar
  19. 19.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley, Hoboken (2008)CrossRefGoogle Scholar
  20. 20.
    Kilov, H.: From semantic to object-oriented data modeling. In: First International Conference on System Integration, pp. 385–393. IEEE, Piscataway (1990)Google Scholar
  21. 21.
    Kleppe, A.G., Warmer, J., Bast, W.: MDA Explained. The Model Driven Architecture: Practice And Promise. Reading, Addison-Wesley, Boston (2003)Google Scholar
  22. 22.
    Kühne, T.: Matters of (meta-)modeling. J. Softw. Syst. Model. 5(4), 369–385 (2006)CrossRefGoogle Scholar
  23. 23.
    Kühne, T., Mezei, G., Syriani, E., Vangheluwe, H., Wimmer, M.: Systematic transformation development. Electron. Comm. Eur. Assoc. Software Sci. Tech. 21 (2009)Google Scholar
  24. 24.
    Lano, K., Kolahdouz Rahimi, S., Poernomo, I.: Comparative evaluation of model transformation specification approaches. Int. J. Softw. Informat. 6(2), 233–269 (2012)Google Scholar
  25. 25.
    de Lara, J., Vangheluwe, H.: AToM3: A tool for multi-formalism and meta-modelling. In: Kutsche, R.D., Weber, H. (eds.) Fundamental Approaches to Software Engineering, LNCS, vol. 2306, pp. 174–188. Springer, Grenoble (2002)CrossRefGoogle Scholar
  26. 26.
    de Lara, J., Vangheluwe, H., Moreno, M.A.: Meta-modelling and graph grammars for multi-paradigm modelling in AToM3. J. Softw. Syst. Model. 3(3), 194–209 (2004)Google Scholar
  27. 27.
    Lédeczi, Á., Bakay, A., Maroti, M., V”olgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing domain-specific design environments. IEEE Comput. 34(11), 44–51 (2001)Google Scholar
  28. 28.
    Lengyel, L., Levendovszky, T., Mezei, G., Charaf, H.: Model transformation with a visual control flow language. Int. J. Comput. Sci. 1(1), 45–53 (2006)Google Scholar
  29. 29.
    Mosterman, P.J., Vangheluwe, H.: Computer automated multi-paradigm modeling: an introduction. Simulat. Trans. Soc. Model. Simulat. Int. 80(9), 433–450 (2004)CrossRefGoogle Scholar
  30. 30.
    Muller, P.A., Fleurey, F., Jézéquel, J.M.: Weaving executability into object-oriented meta-languages. In: Briand, L., Kent, S. (eds.) MODELS/UML’2005, LNCS, vol. 3713, pp. 264–278. Springer, Montego Bay (2005)Google Scholar
  31. 31.
    Nordstrom, S., Shetty, S., Chhokra, K.G., Sprinkle, J., Eames, B., Lédeczi, Á.: ANEMIC: automatic interface enabler for model integrated computing. In: Generative Programming and Component Engineering, LNCS, vol. 2830, pp. 138–150. Springer, New York (2003)Google Scholar
  32. 32.
    Rumpe, B., Weisemöller, I.: A domain specific transformation language. In: Models and Evolution. Wellington (2011). Available at:
  33. 33.
    Sendall, S., Kozaczynski, W.: Model Transformation: The heart and soul of model-driven software development. IEEE Softw. 20, 42–45 (2003)CrossRefGoogle Scholar
  34. 34.
    Stahl, T., Voelter, M., Czarnecki, K.: Model-Driven Software Development – Technology, Engineering, Management. Wiley, West Sussex (2006)Google Scholar
  35. 35.
    Syriani, E.: A multi-paradigm foundation for model transformation language engineering. Ph.d. thesis, McGill University (2011)Google Scholar
  36. 36.
    Syriani, E., Vangheluwe, H.: Programmed graph rewriting with DEVS. In: Nagl, M., Schürr, A. (eds.) International Symposium on the Applications of Graph Transformations with Industrial Relevance, LNCS, vol. 5088, pp. 136–152. Springer, Kassel (2007)CrossRefGoogle Scholar
  37. 37.
    Syriani, E., Vangheluwe, H.: De-/Re-constructing model transformation languages. Electron. Comm. Eur. Assoc. Software Sci. Tech. 29 (2010) Available at:
  38. 38.
    Syriani, E., Vangheluwe, H.: A modular timed model transformation language. J. Softw. Syst. Model. 11, 1–28 (2011)Google Scholar
  39. 39.
    Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: Paige, R., Hartman, A., Rensink, A. (eds.) European Conference on Model Driven Architecture: Foundations and Applications, LNCS, vol. 5562, pp. 18–33. Springer, Enschede (2009)CrossRefGoogle Scholar
  40. 40.
    Wimmer, M., Kusel, A., Schönböck, J., Reiter, T., Retschitzegger, W., Schwinger, W.: Lets’s play the token game – model transformations powered by transformation nets. In: Workshop on Petri Nets and Software Engineering, pp. 35–50. Université Paris 13, Paris (2009)Google Scholar
  41. 41.
    Zeigler, B.P.: Multifacetted Modelling and Discrete Event Simulation. Academic Press, San Diego (1984)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.University of AlabamaTuscaloosaUSA
  2. 2.Antwerp UniversityAntwerpBelgium
  3. 3.McGill UniversityMontrealCanada

Personalised recommendations