Software & Systems Modeling

, Volume 13, Issue 1, pp 323–359 | Cite as

Graph and model transformation tools for model migration

Empirical results from the transformation tool contest
  • Louis M. Rose
  • Markus Herrmannsdoerfer
  • Steffen Mazanek
  • Pieter Van Gorp
  • Sebastian Buchwald
  • Tassilo Horn
  • Elina Kalnina
  • Andreas Koch
  • Kevin Lano
  • Bernhard Schätz
  • Manuel Wimmer
Theme Section Paper

Abstract

We describe the results of the Transformation Tool Contest 2010 workshop, in which nine graph and model transformation tools were compared for specifying model migration. The model migration problem—migration of UML activity diagrams from version 1.4 to version 2.2—is non-trivial and practically relevant. The solutions have been compared with respect to several criteria: correctness, conciseness, understandability, appropriateness, maturity and support for extensions to the core migration task. We describe in detail the comparison method, and discuss the strengths and weaknesses of the solutions with a special focus on the differences between graph and model transformation for model migration. The comparison results demonstrate tool and language features that strongly impact the efficacy of solutions, such as support for retyping of model elements. The results are used to motivate an agenda for future model migration research (including suggestions for areas in which the tools need to be further improved).

Keywords

Model transformation Graph transformation Co-evolution 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Asztalos, M., Lengyel, L., Levendovszky, T., Charaf, H.: Termination analysis of the transformation UML to CSP. In: International Symposium of Hungarian Researchers on Computational Intelligence and Informatics (2007)Google Scholar
  2. 2.
    Barzdins, J., Kalnins, A., Rencis, E., Rikacovs, S.: Model transformation languages and their implementation by bootstrapping method. In: Pillars of Computer Science. LNCS, vol. 4800, pp. 130–145. Springer, Berlin (2008)Google Scholar
  3. 3.
    Biermann E., Ermel C., Lambers L., Prange U., Runge O., Taentzer G.: Introduction to AGG and EMF Tiger by modeling a conference scheduling system. Int. J. Softw. Tools Technol. Transf. 12, 245–261 (2010)CrossRefGoogle Scholar
  4. 4.
    Blomer, J., Geiß, R., Jakumeit, E.: The GrGen.NET User Manual. http://www.grgen.net. Feb 2011
  5. 5.
    Buchwald, S., Jakumeit, E.: A GrGen.NET solution of the model migration case for the Transformation Tool Contest 2010. In: TTC’10: Transformation Tool Contest (2010). Share Demo: http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=Ubuntu-8.10_TTC10_GrGen.NET_v2.vdi (Ubuntu). http://is.ieis.tue.nl/staff/pvgorp/share/?page=Con-figureNewSession&vdi=XP-TUe_TTC10_GrGen.NET_v2.vdi (Windows XP)
  6. 6.
    Burmester, S., Giese, H., Hirsch, M., Schilling, D., Tichy, M.: The fujaba real-time tool suite: model-driven development of safety-critical, real-time systems. In: Proceedings of the 27th International Conference on Software Engineering (ICSE), St. Louis, Missouri, USA (2005)Google Scholar
  7. 7.
    Cicchetti, A., Meyers, B., Wimmer, M.: Abstract and concrete syntax migration of instance models. In: TTC’10: Transformation Tool Contest (2010). Share Demo: http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureewSession&vdi=XP-TUe_TTC10_holetown_crew.vdi
  8. 8.
    Cicchetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: EDOC’08: International IEEE Enterprise Distributed Object Computing Conference, pp. 222–231. IEEE (2008)Google Scholar
  9. 9.
    Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)CrossRefGoogle Scholar
  10. 10.
    de Lara J., Bardohl R., Ehrig H., Ehrig K., Prange U., Taentzer G.: Attributed graph transformation with node type inheritance. Theor. Comput. Sci. 376(3), 139–163 (2007)CrossRefMATHGoogle Scholar
  11. 11.
    Di Ruscio, D., Laemmel, R., Pierantonio, A.: Automated co-evolution of GMF editor models. In: SLE’10: International Conference on Software Language Engineering. LNCS, vol. 6563, pp. 143–162. Springer, Berlin (2011)Google Scholar
  12. 12.
    Ebert, J., Bildhauer, D.: Reverse engineering using graph queries. In: Graph Transformations and Model Driven Engineering. LNCS, vol. 5765. Springer, Berlin (2010)Google Scholar
  13. 13.
    Ebert, J., Riediger, V., Winter, A.: Graph technology in reverse engineering, The TGraph Approach. In: WSR’08: Workshop Software Reengineering. GI Lecture Notes in Informatics, vol. 126. GI (2008)Google Scholar
  14. 14.
    Erlikh L.: Leveraging legacy system dollars for e-business. IT Professional 2(3), 17–23 (2000)CrossRefGoogle Scholar
  15. 15.
    Frankel D.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, New York (2002)Google Scholar
  16. 16.
    Garcés, K., Jouault, F., Cointe, P., Bézivin, J.: Managing model adaptation by precise detection of metamodel changes. In: ECMDA-FA’09: European Conference on Model Driven Architecture—Foundations and Applications. LNCS, vol. 5562, pp. 34–49. Springer, Berlin (2009)Google Scholar
  17. 17.
    Geiger L., Zündorf A.: Fujaba case studies for GraBaTs 2008: lessons learned. Int. J. Softw. Tools Technol. Transf. 12, 287–304 (2010)CrossRefGoogle Scholar
  18. 18.
    Geiß, R., Kroll, M.: On improvements of the Varro benchmark for graph transformation tools. Technical Report 2007-7, Universität Karlsruhe, IPD Goos, 12. ISSN:1432-7864 (2007)Google Scholar
  19. 19.
    Glass G.V., Hopkins K.D.: Statistical Methods in Education and Psychology. Allyn & Bacon, New York (1995)Google Scholar
  20. 20.
    Gordon R.: A qualitative justification for a measure of program clarity. IEEE Trans. Softw. Eng. 5(2), 121–128 (1979)CrossRefMATHGoogle Scholar
  21. 21.
    Gorp, P.V., Muliawan, O., Keller, A., Janssens, D.: Executing a standard compliant transformation model on a non-standard platform. In: AGTIVE’07: International Workshop and Symposium on Applications of Graph Transformation with Industrial Relevance. University of Kassel (2007)Google Scholar
  22. 22.
    Gronback R.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2009)Google Scholar
  23. 23.
    Grønmo, R., Møller-Pedersen, B., Olsen, G.: Comparison of three model transformation languages. In: ECMDA-FA’09: European Conference on Model Driven Architecture—Foundations and Applications. LNCS, vol. 5562, pp. 2–17. Springer, Berlin (2009)Google Scholar
  24. 24.
    Habel, A., Plump, D.: Computational completeness of programming languages based on graph transformation. In: Proc. FoSSaCS 2001. LNCS, vol. 2030, pp. 230–245 (2001)Google Scholar
  25. 25.
    Halstead M.: Elements of Software Science. Elsevier, New York (1977)MATHGoogle Scholar
  26. 26.
    Herrmannsdoerfer, M.: Migrating UML activity models with COPE. In: TTC’10: Transformation Tool Contest (2010). Share Demo: http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=XP-TUe_TTC10_COPE.vdi
  27. 27.
    Herrmannsdoerfer, M., Benz, S., Juergens, E.: Automatability of coupled evolution of metamodels and models in practice. In: MODELS’08: International Conference on Model Driven Engineering Languages and Systems. LNCS, vol. 5301, pp. 645–659. Springer, Berlin (2008)Google Scholar
  28. 28.
    Herrmannsdoerfer, M., Benz, S., Juergens, E.: COPE: a language for the coupled evolution of metamodels and models. In: MCCM’08: International Workshop on Model Co-Evolution and Consistency Management (2008)Google Scholar
  29. 29.
    Herrmannsdoerfer, M., Benz, S., Juergens, E.: COPE—automating coupled evolution of metamodels and models. In: ECOOP’09: European Conference on Object-Oriented Programming. LNCS, vol. 5653, pp. 52–76. Springer, Berlin (2009)Google Scholar
  30. 30.
    Herrmannsdoerfer, M., Koegel, M.: Towards semantics-preserving model migration. In: Deridder, D., Schaetz, B., Tamzalit, D., Pierantonio, A. (eds.) International Workshop on Models and Evolution (2010)Google Scholar
  31. 31.
    Herrmannsdoerfer, M., Ratiu, D., Wachsmuth, G.: Language evolution in practice: the history of GMF. In: SLE’09: International Conference on Software Language Engineering. LNCS, vol. 5969, pp. 3–22. Springer, Berlin (2010)Google Scholar
  32. 32.
    Herrmannsdoerfer, M., Vermolen, S., Wachsmuth, G.: An extensive catalog of operators for the coupled evolution of metamodels and models. In: SLE’10: International Conference on Software Language Engineering. LNCS, vol. 6563, pp. 163–182. Springer, Berlin (2011)Google Scholar
  33. 33.
    Horn, T.: Model migration with GReTL. In: TTC’10: Transformation Tool Contest, 2010. Share Demo: http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=Ubuntu-8.10_TTC10_GReTL_demo2.vdi
  34. 34.
    Horn, T., Ebert, J.: The gretl transformation language. In: Cabot, J., Visser, E. (eds.) ICMT. LNCS, vol. 6707, pp. 183–197. Springer, Berlin (2011)Google Scholar
  35. 35.
    Horn, T., Ebert, J.: GReTL: an extensible, operational, graph-based transformation language. Softw. Syst. Model (2012, accepted)Google Scholar
  36. 36.
    Horváth A., Bergmann G., Ráth I., Varró D.: Experimental assessment of combining pattern matching strategies with VIATRA2. Int. J. Softw. Tools Technol. Transf. 12, 211–230 (2010)CrossRefGoogle Scholar
  37. 37.
    Jakumeit E., Buchwald S., Kroll M.: GrGen.NET—the expressive, convenient and fast graph rewrite system. Int. J. Softw. Tools Technol. Transf. 12, 263–271 (2010)CrossRefGoogle Scholar
  38. 38.
    Jouault, F.: Loosely coupled traceability for ATL. In: ECMDA-TW’05: European Conference on Model Driven Architecture—Traceability Workshop, pp. 29–37 (2005)Google Scholar
  39. 39.
    Jouault F., Allilaire F., Bézivin J., Kurtev I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)CrossRefMATHGoogle Scholar
  40. 40.
    Kalnina, E., Kalnins, A., Iraids, J., Sostaks, A., Celms, E.: Model migration with MOLA. In: TTC’10: Transformation Tool Contest, 2010. Share Demo: http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=XP-TUe_TTC10_MOLA_model_migration.vdi (2010)
  41. 41.
    Kalnins, A., Barzdins, J., Celms, E.: Model transformation language MOLA. In: MDAFA’04: Model Driven Architecture, European MDA Workshop: Foundations and Applications, pp. 14–28, Linkoeping, Sweden (2004)Google Scholar
  42. 42.
    Koch, A., Jubeh, R., Zündorf, A.: UML1.4 to 2.1 activity diagram model migration with Fujaba—a case study. In: TTC’10: Transformation Tool Contest, 2010. Share Demo: http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=Ubuntu-8.10_TTC10_fujaba-modelmigration.vdi (2010)
  43. 43.
    Lano, K., Rahimi, S.K.: Model migration transformation specification in UML-RSDS. In: TTC’10: Transformation Tool Contest (2010)Google Scholar
  44. 44.
    Lawley, M., Steel, J.: Practical declarative model transformation with Tefkat. In: Bruel, J.-M. (ed.) MoDELS Satellite Events. LNCS, vol. 3844, pp. 139–150. Springer, Berlin (2005)Google Scholar
  45. 45.
    Mankins, J.C.: Technology Readiness Levels: A White Paper. NASA (1995)Google Scholar
  46. 46.
    Mazanek, S., Rutetzki, C., Minas, M.: Tool demonstration of the transformation judge. In: AGTIVE 2011. Springer, Berlin (2011, accepted)Google Scholar
  47. 47.
    McCabe T.: A complexity measure. IEEE Trans. Softw. Eng. 2(4), 308–320 (1976)CrossRefMATHMathSciNetGoogle Scholar
  48. 48.
    Mens T., Demeyer S.: Software Evolution. Springer, Berlin (2007)Google Scholar
  49. 49.
    Mens T., Van Gorp P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  50. 50.
    Mészáros T., Mezei G., Levendovszky T., Asztalos M.: Manual and automated performance optimization of model transformation systems. Int. J. Softw. Tools Technol. Transf. 12, 231–243 (2010)CrossRefGoogle Scholar
  51. 51.
    Misue K., Eades P., Lai W., Sugiyama K.: Layout adjustment and the mental map. J. Visual Lang. Comput. 6(2), 183–210 (1995)CrossRefGoogle Scholar
  52. 52.
    Moad J.: Maintaining the competitive edge. Datamation 36(4), 61–66 (1990)Google Scholar
  53. 53.
    Moha N., Sen S., Faucher C., Barais O., Jézéquel J.-M.: Evaluation of Kermeta for solving graph-based problems. Int. J. Softw. Tools Technol. Transf. 12, 273–285 (2010)CrossRefGoogle Scholar
  54. 54.
    Muliawan, O., Gorp, P.V., Keller, A., Janssens, D.: Executing a standard compliant transformation model on a non-standard platform. In: MoDeVVA’08: Model Driven Engineering, Verification, and Validation: Integrating Verification and Validation in MDE, pp. 151–160. IEEE (2008)Google Scholar
  55. 55.
    Muliawan O., Janssens D.: Model refactoring using MoTMoT. Int. J. Softw. Tools Technol. Transf. 12, 201–209 (2010)CrossRefGoogle Scholar
  56. 56.
    Narayanan, A., Levendovszky, T., Balasubramanian, D., Karsai, G.: Automatic domain model migration to manage metamodel evolution. In: MODELS’09: International Conference on Model Driven Engineering Languages and Systems. LNCS, vol. 5795, pp. 706–711. Springer, Berlin (2009)Google Scholar
  57. 57.
    OMG. Unified Modelling Language 1.4 Specification. Accessed 02 Nov 2010. http://www.omg.org/spec/UML/1.4/ (2001)
  58. 58.
    OMG. Unified Modelling Language 2.2 Specification. Accessed 02 Nov 2010. http://www.omg.org/spec/UML/2.2/ (2007)
  59. 59.
    Pérez J., Crespo Y., Hoffmann B., Mens T.: A case study to evaluate the suitability of graph transformation tools for program refactoring. Int. J. Softw. Tools Technol. Transf. 12, 183–199 (2010)CrossRefGoogle Scholar
  60. 60.
    Portney L., Watkins M.: Foundations of Clinical Research. Pearson/Prentice Hall, Upper Saddle River (2000)Google Scholar
  61. 61.
    Rencis, E.: Model transformation languages l1, l2, l3 and their implementation. Technical report, University of Latvia (2008)Google Scholar
  62. 62.
    Rensink A., Van Gorp P.: Graph transformation tool contest 2008. Int. J. Softw. Tools Technol. Transf. 12, 171–181 (2010)CrossRefGoogle Scholar
  63. 63.
    Rose, L., Herrmannsdoerfer, M., Williams, J., Kolovos, D., Garcés, K., Paige, R., Polack, F.: A comparison of model migration tools. In: Petriu, D., Rouquette, N., Haugen, Ø. (eds.) MODELS’10: International Conference on Model Driven Engineering Languages and Systems. LNCS, vol. 6394, pp. 61–75. Springer, Berlin (2010)Google Scholar
  64. 64.
    Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.: Migrating activity diagrams with Epsilon Flock. In: TTC’10: Transformation Tool Contest, 2010. Share Demo: http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=XP-TUe_TTC10_flockxp.vdi (2010)
  65. 65.
    Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.: Model migration case for TTC 2010. In: TTC’10: Transformation Tool Contest (2010)Google Scholar
  66. 66.
    Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.: Model migration with Epsilon Flock. In: ICMT’10: International Conference on Model Transformation. LNCS, vol. 6142, pp. 184–198. Springer, Berlin (2010)Google Scholar
  67. 67.
    Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.A.: An analysis of approaches to model migration. In: MoDSE-MCCM’09: Joint MoDSE-MCCM Workshop on Models and Evolution (2009)Google Scholar
  68. 68.
    Schätz, B.: UML model migration with PETE. In: TTC’10: Transformation Tool Contest, 2010. Share Demo: http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=Ubuntu-8.10_TTC10_PETE_model-migration.vdi (2010)
  69. 69.
    Schätz, B.: Verification of model transformations. ECEASST: Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 29 (2010)Google Scholar
  70. 70.
    Selic, B.: What’s new in UML 2.0? IBM Rational software (2005)Google Scholar
  71. 71.
    Sommerville I.: Software Engineering, 9th edn. Addison-Wesley, Boston (2006)Google Scholar
  72. 72.
    Sprinkle J., Karsai G.: A domain-specific visual language for domain model evolution. J. Visual Lang. Comput. 15(3–4), 291–307 (2004)CrossRefGoogle Scholar
  73. 73.
    Street, J.A., Pettit, R.G.: The impact of UML 2.0 on existing UML 1.4 models. In: MODELS’05: International Conference on Model Driven Engineering Languages and Systems. LNCS, vol. 3713, pp. 431–444. Springer, Berlin (2005)Google Scholar
  74. 74.
    Syriani, E., Vangheluwe, H.: De-/re-constructing model transformation languages. ECEASST 29 (2010)Google Scholar
  75. 75.
    Taentzer, G., Ehrig, K., Guerra, E., Lara, J.D., Levendovszky, T., Prange, U., Varro, D.: Model transformations by graph transformations: a comparative study. In: Model Transformations in Practice Workshop at MODELS 2005, Montego, p. 5 (2005)Google Scholar
  76. 76.
    van Amstel, M., Lange, C.F.J., van den Brand, M.: Using metrics for assessing the quality of ASF+SDF model transformations. In: Paige, R.F. (ed.) ICMT’09: International Conference on Model Transformation. LNCS, vol. 5563, pp. 239–248. Springer, Berlin (2009)Google Scholar
  77. 77.
    van Amstel, M.F., Bosems, S., Pires, L.F., Kurtev, I.: Performance in model transformations: a comparison between ATL and QVT. In: ICMT’11: International Conference on Model Transformation. LNCS, vol. 6707, pp. 198–212. Springer, Berlin (2011)Google Scholar
  78. 78.
    Van Gorp, P.: Model-driven development of model transformations. In: Proceedings of the 4th International Conference on Graph Transformations, ICGT’08, pp. 517–519. Springer, Berlin (2008)Google Scholar
  79. 79.
    Van Gorp, P., Eshuis, R.: Transforming process models: executable rewrite rules versus a formalized java program. In: MODELS’10: International Conference on Model Driven Engineering Languages and Systems. LNCS, vol. 6395, pp. 258–272. Springer, Berlin (2010)Google Scholar
  80. 80.
    Van Gorp P., Keller A., Janssens D.: Transformation language integration based on profiles and higher order transformations. In: Gaevic, D., Lmmel, R., Van Wyk, E. (eds) Software Language Engineering. LNCS, vol. 5452, pp. 208–226. Springer, Berlin (2009)Google Scholar
  81. 81.
    Varró, D., Asztalos, M., Bisztray, D., Boronat, A., Dang, D.-H., Geiß, R., Greenyer, J., Van Gorp, P., Kniemeyer, O., Narayanan, A., Rencis, E., Weinell, E.: Transformation of UML models to CSP: a case study for graph transformation tools. In: AGITIVE’08: International Symposium on Applications of Graph Transformation with Industrial Relevance. LNCS, vol. 5088, pp. 540–565. Springer, Berlin (2008)Google Scholar
  82. 82.
    Varró, G., Schürr, A., Varró, D.: Benchmarking for graph transformation. In: VL/HCC, pp. 79–88. IEEE Computer Society (2005)Google Scholar
  83. 83.
    Visser, E.: A survey of rewriting strategies in program transformation systems. Electron. Notes Theor. Comput. Sci. 57(2) (2001)Google Scholar
  84. 84.
    Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: ECOOP’07: European Conference on Object-Oriented Programming. LNCS, vol. 4609, pp. 600–624. Springer, Berlin (2007)Google Scholar
  85. 85.
    Wimmer, M., Kusel, A., Schönböck, J., Retschitzegger, W., Schwinger, W., Kappel, G.: On using inplace transformations for model co-evolution. In: Proceedings of the 2nd International Workshop on Model Transformation with ATL (MtATL) at TOOLS’10, pp. 65–78. CEUR Workshop Proceedings, vol. 711 (2010)Google Scholar
  86. 86.
    Zündorf, A.: Rigorous object oriented software development. Habilitation thesis, University of Paderborn (2001)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Louis M. Rose
    • 1
  • Markus Herrmannsdoerfer
    • 2
  • Steffen Mazanek
    • 2
  • Pieter Van Gorp
    • 3
  • Sebastian Buchwald
    • 4
  • Tassilo Horn
    • 5
  • Elina Kalnina
    • 6
  • Andreas Koch
    • 7
  • Kevin Lano
    • 8
  • Bernhard Schätz
    • 9
  • Manuel Wimmer
    • 10
  1. 1.University of YorkYorkUK
  2. 2.Institut für InformatikTechnische Universität MünchenMunichGermany
  3. 3.Eindhoven University of TechnologyEindhovenThe Netherlands
  4. 4.Karlsruhe Institute of Technology (KIT)KarlsruheGermany
  5. 5.Institute for Software TechnologyUniversity Koblenz-LandauLandauGermany
  6. 6.IMCS, University of LatviaRigaLatvia
  7. 7.Software Engineering Research GroupKassel UniversityKasselGermany
  8. 8.Kings College LondonLondonUK
  9. 9.Fortiss GmbHMunichGermany
  10. 10.Vienna University of TechnologyViennaAustria

Personalised recommendations