Skip to main content
Log in

Reuse in model-to-model transformation languages: are we there yet?

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

Abstract

In the area of model-driven engineering, model transformations are proposed as the technique to systematically manipulate models. For increasing development productivity as well as quality of model transformations, reuse mechanisms are indispensable. Although numerous mechanisms have been proposed, no systematic comparison exists, making it unclear, which reuse mechanisms may be best employed in a certain situation. Thus, this paper provides an in-depth comparison of reuse mechanisms in model-to-model transformation languages and categorizes them along their intended scope of application. Finally, current barriers and facilitators to model transformation reuse are discussed.

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://www.kermeta.org.

  2. http://www.moflon.org.

  3. http://www.eclipse.org/viatra2.

  4. http://www.eclipse.org/atl.

  5. http://www.eclipse.org/epsilon/doc/etl.

  6. http://rubytl.rubyforge.org.

  7. http://www.eclipse.org/m2m/atl/atlTransformations.

  8. We refrain to speak about internal versus external DSLs, because this dichotomy reflects if a DSL is implemented by using the host language in which it is used or not. In contrast, we are only considering if the DSL is intended to be usable within a host language or not, independent of how it is implemented.

  9. http://ant.apache.org/.

  10. http://opensource.urszeidler.de/ATLflow/.

  11. Online at http://www.modeltransformation.net.

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(1), 181–192 (2005)

    Google Scholar 

  2. Aho, A., Sethi, R., Ullman, J.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, MA (1986)

    Google Scholar 

  3. Allen, E., Cartwright, R., Stoler, B.: Efficient implementation of run-time generic types for Java. In: Proceedings of the IFIP Working Conference on Generic Programming, vol. 243 of IFIP Conference Proceedings, pp. 207–236. Kluwer (2002)

  4. Amrani, M., Dingel, J., Lambers, L., Lucio, L., Salay, R., Selim, G., Syriani, E., Wimmer, M.: Towards a model transformation intent catalog. In: Proceedings of the 1st International Workshop on the Analysis of Model Transformations (AMT) @ MoDELS’12, pp. 3–8. ACM (2012)

  5. AtlanMod Team. ATL website. http://www.eclipse.org/atl. Last accessed: March 2013

  6. Baar, T.: On the need of user-defined libraries in OCL. ECEASST, 36 (2010)

  7. Balasubramanian, D., Narayanan, A., van Buskirk, C.P., Karsai, G.: The graph rewriting and transformation language: GReAT. ECEASST 1 (2006)

  8. Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 171–188 (2005)

    Article  Google Scholar 

  9. Bézivin, J., Rumpe, B., Schürr, A., Tratt, L.: Model transformations in practice workshop @ MoDELS’05. Montego Bay, Jamaica (2005)

  10. Biggerstaff, T.J., Richter, C.: Reusability framework, assessment, and diretions. IEEE Softw. 4(2), 41–49 (1987)

    Article  Google Scholar 

  11. Burgueno, L., Wimmer, M., Vallecillo, A.: Towards tracking guilty transformation rules. In Proceedings of the 1st International Workshop on the Analysis of Model Transformations @ MoDELS’12 (2012)

  12. Cabot, J., Mazón, J.-N., Pardillo, J., Trujillo, J.: Specifying aggregation functions in multidimensional models with OCL. In: Proceedings of 29th International Conference on Conceptual Modeling (ER’10), vol. 6412 of Lecture Notes in Computer Science, pp. 419–432. Springer (2010)

  13. Cariou, E., Belloir, N., Barbier, F., Djemam, N.: OCL contracts for the verification of model transformations. ECEASST, 24 (2009)

  14. Chenouard, R., Jouault, F.: Automatically discovering hidden transformation chaining constraints. In: Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems (MODELS’09), vol. 5795 of Lecture Notes in Computer Science, pp. 92–106. Springer (2009)

  15. Chimiak-Opoka, J.: OCLLib, OCLUnit, OCLDoc: pragmatic extensions for the object constraint language. In: Proceedings of the 12th international conference on model driven engineering languages and systems (MODELS’09), vol. 5795 of lecture notes in computer science, pp. 665–669. Springer (2009)

  16. Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading, MA (2001)

    Google Scholar 

  17. Cuadrado, J., García Molina, J.: Approaches for model transformation reuse: factorization and composition. In: Proceedings of the 1st International Conference on Theory and Practice of Model Transformations (ICMT’08), vol. 5063 of Lecture Notes in Computer Science, pp. 168–182. Springer (2008)

  18. Cuadrado, J., Guerra, E., de Lara, J.: Generic model transformations: write once, reuse everywhere. In: Proceedings of the 4th International Conference on Theory and Practice of Model Transformations (ICMT’11), vol. 6707 of Lecture Notes in Computer Science, pp. 62–77. Springer (2011)

  19. Cuadrado, J., Jouault, F., García Molina, J., Bézivin, J.: Experiments with a high-level navigation language. In: Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations (ICMT’09), vol. 5563 of Lecture Notes in Computer Science, pp. 229–238. Springer (2009)

  20. Cuadrado, J., Molina, J.G.: A model-based approach to families of embedded domain-specific languages. IEEE Trans. Softw. Eng. 35, 825–840 (2009)

    Article  Google Scholar 

  21. Cuadrado, J.S., Molina, J.G.: Modularization of model transformations through a phasing mechanism. Softw. Syst. Model. 8(3), 325–345 (2009)

    Article  Google Scholar 

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

    Article  Google Scholar 

  23. Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: Proceedings of the 3rd international conference on software product lines (SPLC’04), vol. 3154 of Lecture Notes in Computer Science, pp. 266–283. Springer (2004)

  24. Del Fabro, M., Valduriez, P.: Towards the efficient development of model transformations using model weaving and matching transformations. Softw. Syst. Model. 8(3), 305–324 (2009)

    Article  Google Scholar 

  25. Eclipse Community. QVT-O website. http://www.eclipse.org/mmt/?project=qvto. Last accessed: March 2013

  26. Falleri, J.-R., Huchard, M., Lafourcade, M., Nebut, C.: Metamodel matching for automatic model transformation generation. In: Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems (MODELS’08), vol. 5301 of Lecture Notes in Computer Science, pp. 326–340. Springer (2008)

  27. France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Proceedings of the Workshop on the Future of Software Engineering @ ICSE’07, pp. 37–54. IEEE Computer Society (2007)

  28. George, L., Wider, A., Scheidgen, M.: Type-safe model transformation languages as internal DSLs in scala. In: Proceedings of the 5th International Conference on Theory and Practice of Model Transformations (ICMT’12), vol. 7307 of Lecture Notes in Computer Science, pp. 160–175. Springer (2012)

  29. Gogolla, M., Vallecillo, A.: Tractable model transformation testing. In: Proceedings of the 7nd European Conference on Model Driven Architecture-Foundations and Applications (ECMDA-FA’11), vol. 6698 of Lecture Notes in Computer Science, pp. 221–235. Springer (2011)

  30. González, C.A., Cabot, J.: ATLTest: a white-box test generation approach for ATL transformations. In: Proceedings of the 15th International Conference on Model Driven Engineering Languages and Systems (MODELS’12), vol. 7590 of Lecture Notes in Computer Science, pp. 449–464. Springer (2012)

  31. Guerra, E.: Specification-driven test generation for model transformations. In: Proceedings of the 5th International Conference on Theory and Practice of Model Transformations (ICMT’12), vol. 7307 of Lecture Notes in Computer Science, pp. 40–55. Springer (2012)

  32. 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: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems (MODELS’10), vol. 6394 of Lecture Notes in Computer Science, pp. 106–120. Springer (2010)

  33. Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Automated verification of model transformations based on visual contracts. J. Autom. Softw. Eng. 20(1), 5–46 (2013)

    Article  Google Scholar 

  34. Günther, S., Cleenewerck, T.: Design principles for internal domain-specific languages: a pattern catalog illustrated by Ruby. In: Proceedings of the 17th International Conference on Pattern Languages of Programs (PLoP’10) (2010)

  35. Guy, C., Combemale, B., Derrien, S., Steel, J., Jézéquel, J.-M.: On model subtyping. In: Proceedings of the 8th European Conference on Model Driven Architecture-Foundations and Applications (ECMDA-FA’12), vol. 7349 of Lecture Notes in Computer Science, pp. 400–415. Springer (2012)

  36. Iacob, M.-E., Steen, M.W.A., Heerink, L.: Reusable model transformation patterns. In: Workshop Proceedings of the 12th Enterprise Distributed Object Computing Conference (EDOCW’08), pp. 1–10. IEEE Computer Society (2008)

  37. Jeanneret, C., Glinz, M., Baudry, B.: Estimating footprints of model operations. In: Proceedings of the 33rd International Conference on Software Engineering (ICSE’11), pp. 601–610. ACM (2011)

  38. Kappel, G., Kargl, H., Kramler, G., Schauerhuber, A., Seidl, M., Strommer, M., Wimmer, M.: Matching metamodels with semantic systems—an experience report. In: Workshop Band der Fachtagung Datenbanksysteme in Business, Technologie und Web (BTW’07), pp. 38–52 (2007)

  39. Kavimandan, A., Gokhale, A., Karsai, G., Gray, J.: Templatized model transformations: enabling reuse in model transformations. Vanderbilt University, Technical report (2009)

  40. Kiczales, G.: Aspect-oriented programming. ACM Comput. Surv. 28(4), 154 (1996)

    Article  Google Scholar 

  41. Klar, F., Königs, A., Schürr, A.: Model transformation in the large. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC-FSE’07), pp. 285–294. ACM (2007)

  42. Kleppe, A.: MCC: a model transformation environment. In: Proceedings of the 2nd European Conference on Model Driven Architecture-Foundations and Applications (ECMDA-FA’06), vol. 4066 of Lecture Notes in Computer Science, pp. 173–187. Springer (2006)

  43. Kramer, J.: Is abstraction the key to computing? Commun. ACM 50, 36–42 (2007)

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  45. Kühne, T., Mezei, G., Syriani, E., Vangheluwe, H., Wimmer, M.: Explicit transformation modeling. In: Models in Software Engineering-Reports and Revised Selected Papers of Workshops and Symposia at MoDELS’09, vol. 6002 of Lecture Notes in Computer Science, pp. 240–255. Springer (2009)

  46. Kurtev, I.: Application of reflection in a model transformation language. Softw. Syst. Model. 9(3), 311–333 (2010)

    Article  Google Scholar 

  47. Lau, K., Rana, T.: A taxonomy of software composition mechanisms. In: Proceedings of the 36th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA’10), pp. 102–110. IEEE (2010)

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

    Article  Google Scholar 

  49. Liskov, B., Wing, J.M.: A new definition of the subtype relation. In: Proceedings of the 7th European Conference on Object-Oriented Programming (ECOOP’93), vol. 707 of Lecture Notes in Computer Science, pp. 118–141. Springer (1993)

  50. Lucrédio, D., de Mattos Fortes, R.P., Whittle, J.: MOOGLE: a metamodel-based model search engine. Softw. Syst. Model. 11(2), 183–208 (2012)

    Article  Google Scholar 

  51. Ma, H., Shao, W., Zhang, L., Ma, Z., Jiang, Y.: Applying OO metrics to assess UML meta-models. In: Proceedings of the 7th international conference on the unified modelling language (UML’04), vol. 3273 of Lecture Notes in Computer Science. Springer (2004)

  52. Mili, A., Mili, R., Mittermeir, R.: A survey of software reuse libraries. Ann. Softw. Eng. 5, 349–414 (1998)

    Article  Google Scholar 

  53. Mili, H., Mili, F., Mili, A.: Reusing software: issues and research directions. IEEE Trans. Softw. Eng. 21(6), 528–562 (1995)

    Article  Google Scholar 

  54. Moha, N., Mahé, V., Barais, O., Jézéquel, J.-M.: Generic model refactorings. In: Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems (MODELS’09), vol. 5795 of Lecture Notes in Computer Science, pp. 628–643. Springer (2009)

  55. Oldevik, J.: Transformation composition modelling framework. In: Proceedings of the 5th international conference on distributed applications and interoperable systems (DAIS’05), vol. 3543 of Lecture Notes in Computer Science, pp. 108–114. Springer (2005)

  56. Randak, A., Martínez, S., Wimmer, M.: Extending ATL for native UML profile support: an experience report. In: Proceedings of the 3rd International Workshop on Model Transformation with ATL (MtATL’11), pp. 49–62. CEUR Workshop Proceedings (2011)

  57. Reiter, T., Wimmer, M., Kargl, H.: Towards a runtime model based on colored petri-nets for the execution of model transformations. In: Proceedings of the 3rd International Workshop on Models and Aspects @ ECOOP’07, pp. 19–23 (2007)

  58. Rivera, J.E., Ruiz-Gonzalez, D., Lopez-Romero, F., Bautista, J., Vallecillo, A.: Orchestrating ATL model transformations. In: Proceedings of the 1st International Workshop on Model Transformations with ATL (MtATL’09), pp. 34–46 (2009)

  59. Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)

    Article  Google Scholar 

  60. Schönböck, J.: Testing and debugging of model transformations. Ph.D. thesis, Vienna University of Technology, Business Informatics Group (2011)

  61. Sen, S., Mottu, J.-M., Tisi, M., Cabot, J.: Using models of partial knowledge to test model transformations. In: Proceedings of the 5th International Conference on Theory and Practice of Model Transformations (ICMT’12), vol. 7307 of Lecture Notes in Computer Science, pp. 24–39. Springer (2012)

  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. Sijtema, M.: Introducing variability rules in ATL for managing variability in MDE-based product lines. In: Proceedings of the 2nd International Workshop on Model Transformations with ATL (MtATL’10), pp. 39–49. CEUR Workshop Proceedings (2010)

  64. Steel, J., Jézéquel, J.-M.: On model typing. Softw. Syst. Model. 6, 401–413 (2007)

    Article  Google Scholar 

  65. Syriani, E., Gray, J.: Challenges for addressing quality factors in model transformation. In: Proceedings of the 5th International Conference on Software Testing, Verification and Validation (ICST’12), pp. 929–937. IEEE (2012)

  66. TATA Research Development and Design. ModelMorf website. http://www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm. Last accessed: March 2013

  67. Tisi, M., Cabot, J., Jouault, F.: Improving higher-order transformations support in ATL. In: Proceedings of the 3th International Conference on Theory and Practice of Model Transformations (ICMT 2010), vol. 6142 of Lecture Notes in Computer Science, pp. 215–229. Springer (2010)

  68. Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: Proceedings of the 5th European Conference on Model Driven Architecture-Foundations and Applications (ECMDA-FA’09), vol. 5562 of Lecture Notes in Computer Science, pp. 18–33. Springer (2009)

  69. Triskell Team. Kermeta website. http://www.kermeta.org. Last accessed: March 2013

  70. University of York. ETL Website. http://www.eclipse.org/epsilon/doc/etl. Last accessed: March 2013

  71. Vallecillo, A., Gogolla, M.: Typing model transformations using tracts. In: Proceedings of the 5th International Conference on Theory and Practice of Model Transformations (ICMT’12), vol. 7307 of Lecture Notes in Computer Science, pp. 56–71. Springer (2012)

  72. Vanhooff, B., Ayed, D., Van Baelen, S., Joosen, W., Berbers Y.: UniTI: a unified transformation infrastructure. In: Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems (MODELS’07), vol. 4735 of Lecture Notes in Computer Science, pp. 31–45. Springer (2007)

  73. Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Sci. Comput. Program. 68(3), 214–234 (2007)

    Article  MATH  Google Scholar 

  74. Varró, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: Proceedings of the 7th International Conference on the Unified Modelling Language (UML’04), vol. 3273 of Lecture Notes in Computer Science, pp. 290–304. Springer (2004)

  75. Vignaga, A., Jouault, F., Bastarrica, M.C., Bruneliere, H.: Typing in model management. In: Proceedings of the 2th International Conference on Theory and Practice of Model Transformations (ICMT’09), vol. 5563 of Lecture Notes in Computer Science, pp. 197–212. Springer (2009)

  76. Voelter, M., Groher, I.: Handling variability in model transformations and generators. In: Proceedings of the 7th International Workshop on Domain-Specific Modeling @ OOPSLA ’07 (2007)

  77. Voigt, K., Heinze, T.: Metamodel matching based on planar graph edit distance. In: Proceedings of the 3th International Conference on Theory and Practice of Model Transformations (ICMT’10), vol. 6142 of Lecture Notes in Computer Science, pp. 245–259. Springer (2010)

  78. Wagelaar, D.: Composition techniques for rule-based model transformation languages. In: Theory and Practice of Model Transformations, First International Conference, ICMT 2008, Zürich, Switzerland, 1–2 July 2008, Proceedings, vol. 5063 of Lecture Notes in Computer Science, pp. 152–167. Springer (2008)

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

    Article  Google Scholar 

  80. Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Surviving the heterogeneity jungle with composite mapping operators. In: Proceedings of the 3nd International Conference on Theory and Practice of Model Transformations (ICMT’10), vol. 6627 of Lecture Notes in Computer Science, pp. 260–275. Springer (2010)

  81. Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Towards an expressivity benchmark for mappings based on a systematic classification of heterogeneities. In: Proceedings of the International Workshop on Model-Driven Interoperability @ MoDELS 2010, pp. 32–41 (2010)

  82. Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Fact or fiction—reuse in rule-based model-to-model transformation languages. In: Proceedings of the 5th International Conference on Theory and Practice of Model Transformations (ICMT’12), vol. 7307 of Lecture Notes in Computer Science, pp. 280–295. Springer (2012)

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

    Google Scholar 

  84. Wimmer, M., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W., Sánchez Cuadrado, J., Guerra, E., De Lara, J.: Reusing model transformations across heterogeneous metamodels. In: Proceedings of the 5th International Workshop on Multi-Paradigm Modeling @ MoDELS’11 (2011)

  85. Wimmer, M., Schauerhuber, A., Kappel, G., Retschitzegger, W., Schwinger, W., Kapsammer, E.: A survey on UML-based aspect-oriented design modeling. ACM Comput. Surv. 43(4), 28 (2011)

    Article  Google Scholar 

Download references

Acknowledgments

This work has been funded by the Austrian Science Fund (FWF) under grant P21374-N13 and J3159-N23 as well as by the Austrian Research Promotion Agency (FFG) under project number 832160.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to J. Schönböck.

Additional information

Communicated by Prof. Zhenjiang Hu.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kusel, A., Schönböck, J., Wimmer, M. et al. Reuse in model-to-model transformation languages: are we there yet?. Softw Syst Model 14, 537–572 (2015). https://doi.org/10.1007/s10270-013-0343-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0343-7

Keywords

Navigation