ICSOFT 2015: Software Technologies pp 349-364 | Cite as

Documenting and Designing QVTo Model Transformations Through Mathematics

  • Ulyana TikhonovaEmail author
  • Tim Willemse
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 586)


Model transformations play an essential role in Model Driven Engineering (MDE), as they provide the means to use models as first-class artifacts in the software development process. While there exist a number of languages specifically designed to program model transformations, the practical challenges of documenting and designing model transformations are hardly addressed. In this paper we demonstrate how QVTo model transformations can be described and designed informally through the mathematical notation of set theory and functions. We align the QVTo concepts with the mathematical concepts, and, building on the latter, we formulate two design principles of developing QVTo transformations: structural decomposition and chaining model transformations.


Model driven engineering Model transformation QVTo Documentation Software design 



We are very grateful to the QVTo experts who agreed to access our approach and provided us with very useful insights in its potential benefits and flaws. We also would like to thank Tom Verhoeff and Mark van den Brand (Eindhoven University of Technology, The Netherlands) for their useful comments on this work.


  1. 1.
    OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (2015). Version 1.2Google Scholar
  2. 2.
    Guerra, E., de Lara, J., Kolovos, D., Paige, R., dos Santos, O.: Engineering model transformations with transML. Softw. Syst. Model. 12, 555–577 (2013)CrossRefGoogle Scholar
  3. 3.
    Visser, E.: Program transformation with Stratego/XT: Rules, strategies, tools, and systems. In: Lengauer, C., Batory, D., Blum, A., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 216–238. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Etien, A., Dumoulin, C., Renaux, E.: Towards a Unified Notation to Represent Model Transformation. Research Report 6187, INRIA (2007)Google Scholar
  5. 5.
    Rahim, L.A., Mansoor, S.B.R.S: Proposed design notation for model transformation. In: ASWEC, pp. 589–598. IEEE Computer Society (2008)Google Scholar
  6. 6.
    Kalnins, A., Barzdins, J., Celms, E.: Model transformation language MOLA. In: Aßmann, U., Akşit, M., Rensink, A. (eds.) MDAFA 2003. LNCS, vol. 3599, pp. 62–76. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Idani, A., Ledru, Y., Anwar, A.: A rigorous reasoning about model transformations using the B method. In: Nurcan, S., Proper, H.A., Soffer, P., Krogstie, J., Schmidt, R., Halpin, T., Bider, I. (eds.) BPMDS 2013 and EMMSAD 2013. LNBIP, vol. 147, pp. 426–440. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  8. 8.
    Lano, K., Rahimi, S.K.: Model-transformation design patterns. IEEE Trans. Softw. Eng. 40, 1224–1259 (2014)CrossRefGoogle Scholar
  9. 9.
    Kolahdouz-Rahimi, S., Lano, K.: A model-based development approach for model transformations. In: Arbab, F., Sirjani, M. (eds.) FSEN 2011. LNCS, vol. 7141, pp. 48–63. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  10. 10.
    Lano, K.: Model transformation design pattern catalogue. Accessed August 2015
  11. 11.
    Jackson, M.: Designing and coding program structures. In: Stevenson, H.P. (ed.) Proceedings of a Codasyl Programming Language Committee Symposium on Structured Programming in COBOL Future and Present, pp. 22–53 (1975)Google Scholar
  12. 12.
    Jackson, M.: JSP in perspective. In: Broy, M., Denert, E. (eds.) Software Pioneers, pp. 480–493. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    Snook, C., Butler, M.: UML-B: formal modeling and design aided by UML. ACM Trans. Softw. Eng. Methodol. 15, 92–122 (2006)CrossRefGoogle Scholar
  14. 14.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45, 621–645 (2006)CrossRefGoogle Scholar
  15. 15.
    Gerpheide, C.M., Schiffelers, R.R.H., Serebrenik, A.: A Bottom-Up quality model for QVTo. In: QUATIC, pp. 85–94. IEEE (2014)Google Scholar
  16. 16.
    van Amstel, M.F., van den Brand, M.G.J., Protić, Z., Verhoeff, T.: Transforming process algebra models into UML state machines: bridging a semantic gap? In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 61–75. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  17. 17.
    Mens, T., Gorp, P.V.: A taxonomy of model transformation. Electr. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  18. 18.
    Kurtev, I.: State of the art of QVT: a model transformation language standard. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) AGTIVE 2007. LNCS, vol. 5088, pp. 377–393. Springer, Heidelberg (2008)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Technische Universiteit EindhovenEindhovenThe Netherlands

Personalised recommendations