Reverse Engineering of Model Transformations for Reusability

  • Jesús Sánchez Cuadrado
  • Esther Guerra
  • Juan de Lara
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8568)

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.

Keywords

Model transformation Reusability Reverse engineering Re-engineering 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Kusel, A., et al.: Reuse in model-to-model transformation languages: Are we there yet? SoSyM, 1–36 (2013)Google Scholar
  2. 2.
  3. 3.
    Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Software Eng. 28(1), 4–17 (2002)CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Fowler, M.: Refactoring. Improving the Design of Existing Code. Ad.-Wesley (1999)Google Scholar
  6. 6.
    Guerra, E., Soeken, M.: Specification-driven model transformation testing. SoSyM, 1–22 (2013)Google Scholar
  7. 7.
    Jeanneret, C., Glinz, M., Baudry, B.: Estimating footprints of model operations. In: ICSE 2011, pp. 601–610. ACM (2011)Google Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    Wimmer, M., et al.: Surveying rule inheritance in model-to-model transformation languages. JOT 11(2), 3:1–3:46 (2012)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Sánchez Cuadrado, J., Molina, J.G.: Modularization of model transformations through a phasing mechanism. SoSyM 8(3), 325–345 (2009)Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Sen, S., Moha, N., Mahé, V., Barais, O., Baudry, B., Jézéquel, J.-M.: Reusable model transformations. SoSyM 11(1), 111–125 (2010)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    Vieira, A., Ramalho, F.: A static analyzer for model transformations. In: 3rd International Workshop on Model Transformation with ATL (2011)Google Scholar
  19. 19.
    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)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Jesús Sánchez Cuadrado
    • 1
  • Esther Guerra
    • 1
  • Juan de Lara
    • 1
  1. 1.Modelling and Software Engineering Research GroupUniversidad Autónoma de MadridSpain

Personalised recommendations