Bidirectionalizing graph transformations

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.

[1]  Umeshwar Dayal,et al.  On the correct translation of update operations on relational views , 1982, TODS.

[2]  Erik Poll,et al.  Algebra of Programming by Richard Bird and Oege de Moor, Prentice Hall, 1996 (dated 1997). , 1999 .

[3]  Kazutaka Matsuda,et al.  Bidirectionalization transformation based on automatic derivation of view complement functions , 2007, ICFP '07.

[4]  Benjamin C. Pierce,et al.  Relational lenses: a language for updatable views , 2006, PODS '06.

[5]  Tim Sheard,et al.  A fold for all seasons , 1993, FPCA '93.

[6]  Juan de Lara,et al.  Tools of model transformation by graph transformation: A comparative study , 2012, International Conference on Education and e-Learning Innovations.

[7]  Shin-Cheng Mu,et al.  A programmable editor for developing structured documents based on bidirectional transformations , 2004, PEPM '04.

[8]  Robert Glück,et al.  Partial Deduction and Driving are Equivalent , 1994, PLILP.

[9]  Ralf Lämmel,et al.  Bidirectional Transformations: A Cross-Discipline Perspective , 2009, ICMT@TOOLS.

[10]  Iovka Boneva,et al.  The view update problem for XML , 2010, EDBT '10.

[11]  Stephen J. Hegner,et al.  Foundations of Canonical Update Support for Closed Database Views , 1990, ICDT.

[12]  Peter Buneman,et al.  Structural Recursion as a Query Language , 1992, DBPL.

[13]  Benjamin C. Pierce,et al.  Combinators for bi-directional tree transformations: a linguistic approach to the view update problem , 2005, POPL '05.

[14]  Lambert Meertens,et al.  Designing Constraint Maintainers for User Interaction , 1998 .

[15]  Soichiro Hidaka,et al.  Towards a compositional approach to model transformation for software development , 2009, SAC '09.

[16]  Jennifer Widom,et al.  Object exchange across heterogeneous information sources , 1995, Proceedings of the Eleventh International Conference on Data Engineering.

[17]  Leonidas Fegaras,et al.  Propagating updates through XML views using lineage tracing , 2010, 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010).

[18]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[19]  Perdita Stevens,et al.  Bidirectional model transformations in QVT: semantic issues and open questions , 2007, MODELS'07.

[20]  James Cheney,et al.  Provenance Traces , 2008, ArXiv.

[21]  Dongxi Liu,et al.  Bidirectional interpretation of XQuery , 2007, PEPM '07.

[22]  Rachid Echahed,et al.  A needed narrowing strategy , 2000, JACM.

[23]  Dan Suciu,et al.  UnQL: a query language and algebra for semistructured data based on structural recursion , 2000, The VLDB Journal.

[24]  Georg Gottlob,et al.  Properties and update semantics of consistent views , 1988, TODS.

[25]  Oscar Pastor,et al.  Model-driven architecture in practice - a software production environment based on conceptual modeling , 2007 .

[26]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[27]  Jean Bézivin,et al.  Model Transformations in Practice Workshop , 2005, MoDELS.

[28]  Gultekin Özsoyoglu,et al.  A graph query language and its query processing , 1999, Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337).

[29]  Robert Glück,et al.  Principles of Inverse Computation and the Universal Resolving Algorithm , 2002, The Essence of Computation.

[30]  Andy Schürr,et al.  15 Years of Triple Graph Grammars , 2008, ICGT.

[31]  Robert Glück,et al.  Occam's Razor in Metacompuation: the Notion of a Perfect Process Tree , 1993, WSA.

[32]  Gottfried Vossen,et al.  On the computation of relational view complements , 2003, TODS.