Title
Bidirectionalizing graph transformations
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.
Year
DOI
Venue
2010
10.1145/1932681.1863573
Special Interest Group on Programming Languages
Keywords
Field
DocType
bidirectional transformation,graph query and transformation,structural recursion,view updating
Graph algebra,Query language,Programming language,XML,Computer science,Formal specification,Theoretical computer science,Graph rewriting,Materialized view,Semantics,Recursion
Conference
Volume
Issue
ISSN
45
9
0362-1340
Citations 
PageRank 
References 
23
0.91
17
Authors
6
Name
Order
Citations
PageRank
Soichiro Hidaka118514.89
Zhenjiang Hu2134199.25
Kazuhiro Inaba31028.07
Hiroyuki Kato41288.75
Kazutaka Matsuda511210.75
Keisuke Nakano621224.62