Abstract
Reuse techniques are key for the industrial adoption of Model-Driven Engineering (MDE). However, while reusability has been successfully applied to programming languages, its use is scarce in MDE and, in particular, in model transformations.
In previous works, we developed an approach that enables the reuse of model transformations for different meta-models. This is achieved by defining reusable components that encapsulate a generic transformation template and expose an interface called concept declaring the structural requirements that any meta-model using the component should fulfil. Binding the concept to one of such meta-models induces an adaptation of the template, which becomes applicable to the meta-model. To facilitate reuse, concepts need to be concise, reflecting only the minimal set of requirements demanded by the transformation.
In this paper, we automate the reverse engineering of existing transformations into reusable transformation components. To make a transformation reusable, we use the information obtained from its static analysis to derive a concept that is minimal with respect to the transformation and maximizes its reuse opportunities, and then evolve the transformation accordingly. The paper describes a prototype implementation and an evaluation using transformations from the ATL zoo.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kusel, A., et al.: Reuse in model-to-model transformation languages: Are we there yet? SoSyM, 1–36 (2013)
AtlanMod. Atl zoo, http://www.eclipse.org/atl/atlTransformations/
Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Software Eng. 28(1), 4–17 (2002)
Bergmayr, A., Wimmer, M., Retschitzegger, W., Zdun, U.: Taking the pick out of the bunch - type-safe shrinking of metamodels. In: SE 2013, pp. 85–98 (2013)
Fowler, M.: Refactoring. Improving the Design of Existing Code. Ad.-Wesley (1999)
Guerra, E., Soeken, M.: Specification-driven model transformation testing. SoSyM, 1–22 (2013)
Jeanneret, C., Glinz, M., Baudry, B.: Estimating footprints of model operations. In: ICSE 2011, pp. 601–610. ACM (2011)
Kalnina, E., Kalnins, A., Celms, E., Sostaks, A.: Graphical template language for transformation synthesis. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 244–253. Springer, Heidelberg (2010)
Levendovszky, T., Balasubramanian, D., Narayanan, A., Karsai, G.: A novel approach to semi-automated evolution of dsml model transformation. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 23–41. Springer, Heidelberg (2010)
Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schoenboeck, J., Schwinger, W.: Surviving the heterogeneity jungle with composite mapping operators. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 260–275. Springer, Heidelberg (2010)
Wimmer, M., et al.: Surveying rule inheritance in model-to-model transformation languages. JOT 11(2), 3:1–3:46 (2012)
Di Ruscio, D., Iovino, L., Pierantonio, A.: A methodological approach for the coupled evolution of metamodels and atl transformations. In: Duddy, K., Kappel, G. (eds.) ICMT 2013. LNCS, vol. 7909, pp. 60–75. Springer, Heidelberg (2013)
Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Flexible model-to-model transformation templates: An application to ATL. JOT 11(2), 4:1–4:28 (2012)
Sánchez Cuadrado, J., Molina, J.G.: Modularization of model transformations through a phasing mechanism. SoSyM 8(3), 325–345 (2009)
Sen, S., Moha, N., Baudry, B., Jézéquel, J.-M.: Meta-model pruning. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 32–46. Springer, Heidelberg (2009)
Sen, S., Moha, N., Mahé, V., Barais, O., Baudry, B., Jézéquel, J.-M.: Reusable model transformations. SoSyM 11(1), 111–125 (2010)
Varró, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 290–304. Springer, Heidelberg (2004)
Vieira, A., Ramalho, F.: A static analyzer for model transformations. In: 3rd International Workshop on Model Transformation with ATL (2011)
Wagelaar, D., Straeten, R.V.D., Deridder, D.: Module superimposition: A composition technique for rule-based model transformation languages. SoSyM 9(3), 285–309 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Sánchez Cuadrado, J., Guerra, E., de Lara, J. (2014). Reverse Engineering of Model Transformations for Reusability. In: Di Ruscio, D., Varró, D. (eds) Theory and Practice of Model Transformations. ICMT 2014. Lecture Notes in Computer Science, vol 8568. Springer, Cham. https://doi.org/10.1007/978-3-319-08789-4_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-08789-4_14
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-08788-7
Online ISBN: 978-3-319-08789-4
eBook Packages: Computer ScienceComputer Science (R0)