Software & Systems Modeling

, Volume 12, Issue 3, pp 555–577 | Cite as

Engineering model transformations with transML

  • Esther GuerraEmail author
  • Juan de Lara
  • Dimitrios S. Kolovos
  • Richard F. Paige
  • Osmar Marchi dos Santos
Special Section Paper


Model transformation is one of the pillars of model-driven engineering (MDE). The increasing complexity of systems and modelling languages has dramatically raised the complexity and size of model transformations as well. Even though many transformation languages and tools have been proposed in the last few years, most of them are directed to the implementation phase of transformation development. In this way, even though transformations should be built using sound engineering principles—just like any other kind of software—there is currently a lack of cohesive support for the other phases of the transformation development, like requirements, analysis, design and testing. In this paper, we propose a unified family of languages to cover the life cycle of transformation development enabling the engineering of transformations. Moreover, following an MDE approach, we provide tools to partially automate the progressive refinement of models between the different phases and the generation of code for several transformation implementation languages.


Model-driven engineering Model transformation Domain-specific languages 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Agrawal A., Vizhanyo A., Kalmar Z., Shi F., Narayanan A., Karsai G.: Reusable idioms and patterns in graph transformation languages. Electron. Notes Theor. Comput. Sci. 127, 181–192 (2005)CrossRefGoogle Scholar
  2. 2.
    Balogh, A., Bergmann, G., Csertán, G., Gönczy, L., Horváth, Á., Majzik, I., Pataricza, A., Polgár, B., Ráth, I., Varró, D. et al.: Workflow-driven tool integration using model transformations. In: Graph Transformations and Model-Driven Engineering, vol. 5765, LNCS, pp. 224–248. Springer, Berlin (2010)Google Scholar
  3. 3.
    Baudry B., Ghosh S., Fleurey F., France R.B., Traon Y.L., Mottu J.-M.: Barriers to systematic model transformation testing. Commun. ACM 53(6), 139–143 (2010)CrossRefGoogle Scholar
  4. 4.
    Beck K.: Test Driven Development: By Example. Addison-Wesley, Boston (2003)Google Scholar
  5. 5.
    Bézivin, J., Farcet, N., Jézéquel, J.-M., Langlois, B., Pollet, D.: Reflective model driven engineering. In: UML, vol. 2863. LNCS, pp. 175–189. Springer, Berlin (2003)Google Scholar
  6. 6.
    Bézivin, J., Jouault, F., Paliès, J.: Towards model transformation design patterns. In: EWMT’05 (2005)Google Scholar
  7. 7.
    Bondavalli, A., Mura, I., Majzik, I.: Automatic dependability analysis for supporting design decisions in UML. In: HASE’99, pp. 64–72 (1999)Google Scholar
  8. 8.
    Boronat, A., Carsí, J.A., Ramos, I.: Algebraic specification of a model transformation engine. In: FASE’06, vol. 3922, LNCS, pp. 262–277. Springer, Berlin (2006)Google Scholar
  9. 9.
    Brottier, E., Fleurey, F., Steel, J., Baudry, B., Traon, Y.L.: Metamodel-based test generation for model transformations: an algorithm and a tool. In: ISSRE, pp. 85–94. IEEE CS (2006)Google Scholar
  10. 10.
    Cabot J., Clarisó R., Guerra E., de Lara J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83(2), 283–302 (2010)CrossRefGoogle Scholar
  11. 11.
    Csertán, G., Huszerl, G., Majzik, I., Pap, Z., Pataricza, A., Varró, D.: VIATRA: visual automated transformations for formal verification and validation of uml models. In: ASE’02, pp. 267–270. IEEE CS (2002)Google Scholar
  12. 12.
    Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)CrossRefGoogle Scholar
  13. 13.
    Darabos A., Pataricza A., Varró D.: Towards testing the implementation of graph transformations. Electron. Notes Theor. Comput. Sci. 211, 75–85 (2008)CrossRefGoogle Scholar
  14. 14.
    de Lara, J., Guerra, E.: Formal support for QVT-Relations with coloured Petri nets. In: MoDELS’09, vol. 5795, LNCS, pp. 256–270. Springer, Berlin (2009)Google Scholar
  15. 15.
    de Lara J., Vangheluwe H.: Automating the transformation-based analysis of visual languages. Formal Aspects Comput. 22, 297–326 (2010)zbMATHCrossRefGoogle Scholar
  16. 16.
    Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)zbMATHGoogle Scholar
  17. 17.
    Ehrig, H., Prange, U.: Formal analysis of model transformations based on triple graph rules with kernels. In: ICGT’08, vol. 5214, LNCS, pp. 178–193. Springer, Berlin (2008)Google Scholar
  18. 18.
    Etien, A., Dumoulin, C., Renaux, E.: Towards a unified notation to represent model transformation. Technical Report RR-6187, INRIA (2007)Google Scholar
  19. 19.
    Favre J.-M., Nguyen T.: Towards a megamodel to model software evolution through transformations. Electron. Notes Theor. Comput. Sci. 127(3), 59–74 (2005)CrossRefGoogle Scholar
  20. 20.
    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: A new graph rewrite language based on the unified modeling language and Java. In: TAGT’98, vol. 1764, LNCS, pp. 296–309. Springer, Berlin (2000)Google Scholar
  21. 21.
    Fleurey F., Baudry B., Muller P.-A., Traon Y.: Qualifying input test data for model transformations. Softw. Syst. Model. 8, 185–203 (2009)CrossRefGoogle Scholar
  22. 22.
    Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. Morgan Kaufmann. (2009)
  23. 23.
    Fujaba. (2011)
  24. 24.
    Gardey, G., Lime, D., Magnin, M., Roux, O.H.: Romeo: A tool for analyzing time Petri nets. In: CAV, vol. 3576, LNCS, pp. 418–423. Springer, Berlin (2005)Google Scholar
  25. 25.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)Google Scholar
  26. 26.
    Giner, P., Pelechano, V.: Test-driven development of model transformations. In: MoDELS’09, vol. 5795, LNCS, pp. 748–752. Springer, Berlin (2009)Google Scholar
  27. 27.
    Gorp, P.V., Keller, A., Janssens, D.: Transformation language integration based on profiles and higher order transformations. In: SLE, vol. 5452, LNCS, pp. 208–226. Springer, Berlin (2008)Google Scholar
  28. 28.
    Guerra, E., de Lara, J., Kolovos, D. S., Paige, R.F.: A visual specification language for model-to-model transformations. In: VLHCC’10, pp. 119–126. IEEE CS (2010)Google Scholar
  29. 29.
    Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F., dos Santos, O.M.: transML: a family of languages to model model transformations. In: MoDELS (1), vol. 6394, LNCS, pp. 106–120. Springer, Berlin (2010)Google Scholar
  30. 30.
    Guerra, E., de Lara, J., Orejas, F.: Inter-modelling with patterns. Softw. Syst. Model. (in press, 2011) doi: 10.1007/s10270-011-0192-1
  31. 31.
    Habel, A., Pennemann, K.-H.: Nested constraints and application conditions for high-level structures. In: Formal Methods in Software and Systems Modeling, vol. 3393, LNCS, pp. 293–308. Springer, Berlin (2005)Google Scholar
  32. 32.
    Holzmann G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)MathSciNetCrossRefGoogle Scholar
  33. 33.
    Iacob, M., Steen, M., Heerink, L.: Reusable model transformation patterns. In: 3M4EC’08, pp. 1–10 (2008)Google Scholar
  34. 34.
    Insfrán, E., Gonzalez-Huerta, J., Abrah ao, S.: Design guidelines for the development of quality-driven model transformations. In: MoDELS-10, vol. 6395, LNCS, pp. 288–302. Springer, Berlin (2010)Google Scholar
  35. 35.
    Jackson D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)Google Scholar
  36. 36.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1–2):31–39. (2008). Accessed Nov 2010
  37. 37.
    Kleppe, A.: MCC: A model transformation environment. In: ECMDA-FA’06, vol. 4066, LNCS, pp. 173–187. Springer, Berlin (2006)Google Scholar
  38. 38.
    Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon Object Language (EOL). In: ECMDA-FA’06, vol. 4066, LNCS, pp. 128–142. Springer, Berlin (2006)Google Scholar
  39. 39.
    Kolovos, D.S., Paige, R.F., Polack, F.: Detecting and repairing inconsistencies across heterogeneous models. In: ICST’08, pp. 356–364. IEEE CS (2008)Google Scholar
  40. 40.
    Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon Transformation Language. In: ICMT’08, vol. 5063, LNCS, pp. 46–60. Springer, Berlin (2008)Google Scholar
  41. 41.
    Kolovos, D.S., Paige, R.F., Rose, L.M., Polack, F.A.: Unit testing model management operations. In: MoDeVVa’08, pp. 97–104. IEEE CS (2008)Google Scholar
  42. 42.
    Kusel, A.: TROPIC: a framework for building reusable transformation components. In: Doctoral Symposium at MODELS (2009)Google Scholar
  43. 43.
    Küster, J.M., Abd-El-Razik, M.: Validation of model transformations: first experiences using a white box approach. In: MoDELS Workshops, vol. 4364, LNCS, pp. 193–204. Springer, Berlin (2007)Google Scholar
  44. 44.
    Latella D., Majzik I., Massink M.: Automatic verification of a behavioural subset of uml statechart diagrams using the SPIN model-checker. Formal Asp. Comput. 11(6), 637–664 (1999)zbMATHCrossRefGoogle Scholar
  45. 45.
    Lilius, J., Paltor, I.: vUML: A tool for verifying UML models. In: ASE, pp. 255–258 (1999)Google Scholar
  46. 46.
    Lin, Y., Zhang, J., Gray, J.: A framework for testing model transformations. In: Model-driven Software Development—Research and Practice in Software Engineering. Springer, Berlin (2005)Google Scholar
  47. 47.
    Mellor S.J., Balcer M.J.: Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley Professional, Boston (2002)Google Scholar
  48. 48.
    Merilinna, J.: A tool for quality-driven architecture model transformation. Master’s thesis, Technical Research Centre of Finland (2005)Google Scholar
  49. 49.
    Merlin, P.M., Farber, D. J.: Recoverability of communication protocols. IEEE Trans. Comput. 24(9) (1976)Google Scholar
  50. 50.
    Meyer B.: Applying “design by contract”. Computer 25, 40–51 (1992)CrossRefGoogle Scholar
  51. 51.
    Orejas F.: Symbolic graphs for attributed graph constraints. J. Symb. Comput. 46(3), 294–315 (2011)MathSciNetzbMATHCrossRefGoogle Scholar
  52. 52.
  53. 53.
    Rahim, L.A., Mansoor, S.B.R.S.: Proposed design notation for model transformation. In: ASWEC’08, pp. 589–598. IEEE CS (2008)Google Scholar
  54. 54.
    Rensink, A.: Representing first-order logic using graphs. In: ICGT’04, vol. 3256, LNCS, pp. 319–335. Springer, Berlin (2004)Google Scholar
  55. 55.
    Rivera, J.E., Ruiz-Gonzalez, D., Lopez-Romero, F., Bautista, J., Vallecillo, A.: Orchestrating ATL model transformations. In: MtATL 2009, pp. 34–46 (2009)Google Scholar
  56. 56.
    Sampath P., Rajeev A.C., Shashidhar K.C., Ramesh S.: Verification of model processing tools. Int. J. Passeng. Cars Electron. Electr. Syst. 1, 45–52 (2009)Google Scholar
  57. 57.
    Schürr, A.: Specification of graph translators with triple graph grammars. In: WG’94, vol. 903, LNCS, pp. 151–163. Springer, Berlin (1994)Google Scholar
  58. 58.
    Sen, S., Baudry, B., Mottu, J.-M.: Automatic model generation strategies for model transformation testing. In: ICMT, vol. 5563, LNCS, pp. 148–164. Springer, Berlin (2009)Google Scholar
  59. 59.
    Siikarla, M., Laitkorpi, M., Selonen, P., Systä, T.: Transformations have to be developed ReST assured. In: ICMT’08, vol. 5063, LNCS, pp. 1–15. Springer, Berlin (2008)Google Scholar
  60. 60.
    Spivey J.M.: An introduction to Z and formal specifications. Softw. Eng. J. 4(1), 40–50 (1989)CrossRefGoogle Scholar
  61. 61.
    Steel, J., Lawley, M.: Model-based test driven development of the Tefkat model-transformation engine. In: ISSRE’04, pp. 151–160 (2004)Google Scholar
  62. 62.
    Stürmer I., Conrad M., Dörr H., Pepper P.: Systematic testing of model-based code generators. IEEE Trans. Software Eng. 33(9), 622–634 (2007)CrossRefGoogle Scholar
  63. 63.
    van Lamsweerde A.: Requirements Engineering. From System Goals to UML Models to Software Specifications. Wiley, New York (2009)Google Scholar
  64. 64.
    Vanhooff, B., Ayed, D., Baelen, S. V., Joosen, W., Berbers, Y.: Uniti: A unified transformation infrastructure. In: MODELS’07, vol. 4735, LNCS, pp. 31–45 (2007)Google Scholar
  65. 65.
    Varró, D.: Model transformation by example. In: MODELS’06, vol. 4199, LNCS, pp. 410–424 (2006)Google Scholar
  66. 66.
    Yie, A., Casallas, R., Deridder, D., Wagelaar, D.: Realizing model transformation chain interoperability. Softw. Syst. Model. (in press, 2011). doi: 10.1007/s10270-010-0179-3

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Esther Guerra
    • 1
    Email author
  • Juan de Lara
    • 1
  • Dimitrios S. Kolovos
    • 2
  • Richard F. Paige
    • 2
  • Osmar Marchi dos Santos
    • 2
  1. 1.Computer Science DepartmentUniversidad Autónoma de MadridMadridSpain
  2. 2.University of YorkYorkUK

Personalised recommendations