Skip to main content
Log in

Case-based exploration of bidirectional transformations in QVT Relations

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

QVT Relations (QVT-R), a standard issued by the Object Management Group, is a language for the declarative specification of model transformations. This paper focuses on a particularly interesting feature of QVT-R: the declarative specification of bidirectional transformations. Rather than writing two unidirectional transformations separately, a transformation developer may provide a single relational specification which may be executed in both directions. This approach saves specification effort and ensures the consistency of forward and backward transformations. This paper explores QVT-R’s support for bidirectional model transformations through a spectrum of transformation cases. The transformation cases vary with respect to several factors such as the size of the transformation definition or the relationships between the metamodels for source and target models. The cases are solved in QVT-R, but may be applied to other bidirectional transformation languages, as well; thus, they may be used as a benchmark for comparing bidirectional transformation languages. In our work, we focus on the following research questions: functionality of bidirectional transformations in terms of relations between source and target models, solvability (which problems may be solved by a single relational specification of a bidirectional transformation), variability (does a bidirectional transformation contain varying elements, i.e., elements being specific to one direction), comprehensibility (referring to the ease of understanding and constructing QVT-R transformations), and the semantic soundness of bidirectional transformations written in QVT-R.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. https://projects.eclipse.org/projects/modeling.mmt.qvtd.

