Towards the flexible reuse of model transformations: a formal approach based on graph transformation. (English) Zbl 1371.68055

Summary: Model transformations are the heart and soul of Model-Driven Engineering (MDE). However, in order to increase the adoption of MDE by industry, techniques for developing model transformations in the large and raising the quality and productivity in their construction, like reusability, are still needed.
In previous works, we developed a reutilization approach for graph transformations based on the definition of concepts, which gather the structural requirements needed by meta-models to qualify for the transformations. Reusable transformations are typed by concepts, becoming transformation templates. Transformation templates are instantiated by binding the concept to a concrete meta-model, inducing a retyping of the transformation for the given meta-model.
This paper extends the approach allowing heterogeneities between the concept and the meta-model, thus increasing the reuse opportunities of transformation templates. Heterogeneities are resolved by using algebraic adapters which induce both a retyping and an adaptation of the transformation. As an alternative, the adapters can also be employed to induce an adaptation of the meta-model, and in this work we show the conditions for equivalence of both approaches to transformation reuse.


68N99 Theory of software
68Q42 Grammars and rewriting systems


Full Text: DOI


[1] Atkinson, C.; Kühne, T., Rearchitecting the UML infrastructure, ACM Trans. Model. Comput. Simul., 12, 4, 290-321, (2002)
[2] Balogh, A.; Varró, D., Advanced model transformation language constructs in the VIATRA2 framework, (Proc. SAC’06, (2006)), 1280-1287
[3] Bambrilla, M.; Cabot, J.; Wimmer, M., Model-driven software engineering in practice, (2012), Morgan & Claypool Publishers
[4] Borceux, F., Handbook of categorical algebra, vol. 1. basic category theory, Encyclopedia of Mathematics and Its Applications, (2008), Cambridge University Press · Zbl 1143.18001
[5] 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) · Zbl 1116.68042
[6] de Lara, J.; Guerra, E., Reusable graph transformation templates, (AGTIVE’11, LNCS, vol. 7233, (2012)), 35-50
[7] de Lara, J.; Guerra, E., From types to type requirements: genericity for model-driven engineering, Softw. Syst. Model., 12, 3, 453-474, (2013)
[8] de Lara, J.; Guerra, E.; Sánchez Cuadrado, J., Model-driven engineering with domain-specific meta-modelling languages, Softw. Syst. Model., (2013), in press
[9] Diskin, Z.; Maibaum, T. S.E.; Czarnecki, K., Intermodeling, queries, and kleisli categories, (FASE, LNCS, vol. 7212, (2012), Springer), 163-177
[10] Dos Reis, G.; Järvi, J., What is generic programming?, (Proceedings of the First International Workshop of Library-Centric Software Design (LCSD ’05), An OOPSLA ’05 Workshop, (Oct. 2005))
[11] Ehrig, H.; Ehrig, K.; Prange, U.; Taentzer, G., Fundamentals of algebraic graph transformation, (2006), Springer-Verlag · Zbl 1095.68047
[12] Ehrig, H.; Ermel, C., Semantical correctness and completeness of model transformations using graph and rule transformation, (ICGT, LNCS, vol. 5214, (2008)), 194-210 · Zbl 1175.68221
[13] Ehrig, H.; Hermann, F.; Prange, U., Cospan DPO approach: an alternative for DPO graph transformations, Bull. Eur. Assoc. Theor. Comput. Sci., 98, 139-149, (2009) · Zbl 1191.68361
[14] Fowler, M., Refactoring: improving the design of existing code, (1999), Addison-Wesley Boston, MA · Zbl 1020.68632
[15] García, J.; Díaz, O.; Azanza, M., Model transformation co-evolution: a semi-automatic approach, (SLE, LNCS, vol. 7745, (2012), Springer), 144-163
[16] Garcia, R.; Järvi, J.; Lumsdaine, A.; Siek, J. G.; Willcock, J., A comparative study of language support for generic programming, SIGPLAN, 38, 11, 115-134, (2003)
[17] Gregor, D.; Järvi, J.; Siek, J.; Stroustrup, B.; Dos Reis, G.; Lumsdaine, A., Concepts: linguistic support for generic programming in C++, SIGPLAN Not., 41, 10, 291-310, (2006)
[18] Guy, C.; Combemale, B.; Derrien, S.; Steel, J.; Jézéquel, J.-M., On model subtyping, (ECMDA-FA’12, LNCS, vol. 7349, (2012), Springer), 400-415
[19] Heidenreich, F.; Johannes, J.; Seifert, M.; Wende, C., Closing the gap between modelling and Java, (SLE’09, LNCS, vol. 5969, (2009), Springer), 374-383
[20] Hermann, F.; Ehrig, H.; Ermel, C., Transformation of type graphs with inheritance for ensuring security in e-government networks (long version), (2008), Technical University of Berlin, Technical Report 2008-7
[21] Hermann, F.; Ehrig, H.; Ermel, C., Transformation of type graphs with inheritance for ensuring security in e-government networks, (FASE’09, LNCS, vol. 5503, (2009), Springer), 325-339
[22] Jouault, F.; Bézivin, J., KM3: a DSL for metamodel specification, (FMOODS’06, LNCS, vol. 4037, (2006), Springer), 171-185
[23] Lamo, Y.; Mantz, F.; Rutle, A.; de Lara, J., A declarative and bidirectional model transformation approach based on graph co-spans, (PPDP, (2013)), 1-12
[24] Legros, E.; Amelunxen, C.; Klar, F.; Schürr, A., Generic and reflective graph transformations for checking and enforcement of modeling guidelines, J. Vis. Lang. Comput., 20, 4, 252-268, (2009)
[25] Machado, R.; Foss, L.; Ribeiro, L., Aspects for graph grammars, Electron. Commun. EASST, 18, (2009)
[26] Orejas, F.; Lambers, L., Symbolic attributed graphs for attributed graph transformation, Electron. Commun. EASST, 30, (2010)
[27] Parisi-Presicce, F., Transformations of graph grammars, (TAGT, LNCS, vol. 1073, (1994), Springer), 428-442 · Zbl 1412.68113
[28] Prange, U.; Ehrig, H.; Lambers, L., Construction and properties of adhesive and weak adhesive high-level replacement categories, Appl. Categ. Struct., 16, 3, 365-388, (2008) · Zbl 1143.18005
[29] Sánchez Cuadrado, J.; Guerra, E.; de Lara, J., Generic model transformations: write once, reuse everywhere, (ICMT’11, LNCS, vol. 6707, (2011), Springer), 62-77
[30] Sánchez Cuadrado, J.; Guerra, E.; de Lara, J., Flexible model-to-model transformation templates: an application to ATL, J. Object Technol., 11, 2, 1-28, (2012)
[31] Sannella, D.; Tarlecki, A., Foundations of algebraic specification and formal software development, EATCS Monographs on Theoretical Computer Science, (2012), Springer · Zbl 1237.68129
[32] Schürr, A., Specification of graph translators with triple graph grammars, (WG’94, LNCS, vol. 903, (1994), Springer), 151-163
[33] Sen, S.; Moha, N.; Mahé, V.; Barais, O.; Baudry, B.; Jézéquel, J.-M., Reusable model transformations, Softw. Syst. Model., 11, 1, 111-125, (2012)
[34] Steinberg, D.; Budinsky, F.; Paternostro, M.; Merks, E., EMF: eclipse modeling framework, (2008), Addison-Wesley
[35] Taentzer, G.; Mantz, F.; Lamo, Y., Co-transformation of graphs and type graphs with application to model co-evolution, (ICGT’12, LNCS, vol. 7562, (2012), Springer), 326-340 · Zbl 1367.68154
[36] Taentzer, G.; Rensink, A., Ensuring structural constraints in graph-based models with type inheritance, (FASE, LNCS, vol. 3442, (2005), Springer), 64-79 · Zbl 1119.68365
[37] Uml 2.4.1
[38] Völter, M.; Stahl, T., Model-driven software development, (2006), Wiley
[39] Wimmer, M.; Kappel, G.; Kusel, A.; Retschitzegger, W.; Schönböck, J.; Schwinger, W., Surviving the heterogeneity jungle with composite mapping operators, (ICMT’10, LNCS, vol. 6142, (2010), Springer), 260-275
[40] Wimmer, M.; Kusel, A.; Schönböck, J.; Retschitzegger, W.; Schwinger, W.; Kappel, G., On using inplace transformations for model co-evolution, (Proceedings of the 2nd International Workshop on Model Transformation with ATL (MtATL 2010), (2010), INRIA & Ecole des Mines de Nantes)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.