Skip to main content
Log in

Comparing and classifying model transformation reuse approaches across metamodels

  • Special Section Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

Abstract

Model transformations are essential elements of model-driven engineering (MDE) solutions, as they enable the automatic manipulation of models. MDE promotes the creation of domain-specific metamodels, but without proper reuse mechanisms, model transformations need to be developed from scratch for each new metamodel. In this paper, our goal is to understand whether transformation reuse across metamodels is needed by the community, evaluate its current state, identify practical needs and propose promising lines for further research. For this purpose, we first report on a survey to understand the reuse approaches used currently in practice and the needs of the community. Then, we propose a classification of reuse techniques based on a feature model and compare a sample of specific approaches—model types, concepts, a-posteriori typing, multilevel modeling, typing requirement models, facet-oriented modeling, mapping operators, constraint-based model types, and design patterns for model transformations—based on this feature model and a common example. We discuss strengths and weaknesses of each approach, provide a reading grid used to compare their features, compare with community needs, identify gaps in current transformation reuse approaches in relation to these needs and propose future research directions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

Notes

  1. http://melange.inria.fr/.

  2. http://metadepth.org.

  3. http://sanchezcuadrado.es/projects/bento/.

  4. http://metadepth.org/mtl.

  5. https://github.com/hergin/DelTaEMF.

  6. http://github.com/MDEGroup/totem.

  7. It must be noted that constraint-based model types were proposed before typing requirements models (2014 vs 2017), which take inspiration from that work.