References

  1. Adamson, I.T.: A Set Theory Workbook. Springer, New York (1998)

    Book  MATH  Google Scholar 

  2. Anjorin, A., Cunha, A., Giese, H., Hermann, F., Rensink, A., Schürr, A.: BenchmarX. In: Workshop Proceedings of the EDBT/ICDT 2014 Joint Conference, Athens, Greece, CEUR Workshop Proceedings, vol. 1133, pp. 82–86 (2014)

  3. Bradfield, J., Stevens, P.: Recursive checkonly QVT-R transformations with general when and where clauses via the modal mu calculus. In: de Lara, J., Zisman, A. (eds.) Proceedings of the 15th International Conference on Fundamental Approaches to Software Engineering (FASE 2012). Lecture Notes in Computer Science, vol. 7212, pp. 194–208. Springer-Verlag, Tallinn, Estonia (2012)

  4. Bradfield, J., Stevens, P.: Enforcing QVT-R with mu-calculus and games. In: Cortellessa, V., Varró, D. (eds.) Proceedings of the 16th International Conference on Fundamental Approaches to Software Engineering (FASE 2013). Lecture Notes in Computer Science, vol. 7793, pp. 282–296. Springer-Verlag, Rome, Italy (2013)

  5. Brunelière, H., Cabot, J., Dupé, G., Madiot, F.: MoDisco: a model driven reverse engineering framework. Inf. Softw. Technol. 56(8), 1012–1032 (2014)

    Article  Google Scholar 

  6. Calegari, D., Szasz, N.: Institution-based semantics for MOF and QVT-Relations. In: Iyoda, J., de Moura, L.M. (eds.) Proceedings of the 16th Brazilian Symposium on Formal Methods: Foundations and Applications (SBMF 2013). Lecture Notes in Computer Science, vol. 8195, pp. 34–50. Springer-Verlag, Brasilia, Brazil (2013)

  7. Cheney, J., McKinna, J., Gibbons, J., Stevens, P.: Towards a repository of Bx examples. In: Workshop Proceedings of the EDBT/ICDT 2014 Joint Conference, Athens, Greece, CEUR Workshop Proceedings, vol. 1133, pp. 87–91 (2014)

  8. Cichetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: JTL: A bidirectional and change propagating transformation language. In: Malloy, B., Staab, S., van den Brand, M. (eds.) Proceedings of the 3rd International Conference on Software Language Engineering (SLE 2010). Lecture Notes in Computer Science, vol. 6563, pp. 183–202. Springer-Verlag, Eindhoven, The Netherlands (2010)

  9. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  10. Czarnecki, K., Foster, J.N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional transformations: a cross-discipline perspective. In: Paige, R.F. (ed.) Proceedings of the Second International Conference on Theory and Practice of Model Transformations (ICMT 2009). Lecture Notes in Computer Science, vol. 5563, pp. 260–283. Springer-Verlag, Zurich, Switzerland (2009)

  11. Dan, L.: QVT based model transformation from sequence diagram to CSP. In: Calinescu, R., Paige, R.F., Kwiatkowska, M.Z. (eds.) Proceedings of the 15th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2010), pp. 349–354. IEEE Computer Society, Oxford, UK (2010)

  12. Diskin, Z., Wider, A., Gholizadeh, H., Czarnecki, K. (2014) Towards a rational taxonomy for increasingly symmetric model synchronization. In: Ruscio, D.D., Varró, D. (eds.) Proceedings of the 7th International Conference on Theory and Practice of Model Transformations (ICMT 2014). Lecture Notes in Computer Science, vol 8568, pp. 57–73. Springer-Verlag, York, UK

  13. Drago, M.L., Ghezzi, C., Mirandola, R.: A quality driven extension to the QVT-Relations transformation language. Comput. Sci. Res. Dev. 30(1), 1–20 (2011)

    Article  Google Scholar 

  14. Elasaar, M., Briand, L., Labiche, Y. (2011) Domain-specific model verification with QVT. In: France, R.B., Kuester, J.M., Bordbar, B., Paige, R.F. (eds.) Proceedings of the 7th European Conference on Modelling Foundations and Applications (ECMFA 2011). Lecture Notes in Computer Science, vol 8569, pp. 180–195. Springer-Verlag, Birmingham, UK

  15. Eramo, R., Pierantonio, A., Rosa, G.: Managing uncertainty in bidirectional model transformations. In: Proceedings of the 8th International Conference on Software Language Engineering (SLE 2015), pp. 49–58. ACM Press, Pittsburgh, PA (2015)

  16. Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3), 17:1–17:65 (2007)

    Article  MATH  Google Scholar 

  17. Garcia, M.: Formalization of QVT-Relations: OCL-based static semantics and Alloy-based validation. In: Friese, P., Zambrovski, S., Zimmermann, F. (eds.) Proceedings of the Second Workshop on MDSD Today (MDSD Today 2008), pp. 21–30. Shaker Verlag, Elmshorn, Germany, Berichte aus der Softwaretechnik (2008)

  18. Giandini, R., Pons, C., Pérez, G.: A two-level formal semantics for the QVT language. In: Brogi, A., Araújo, J., Anaya, R. (eds.) Memorias de la XII Conferencia Iberoamericana de Software Engineering (CIbSE 2009), Medellín, Colombia, pp. 73–86 (2009)

  19. Goldschmidt, T., Wachsmuth, G.: Refinement transformation support for QVT Relational transformations. In: Petrasch, R., Fieber, F., Ivanovic, M., Budimac, Z., Macos, D., Mitoussis, N. (eds.) Proceedings of the 3rd Workshop on Model Driven Software Engineering—Transformations and Tools (MDSE 2008), pp. 1–14. Special Interest Group Model-Driven Software Engineering, Logos Verlag, Berlin, Germany (2008)

  20. Greiner, S., Buchmann, T., Westfechtel, B.: Bidirectional transformations with QVT-R: a case study in round-trip engineering UML class models and Java source code. In: Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2016), pp. 15–27. INSTICC, SCITEPRESS, Rome, Italy (2016)

  21. Guerra, E., de Lara, J.: An algebraic semantics for QVT-Relations check-only transformations. Fundam. Inform. 114(1), 73–101 (2012)

    MathSciNet  MATH  Google Scholar 

  22. Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Automated verification of model transformations based on visual contracts. Autom. Softw. Eng. 20(1), 5–46 (2013)

    Article  Google Scholar 

  23. Hachenberger, D.: Mathematik für Informatiker, 2nd edn. Pearson Studium, Munich (2008)

    MATH  Google Scholar 

  24. Halmos, P.R.: Naive Set Theory. Undergraduate Texts in Mathematics. Springer, NY (1974)

    Book  Google Scholar 

  25. Hermann, F., Ehrig, H., Orejas, F., Czarnecki, K., Diskin, Z., Xiong, Y., Gottmann, S., Engel, T.: Model synchronization based on triple graph grammars: correctness, completeness and invertibility. Softw. Syst. Model. 14(1), 241–269 (2015)

    Article  Google Scholar 

  26. Hidaka, S., Tisi, M., Cabot, J., Hu, Z.: Feature-based classification of bidirectional transformation approaches. Softw. Syst. Model. (2015). doi:10.1007/s10270-014-0450-0

  27. Hildebrandt, S., Lambers, L., Giese, H., Rieke, J., Greenyer, J., Schäfer, W., Lauder, M., Anjorin, A., Schürr, A.: A survey of triple graph grammar tools. In: Stevens, P., Terwilliger, J.F. (eds.) Proceedings of the Second International Workshop on Bidirectional Transformations (BX 2013), vol. 57, pp. 1–17. Rome, Italy, Electronic Communications of the EASST (2013)

  28. ikv++ technologies: medini QVT (2014). http://projects.ikv.de/qvt

  29. Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)

    Article  Google Scholar 

  30. Jakumeit, E., Buchwald, S., Wagelaar, D., Dan, L., Hegedüs, A., Herrmannsdörfer, M., Horn, T., Kalnina, E., Krause, C., Lano, K., Lepper, M., Rensink, A., Rose, L., Wätzold, S., Mazanek, S.: A survey and comparison of transformation tools based on the transformation tool contest. Sci. Comput. Program. 85A, 41–99 (2014)

    Article  Google Scholar 

  31. Kerzner, H.: Project Management: A Systems Approach to Planning, Scheduling, and Controlling, 6th edn. Wiley, New York (1998)

    Google Scholar 

  32. Königs, A., Schürr, A.: Tool integration with triple graph grammars—a survey. In: Heckel, R. (ed.) Proceedings of the School of SegraVis Research Training Network on Foundations of Visual Modelling Techniques (FoVMT 2004). Electronic Notes in Theoretical Computer Science, vol. 148, pp. 113–150. Elsevier Science, Dagstuhl, Germany (2006)

  33. Kübler, J., Goldschmidt, T.: A pattern mining approach using QVT. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) Proceedings of the 5th European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA 2009). Lecture Notes in Computer Science, vol 5562, pp. 50–65. Springer-Verlag, Enschede, The Netherlands (2009)

  34. Kühne, T.: Matters of (meta-)modeling. Softw. Syst. Model. 5(4), 369–385 (2006)

    Article  Google Scholar 

  35. Lamancha, B.P., Mateo, P.R., de Guzmán, I.R., Usaola, M.P., Velthius M.P.: Automated model-based testing using the UML testing profile and QVT. In: Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation (MoDeVVa 2009), pp. 6:1–6:10. ACM, Denver, Colorado, USA (2009)

  36. de Lara, J., Guerra, E.: Formal support for QVT-Relations with Coloured Petri Nets. In: [53], pp. 256–270 (2009)

  37. Lengyel, L., Levendovszky, T., Vajk, T., Charaf, H.: Realizing QVT with graph rewriting-based modeL transformation. In: Karsai, G., Taentzer, G. (eds.) Proceedings of the Second International Workshop on Graph and Model Transformation (GraMoT 2006), vol. 4, pp. 1–12. Brighton, UK, Electronic Communications of the EASST (2006)

  38. Li, D., Li, X., Stolz, V.: QVT-based model transformation using XSLT. ACM SIGSOFT Softw. Eng. Notes 36(1), 1–8 (2011)

    Article  Google Scholar 

  39. Ma, K., Yang, B., Chen, Z., Abraham, A.: A relational approach to model transformation with QVT Relations supporting model synchronization. J. Univers. Comput. Sci. 17(13), 1863–1883 (2011)

    Google Scholar 

  40. Macedo, N., Cunha, A.: Least-change bidirectional model transformation with QVT-R and ATL. Softw. Syst. Model. (2014). doi:10.1007/s10270-014-0437-x

  41. Mens, T., Gorp, P.V.: A taxonomy of model transformations. In: Karsai, G., Taentzer, G. (eds.) Proceedings of the International Workshop on Graph and Model Transformation (GraMoT 2005). Electronic Notes of Theoretical Computer Science, vol. 152, pp. 125–142. Elsevier Science, Tallin, Estonia (2006)

  42. Mora, B., García, F., Ruiz, F., Piattini, M., Boronat, A., Gómez A., Carsí, J.A., Ramos, I.: Software measurement by using QVT transformations in an MDA context. In: Cordeiro, J., Filipe, J. (eds.) Proceedings of the Tenth International Conference on Enterprise Information Systems (ICEIS 2008), vol. DISI, pp. 117–124. Barcelona, Spain (2008)

  43. Object Management Group: Object Constraint Language Version 2.3.1. Needham, MA, formal/2012-01-01 edn (2012)

  44. Object Management Group: OMG Meta Object Facility (MOF) Core Specification Version 2.4.1. Needham, MA, formal/2013-06-01 edn (2013)

  45. Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification Version 1.2. Needham, MA, formal/2015-02-01 edn (2015)

  46. Pérez-Castillo, R., de Guzmán, I.G.R., Piattini, M. Implementing business process recovery patterns through QVT transformations. In: Tratt, L., Gogolla, M. (eds.) Proceedings of the Third International Conference on Theory and Practice of Model Transformations (ICMT 2010). Lecture Notes in Computer Science, vol. 6142, pp. 57–73. Springer-Verlag, Malaga, Spain (2014)

  47. Reddy, S., Venkatesh, R., Zahid, A.: A relational approach to model transformation using QVT Relations. Tech. rep., Tata Research Development and Design Centre, Pune, India. http://www.iist.unu.edu/~vs/wiki-files/QVT-TRDCC.pdf (2006)

  48. Reisig, W.: Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies. Springer, Berlin (2013)

    Book  MATH  Google Scholar 

  49. Romeikat, R., Rose, S., Müllender, P., Bauer, B.: Translation of QVT Relations into QVT operational mappings. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) Proceedings of the First International Conference on Theory and Practice of Model Transformations (ICMT 2008). Lecture Notes in Computer Science, vol. 5063, pp. 137–151. Springer-Verlag, Zurich, Switzerland (2008)

  50. Schmidt, D.C.: Guest editor’s introduction: model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)

    Article  Google Scholar 

  51. Schürr, A.: Specification of graph translators with triple graph grammars. In: Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science (WG 1994). Lecture Notes in Computer Science, vol. 903, pp. 151–163. Springer-Verlag, Herrsching, Germany (1995)

  52. Schürr, A., Klar, F.: 15 years of triple graph grammars—research challenges, new contributions, open problems. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) Graph Transformations: 4th International Conference (ICGT 2008). Lecture Notes in Computer Science, vol. 5214, pp. 411–425. Springer-Verlag, Leicester, UK, Lecture (2008)

  53. Schürr, A., Selic, B. (eds.): Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems (MODELS 2009). Lecture Notes in Computer Science, vol. 5795. Springer-Verlag, Denver, CO (2009)

  54. Schwichtenberg, S., Gerth, C., Huma, Z., Engels, G.: Normalizing heterogeneous service description models with generated QVT transformations. In: Cabot, J., Rubin, J. (eds.) Proceedings of the 10th European Conference on Modelling Foundations and Applications (ECMFA 2014). Lecture Notes in Computer Science, vol. 8569, pp. 180–195. Springer-Verlag, New York, UK (2014)

  55. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework, 2nd edn. The Eclipse Series, Addison-Wesley, Upper Saddle River (2009)

  56. Stevens, P.: A landscape of bidirectional model transformations. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering II (International Summer School, GTTSE 2007). Lecture Notes in Computer Science, vol. 5235, pp. 408–424. Springer-Verlag, Braga, Portugal (2007)

  57. Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)

    Article  MathSciNet  Google Scholar 

  58. Stevens, P.: A simple game-theoretic approach to checkonly QVT Relations. Softw. Syst. Model. 12(1), 175–199 (2013)

    Article  Google Scholar 

  59. Tata Research: ModelMorf. http://www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm (2014)

  60. Westfechtel, B.: A case study for evaluating bidirectional transformations in QVT Relations. In: Filipe, J., Maciaszek, L. (eds.) Proceedings of the 10th International Conference on the Evaluation of Novel Approaches to Software Engineering (ENASE 2015), pp. 141–155. INSTICC, SCITEPRESS, Barcelona, Spain (2015)

  61. Westfechtel, B.: A case study for a bidirectional transformation between heterogeneous metamodels in QVT Relations. In: Filipe, J., Maciaszek, L. (eds.) Proceedings of the 10th International Conference on the Evaluation of Novel Approaches to Software Engineering (ENASE 2015), vol. 599, pp. 141–161. Revised Selected Papers, Springer-Verlag, Berlin, Heidelberg, New York, Communications in Computer and Information Science (2016)

  62. Willink, E.: QVT Declarative (QVTd). https://wiki.eclipse.org/MMT/QVT_Declarative_(QVTd) (2015)

  63. Wimmer, M., Kusel, A., Schoenboeck, J., Kappel, G., Retschitzegger, W., Schwinger, W.: Reviving QVT Relations: Model-based debugging using Colored Petri Nets. In: [53], pp. 727–732 (2009)

Download references

Acknowledgments

The author gratefully acknowledges the constructive comments of the unknown reviewers.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bernhard Westfechtel.

Additional information

Communicated by Prof. Perdita Stevens.

This paper is an extended version of [60].

http://btn1x4.inf.uni-bayreuth.de/qvt/QVT-Examples.zip provides the full metamodels and specifications presented in this paper. The specifications were developed and tested with medini QVT, version 1.7.0 under Eclipse Indigo (see further comments in Sect. 8.2).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Westfechtel, B. Case-based exploration of bidirectional transformations in QVT Relations. Softw Syst Model 17, 989–1029 (2018). https://doi.org/10.1007/s10270-016-0527-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0527-z

Keywords

Navigation