Abstract

Model transformations are a key element in the OMG’s Model Driven Development agenda. They did not begin here: the fundamental idea of transforming, automatically, one model into another is at least as old as the computer, provided that we take a sufficiently broad view of what a model is. In many contexts, people have encountered the need for bidirectional transformations. In this survey paper we discuss the various notions of bidirectional transformation, and their motivation from the needs of software engineering. We discuss the state of the art in work targeted specifically at the OMG’s MDD initiative, and also, briefly, related work from other communities. We point out some areas which are so far relatively under-researched, and propose research topics for the future.

Keywords

bidirectional model transformation QVT graph transformation triple graph grammar bidirectional programming language 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Amelunxen, C., Königs, A., Rötschke, T., Schürr, A.: MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066. pp. 361–375. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Antkiewicz, M., Czarnecki, K.: Framework-specific modeling languages with round-trip engineering. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 692–706. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Bohannon, A., Foster, J.N., Pierce, B.C., Pilkiewicz, A., Schmitt, A.: Boomerang: Resourceful lenses for string data. In: ACM SIGPLAN–SIGACT Symposium on Principles of Programming Languages (POPL), San Francisco, California (January 2008)Google Scholar
  4. 4.
    Brabrand, C., Møller, A., Schwartzbach, M.I.: Dual syntax for XML languages. In: Bierman, G., Koch, C. (eds.) DBPL 2005. LNCS, vol. 3774. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Braun, P., Marschall, F.: Transforming object oriented models with botl. Electronic Notes in Theoretical Computer Science, 72(3) (2003)Google Scholar
  6. 6.
    Chivers, H., Paige, R.F.: Xround: Bidirectional transformations and unifications via a reversible template language. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 205–219. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Cicchetti, A., Di Ruscio, D., Eramo, R.: Towards propagation of changes by model approximations. In: Proceedings of the Tenth IEEE International Enterprise Distributed Object Computing Conference (EDOC 2006), p. 24. IEEE Computer Society, Los Alamitos (2006)CrossRefGoogle Scholar
  8. 8.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal, special issue on Model-Driven Software Development 45(3), 621–645 (2006)Google Scholar
  9. 9.
    Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information preserving bidirectional model transformations. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 72–86. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Del Fabro, M.D., Jouault, F.: Model transformation and weaving in the AMMA platform. In: Proceedings of GTTSE 2005 (2006)Google Scholar
  11. 11.
    Finkelstein, A., Gabbay, D., Hunter, A., Kramer, J., Nuseibeh, B.: Inconsistency handling in multi-perspective specifications. Transactions on Software Engineering 20(8), 569–578 (1994)CrossRefGoogle Scholar
  12. 12.
    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 Transactions on Programming Languages and Systems 29(3), 17 (2007)CrossRefGoogle Scholar
  13. 13.
    Greenyer, J., Kindler, E.: Reconciling TGGs with QVT. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 16–30. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  14. 14.
    Grunske, L., Geiger, L., Lawley, M.: A graphical specification of model transformations with triple graph grammars. In: proceedings of 2nd European Conference on Model Driven Architecture - Foundations and Applications (ECMDA-FA) (November 2005)Google Scholar
  15. 15.
    Hibberd, M., Lawley, M., Raymond, K.: Forensic debugging of model transformations. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 589–604. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    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 2004), pp. 178–189 (2004)Google Scholar
  17. 17.
    Jouault, F., Kurtev, I.: Transforming models with atl. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Kawanaka, S., Hosoya, H.: biXid: a bidirectional transformation language for XML. In: Proceedings of the International Conference on Functional Programming, ICFP 2006, pp. 201–214 (2006)Google Scholar
  19. 19.
    Klar, F., Königs, A., Schürr, A.: Model transformation in the large. In: Proceedings of the 6th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2007, Dubrovnik, Croatia, September 3-7, 2007, pp. 285–294. ACM, New York (2007)CrossRefGoogle Scholar
  20. 20.
    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. Electronic Notes in Theoretical Computer Science, vol. 148, pp. 113–150. Elsevier Science Publ., Amsterdam (2006)Google Scholar
  21. 21.
    Königs, A.: Model transformation with triple graph grammars. In: Proceedings of the Workshop on Model Transformations in Practice, at MODELS 2005 (September 2005)Google Scholar
  22. 22.
    Küster, J.M.: Definition and validation of model transformations. Software and Systems Modeling (SoSyM) 5(3), 233–259 (2006)CrossRefGoogle Scholar
  23. 23.
    Lambert Meertens. Designing constraint maintainers for user interaction. Unpublished manuscript (June 1998), http://www.kestrel.edu/home/people/meertens/
  24. 24.
    Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electr. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  25. 25.
    Mu, S.-C., Hu, Z., Takeichi, M.: An algebraic approach to bi-directional updating. In: Chin, W.-N. (ed.) APLAS 2004. LNCS, vol. 3302, pp. 2–20. Springer, Heidelberg (2004)Google Scholar
  26. 26.
    Mu, S.-C., Hu, Z., Takeichi, M.: An injective language for reversible computation. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 289–313. Springer, Heidelberg (2004)Google Scholar
  27. 27.
    Oliveira, J.N.: Data transformation by calculation. In: Informal GTTSE 2007 Proceedings, pp. 139–198 (July 2007)Google Scholar
  28. 28.
    OMG. MOF2.0 query/view/transformation (QVT) adopted specification. OMG document ptc/05-11-01 (2005), www.omg.org
  29. 29.
    Sendall, S., Küster, J.M.: Taming model round-trip engineering. In: Proceedings of Workshop on Best Practices for Model-Driven Software Development, Vancouver, Canada (2004)Google Scholar
  30. 30.
    Stevens, P.: Bidirectional model transformations in qvt: Semantic issues and open questions. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 1–15. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  31. 31.
    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: Proceedings of the Workshop on Model Transformations in Practice, at MODELS 2005 (September 2005)Google Scholar
  32. 32.
    Witkop, S.: MDA users’ requirements for QVT transformations. OMG document 05-02-04 (2005), www.omg.org

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Perdita Stevens
    • 1
  1. 1.Laboratory for Foundations of Computer Science School of InformaticsUniversity of Edinburgh 

Personalised recommendations