Software & Systems Modeling

, Volume 14, Issue 2, pp 537–572 | Cite as

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

  • A. Kusel
  • J. Schönböck
  • M. Wimmer
  • G. Kappel
  • W. Retschitzegger
  • W. Schwinger
Theme Section Paper

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.

Keywords

Reuse mechanisms Model transformations Survey Model-driven engineering 

References

  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(1), 181–192 (2005)Google Scholar
  2. 2.
    Aho, A., Sethi, R., Ullman, J.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, MA (1986)Google Scholar
  3. 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)Google Scholar
  4. 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)Google Scholar
  5. 5.
    AtlanMod Team. ATL website. http://www.eclipse.org/atl. Last accessed: March 2013
  6. 6.
    Baar, T.: On the need of user-defined libraries in OCL. ECEASST, 36 (2010)Google Scholar
  7. 7.
    Balasubramanian, D., Narayanan, A., van Buskirk, C.P., Karsai, G.: The graph rewriting and transformation language: GReAT. ECEASST 1 (2006)Google Scholar
  8. 8.
    Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 171–188 (2005)CrossRefGoogle Scholar
  9. 9.
    Bézivin, J., Rumpe, B., Schürr, A., Tratt, L.: Model transformations in practice workshop @ MoDELS’05. Montego Bay, Jamaica (2005)Google Scholar
  10. 10.
    Biggerstaff, T.J., Richter, C.: Reusability framework, assessment, and diretions. IEEE Softw. 4(2), 41–49 (1987)CrossRefGoogle Scholar
  11. 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)Google Scholar
  12. 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)Google Scholar
  13. 13.
    Cariou, E., Belloir, N., Barbier, F., Djemam, N.: OCL contracts for the verification of model transformations. ECEASST, 24 (2009)Google Scholar
  14. 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)Google Scholar
  15. 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)Google Scholar
  16. 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. 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)Google Scholar
  18. 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)Google Scholar
  19. 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)Google Scholar
  20. 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)CrossRefGoogle Scholar
  21. 21.
    Cuadrado, J.S., Molina, J.G.: Modularization of model transformations through a phasing mechanism. Softw. Syst. Model. 8(3), 325–345 (2009)CrossRefGoogle Scholar
  22. 22.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)CrossRefGoogle Scholar
  23. 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)Google Scholar
  24. 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)CrossRefGoogle Scholar
  25. 25.
    Eclipse Community. QVT-O website. http://www.eclipse.org/mmt/?project=qvto. Last accessed: March 2013
  26. 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)Google Scholar
  27. 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)Google Scholar
  28. 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)Google Scholar
  29. 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)Google Scholar
  30. 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)Google Scholar
  31. 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)Google Scholar
  32. 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)Google Scholar
  33. 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)CrossRefGoogle Scholar
  34. 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)Google Scholar
  35. 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)Google Scholar
  36. 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)Google Scholar
  37. 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)Google Scholar
  38. 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)Google Scholar
  39. 39.
    Kavimandan, A., Gokhale, A., Karsai, G., Gray, J.: Templatized model transformations: enabling reuse in model transformations. Vanderbilt University, Technical report (2009)Google Scholar
  40. 40.
    Kiczales, G.: Aspect-oriented programming. ACM Comput. Surv. 28(4), 154 (1996)CrossRefGoogle Scholar
  41. 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)Google Scholar
  42. 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)Google Scholar
  43. 43.
    Kramer, J.: Is abstraction the key to computing? Commun. ACM 50, 36–42 (2007)CrossRefGoogle Scholar
  44. 44.
    Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (1992)CrossRefMathSciNetGoogle Scholar
  45. 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)Google Scholar
  46. 46.
    Kurtev, I.: Application of reflection in a model transformation language. Softw. Syst. Model. 9(3), 311–333 (2010)CrossRefGoogle Scholar
  47. 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)Google Scholar
  48. 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)CrossRefGoogle Scholar
  49. 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)Google Scholar
  50. 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)CrossRefGoogle Scholar
  51. 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)Google Scholar
  52. 52.
    Mili, A., Mili, R., Mittermeir, R.: A survey of software reuse libraries. Ann. Softw. Eng. 5, 349–414 (1998)CrossRefGoogle Scholar
  53. 53.
    Mili, H., Mili, F., Mili, A.: Reusing software: issues and research directions. IEEE Trans. Softw. Eng. 21(6), 528–562 (1995)CrossRefGoogle Scholar
  54. 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)Google Scholar
  55. 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)Google Scholar
  56. 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)Google Scholar
  57. 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)Google Scholar
  58. 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)Google Scholar
  59. 59.
    Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)CrossRefGoogle Scholar
  60. 60.
    Schönböck, J.: Testing and debugging of model transformations. Ph.D. thesis, Vienna University of Technology, Business Informatics Group (2011)Google Scholar
  61. 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)Google Scholar
  62. 62.
    Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)CrossRefGoogle Scholar
  63. 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)Google Scholar
  64. 64.
    Steel, J., Jézéquel, J.-M.: On model typing. Softw. Syst. Model. 6, 401–413 (2007)CrossRefGoogle Scholar
  65. 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)Google Scholar
  66. 66.
    TATA Research Development and Design. ModelMorf website. http://www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm. Last accessed: March 2013
  67. 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)Google Scholar
  68. 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)Google Scholar
  69. 69.
    Triskell Team. Kermeta website. http://www.kermeta.org. Last accessed: March 2013
  70. 70.
    University of York. ETL Website. http://www.eclipse.org/epsilon/doc/etl. Last accessed: March 2013
  71. 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)Google Scholar
  72. 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)Google Scholar
  73. 73.
    Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Sci. Comput. Program. 68(3), 214–234 (2007)CrossRefMATHGoogle Scholar
  74. 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)Google Scholar
  75. 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)Google Scholar
  76. 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)Google Scholar
  77. 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)Google Scholar
  78. 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)Google Scholar
  79. 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)CrossRefGoogle Scholar
  80. 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)Google Scholar
  81. 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)Google Scholar
  82. 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)Google Scholar
  83. 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. 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)Google Scholar
  85. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • A. Kusel
    • 1
  • J. Schönböck
    • 2
  • M. Wimmer
    • 3
    • 4
  • G. Kappel
    • 4
  • W. Retschitzegger
    • 1
  • W. Schwinger
    • 1
  1. 1.Johannes Kepler University LinzLinzAustria
  2. 2.Upper Austrian University of Applied SciencesHagenbergAustria
  3. 3.University of MálagaMálagaSpain
  4. 4.Vienna University of TechnologyViennaAustria

Personalised recommendations