Towards the Systematic Construction of Domain-Specific Transformation Languages

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

Abstract

General-purpose transformation languages, like ATL or QVT, are the basis for model manipulation in Model-Driven Engineering (MDE). However, as MDE moves to more complex scenarios, there is the need for specialized transformation languages for activities like model merging, migration or aspect weaving, or for specific domains of wide use like UML. Such domain-specific transformation languages (DSTLs) encapsulate transformation knowledge within a language, enabling the reuse of recurrent solutions to transformation problems.

Nowadays, many DSTLs are built in an ad-hoc manner, which requires a high development cost to achieve a full-featured implementation. Alternatively, they are realised by an embedding into general-purpose transformation or programming languages like ATL or Java.

In this paper, we propose a framework for the systematic creation of DSTLs. First, we look into the characteristics of domain-specific transformation tools, deriving a categorization which is the basis of our framework. Then, we propose a domain-specific language to describe DSTLs, from which we derive a ready-to-run workbench which includes the abstract syntax, concrete syntax and translational semantics of the DSTL.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Avila-García, O., Estévez, A., Rebull, E.: Using software product lines to manage model families in model-driven engineering. In: SAC, pp. 1006–1011. ACM (2007)Google Scholar
  2. 2.
    Bézivin, J., Bouzitouna, S., Del Fabro, M.D., Gervais, M.-P., Jouault, F., Kolovos, D., Kurtev, I., Paige, R.F.: A canonical scheme for model composition. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 346–360. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Modeling model slicers. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 62–76. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Brambilla, M., Fraternali, P., Tisi, M.: A metamodel transformation framework for the migration of WebML models to MDA. In: MDWE 2008, pp. 91–105 (2008)Google Scholar
  5. 5.
    Cánovas Izquierdo, J.L., García Molina, J.: Extracting models from source code in software modernization. SoSyM, 1–22 (2012)Google Scholar
  6. 6.
    Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing dependent changes in coupled evolution. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 35–51. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Sánchez Cuadrado, J.: Towards a family of model transformation languages. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 176–191. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 621–646 (2006)CrossRefGoogle Scholar
  9. 9.
    Díaz, O., Puente, G., Izquierdo, J.L.C., Molina, J.G.: Harvesting models from web 2.0 databases. SoSyM 12(1), 15–34 (2013)Google Scholar
  10. 10.
    Domain-specific aspect languages workshop, http://www.dsal.cl/
  11. 11.
    Engel, K.-D., Paige, R.F., Kolovos, D.S.: Using a model merging language for reconciling model versions. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 143–157. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Gallardo, J., Bravo, C., Redondo, M.A.: A model-driven development method for collaborative modeling tools. J. Net. Comp. App. 35(3), 1086–1105 (2012)CrossRefGoogle Scholar
  13. 13.
    Heidenreich, F., Johannes, J., Seifert, M., Wende, C., Böhme, M.: Generating safe template languages. In: SIGPLAN Not, vol. 45, pp. 99–108. ACM (2009)Google Scholar
  14. 14.
    Hemel, Z., Visser, E.: PIL: A platform independent language for retargetable DSLs. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 224–243. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Herrmannsdoerfer, M.: COPE – A workbench for the coupled evolution of metamodels and models. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 286–295. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  16. 16.
    Irazábal, J., Pérez, G., Pons, C., Giandini, R.S.: An implementation approach to achieve metamodel independence in domain specific model manipulation languages. In: ICSOFT, pp. 62–69. SciTePress (2012)Google Scholar
  17. 17.
    Kienzle, J., Al Abed, W., Fleurey, F., Jézéquel, J.-M., Klein, J.: Aspect-oriented design with reusable aspect models. In: Katz, S., Mezini, M., Kienzle, J. (eds.) Transactions on AOSD VII. LNCS, vol. 6210, pp. 272–320. Springer, Heidelberg (2010)Google Scholar
  18. 18.
    Kramer, M., Klein, J., Steel, J.: Building specifications as a domain-specific aspect language. In: DSAL. ACM (2012)Google Scholar
  19. 19.
    Lawley, M., Steel, J.: Practical declarative model transformation with tefkat. In: Bruel, J.-M. (ed.) MoDELS 2005 Workshops. LNCS, vol. 3844, pp. 139–150. Springer, Heidelberg (2006)Google Scholar
  20. 20.
    Mens, T.: On the use of graph transformations for model refactoring. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 219–257. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Software Eng. 30(2), 126–139 (2004)CrossRefGoogle Scholar
  22. 22.
    Molderez, T., Meyers, B., Janssens, D., Vangheluwe, H.: Towards an aspect-oriented language module: Aspects for Petri nets. In: DSAL. ACM (2012)Google Scholar
  23. 23.
  24. 24.
    Paige, R.F., Kolovos, D.S., Rose, L.M., Drivalos, N., Polack, F.A.C.: The design of a conceptual framework and technical infrastructure for model management language engineering. In: ICECCS, pp. 162–171 (2009)Google Scholar
  25. 25.
    Reiter, T., Kapsammer, E., Retschitzegger, W., Schwinger, W., Stumptner, M.: A generator framework for domain-specific model transformation languages. In: ICEIS, pp. 27–35 (2006)Google Scholar
  26. 26.
    Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Model migration with Epsilon Flock. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 184–198. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  27. 27.
    Rumpe, B., Weisemöller, I.: A domain specific transformation language. In: Models and Evolution (2011)Google Scholar
  28. 28.
    Selic, B.: A short catalogue of abstraction patterns for model-based software engineering. Int. J. Software and Informatics 5(1-2), 313–334 (2011)Google Scholar
  29. 29.
    Smirnov, S., Reijers, H.A., Weske, M., Nugteren, T.: Business process model abstraction: a definition, catalog, and survey. Dist. Par. Datab. 30(1), 63–99 (2012)CrossRefGoogle Scholar
  30. 30.
    Steel, J., Drogemuller, R.: Domain-specific model transformation in building quantity take-off. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 198–212. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  31. 31.
    Steel, J., Duddy, K., Drogemuller, R.: A transformation workbench for building information models. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 93–107. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  32. 32.
    Syriani, E., Vangheluwe, H.: De-/re-constructing model transformation languages. ECEASST, 29 (2010)Google Scholar
  33. 33.
    Tisi, M., Cabot, J., Jouault, F.: Improving higher-order transformations support in ATL. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 215–229. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  34. 34.
    Wagelaar, D., Iovino, L., Di Ruscio, D., Pierantonio, A.: Translational semantics of a co-evolution specific language with the EMF transformation virtual machine. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 192–207. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  35. 35.
    Wimmer, M., Schauerhuber, A., Kappel, G., Retschitzegger, W., Schwinger, W., Kapsammer, E.: A survey on UML-based aspect-oriented design modeling. ACM Comput. Surv. 43(4), 28 (2011)CrossRefGoogle Scholar
  36. 36.
    Winkler, U., Fritzsche, M., Gilani, W., Marshall, A.: Bob the builder: A fast and friendly model-to-petrinet transformer. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 416–427. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  37. 37.
    Xu, D., Nygard, K.E.: Threat-driven modeling and verification of secure software using aspect-oriented petri nets. IEEE TSE 32(4), 265–278 (2006)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.Universidad Autónoma de MadridSpain

Personalised recommendations