Skip to main content

Engineering model transformations with transML

Abstract

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.

This is a preview of subscription content, access via your institution.

References

  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)

    Article  Google Scholar 

  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)

  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)

    Article  Google Scholar 

  4. Beck K.: Test Driven Development: By Example. Addison-Wesley, Boston (2003)

    Google Scholar 

  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)

  6. Bézivin, J., Jouault, F., Paliès, J.: Towards model transformation design patterns. In: EWMT’05 (2005)

  7. Bondavalli, A., Mura, I., Majzik, I.: Automatic dependability analysis for supporting design decisions in UML. In: HASE’99, pp. 64–72 (1999)

  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)

  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)

  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)

    Article  Google Scholar 

  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)

  12. Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)

    Article  Google Scholar 

  13. Darabos A., Pataricza A., Varró D.: Towards testing the implementation of graph transformations. Electron. Notes Theor. Comput. Sci. 211, 75–85 (2008)

    Article  Google Scholar 

  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)

  15. de Lara J., Vangheluwe H.: Automating the transformation-based analysis of visual languages. Formal Aspects Comput. 22, 297–326 (2010)

    MATH  Article  Google Scholar 

  16. Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)

    MATH  Google Scholar 

  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)

  18. Etien, A., Dumoulin, C., Renaux, E.: Towards a unified notation to represent model transformation. Technical Report RR-6187, INRIA (2007)

  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)

    Article  Google Scholar 

  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)

  21. Fleurey F., Baudry B., Muller P.-A., Traon Y.: Qualifying input test data for model transformations. Softw. Syst. Model. 8, 185–203 (2009)

    Article  Google Scholar 

  22. Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. Morgan Kaufmann. http://www.omg.org/spec/SysML/1.1/ (2009)

  23. Fujaba. http://www.fujaba.de (2011)

  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)

  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)

  26. Giner, P., Pelechano, V.: Test-driven development of model transformations. In: MoDELS’09, vol. 5795, LNCS, pp. 748–752. Springer, Berlin (2009)

  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)

  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)

  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)

  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. 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)

  32. Holzmann G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)

    MathSciNet  Article  Google Scholar 

  33. Iacob, M., Steen, M., Heerink, L.: Reusable model transformation patterns. In: 3M4EC’08, pp. 1–10 (2008)

  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)

  35. Jackson D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)

    Google Scholar 

  36. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1–2):31–39. http://www.emn.fr/z-info/atlanmod/index.php/Main_Page (2008). Accessed Nov 2010

  37. Kleppe, A.: MCC: A model transformation environment. In: ECMDA-FA’06, vol. 4066, LNCS, pp. 173–187. Springer, Berlin (2006)

  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)

  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)

  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)

  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)

  42. Kusel, A.: TROPIC: a framework for building reusable transformation components. In: Doctoral Symposium at MODELS (2009)

  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)

  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)

    MATH  Article  Google Scholar 

  45. Lilius, J., Paltor, I.: vUML: A tool for verifying UML models. In: ASE, pp. 255–258 (1999)

  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)

  47. Mellor S.J., Balcer M.J.: Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley Professional, Boston (2002)

    Google Scholar 

  48. Merilinna, J.: A tool for quality-driven architecture model transformation. Master’s thesis, Technical Research Centre of Finland (2005)

  49. Merlin, P.M., Farber, D. J.: Recoverability of communication protocols. IEEE Trans. Comput. 24(9) (1976)

  50. Meyer B.: Applying “design by contract”. Computer 25, 40–51 (1992)

    Article  Google Scholar 

  51. Orejas F.: Symbolic graphs for attributed graph constraints. J. Symb. Comput. 46(3), 294–315 (2011)

    MathSciNet  MATH  Article  Google Scholar 

  52. QVT. http://www.omg.org/docs/ptc/05-11-01.pdf (2011)

  53. Rahim, L.A., Mansoor, S.B.R.S.: Proposed design notation for model transformation. In: ASWEC’08, pp. 589–598. IEEE CS (2008)

  54. Rensink, A.: Representing first-order logic using graphs. In: ICGT’04, vol. 3256, LNCS, pp. 319–335. Springer, Berlin (2004)

  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)

  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. Schürr, A.: Specification of graph translators with triple graph grammars. In: WG’94, vol. 903, LNCS, pp. 151–163. Springer, Berlin (1994)

  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)

  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)

  60. Spivey J.M.: An introduction to Z and formal specifications. Softw. Eng. J. 4(1), 40–50 (1989)

    Article  Google Scholar 

  61. Steel, J., Lawley, M.: Model-based test driven development of the Tefkat model-transformation engine. In: ISSRE’04, pp. 151–160 (2004)

  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)

    Article  Google Scholar 

  63. van Lamsweerde A.: Requirements Engineering. From System Goals to UML Models to Software Specifications. Wiley, New York (2009)

    Google Scholar 

  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)

  65. Varró, D.: Model transformation by example. In: MODELS’06, vol. 4199, LNCS, pp. 410–424 (2006)

  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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Esther Guerra.

Additional information

Communicated by Prof. Dorina Petriu.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Guerra, E., de Lara, J., Kolovos, D.S. et al. Engineering model transformations with transML. Softw Syst Model 12, 555–577 (2013). https://doi.org/10.1007/s10270-011-0211-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-011-0211-2

Keywords

  • Model-driven engineering
  • Model transformation
  • Domain-specific languages