References

  1. Alvarez, C., Casallas, R.: MTC flow: a tool to design, develop and deploy model transformation chains. In: ACadeMics Tooling with Eclipse Workshop. ACM (2013). http://www.mtcflow.com/

  2. Atkinson, C., Kühne, T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4), 290–321 (2002)

    Article  Google Scholar 

  3. Atkinson, C., Gerbig, R., Tunjic, C.V.: Enhancing classic transformation languages to support multi-level modeling. Softw. Syst. Model. 14(2), 645–666 (2015)

    Article  Google Scholar 

  4. Babur, Ö., Cleophas, L., van den Brand, M., Tekinerdogan, B., Aksit, M.: Models, more models, and then a lot more. In: Software Technologies: Applications and Foundations, LNCS, vol. 10748, pp. 129–135. Springer (2017)

  5. Basciani, F., Ruscio, D.D., Iovino, L., Pierantonio, A.: Automated chaining of model transformations with incompatible metamodels. In: Model Driven Engineering Languages and Systems, LNCS, vol. 8767, pp. 602–618. Springer (2014)

  6. Bendraou, R., Desfray, P., Gervais, M.P., Muller, A.: MDA tool components: a proposal for packaging know-how in model driven development. Softw. Syst. Model. 7(3), 329–343 (2008)

    Article  Google Scholar 

  7. Boronat, A.: Structural model subtyping with OCL constraints. In: Software Language Engineering, pp. 194–205. ACM (2017)

  8. Bruel, J.M., Combemale, B., Guerra, E., Jézéquel, J., Kienzle, J., de Lara, J., Mussbacher, G., Syriani, E., Vangheluwe, H.: Model transformation reuse across metamodels—a classification and comparison of approaches. In: Theory and Practice of Model Transformations, LNCS, vol. 10888, pp. 92–109. Springer (2018)

  9. Criado, J., Martínez, S., Iribarne, L., Cabot, J.: Enabling the reuse of stored model transformations through annotations. In: Theory and Practice of Model Transformations, LNCS, vol. 9152, p. 15. Springer (2015)

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

    Article  Google Scholar 

  11. de Lara, J., Guerra, E.: From types to type requirements: genericity for model-driven engineering. Softw. Syst. Model. 12(3), 453–474 (2013)

    Article  Google Scholar 

  12. de Lara, J., Guerra, E.: Towards the flexible reuse of model transformations: a formal approach based on graph transformation. J. Log. Algebraic Methods Program. 83(5–6), 427–458 (2014)

    Article  Google Scholar 

  13. de Lara, J., Guerra, E.: A posteriori typing for model-driven engineering: concepts, analysis, and applications. ACM Trans. Softw. Eng. Methodol. 25(4), 31:1–31:60 (2017)

    Article  Google Scholar 

  14. de Lara, J., Guerra, E.: Refactoring multi-level models. ACM Trans. Softw. Eng. Methodol. 27(4), 17:1–17:56 (2018)

    Article  Google Scholar 

  15. de Lara, J., Guerra, E., Sánchez Cuadrado, J.: When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. 24(2), 12:1–12:46 (2014)

    Article  Google Scholar 

  16. de Lara, J., Guerra, E., Sánchez Cuadrado, J.: Model-driven engineering with domain-specific meta-modelling languages. Softw. Syst. Model. 14(1), 429–459 (2015)

    Article  Google Scholar 

  17. de Lara, J., Guerra, E., di Ruscio, D., di Rocco, J., Sánchez Cuadrado, J., Iovino, L., Pierantonio, A.: Automated reuse of model transformations through typing requirements models. ACM Trans. Softw. Eng. Methodol. 28(4), 21:1–21:62 (2019)

    Article  Google Scholar 

  18. de Lara, J., di Rocco, J., di Ruscio, D., Guerra, E., Iovino, L., Pierantonio, A., Sánchez Cuadrado, J.: Reusing model transformations through typing requirements models. In: Fundamental Approaches to Software Engineering, LNCS, vol. 10202, pp. 264–282. Springer (2017)

  19. de Lara, J., Guerra, E., Chechik, M., Salay, R.: Model transformation product lines. In: Model Driven Engineering Languages and Systems, pp. 67–77. ACM (2018)

  20. de Lara, J., Guerra, E., Kienzle, J., Hattab, Y.: Facet-oriented modelling: Open objects for model-driven engineering. In: Software Language Engineering, pp. 146–158. ACM (2018)

  21. 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: Software Language Engineering, pp. 25–36. ACM (2015)

  22. Degueule, T., Combemale, B., Blouin, A., Barais, O., Jézéquel, J.M.: Safe model polymorphism for flexible modeling. Comput. Lang. Syst. Struct. 49, 30 (2016)

    Google Scholar 

  23. Diskin, Z., Maibaum, T., Czarnecki, K.: Intermodeling, queries, and kleisli categories. In: Fundamental Approaches to Software Engineering, LNCS, vol. 7212, pp. 163–177. Springer (2012)

  24. Ergin, H., Syriani, E., Gray, J.: Design pattern oriented development of model transformations. Comput. Lang. Syst. Struct. 46, 106–139 (2016)

    Google Scholar 

  25. Etien, A., Muller, A., Legrand, T., Paige, R.F.: Localized model transformations for building large-scale transformations. Softw. Syst. Model. 14(3), 1189–1213 (2015)

    Article  Google Scholar 

  26. Fleck, M., Troya, J., Kessentini, M., Wimmer, M., Alkhazi, B.: Model transformation modularization as a many-objective optimization problem. IEEE Trans. Softw. Eng. 43(11), 1009–1032 (2017)

    Article  Google Scholar 

  27. Gregor, D.P., Järvi, J., Siek, J.G., Stroustrup, B., Reis, G.D., Lumsdaine, A.: Concepts: linguistic support for generic programming in C++. In: Object-Oriented Programming, Systems, Languages, and Applications, pp. 291–310. ACM (2006)

  28. Group, O.M.: Query/View/Transformation Specification, 1.3 edn. (2016). https://www.omg.org/spec/QVT/About-QVT/

  29. Guerra, E., de Lara, J., Chechik, M., Salay, R.: Analysing meta-model product lines. In: Software Language Engineering, pp. 159–172. ACM (2018)

  30. Guy, C., Combemale, B., Derrien, S., Steel, J., Jézéquel, J.M.: On model subtyping. In: European Conference on Modelling Foundations and Applications, LNCS, vol. 7349, pp. 400–415. Springer (2012)

  31. Jézéquel, J.M., Barais, O., Fleurey, F.: Model driven language engineering with Kermeta. In: Generative and Transformational Techniques in Software Engineering III, LNCS, vol. 6491, pp. 201–221. Springer (2011)

  32. Jézéquel, J., Combemale, B., Barais, O., Monperrus, M., Fouquet, F.: Mashup of metalanguages and its implementation in the kermeta language workbench. Softw. Syst. Model. 14(2), 905–920 (2015)

    Article  Google Scholar 

  33. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)

    Article  MathSciNet  Google Scholar 

  34. Juergens, E., Deissenboeck, F., Hummel, B., Wagner, S.: Do code clones matter? In: International Conference on Software Engineering, pp. 485–495. IEEE Computer Society (2009)

  35. Kahani, N., Bagherzadeh, M., Cordy, R., Dingel, J., Varro, D.: Survey and classification of model transformation tools. Softw. Syst. Model. 18, 2361–2397 (2018)

    Article  Google Scholar 

  36. Kalliamvakou, E., Palyart, M., Murphy, G.C., Damian, D.E.: A field study of modellers at work. In: International Workshop on Modeling in Software Engineering, pp. 25–29. IEEE Computer Society (2015)

  37. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-021, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (1990)

  38. Kleppe, A.: MCC: A model transformation environment. In: European Conference on Modelling Foundations and Applications, LNCS, vol. 4066, pp. 173–187. Springer (2006)

  39. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The Epsilon transformation language. In: Theory and Practice of Model Transformations, LNCS, vol. 5063, pp. 46–60. Springer (2008)

  40. Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (1992)

    Article  Google Scholar 

  41. Kusel, A., Schönböck, J., Wimmer, M., Kappel, G., Retschitzegger, W., Schwinger, W.: Reuse in model-to-model transformation languages: are we there yet? Softw. Syst. Model. 14(2), 537–572 (2015)

    Article  Google Scholar 

  42. Lano, K., Rahimi, S.K.: Model-transformation design patterns. IEEE Trans. Softw. Eng. 40(12), 1224–1259 (2014)

    Article  Google Scholar 

  43. Lano, K., Rahimi, S.K., Poernomo, I., Terrell, J., Zschaler, S.: Correct-by-construction synthesis of model transformations using transformation patterns. Softw. Syst. Model. 13(2), 873–907 (2014)

    Article  Google Scholar 

  44. Lano, K., Rahimi, S.K., Tehrani, S.Y., Sharbaf, M.: A survey of model transformation design patterns in practice. J. Syst. Softw. 140, 48–73 (2018)

    Article  Google Scholar 

  45. Lau, K., Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)

    Article  Google Scholar 

  46. Legros, E., Amelunxen, C., Klar, F., Schürr, A.: Generic and reflective graph transformations for checking and enforcement of modeling guidelines. J. Vis. Lang. Comput. 20(4), 252–268 (2009)

    Article  Google Scholar 

  47. Liebel, G., Marko, N., Tichy, M., Leitner, A., Hansson, J.: Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice. Softw. Syst. Model. 17(1), 91–113 (2018)

    Article  Google Scholar 

  48. Lúcio, L., Amrani, M., Dingel, J., Lambers, L., Salay, R., Selim, G.M., Syriani, E., Wimmer, M.: Model transformation intents and their properties. Softw. Syst. Model. 15(3), 685–705 (2014)

    Google Scholar 

  49. Macías, F., Rutle, A., Stolz, V., Rodríguez-Echeverría, R., Wolter, U.: An approach to flexible multilevel modelling. Enterp. Model. Inf. Syst. Archit. 13, 10:1–10:35 (2018)

    Google Scholar 

  50. 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: International Workshop on Software Measurement, IWSM-Mensura, pp. 116–121. ACM (2017)

  51. Mengerink, J.: The DSL/model co-evolution problem in industrial MDE ecosystems. Ph.D. thesis, Department of Mathematics and Computer Science (2018). Proefschrift

  52. Morin, B., Klein, J., Kienzle, J., Jézéquel, J.M.: Flexible model element introduction policies for aspect-oriented modeling. In: Model Driven Engineering Languages and Systems, LNCS, vol. 6395, pp. 63–77. Springer (2010)

  53. Paige, R.F., Kolovos, D.S., Rose, L.M., Drivalos, N., Polack, F.A.C.: The design of a conceptual framework and technical infrastructure for model management language engineering. In: International Conference on Engineering of Complex Computer Systems, pp. 162–171. IEEE Computer Society (2009)

  54. Perrouin, G., Amrani, M., Acher, M., Combemale, B., Legay, A., Schobbens, P.Y.: Featured model types: towards systematic reuse in modelling language engineering. In: Workshop on Modeling in Software Engineering, pp. 1–7. IEEE (2016)

  55. Rivera, J.E., Ruiz-Gonzalez, D., Lopez-Romero, F., Bautista, J., Vallecillo, A.: Orchestrating ATL model transformations. In: MtATL 2009, 34–46 (2009)

  56. Saks, K.: JSR 318: Enterprise java beans, version 3.1. http://download.oracle.com/otndocs/jcp/ejb-3.1-mrel-evalu-oth-JSpec/ (2009)

  57. Salay, R., Zschaler, S., Chechik, M.: Correct reuse of transformations is hard to guarantee. In: Theory and Practice of Model Transformations, LNCS, vol. 9765, pp. 107–122. Springer (2016)

  58. Sánchez Cuadrado, J., García Molina, J.: Approaches for model transformation reuse: factorization and composition. In: Theory and Practice of Model Transformations, LNCS, vol. 5063, pp. 168–182. Springer (2008)

  59. Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Reverse engineering of model transformations for reusability. In: Theory and Practice of Model Transformations, LNCS, vol. 8568, pp. 186–201. Springer (2014)

  60. Sánchez Cuadrado, J., García Molina, J.: Modularization of model transformations through a phasing mechanism. Softw. Syst. Model. 8(3), 325–345 (2009)

    Article  Google Scholar 

  61. Sánchez Cuadrado, J., Guerra, E., de Lara, J.: A component model for model transformations. IEEE Trans. Softw. Eng. 40(11), 1042–1060 (2014)

    Article  Google Scholar 

  62. Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)

    Article  Google Scholar 

  63. Steel, J., Jézéquel, J.M.: On model typing. Softw. Syst. Model. 6(4), 401–414 (2007)

    Article  Google Scholar 

  64. Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data Knowl. Eng. 35(1), 83–106 (2000)

    Article  Google Scholar 

  65. Strüber, D., Rubin, J., Arendt, T., Chechik, M., Taentzer, G., Plöger, J.: Variability-based model transformation: formal foundation and application. Fundam. Approaches Softw. Eng. 30(1), 133–162 (2018)

    MathSciNet  MATH  Google Scholar 

  66. Survey raw material. http://bit.ly/bellairs18. Accessed 11 Nov 2018

  67. Sutîi, A.M., 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 

  68. Van Gorp, P.: Applying traceability and cloning techniques to compose input-destructive model transformations into an input-preserving chain. In: Workshop on Composition and Evolution of Model Transformations. King’s College (2011)

  69. van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. Computer 33(3), 78–85 (2000)

    Article  Google Scholar 

  70. Vanhooff, B., Ayed, D., Baelen, S.V., Joosen, W., Berbers, Y.: UniTI: a unified transformation infrastructure. In: Model Driven Engineering Languages and Systems, LNCS, vol. 4735, pp. 31–45. Springer (2007)

  71. Varró, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: The Unified Modeling Language. Modeling Languages and Applications, LNCS, vol. 3273, pp. 290–304. Springer (2004)

  72. Wagelaar, D., Straeten, R.V.D., Deridder, D.: Module superimposition: a composition technique for rule-based model transformation languages. Softw. Syst. Model. 9(3), 285–309 (2010)

    Article  Google Scholar 

  73. Whittle, J., Hutchinson, J.E., Rouncefield, M.: The state of practice in model-driven engineering. IEEE Softw. 31(3), 79–85 (2014)

    Article  Google Scholar 

  74. Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Surviving the heterogeneity jungle with composite mapping operators. In: Theory and Practice of Model Transformations, LNCS, vol. 6142, pp. 260–275. Springer (2010)

  75. Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W., Kolovos, D.S., Paige, R.F., Lauder, M., Schürr, A., Wagelaar, D.: Surveying rule inheritance in model-to-model transformation languages. J. Object Technol. 11(2), 3-1 (2012)

    Article  Google Scholar 

  76. Wuliang, S., Combemale, B., Derrien, S., France, R.: Using model types to support contract-aware model substitutability. In: European Conference on Modelling Foundations and Applications, LNCS, vol. 7949, pp. 118–133. Springer (2013)

  77. Zschaler, S.: Towards constraint-based model types: A generalised formal foundation for model genericity. In: Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, pp. 11–18. ACM (2014)

Download references

Acknowledgements

We are grateful to all participants in the survey for their support, and to all participants in the 1st workshop on Unifying Software Reuse at Bellairs for their feedback on the feature model. This work has been partially funded by the Spanish Ministry of Science (RTI2018-095255-B-I00) and the Madrid Region (S2018/TCS-4314).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Benoit Combemale.

Additional information

Communicated by Dr. Jesús Sánchez Cuadrado and Arend Rensink.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bruel, JM., Combemale, B., Guerra, E. et al. Comparing and classifying model transformation reuse approaches across metamodels. Softw Syst Model 19, 441–465 (2020). https://doi.org/10.1007/s10270-019-00762-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-019-00762-9

Keywords

Navigation