Software & Systems Modeling

, Volume 14, Issue 3, pp 1215–1243 | Cite as

T-Core: a framework for custom-built model transformation engines

  • Eugene Syriani
  • Hans Vangheluwe
  • Brian LaShomb
Regular Paper


A large number of model transformation languages and tools have emerged since the early 2000s. A transformation engineer is thus left with too many choices for the language he use to perform a specific transformation task. Furthermore, it is currently not possible to combine or reuse transformations implemented in different languages. We therefore propose T-Core, a framework where primitive transformation constructs can be combined to define and encapsulate reusable model transformation idioms. In this context, the transformation engineer is free to use existing transformation building blocks from an extensible library or define his own transformation units. The proposed primitive transformation operators are the result of deconstructing different existing transformation languages. Reconstructing these languages offers a common basis to compare their expressiveness, provides a framework for inter-operating them, and allows the transformation engineer to design transformations with the most appropriate constructs for the task at hand.


Model transformation Domain-specific model transformation Transformation library Reengineering 


  1. 1.
    Agrawal, A., Karsai, G., Kalmar, Z., Neema, S., Shi, F., Vizhanyo, A.: The design of a language for model transformations. J. Softw. Syst. Model. 5(3), 261–288 (2006)CrossRefGoogle Scholar
  2. 2.
    Amrani, M., Dingel, J., Lambers, L., Lúcio, L., Salay, R., Selim, G., Syriani, E., Wimmer, M.: Towards a model transformation intent catalog. In: MoDELS Workshop on Analysis of Model Transformation. ACM, Innsbruck (2012)Google Scholar
  3. 3.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Petriu, D., Rouquette, N., Haugen, Ø. (eds.) Model Driven Engineering Languages and Systems, LNCS, vol. 6394, pp. 12–135. Springer (2010)Google Scholar
  4. 4.
    ATLAS group, LINA, INRIA Nantes: specification of the ATL virtual machine. (2005)
  5. 5.
    Balogh, A., Varró, D.: Pattern composition in graph transformation rules. In: European Workshop on Composition of Model Transformations. Bilbao (2006)Google Scholar
  6. 6.
    Barroca, B., Lúcio, L., Amaral, V., Felix, R., Sousa, V.: DSLTrans: a turing incomplete transformation language. In: International Conference on Software Language Engineering, LNCS. Springer, Eindhoven (2010)Google Scholar
  7. 7.
    Batz, G.V., Kroll, M., Geiß, R.: A first experimental evaluation of search plan driven graph pattern matching. In: Schürr, M., Nagl, Zündorf, A. (eds.) International Symposium on Applications of Graph Transformations with Industrial Relevance, LNCS, vol. 5088, pp. 471–486. Springer (2008)Google Scholar
  8. 8.
    Bergmann, G., Ökrös, A., Ráth, I., Varró, D., Varró, G.: Incremental pattern matching in the VIATRA model transformation system. In: International Workshop on Graph and Model Transformation (2008)Google Scholar
  9. 9.
    Bergmann, G., Ujhelyi, Z., Rth, I., Varr, D.: A Graph query language for EMF models. In: Cabot, J., Visser, E. (eds.) Theory and Practice of Model Transformations, LNCS, vol. 6707, pp. 167–182. Springer, Zurich (2011)Google Scholar
  10. 10.
    Böhm, C., Jacopini, G.: Flow diagrams, turing machines and languages with only two formation rules. Commun. ACM 9(5), 366–371 (1966)zbMATHCrossRefGoogle Scholar
  11. 11.
    Cordella, L., Foggia, P., Sansone, C., Vento, M.: A (sub)graph isomorphism algorithm for matching large graphs. IEEE Trans. Pattern Anall. Mach. Intell. 26(10), 1367–1372 (2004)Google Scholar
  12. 12.
    Cuadrado, J.S.: Towards a family of model transformation languages. In: de Lara, J., Hu, Z. (eds.) Theory and Practice of Model Transformation, LNCS, vol. 7307, pp. 176–191. Springer, Prague (2012)Google Scholar
  13. 13.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. special issue on Model-Driven Software Development 45(3), 621–645 (2006)Google Scholar
  14. 14.
    de Lara, J., Vangheluwe, H.: Defining visual notations and their manipulation through meta-modelling and graph transformation. J. Vis. Lang. Comput. 15(3–4), 309–330 (2004)CrossRefGoogle Scholar
  15. 15.
    Denil, J., Han, G., Persson, M., De Meulenaere, P., Zeng, H., Liu, X., Vangheluwe, H.: Model-driven engineering approaches to design space exploration. Technical report SOCS-TR-2013.1, School of Computer Science, McGill University (2013)Google Scholar
  16. 16.
    Eclipse Modeling Project: ATL transformations. (2010)
  17. 17.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS, Springer, Berlin (2006)zbMATHGoogle Scholar
  18. 18.
    Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G.: Handbook of Graph Grammars and Computing by Graph Transformation, vol. 1: Foundations. World Scientific Publishing Co., Inc., Singapore (1997)Google Scholar
  19. 19.
    Ergin, H., Syriani, E.: Identification and application of a model transformation design pattern. In: ACM Southeast Regional Conference. ACM (2013)Google Scholar
  20. 20.
    Ermel, C., Ehrig, K., Taentzer, G., Weiss, E.: Object oriented and rule-based design of visual languages using tiger. In: Zündorf, A., D. Varró (eds.) International Workshop on Graph Based Tools, ECEASST, vol. 1, pp. 1–13. Natal (2006)Google Scholar
  21. 21.
    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: a new graph rewrite language based on the Unified Modelling Language and Java. In: Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.) Theory and Application of Graph Transformations, LNCS, vol. 1764, pp. 296–309. Springer, Paderborn (2000)Google Scholar
  22. 22.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, Reading, MA (1994)Google Scholar
  23. 23.
    Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.: GrGen: a fast SPO-based graph rewriting tool. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) International Conference on Graph Transformation, LNCS, vol. 4178, pp. 383–397. Springer, Heidelberg (2006)Google Scholar
  24. 24.
  25. 25.
    Guerra, E., de Lara, J., Kolovos, D., Paige, R., dos Santos, O.: Engineering model transformations with transML. Softw. Syst. Model. 1–23 (2011, in press).Google Scholar
  26. 26.
    Heidenreich, F., Kopcsek, J., Assmann, U.: Safe composition of transformation. In: Tratt, L., Gogolla, M. (eds.) Theory and Practice of Model Transformation, LNCS, vol. 6142, pp. 108–122. Springer, Màlaga (2010)CrossRefGoogle Scholar
  27. 27.
    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
  28. 28.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: Model Transformations in Practice Workshop, LNCS, vol. 3844, pp. 128–138. Springer (2006)Google Scholar
  29. 29.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling Enabling Full Code Generation. Wiley, London (2008)CrossRefGoogle Scholar
  30. 30.
    Knirsch, P., Kuske, S.: Distributed graph transformation units. In: Corradini, A., Ehrig, H., Kreowski, H.J., Rozenberg, G. (eds.) International Conference on Graph Transformation, LNCS, vol. 2505, pp. 207–222. Springer, Barcelona (2002)Google Scholar
  31. 31.
    Königs, A., Schürr, A.: MDI: a rule-based multi-document and tool integration approach. J. Softw. Syst. Model. 5(20), 349–368 (2006)CrossRefGoogle Scholar
  32. 32.
    Krissinel, E.B., Henrick, K.: Common subgraph isomorphism detection by backtracking search. Softw. Practice Exp. 34(6), 591–607 (2004)CrossRefGoogle Scholar
  33. 33.
    Kühne, T., Mezei, G., Syriani, E., Vangheluwe, H., Wimmer, M.: Systematic transformation development. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 21 (2009)Google Scholar
  34. 34.
    Kühne, T., Mezei, G., Syriani, E., Vangheluwe, H., Wimmer, M.: Explicit transformation modeling. In: Ghosh, S. (ed.) MODELS 2009 Workshops, LNCS, vol. 6002, pp. 240–255. Springer, Denver (2010)Google Scholar
  35. 35.
    Lambers, L., Ehrig, H., Orejas, F.: Efficient conflict detection in graph transformation systems by essential critical pairs. In: Bruni, R., Varró, D. (eds.) International Workshop on Graph Transformation and Visual Modeling Techniques, ENTCS, vol. 211, pp. 17–26. Vienna (2008)Google Scholar
  36. 36.
    LaShomb, B., Syriani, E.: Re-engineering DSLTrans with T-Core. Technical report SERG-2012-04, Department of Computer Science, University of Alabama (2012)Google Scholar
  37. 37.
    Lawley, M., Steel, J.: Practical declarative model transformation with Tefkat. In: Bruel, J.M. (ed.) Satellite Events at the MoDELS’05 Conference, LNCS, vol. 3844, pp. 139–150. Springer, Montego Bay (2006)Google Scholar
  38. 38.
    Lengyel, L., Levendovszky, T., Mezei, G., Charaf, H.: Model transformation with a visual control flow language. Int. J. Comput. Sci. 1(1), 45–53 (2006)Google Scholar
  39. 39.
    Manning, G., Plump, D.: The GP programming system. In: Ermel, C., Heckel, R., de Lara, J. (eds.) International Workshop on Graph Transformation and Visual Modeling Techniques, ECEASST, vol. 10, pp. 235–247. Budapest (2008)Google Scholar
  40. 40.
    Mehlhorn, K.: Graph Algorithms and NP-Completeness, Monographs in Theoretical Computer Science, An EATCS Series, vol. 2. Springer, Berlin (1984)Google Scholar
  41. 41.
    Mens, T., Van Gorp, P.: A taxonomy of model transformation. In: International Workshop on Graph and Model Transformation, ENTCS, vol. 152, pp. 125–142. Tallinn (2006)Google Scholar
  42. 42.
    Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: International Conference on Software Engineering, pp. 742–745. ACM Press, Limerick (2000)Google Scholar
  43. 43.
    Object Management Group: Unified Modeling Language Superstructure, 2.2 edn. (2009)
  44. 44.
    Object Management Group: Meta Object Facility 2.0 Query/View/Transformation Specification (2011)Google Scholar
  45. 45.
    Provost, M.: Himesis: a hierarchical subgraph matching kernel for model driven development. Master’s thesis, McGill University, Montréal (2005)Google Scholar
  46. 46.
    Rensink, A., Kuperus, J.H.: Repotting the geraniums: on nested graph transformation rules. In: Margaria, T., Padberg, J., Taentzer, G. (eds.) International Workshop on Graph Transformation and Visual Modeling Techniques, ECEASST, vol. 18. York (2009)Google Scholar
  47. 47.
    Rudolf, M.: Utilizing constraint satisfaction techniques for efficient graph pattern matching. In: Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.) TAGT’98, selected papers, LNCS, vol. 1764, pp. 381–394. Springer, Paderborn (1998)Google Scholar
  48. 48.
    Schürr, A., Klar, F.: 15 years of triple graph grammars. In: H. Ehrig, R. Heckel, G. Rozenberg, G. Taentzer (eds.) International Conference on Graph Transformation, LNCS, vol. 5214, pp. 411–425. Leicester (2008)Google Scholar
  49. 49.
    Schürr, A., Winter, A.J., Zündorf, A.: Graph grammar engineering with PROGRES. In: Schäfer, W., Botella, P. (eds.) European software engineering conference, LNCS, vol. 989, pp. 219–234. Springer, Sitges, Spain (1995)Google Scholar
  50. 50.
  51. 51.
    Syriani, E.: A multi-paradigm foundation for model transformation language engineering. Ph.d. thesis, McGill University (2011)Google Scholar
  52. 52.
    Syriani, E., Gray, J.: Challenges for addressing quality actors in model transformation. In: First International Workshop on Verification of Model Transformation. Montreal (2012)Google Scholar
  53. 53.
    Syriani, E., Kienzle, J., Vangheluwe, H.: Exceptional transformations. In: Tratt, L., Gogolla, M. (eds.) Theory and Practice of Model Transformation, LNCS, vol. 6142, pp. 199–214. Springer, Màlaga (2010)Google Scholar
  54. 54.
    Syriani, E., Vangheluwe, H.: Matters of model transformation. Technical report SOCS-TR-2009.2, McGill University, School of Computer Science (2009)Google Scholar
  55. 55.
    Syriani, E., Vangheluwe, H.: De-/re-constructing model transformation languages. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 29 (2010)Google Scholar
  56. 56.
    Syriani, E., Vangheluwe, H.: DEVS as a Semantic Domain for Programmed Graph Transformation, chap. 1, pp. 3–28. CRC Press, Boca Raton (2010)Google Scholar
  57. 57.
    Syriani, E., Vangheluwe, H.: Performance analysis of Himesis. Technical report SOCS-TR-2010.8, McGill University, School of Computer Science (2010)Google Scholar
  58. 58.
    Syriani, E., Vangheluwe, H.: A modular timed model transformation language. J. Softw. Syst. Model. 11, 1–28 (2011)Google Scholar
  59. 59.
    Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: A fundamental approach to model versioning based on graph modifications: from theory to implementation. J. Softw. Syst. Model. 1–34 (2012)Google Scholar
  60. 60.
    Ullmann, J.R.: An algorithm for subgraph isomorphism. J. ACM 23(1), 31–42 (1976)MathSciNetCrossRefGoogle Scholar
  61. 61.
    van den Bos, J., van der Storm, T.: Domain-specific optimization in digital forensics. In: de Lara, J., Hu, Z. (eds.) Theory and Practice of Model Transformation, LNCS, vol. 7307, pp. 121–136. Springer, Prague (2012)Google Scholar
  62. 62.
    Varró, G., Deckwerth, F., Wieber, M., Schürr, A.: An algorithm for generating model-sensitive search plans for EMF models. In: Hu, Z., de Lara, J. (eds.) Theory and practice of model transformations, LNCS, vol. 7307, pp. 224–239. Springer, Prague (2012)Google Scholar
  63. 63.
    Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Sci. Comput. Program. 68(3), 214–234 (2007)zbMATHCrossRefGoogle Scholar
  64. 64.
    Varró, G., Anjorin, A., Schürr, A.: Unification of compiled and interpreter-based pattern matching techniques. In: Modelling Foundations and Applications, LNCS, vol. 7349, pp. 368–383 (2012)Google Scholar
  65. 65.
    Varró, G., Horváth, Á., Varró, D.: Recursive graph pattern matching: with magic sets and global search plans. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) Applications of Graph Transormation with Industrial Relevance, LNCS, vol. 5088. Springer (2007)Google Scholar
  66. 66.
    Varró, G., Varró, D., Friedl, K.: Adaptive graph pattern matching for model transformations using model-sensitive search plans. In: Karsai, G., Taentzer, G. (eds.) International Workshop on Graph and Model Transformation, ENTCS, vol. 152, pp. 191–205. Elsevier, Tallinn (2005)Google Scholar
  67. 67.
    Vignaga, A., Jouault, F., Bastarrica, M.C., Brunelière, H.: Typing in model management. In: Paige, R. (ed.) Theory and Practice of Model Transformation, LNCS, vol. 5563, pp. 197–212. Springer, Zürich (2009)CrossRefGoogle Scholar
  68. 68.
    Wagelaar, D., Tisi, M., Cabot, J., Jouault, F.: Towards a general composition semantics for rule-based model transformation. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems, LNCS, vol. 6981, pp. 623–637. Springer, Wellington (2011)CrossRefGoogle Scholar
  69. 69.
    Wimmer, M., Kusel, A., Schönböck, J., Reiter, T., Retschitzegger, W., Schwinger, W.: Lets’s play the token game—model transformations powered by transformation nets. In: Workshop on Petri Nets and Software Engineering, pp. 35–50. Université Paris 13, Paris (2009)Google Scholar
  70. 70.
    Zündorf, A.: Graph pattern matching in PROGRES. In: Ehrig, H., Engels, G., Rozenberg, G. (eds.) Graph Grammars and Their Application to Computer Science, LNCS, vol. 1073, pp. 454–468. Springer, Williamsburg (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Eugene Syriani
    • 1
  • Hans Vangheluwe
    • 2
    • 3
  • Brian LaShomb
    • 1
  1. 1.University of AlabamaTuscaloosaUSA
  2. 2.University of AntwerpAntwerpBelgium
  3. 3.McGill UniversityMontrealCanada

Personalised recommendations