Skip to main content
Log in

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

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

Abstract

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.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. A sub-transformation can be considered as a transformation on its own. But when designed modularly, composing these transformations can lead to a more complex transformation.

  2. Alternatively, some languages require units with a pre-condition and a set of actions to perform.

  3. The bound pivot nodes are stored in globalPivots. But the matching may also assign pivots (useful for nested rules, as discussed later) and stores them in localPivots.

  4. Similarly, an implementation in C would be called C-T-Core or in Java would be called J-T-Core.

  5. As opposed to modeled software where no artifacts are hard-coded.

  6. Note that rule patterns are explicitly modeled by an automatically generated meta-model [34], where patterns and models are encoded as graphs.

  7. In fact, it is homomorphic since the added attribute constraints in the pattern graphs describe constraints on the attributes of the source graph.

  8. Because in \(\hbox {AToM}^3\), rules can involve many meta-models as e.g., in multi graph grammars [31].

  9. \(K\) is a graph in which the nodes and edges consist of all nodes or edges present in both LHS and RHS.

References

  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)

    Article  Google Scholar 

  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)

  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)

  4. ATLAS group, LINA, INRIA Nantes: specification of the ATL virtual machine. http://www.eclipse.org/m2m/atl/doc/ (2005)

  5. Balogh, A., Varró, D.: Pattern composition in graph transformation rules. In: European Workshop on Composition of Model Transformations. Bilbao (2006)

  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)

  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)

  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)

  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)

  10. Böhm, C., Jacopini, G.: Flow diagrams, turing machines and languages with only two formation rules. Commun. ACM 9(5), 366–371 (1966)

    Article  MATH  Google Scholar 

  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. 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)

  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. 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)

    Article  Google Scholar 

  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)

  16. Eclipse Modeling Project: ATL transformations. http://www.eclipse.org/m2m/atl/atlTransformations (2010)

  17. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS, Springer, Berlin (2006)

    MATH  Google Scholar 

  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. Ergin, H., Syriani, E.: Identification and application of a model transformation design pattern. In: ACM Southeast Regional Conference. ACM (2013)

  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)

  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)

  22. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, Reading, MA (1994)

  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)

  24. Gomes, C., Barroca, B.: DSLTrans manual. http://solar.di.fct.unl.pt/twiki5/pub/Projects/BATIC3S/ReleaseFiles/dsltrans_manual_2k11.pdf (2011)

  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).

  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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  28. Jouault, F., Kurtev, I.: Transforming models with ATL. In: Model Transformations in Practice Workshop, LNCS, vol. 3844, pp. 128–138. Springer (2006)

  29. Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling Enabling Full Code Generation. Wiley, London (2008)

    Book  Google Scholar 

  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)

  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)

    Article  Google Scholar 

  32. Krissinel, E.B., Henrick, K.: Common subgraph isomorphism detection by backtracking search. Softw. Practice Exp. 34(6), 591–607 (2004)

    Article  Google Scholar 

  33. Kühne, T., Mezei, G., Syriani, E., Vangheluwe, H., Wimmer, M.: Systematic transformation development. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 21 (2009)

  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)

  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)

  36. LaShomb, B., Syriani, E.: Re-engineering DSLTrans with T-Core. Technical report SERG-2012-04, Department of Computer Science, University of Alabama (2012)

  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)

  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. 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)

  40. Mehlhorn, K.: Graph Algorithms and NP-Completeness, Monographs in Theoretical Computer Science, An EATCS Series, vol. 2. Springer, Berlin (1984)

  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)

  42. Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: International Conference on Software Engineering, pp. 742–745. ACM Press, Limerick (2000)

  43. Object Management Group: Unified Modeling Language Superstructure, 2.2 edn. http://www.omg.org/spec/UML/2.2/Superstructure (2009)

  44. Object Management Group: Meta Object Facility 2.0 Query/View/Transformation Specification (2011)

  45. Provost, M.: Himesis: a hierarchical subgraph matching kernel for model driven development. Master’s thesis, McGill University, Montréal (2005)

  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)

  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)

  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)

  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)

  50. Syriani, E.: T-Core. http://syriani.cs.ua.edu/files/tcore_package.zip (2010)

  51. Syriani, E.: A multi-paradigm foundation for model transformation language engineering. Ph.d. thesis, McGill University (2011)

  52. Syriani, E., Gray, J.: Challenges for addressing quality actors in model transformation. In: First International Workshop on Verification of Model Transformation. Montreal (2012)

  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)

  54. Syriani, E., Vangheluwe, H.: Matters of model transformation. Technical report SOCS-TR-2009.2, McGill University, School of Computer Science (2009)

  55. Syriani, E., Vangheluwe, H.: De-/re-constructing model transformation languages. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 29 (2010)

  56. Syriani, E., Vangheluwe, H.: DEVS as a Semantic Domain for Programmed Graph Transformation, chap. 1, pp. 3–28. CRC Press, Boca Raton (2010)

  57. Syriani, E., Vangheluwe, H.: Performance analysis of Himesis. Technical report SOCS-TR-2010.8, McGill University, School of Computer Science (2010)

  58. Syriani, E., Vangheluwe, H.: A modular timed model transformation language. J. Softw. Syst. Model. 11, 1–28 (2011)

    Google Scholar 

  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)

  60. Ullmann, J.R.: An algorithm for subgraph isomorphism. J. ACM 23(1), 31–42 (1976)

    Article  MathSciNet  Google Scholar 

  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)

  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)

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

    Article  MATH  Google Scholar 

  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)

  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)

  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)

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eugene Syriani.

Additional information

Communicated by Dr. Dániel Varró

Rights and permissions

Reprints and permissions

About this article

Cite this article

Syriani, E., Vangheluwe, H. & LaShomb, B. T-Core: a framework for custom-built model transformation engines. Softw Syst Model 14, 1215–1243 (2015). https://doi.org/10.1007/s10270-013-0370-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0370-4

Keywords

Navigation