From State- to Delta-Based Bidirectional Model Transformations: The Symmetric Case

  • Zinovy Diskin
  • Yingfei Xiong
  • Krzysztof Czarnecki
  • Hartmut Ehrig
  • Frank Hermann
  • Fernando Orejas
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6981)


A bidirectional transformation (BX) keeps a pair of interrelated models synchronized. Symmetric BXs are those for which neither model in the pair fully determines the other. We build two algebraic frameworks for symmetric BXs, with one correctly implementing the other, and both being delta-based generalizations of known state-based frameworks. We identify two new algebraic laws-weak undoability and weak invertibility, which capture important semantics of BX and are useful for both state- and delta-based settings. Our approach also provides a flexible tool architecture adaptable to different user’s needs.


Algebraic Framework Bidirectional Transformation Model Synchronization Bidirectional Model Alignment Framework 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alanen, M., Porres, I.: Difference and union of models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 2–17. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Barbosa, D.M.J., Cretin, J., Foster, N., Greenberg, M., Pierce, B.C.: Matching lenses: alignment and view update. In: ICFP, pp. 193–204 (2010)Google Scholar
  3. 3.
    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.) ICMT 2009. LNCS, vol. 5563, pp. 260–283. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  4. 4.
    Diskin, Z.: Model synchronization: Mappings, tiles, and categories. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering III. LNCS, vol. 6491, pp. 92–165. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Diskin, Z., Xiong, Y., Czarnecki, K.: From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case. Journal of Object technology 10, 6:1–6:25 (2011)CrossRefGoogle Scholar
  6. 6.
    Diskin, Z.: Algebraic models for bidirectional model synchronization. In: Busch, C., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 21–36. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Diskin, Z., Xiong, Y., Czarnecki, K., Ehrig, H., Hermann, F., Orejas, F.: From state- to delta-based bidirectional model transformations: the symmetric case. Tech. Rep. GSDLAB-TR 2011-05-03, GSD Lab, University of Waterloo (2011),
  8. 8.
    Foster, J.N., Greenwald, M., Moore, J., Pierce, B., Schmitt, A.: Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3) (2007)Google Scholar
  9. 9.
    Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Software and System Modeling 8(1), 21–43 (2009)CrossRefGoogle Scholar
  10. 10.
    Hermann, F., Ehrig, H., Orejas, F., Czarnecki, K., Diskin, Z., Xiong, Y.: Correctness of Model Synchronization Based on TGG. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 662–676. Springer, Heidelberg (2011)Google Scholar
  11. 11.
    Hofmann, M., Pierce, B.C., Wagner, D.: Symmetric lenses. In: POPL (2011)Google Scholar
  12. 12.
    Hu, Z., Mu, S.C., Takeichi, M.: A programmable editor for developing structured documents based on bidirectional transformations. Higher-Order and Symbolic Computation 21(1-2), 89–118 (2008)CrossRefzbMATHGoogle Scholar
  13. 13.
    Meertens, L.: Designing constraint maintainers for user interaction (1998),
  14. 14.
    Song, H., Huang, G., Chauvel, F., Zhang, W., Sun, Y., Mei, H.: Instant and incremental QVT transformation for runtime models. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 273–288. Springer, Heidelberg (2011)Google Scholar
  15. 15.
    Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Software and System Modeling 9(1), 7–20 (2010)CrossRefGoogle Scholar
  16. 16.
    Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object-oriented design differencing. In: ASE, pp. 54–65 (2005)Google Scholar
  17. 17.
    Xiong, Y., Liu, D., Hu, Z., Zhao, H., Takeichi, M., Mei, H.: Towards automatic model synchronization from model transformations. In: ASE, pp. 164–173 (2007)Google Scholar
  18. 18.
    Xiong, Y., Hu, Z., Zhao, H., Song, H., Takeichi, M., Mei, H.: Supporting automatic model inconsistency fixing. In: ESEC/SIGSOFT FSE, pp. 315–324 (2009)Google Scholar
  19. 19.
    Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Synchronizing concurrent model updates based on bidirectional transformation. Software and Systems Modeling (to appear)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Zinovy Diskin
    • 1
  • Yingfei Xiong
    • 1
  • Krzysztof Czarnecki
    • 1
  • Hartmut Ehrig
    • 2
  • Frank Hermann
    • 2
    • 3
  • Fernando Orejas
    • 4
  1. 1.Generative Software Development LabUniversity of WaterlooCanada
  2. 2.Institut für Softwaretechnik und Theoretische InformatikTechnische Universität BerlinGermany
  3. 3.Interdisciplinary Center for Security, Reliability and TrustUniversité du LuxembourgLuxembourg
  4. 4.Departament de Llenguatges i Sistemes InformàticsUniversitat Politècnica de CatalunyaBarcelonaSpain

Personalised recommendations