skip to main content
research-article

Bidirectionalizing graph transformations

Published:27 September 2010Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

icfp-tues-1450-hidaka.mov

References

  1. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. }}S. Antoy, R. Echahed, and M. Hanus. A needed narrowing strategy. In POPL 1994, pages 268--279, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}F. Bancilhon and N. Spyratos. Update semantics of relational views. ACM Trans. Database Syst., 60 (4):0 557--575, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}R. Bird and O. de Moor. Algebras of Programming. Prentice Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}A. Bohannon, B. C. Pierce, and J. A. Vaughan. Relational lenses: a language for updatable views. In PODS 2006, pages 338--347, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}V. Breazu-Tannen, P. Buneman, and S. Naqvi. Structural recursion as a query language. In DBPL 1991, pages 9--19, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. }}J. Cheney, U. A. Acar, and A. Ahmed. Provenance traces. CoRR, abs/0812.0564, 2008.Google ScholarGoogle Scholar
  10. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. }}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 ScholarGoogle Scholar
  13. }}L. Fegaras. Propagating updates through xml views using lineage tracing. In ICDE 2010, pages 309--320, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  14. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. }}R. Glück and M. H. Sørensen. Partial deduction and driving are equivalent. In PLILP 1994, pages 165--181, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. }}S. J. Hegner. Foundations of canonical update support for closed database views. In ICDT 1990, pages 422--436, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. }}F. Jouault and I. Kurtev. Transforming models with ATL. In MoDELS Satellite Events 2005, pages 128--138, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. }}R. Lämmel. Coupled Software Transformations (Extended Abstract). In SET 2004, Nov. 2004.Google ScholarGoogle Scholar
  24. }}J. Lechtenbörger and G. Vossen. On the computation of relational view complements. ACM Trans. Database Syst., 280 (2):0 175--208, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. }}D. Liu, Z. Hu, and M. Takeichi. Bidirectional interpretation of XQuery. In PEPM 2007, pages 21--30, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. }}L. Meertens. Designing constraint maintainers for user interaction. http://www.cwi.nl/~lambert, June 1998.Google ScholarGoogle Scholar
  28. }}OMG. MOF QVT final adopted specification. http://www.omg.org/docs/ptc/05-11-01.pdf, 2005.Google ScholarGoogle Scholar
  29. }}Y. Papakonstantinou, H. Garcia-Molina, and J. Widom. Object exchange across heterogeneous information sources. In ICDE 1995, pages 251--260, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. }}T. Sheard and L. Fegaras. A fold for all seasons. In FPCA 1993, pages 233--242, Copenhagen, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. }}L. Sheng, Z. M. Ozsoyoglu, and G. Ozsoyoglu. A graph query language and its query processing. In ICDE 1999, pages 572--581, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. }}P. Stevens. Bidirectional model transformations in QVT: Semantic issues and open questions. In MoDELS 2007, pages 1--15, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Bidirectionalizing graph transformations

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      ePub

      View this article in ePub.

      View ePub
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!