Journal of the ACM (JACM)
Views: a way for pattern matching to cohabit with data abstraction
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Properties and update semantics of consistent views
ACM Transactions on Database Systems (TODS)
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Update semantics of relational views
ACM Transactions on Database Systems (TODS)
On the correct translation of update operations on relational views
ACM Transactions on Database Systems (TODS)
Foundations of Canonical Update Support for Closed Database Views
ICDT '90 Proceedings of the Third International Conference on Database Theory
Monotonic complements for independent data warehouses
The VLDB Journal — The International Journal on Very Large Data Bases
On the computation of relational view complements
ACM Transactions on Database Systems (TODS)
A programmable editor for developing structured documents based on bidirectional transformations
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From XML view updates to relational view updates: old solutions to a new problem
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Bidirectionalization for free! (Pearl)
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-based specialization of xml transformations
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Completion after Program Inversion of Injective Functions
Electronic Notes in Theoretical Computer Science (ENTCS)
Bidirectional Transformations: A Cross-Discipline Perspective
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Lazy Composition of Representations in Java
SC '09 Proceedings of the 8th International Conference on Software Composition
Combining syntactic and semantic bidirectionalization
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Matching lenses: alignment and view update
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Bidirectionalizing graph transformations
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
From state- to delta-based bidirectional model transformations
ICMT'10 Proceedings of the Third international conference on Theory and practice of model transformations
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Calculating with lenses: optimising bidirectional transformations
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Model synchronization: mappings, tiles, and categories
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Toward bidirectionalization of ATL with GRoundTram
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
Incremental updates for efficient bidirectional transformations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Ideas for connecting inductive program synthesis and bidirectionalization
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Proving injectivity of functions via program inversion in term rewriting
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
A grammar-based approach to invertible programs
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Linguistic foundations for bidirectional transformations: invited tutorial
PODS '12 Proceedings of the 31st symposium on Principles of Database Systems
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Three complementary approaches to bidirectional programming
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
Relations as executable specifications: taming partiality and non-determinism using invariants
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Practical aspects of bidirectional graph transformations
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Programming language approaches to bidirectional transformation
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Synchronizing concurrent model updates based on bidirectional transformation
Software and Systems Modeling (SoSyM)
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Science of Computer Programming
Semantic bidirectionalization revisited
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Monadic combinators for "Putback" style bidirectional programming
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Generating attribute grammar-based bidirectional transformations from rewrite rules
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
Bidirectional 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 view to the source. Its practically useful applications include replicated data synchronization, presentation-oriented editor development, tracing software development, and view updating in the database community. However, developing a bidirectional transformation is hard, because one has to give two mappings that satisfy the bidirectional properties for system consistency. In this paper, we propose a new framework for bidirectionalization that can automatically generate a useful backward transformation from a view function while guaranteeing that the two transformations satisfy the bidirectional properties. Our framework is based on two known approaches to bidirectionalization, namely the constant complement approach from the database community and the combinator approach from the programming language community, but it has three new features: (1) unlike the constant complement approach, it can deal with transformations between algebraic data structures rather than just tables; (2) unlike the combinator approach, in which primitive bidirectional transformations have to be explicitly given, it can derive them automatically; (3) it generates a view update checker to validate updates on views, which has not been well addressed so far. The new framework has been implemented and the experimental results show that our framework has promise.