Bidirectional model transformations in QVT: semantic issues and open questions

Special Section Paper

Abstract

We consider the OMG’s queries, views and transformations standard as applied to the specification of bidirectional transformations between models. We discuss what is meant by bidirectional transformations, and the model-driven development scenarios in which they are needed. We analyse the fundamental requirements on tools which support such transformations, and discuss some semantic issues which arise. In particular, we show that any transformation language sufficient to the needs of model-driven development would have to be able to express non-bijective transformations. We argue that a considerable amount of basic research is needed before suitable tools will be fully realisable, and suggest directions for this future research.

Keywords

Bidirectional model transformation QVT Model-driven development Semantics 

References

  1. 1.
    Bohannon, A., Vaughan, J.A., Pierce, B.C.: Relational lenses: a language for updateable views. In: Principles of Database Systems (PODS), Extended Version Available as University of Pennsylvania technical report MS-CIS-05-27 (2006)Google Scholar
  2. 2.
    Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information preserving bidirectional model transformations. In: Proceedings of Fundamental Approaches to Software Engineering (FASE 2007), no. 4422 in LNCS, pp. 72–86. Springer, Heidelberg, March/April (2007)Google Scholar
  3. 3.
    Foster J.N., Greenwald M.B., Moore J.T., Pierce B.C., Schmitt A. (2007) Combinators for bi-directional tree transformations: A linguistic approach to the view update problem. ACM Trans. Program. Lang. Syst. 29(3): 17CrossRefGoogle Scholar
  4. 4.
    Greenyer, J.: A study of technologies for model transformation: reconciling TGGs with QVT. Master’s Thesis, University of Paderborn, Department of Computer Science, Paderborn (2006)Google Scholar
  5. 5.
    Greenyer, J., Kindler, E.: Reconciling TGGs with QVT. In: Model Driven Engineering Languages and Systems, 10th International Conference, MoDELS 2007, Nashville, 30 September–5 October, 2007, Proceedings, vol. 4735 of Lecture Notes in Computer Science, pp. 16–30. Springer, Heidelberg (2007)Google Scholar
  6. 6.
    Hu, Z., Mu, S.-C., Takeichi, M.: A programmable editor for developing structured documents based on bidirectional transformations. In: Proceedings of the 2004 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation (PEPM’04), pp. 178–189 (2004)Google Scholar
  7. 7.
    Kawanaka, S., Hosoya, H.: biXid: a bidirectional transformation language for XML. In: Proceedings of the International Conference on Functional Programming, ICFP’06, pp. 201–214 (2006)Google Scholar
  8. 8.
    Königs, A., Schürr, A.: Tool integration with triple graph grammars—a survey. In: Heckel, R., (ed.) Proceedings of the SegraVis School on Foundations of Visual Modelling Techniques, vol. 148 of Electronic Notes in Theoretical Computer Science, pp. 113–150. Elsevier, Amsterdam (2006)Google Scholar
  9. 9.
    Königs, A.: Model transformation with triple graph grammars. In: Proceedings, Workshop on Model Transformations in Practice (2005)Google Scholar
  10. 10.
    Meertens, L.: Designing constraint maintainers for user interaction. Unpublished manuscript, available from http://www.kestrel.edu/home/people/meertens/ June (1998)
  11. 11.
    Mu, S.-C., Hu, Z., Takeichi, M.: An algebraic approach to bi-directional updating. In: Proceedings of Programming Languages and Systems: Second Asian Symposium, APLAS’04, pp. 2–20 (2004)Google Scholar
  12. 12.
    Mu, S.-C., Hu, Z., Takeichi, M.: An injective language for reversible computation. In: Proceedings of Mathematics of Program Construction (MPC’04), pp. 289–313 (2004)Google Scholar
  13. 13.
    OMG. MOF2.0 query/view/transformation (QVT) adopted specification. OMG document ptc/05-11-01, available from http://www.omg.org (2005)
  14. 14.
    Stevens, P.: Bidirectional model transformations in QVT: Semantic issues and open questions. In: Proceedings of 10th International Conference on Model Driven Engineering Languages and Systems, MODELS 2007, Nashville, 30 September–5 October, 2007, vol. 4735 of Lecture Notes in Computer Science, pp. 1–15. Springer, Heidelberg (2007)Google Scholar
  15. 15.
    Stevens, P.: A landscape of bidirectional model transformations. In: Generative and Transformational Techniques in Software Engineering II, no. 5235 in Lecture Notes in Computer Science, pp. 408–424. Springer, Heidelberg, July (2007)Google Scholar
  16. 16.
    Taentzer, G., Ehrig, K., Guerra, E., de Lara, J., Lengyel, L., Levendovsky, T., Prange, U., Varro, D., Varro-Gyapay, S.: Model transformation by graph transformation: a comparative study. In: Workshop on Model Transformations in Practice, September (2005)Google Scholar
  17. 17.
    Witkop, S.: MDA users’ requirements for QVT transformations. OMG document 05-02-04, available from http://www.omg.org (2005)

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.School of InformaticsUniversity of EdinburghEdinburghUK

Personalised recommendations