Advertisement

Model Transformation Reuse Across Metamodels

A Classification and Comparison of Approaches
  • Jean-Michel Bruel
  • Benoit Combemale
  • Esther GuerraEmail author
  • Jean-Marc Jézéquel
  • Jörg Kienzle
  • Juan de Lara
  • Gunter Mussbacher
  • Eugene Syriani
  • Hans Vangheluwe
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10888)

Abstract

Model transformations (MTs) are essential elements of model-driven engineering (MDE) solutions. MDE promotes the creation of domain-specific metamodels, but without proper reuse mechanisms, MTs need to be developed from scratch for each new metamodel. In this paper, we classify reuse approaches for MTs across different metamodels and compare a sample of specific approaches – model types, concepts, a-posteriori typing, multilevel modeling, and design patterns for MTs – with the help of a feature model developed for this purpose, as well as a common example. We discuss strengths and weaknesses of each approach, provide a reading grid used to compare their features, and identify gaps in current reuse approaches.

Keywords

Model transformation Reuse Classification Feature model Model types Concepts A-posteriori typing Multilevel modeling Transformation design patterns 

Notes

Acknowledgements

Work partially supported by the Spanish MINECO (TIN2014-52129-R), the R&D programme of the Madrid Region (S2013/ICE-3006), the Safran/Inria/CNRS collaboration GLOSE, and the Inria/CWI Associated Team ALE.

