ABSTRACT
Bidirectional transformations are pairs of transformations going back and forth between two data domains, possibly taking extra information into account to disambiguate in one or both directions, while being governed by certain consistency conditions. Application scenarios are view-update propagation in databases, model-driven engineering, and programming environments like structured editors, among others. Consequently, diverse disciplines contribute to the interest and development in this area. We focus on approaches that, rather than being centered on the data, take the involved transformations seriously as programs to analyze and manipulate.
- F. Bancilhon and N. Spyratos. Update semantics of relational views. ACM Transactions on Database Systems, 6(3):557--575, 1981. Google ScholarDigital Library
- A. Bohannon, B. Pierce, and J. Vaughan. Relational lenses: A language for updatable views. In Principles of Database Systems, Proceedings, pages 338--347. ACM Press, 2006. Google ScholarDigital Library
- K. Czarnecki, J. Foster, Z. Hu, R. Lämmel, A. Schürr, and J. Terwilliger. Bidirectional transformations: A cross-discipline perspective. In International Conference on Model Transformation, Proceedings, volume 5563 of LNCS, pages 260--283. Springer-Verlag, 2009. Google ScholarDigital Library
- J. Foster, M. Greenwald, J. Moore, B. Pierce, and A. Schmitt. Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Transactions on Programming Languages and Systems, 29(3):17, 2007. Google ScholarDigital Library
- J. Foster, K. Matsuda, and J. Voigtländer. Three complementary approaches to bidirectional programming. In Spring School on Generic and Indexed Programming 2010, Revised Lectures, volume 7470 of LNCS, pages 1--46. Springer-Verlag, 2012. Google ScholarDigital Library
- S. Hidaka, Z. Hu, K. Inaba, H. Kato, K. Matsuda, and K. Nakano. Bidirectionalizing graph transformations. In International Conference on Functional Programming, Proceedings, pages 205--216. ACM Press, 2010. Google ScholarDigital Library
- Z. Hu, S.-C. Mu, and M. Takeichi. A programmable editor for developing structured documents based on bidirectional transformations. In Partial Evaluation and Semantics-Based Program Manipulation, Proceedings, pages 178--189. ACM Press, 2004. Google ScholarDigital Library
- K. Matsuda, Z. Hu, K. Nakano, M. Hamana, and M. Takeichi. Bidirectionalization transformation based on automatic derivation of view complement functions. In International Conference on Functional Programming, Proceedings, pages 47--58. ACM Press, 2007. Google ScholarDigital Library
- H. Pacheco and A. Cunha. Generic point-free lenses. In Mathematics of Program Construction, Proceedings, volume 6120 of LNCS, pages 331--352. Springer-Verlag, 2010. Google ScholarDigital Library
- H. Pacheco, A. Cunha, and Z. Hu. Delta lenses over inductive types. Electronic Communications of the European Association of Software Science and Technology, 49, 2012.Google Scholar
- J. Voigtländer. Bidirectionalization for free! In Principles of Programming Languages, Proceedings, pages 165--176. ACM Press, 2009. Google ScholarDigital Library
- J. Voigtländer. Ideas for connecting inductive program synthesis and bidirectionalization. In Partial Evaluation and Program Manipulation, Proceedings, pages 39--42. ACM Press, 2012. Google ScholarDigital Library
- M. Wang, J. Gibbons, and N. Wu. Incremental updates for efficient bidirectional transformations. In International Conference on Functional Programming, Proceedings, pages 392--403. ACM Press, 2011. Google ScholarDigital Library
Index Terms
- Programming language approaches to bidirectional transformation
Recommendations
Three complementary approaches to bidirectional programming
SSGIP'10: Proceedings of the 2010 international spring school conference on Generic and Indexed ProgrammingThis paper surveys three distinct approaches to bidirectional programming. The first approach, syntactic bidirectionalization, takes a program describing the forward transformation as input and calculates a well-behaved reverse transformation. The ...
Feature-based classification of bidirectional transformation approaches
Bidirectional model transformation is a key technology in model-driven engineering (MDE), when two models that can change over time have to be kept constantly consistent with each other. While several model transformation tools include at least a ...
Least-change bidirectional model transformation with QVT-R and ATL
QVT Relations (QVT-R) is the standard language proposed by the OMG to specify bidirectional model transformations. Unfortunately, in part due to ambiguities and omissions in the original semantics, acceptance and development of effective tool support ...
Comments