Abstract
Bidirectional transformations provide a novel mechanism for synchronizing and maintaining the consistency of information between input and output. Despite many promising results on bidirectional transformations, these have been limited to the context of relational or XML (tree-like) databases. We challenge the problem of bidirectional transformations within the context of graphs, by proposing a formal definition of a well-behaved bidirectional semantics for UnCAL, i.e., a graph algebra for the known UnQL graph query language. The key to our successful formalization is full utilization of both the recursive and bulk semantics of structural recursion on graphs. We carefully refine the existing forward evaluation of structural recursion so that it can produce sufficient trace information for later backward evaluation. We use the trace information for backward evaluation to reflect in-place updates and deletions on the view to the source, and adopt the universal resolving algorithm for inverse computation and the narrowing technique to tackle the difficult problem with insertion. We prove our bidirectional evaluation is well-behaved. Our current implementation is available online and confirms the usefulness of our approach with nontrivial applications.
Supplemental Material
- }}S. M. Abramov and R. Glück. Principles of inverse computation and the universal resolving algorithm. In The Essence of Computation, pages 269--295, 2002. Google Scholar
Digital Library
- }}S. Antoy, R. Echahed, and M. Hanus. A needed narrowing strategy. In POPL 1994, pages 268--279, 1994. Google Scholar
Digital Library
- }}F. Bancilhon and N. Spyratos. Update semantics of relational views. ACM Trans. Database Syst., 60 (4):0 557--575, 1981. Google Scholar
Digital Library
- }}J. Bezivin, B. Rumpe, and T. L. Schürr A. Model transformation in practice workshop announcement. In MoDELS Satellite Events 2005, pages 120--127, 2005. Google Scholar
Digital Library
- }}R. Bird and O. de Moor. Algebras of Programming. Prentice Hall, 1996. Google Scholar
Digital Library
- }}A. Bohannon, B. C. Pierce, and J. A. Vaughan. Relational lenses: a language for updatable views. In PODS 2006, pages 338--347, 2006. Google Scholar
Digital Library
- }}V. Breazu-Tannen, P. Buneman, and S. Naqvi. Structural recursion as a query language. In DBPL 1991, pages 9--19, 1991. Google Scholar
Digital Library
- }}P. Buneman, M. F. Fernandez, and D. Suciu. UnQL: a query language and algebra for semistructured data based on structural recursion. VLDB J., 90 (1):0 76--110, 2000. Google Scholar
Digital Library
- }}J. Cheney, U. A. Acar, and A. Ahmed. Provenance traces. CoRR, abs/0812.0564, 2008.Google Scholar
- }}K. Czarnecki, J. N. Foster, Z. Hu, R. Lammel, A. Schürr, and J. F. Terwilliger. Bidirectional transformations: A cross-discipline perspective. In ICMT 2009, pages 260--283, 2009. Google Scholar
Digital Library
- }}U. Dayal and P. A. Bernstein. On the correct translation of update operations on relational views. ACM Trans. Database Syst., 70 (3):0 381--416, 1982. Google Scholar
Digital Library
- }}K. Ehrig, E. Guerra, J. de Lara, L. Lengyel, T. Levendovszky, U. Prange, G. Taentzer, D. Varró, and S. Varró-Gyapay. Model transformation by graph transformation: A comparative study. Presented at MTiP 2005. http://www.inf.mit.bme.hu/FTSRG/Publications/varro/2005/mtip05.pdf, 2005.Google Scholar
- }}L. Fegaras. Propagating updates through xml views using lineage tracing. In ICDE 2010, pages 309--320, 2010.Google Scholar
Cross Ref
- }}J. N. Foster, M. B. Greenwald, J. T. Moore, B. C. Pierce, and A. Schmitt. Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. In POPL 2005, pages 233--246, 2005. Google Scholar
Digital Library
- }}R. Glück and A. V. Klimov. Occam's razor in metacompuation: the notion of a perfect process tree. In WSA 1993, pages 112--123, 1993. Google Scholar
Digital Library
- }}R. Glück and M. H. Sørensen. Partial deduction and driving are equivalent. In PLILP 1994, pages 165--181, 1994. Google Scholar
Digital Library
- }}G. Gottlob, P. Paolini, and R. Zicari. Properties and update semantics of consistent views. ACM Trans. Database Syst., 130 (4):0 486--524, 1988. Google Scholar
Digital Library
- }}S. J. Hegner. Foundations of canonical update support for closed database views. In ICDT 1990, pages 422--436, 1990. Google Scholar
Digital Library
- }}S. Hidaka, Z. Hu, H. Kato, and K. Nakano. Towards a compositional approach to model transformation for software development. In SAC 2009, pages 468--475, 2009. Google Scholar
Digital Library
- }}S. Hidaka, Z. Hu, K. Inaba, H. Kato, K. Matsuda, and K. Nakano. Bidirectionalizing graph transformations. Technical Report GRACE-TR-2010-06, GRACE Center, National Institute of Informatics, July 2010.Google Scholar
Digital Library
- }}Z. Hu, S.-C. Mu, and M. Takeichi. A programmable editor for developing structured documents based on bidirectional transformations. Higher-Order and Symbolic Computation, 210 (1-2):0 89--118, 2008. Google Scholar
Digital Library
- }}F. Jouault and I. Kurtev. Transforming models with ATL. In MoDELS Satellite Events 2005, pages 128--138, 2005. Google Scholar
Digital Library
- }}R. Lämmel. Coupled Software Transformations (Extended Abstract). In SET 2004, Nov. 2004.Google Scholar
- }}J. Lechtenbörger and G. Vossen. On the computation of relational view complements. ACM Trans. Database Syst., 280 (2):0 175--208, 2003. Google Scholar
Digital Library
- }}D. Liu, Z. Hu, and M. Takeichi. Bidirectional interpretation of XQuery. In PEPM 2007, pages 21--30, 2007. Google Scholar
Digital Library
- }}K. Matsuda, Z. Hu, K. Nakano, M. Hamana, and M. Takeichi. Bidirectionalization transformation based on automatic derivation of view complement functions. In ICFP 2007, pages 47--58, 2007. Google Scholar
Digital Library
- }}L. Meertens. Designing constraint maintainers for user interaction. http://www.cwi.nl/~lambert, June 1998.Google Scholar
- }}OMG. MOF QVT final adopted specification. http://www.omg.org/docs/ptc/05-11-01.pdf, 2005.Google Scholar
- }}Y. Papakonstantinou, H. Garcia-Molina, and J. Widom. Object exchange across heterogeneous information sources. In ICDE 1995, pages 251--260, 1995. Google Scholar
Digital Library
- }}O. Pastor and J. C. Molina. Model-Driven Architecture in Practice: A Software Production Environment Based on Conceptual Modeling. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2007. Google Scholar
Digital Library
- }}A. Schürr and F. Klar. 15 years of triple graph grammars. In ICGT '08: Proceedings of the 4th international conference on Graph Transformations, pages 411--425. Springer-Verlag, 2008. Google Scholar
Digital Library
- }}T. Sheard and L. Fegaras. A fold for all seasons. In FPCA 1993, pages 233--242, Copenhagen, June 1993. Google Scholar
Digital Library
- }}L. Sheng, Z. M. Ozsoyoglu, and G. Ozsoyoglu. A graph query language and its query processing. In ICDE 1999, pages 572--581, 1999. Google Scholar
Digital Library
- }}P. Stevens. Bidirectional model transformations in QVT: Semantic issues and open questions. In MoDELS 2007, pages 1--15, 2007. Google Scholar
Digital Library
Index Terms
Bidirectionalizing graph transformations
Recommendations
Bidirectionalizing graph transformations
ICFP '10: Proceedings of the 15th ACM SIGPLAN international conference on Functional programmingBidirectional transformations provide a novel mechanism for synchronizing and maintaining the consistency of information between input and output. Despite many promising results on bidirectional transformations, these have been limited to the context of ...
Bidirectionalization transformation based on automatic derivation of view complement functions
ICFP '07: Proceedings of the 12th ACM SIGPLAN international conference on Functional programmingBidirectional transformation is a pair of transformations: a view function and a backward transformation. A view function maps one data structure called source onto another called view. The corresponding backward transformation reflects changes in the ...
Bidirectionalization transformation based on automatic derivation of view complement functions
Proceedings of the ICFP '07 conferenceBidirectional transformation is a pair of transformations: a view function and a backward transformation. A view function maps one data structure called source onto another called view. The corresponding backward transformation reflects changes in the ...







Comments