References

  1. 1.
    Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (1992)CrossRefGoogle Scholar
  2. 2.
    Kusel, A., et al.: Reuse in model-to-model transformation languages: are we there yet? SoSyM 14(2), 537–572 (2015)Google Scholar
  3. 3.
    Steel, J., Jézéquel, J.M.: On model typing. SoSyM 6(4), 401–414 (2007)Google Scholar
  4. 4.
    Guy, C., Combemale, B., Derrien, S., Steel, J.R.H., Jézéquel, J.-M.: On model subtyping. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 400–415. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-31491-9_30CrossRefGoogle Scholar
  5. 5.
    de Lara, J., Guerra, E.: From types to type requirements: genericity for model-driven engineering. SoSyM 12(3), 453–474 (2013)Google Scholar
  6. 6.
    Cuadrado, J.S., Guerra, E., de Lara, J.: A component model for model transformations. IEEE Trans. Softw. Eng. 40(11), 1042–1060 (2014)CrossRefGoogle Scholar
  7. 7.
    de Lara, J., Guerra, E.: A posteriori typing for model-driven engineering: concepts, analysis, and applications. ACM TOSEM 25(4), 31:1–31:60 (2017)CrossRefGoogle Scholar
  8. 8.
    de Lara, J., Guerra, E., Cuadrado, J.S.: Model-driven engineering with domain-specific meta-modelling languages. SoSyM 14(1), 429–459 (2015)Google Scholar
  9. 9.
    Ergin, H., Syriani, E., Gray, J.: Design pattern oriented development of model transformations. Comput. Lang. Syst. Struct. 46, 106–139 (2016)Google Scholar
  10. 10.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Programm. 72(1–2), 31–39 (2008)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon transformation language. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 46–60. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-69927-9_4CrossRefGoogle Scholar
  12. 12.
    Jézéquel, J.-M., Barais, O., Fleurey, F.: Model driven language engineering with kermeta. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol. 6491, pp. 201–221. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-18023-1_5CrossRefGoogle Scholar
  13. 13.
    Juergens, E., Deissenboeck, F., Hummel, B., Wagner, S.: Do code clones matter? In: ICSE, IEEE Computer Society, pp. 485–495 (2009)Google Scholar
  14. 14.
    Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schoenboeck, J., Schwinger, W.: Surviving the heterogeneity jungle with composite mapping operators. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 260–275. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-13688-7_18CrossRefGoogle Scholar
  15. 15.
    de Lara, J., Di Rocco, J., Di Ruscio, D., Guerra, E., Iovino, L., Pierantonio, A., Cuadrado, J.S.: Reusing model transformations through typing requirements models. In: Huisman, M., Rubin, J. (eds.) FASE 2017. LNCS, vol. 10202, pp. 264–282. Springer, Heidelberg (2017).  https://doi.org/10.1007/978-3-662-54494-5_15CrossRefGoogle Scholar
  16. 16.
    Varró, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 290–304. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-30187-5_21CrossRefGoogle Scholar
  17. 17.
    Zschaler, S.: Towards constraint-based model types: a generalised formal foundation for model genericity. In: VAO@STAF, pp. 11–18. ACM (2014)Google Scholar
  18. 18.
    Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Reverse engineering of model transformations for Reusability. In: Di Ruscio, D., Varró, D. (eds.) ICMT 2014. LNCS, vol. 8568, pp. 186–201. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-08789-4_14CrossRefGoogle Scholar
  19. 19.
    Diskin, Z., Maibaum, T., Czarnecki, K.: Intermodeling, queries, and Kleisli categories. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 163–177. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-28872-2_12CrossRefGoogle Scholar
  20. 20.
    Salay, R., Zschaler, S., Chechik, M.: Correct reuse of transformations is hard to guarantee. In: Van Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 107–122. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-42064-6_8CrossRefGoogle Scholar
  21. 21.
    Sun, W., Combemale, B., Derrien, S., France, R.B.: Using model types to support contract-aware model substitutability. In: Van Gorp, P., Ritter, T., Rose, L.M. (eds.) ECMFA 2013. LNCS, vol. 7949, pp. 118–133. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-39013-5_9CrossRefGoogle Scholar
  22. 22.
    Degueule, T., Combemale, B., Blouin, A., Barais, O., Jézéquel, J.M.: Melange: a meta-language for modular and reusable development of DSLs. In: SLE, pp. 25–36. ACM (2015)Google Scholar
  23. 23.
    Atkinson, C., Kühne, T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4), 290–321 (2002)CrossRefGoogle Scholar
  24. 24.
    Lúcio, L., Amrani, M., Dingel, J., Lambers, L., Salay, R., Selim, G.M., Syriani, E., Wimmer, M.: Model transformation intents and their properties. SoSyM 15(3), 685–705 (2014)Google Scholar
  25. 25.
    Etien, A., Muller, A., Legrand, T., Paige, R.F.: Localized model transformations for building large-scale transformations. SoSyM 14(3), 1189–1213 (2015)Google Scholar
  26. 26.
    Morin, B., Klein, J., Kienzle, J., Jézéquel, J.-M.: Flexible model element introduction policies for aspect-oriented modeling. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6395, pp. 63–77. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-16129-2_6CrossRefGoogle Scholar
  27. 27.
    Sánchez Cuadrado, J., García Molina, J.: Approaches for model transformation reuse: factorization and composition. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 168–182. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-69927-9_12CrossRefGoogle Scholar
  28. 28.
    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).  https://doi.org/10.1007/11787044_14CrossRefGoogle Scholar
  29. 29.
    Sutîi, A., van den Brand, M., Verhoeff, T.: Exploration of modularity and reusability of domain-specific languages: an expression DSL in metamod. Comput. Lang. Syst. Struct. 51, 48–70 (2018)Google Scholar
  30. 30.
    Strüber, D., Rubin, J., Arendt, T., Chechik, M., Taentzer, G., Plöger, J.: Variability-based model transformation: formal foundation and application. Formal Asp. Comput. 30(1), 133–162 (2018)MathSciNetCrossRefGoogle Scholar
  31. 31.
    Wagelaar, D., Straeten, R.V.D., Deridder, D.: Module superimposition: a composition technique for rule-based model transformation languages. SoSyM 9(3), 285–309 (2010)Google Scholar
  32. 32.
    Wimmer, M., et al.: Surveying rule inheritance in model-to-model transformation languages. JOT 11(2), 3:1–3:46 (2012)Google Scholar
  33. 33.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)CrossRefGoogle Scholar
  34. 34.
    Kahani, N., Bagherzadeh, M., R. Cordy, J., Dingel, J., Varro, D.: Survey and classification of model transformation tools. In: SoSyM (2018, in press)Google Scholar
  35. 35.
    Mengerink, J., Serebrenik, A., Schiffelers, R.R.H., van den Brand, M.G.J.: Automated analyses of model-driven artifacts: obtaining insights into industrial application of MDE. In: IWSM-Mensura, pp. 116–121. ACM (2017)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Jean-Michel Bruel
    • 1
  • Benoit Combemale
    • 1
  • Esther Guerra
    • 2
    Email author
  • Jean-Marc Jézéquel
    • 3
  • Jörg Kienzle
    • 4
  • Juan de Lara
    • 2
  • Gunter Mussbacher
    • 4
  • Eugene Syriani
    • 5
  • Hans Vangheluwe
    • 4
    • 6
  1. 1.University of Toulouse, IRITToulouseFrance
  2. 2.Universidad Autónoma de MadridMadridSpain
  3. 3.Univ Rennes, Inria, CNRS, IRISARennesFrance
  4. 4.McGill UniversityQuebecCanada
  5. 5.Université de MontréalMontréalCanada
  6. 6.University of AntwerpAntwerpBelgium

Personalised recommendations