Perspectives of Model Transformation Reuse

  • Marsha Chechik
  • Michalis Famelis
  • Rick Salay
  • Daniel Strüber
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9681)

Abstract

Model Transformations have been called the “heart and soul” of Model-Driven software development. However, they take a lot of effort to build, verify, analyze, and debug. It is thus imperative to develop good reuse strategies that address issues specific to model transformations. Some of the effective reuse strategies are adopted from other domains, specifically, programming languages. Others are custom developed for models. In this paper, we survey techiques from both categories.

Specifically, we present two techniques adoped from the PL world: subtyping and mapping, and then two techniques, lifting and aggregating, that are novel in the modeling world. Subtyping is a way to reuse a transformation for different - but similar - input modelling languages. Mapping a transformation designed for single models reuses it for model collections, such as megamodels. Lifting a transformation reuses it for aggregate representations of models, such as product lines. Aggregating reuses both transformation fragments (during transformation creation) and partial execution results (during transformation execution) across multiple transformations.

We then point to potential new directions for research in reuse that draw on the strengths of the programming and the modeling worlds.

References

  1. 1.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Bernstein, P.A.: Applying model management to classical meta data problems. In: Proceedings of CIDR 2003, pp. 209–220 (2003)Google Scholar
  3. 3.
    Bézivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In Proceedings of OOPSLA/GPCE Workshops (2004)Google Scholar
  4. 4.
    Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Ser. in SE. Addison-Wesley, Reading (2001)Google Scholar
  5. 5.
    Czarnecki, K., Antkiewicz, M.: Mapping features to models: a template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Czarnecki, K., Wasowski, A.: Feature diagrams and logics: there and back again. In: Proceedings of SPLC 2007, pp. 23–34 (2007)Google Scholar
  7. 7.
    de Lara, J., Guerra, E.: From types to type requirements: genericity for model-driven engineering. SoSyM 12(3), 453–474 (2013)Google Scholar
  8. 8.
    de Lara, J., Guerra, E., Cuadrado, J.S.: Model-driven engineering with domain-specific meta-modelling languages. SoSyM 14(1), 429–459 (2015)Google Scholar
  9. 9.
    De Moura, L., Bjørner, N.: Satisfiability modulo theories: introduction and applications. Commun. ACM 54(9), 69–77 (2011)CrossRefGoogle Scholar
  10. 10.
    Di Sandro, A., Salay, R., Famelis, M., Kokaly, S., Chechik, M.: MMINT: a graphical tool for interactive model management. In: Proceedings of MODELS 2015 (Demo Track) (2015)Google Scholar
  11. 11.
    Famelis, M., et al.: Migrating automotive product lines: a case study. In: Kolovos, D., Wimmer, M. (eds.) ICMT 2015. LNCS, vol. 9152, pp. 82–97. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  12. 12.
    Guy, C., Combemale, B., Derrien, S., Steel, J.R.H., Jézéquel, J.-M.: On model subtyping. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 400–415. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  13. 13.
    Kästner, C., Apel, S.: Integrating compositional and annotative approaches for product line engineering. In: Proceedings of GPCE 2008, pp. 35–40 (2008)Google Scholar
  14. 14.
    Kühne, T.: An observer-based notion of model inheritance. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 31–45. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Kühne, T.: On model compatibility with referees and contexts. SoSyM 12(3), 475–488 (2013)Google Scholar
  16. 16.
    Kusel, A., Schönböck, J., Wimmer, M., Kappel, G., Retschitzegger, W., Schwinger, W.: Reuse in model-to-model transformation languages: are we there yet? SoSyM 14(2), 537–572 (2015)Google Scholar
  17. 17.
    Lúcio, L., Barroca, B., Amaral, V.: A technique for automatic validation of model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 136–150. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  18. 18.
    Musser, D.R., Stepanov, A.A.: Generic programming. In: Gianni, P. (ed.) ISSAC 1988. LNCS, vol. 358, pp. 13–25. Springer, Heidelberg (1988)CrossRefGoogle Scholar
  19. 19.
    Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)MATHGoogle Scholar
  20. 20.
    Pohl, K., Böckle, G., Van Der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer Verlag New York Inc., Secaucus (2005)CrossRefMATHGoogle Scholar
  21. 21.
    Rose, L., Guerra, E., de Lara, J., Etien, A., Kolovos, D., Paige, R.: Genericity for model management operations. SoSyM 12(1), 201–219 (2011)Google Scholar
  22. 22.
    Rubin, J., Chechik, M.: Combining related products into product lines. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 285–300. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  23. 23.
    Salay, R., Famelis, M., Rubin, J., Di Sandro, A., Chechik, M.: Lifting model transformations to product lines. In: Proceedings of ICSE 2014, pp. 117–128 (2014)Google Scholar
  24. 24.
    Salay, R., Kokaly, S., Di Sandro, A., Chechik, M.: Enriching megamodel management with collection-based operators. In: Proceedings of MODELS 2015 (2015)Google Scholar
  25. 25.
    Salay, R., Zchaler, S., Chechik, M.: Correct Reuse of Transformations is Hard to Guarantee (submitted, 2016)Google Scholar
  26. 26.
    Salay, R., Zschaler, S., Chechik, M.: Transformation reuse: what is the intent? In: Proceedings of AMT@MODELS 2015, pp. 1–7 (2015)Google Scholar
  27. 27.
    Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)CrossRefGoogle Scholar
  28. 28.
    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
  29. 29.
    Sen, S., Moha, N., Mahé, V., Barais, O., Baudry, B., Jézéquel, J.-M.: Reusable model transformations. SoSyM 11(1), 1–15 (2010)Google Scholar
  30. 30.
    Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)CrossRefGoogle Scholar
  31. 31.
    Steel, J., Jézéquel, J.-M.: On model typing. SoSyM 6(4), 401–413 (2007)Google Scholar
  32. 32.
    Strüber, D., Rubin, J., Arendt, T., Chechik, M., Taentzer, G., Plöger, J.: RuleMerger: automatic construction of variability-based model transformation rules. In: Stevens, P., Wasowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 122–140. Springer, Heidelberg (2016). doi:10.1007/978-3-662-49665-7_8 CrossRefGoogle Scholar
  33. 33.
    Strüber, D., Rubin, J., Chechik, M., Taentzer, G.: A variability-based approach to reusable and efficient model transformations. In: Egyed, A., Schaefer, I. (eds.) FASE 2015. LNCS, vol. 9033, pp. 283–298. Springer, Heidelberg (2015)Google Scholar
  34. 34.
    Strüber, D., Schulz, S.: A Tool Environment for Managing Families of Model Transformation Rules (submitted, 2016)Google Scholar
  35. 35.
    Thum, T., Apel, S., Kastner, C., Schaefer, I., Saake, G.: A classification and survey of analysis strategies for software product lines. ACM Comput. Surv. 47(1), 1–45 (2014)CrossRefGoogle Scholar
  36. 36.
    Vanhooff, B., Ayed, D., Van Baelen, S., Joosen, W., Berbers, Y.: UniTI: a unified transformation infrastructure. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 31–45. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  37. 37.
    Wagelaar, D., van der Straeten, R., Deridder, D.: Module superimposition: a composition technique for rule-based model transformation languages. SoSyM 9, 285–309 (2010)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Marsha Chechik
    • 1
  • Michalis Famelis
    • 2
  • Rick Salay
    • 1
  • Daniel Strüber
    • 3
  1. 1.University of TorontoTorontoCanada
  2. 2.University of British ColumbiaVancouverCanada
  3. 3.Philipps-Universität MarburgMarburgGermany

Personalised recommendations