Journal of the ACM (JACM)
Type algebras, functor categories and block structure
Algebraic methods in semantics
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)
Updating relational databases through object-based views
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
A general framework for bidirectional translation between abstract and pictorial data
ACM Transactions on Information Systems (TOIS) - Special issue on user interface software and technology
A polymorphic calculus for views and object sharing (extended abstract)
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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)
PODS '85 Proceedings of the fourth ACM SIGACT-SIGMOD symposium on Principles of database systems
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
On propagation of deletions and annotations through views
Proceedings of the twenty-first ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Management of Multiple Models in an Extensible Database Design Tool
EDBT '96 Proceedings of the 5th International Conference on Extending Database Technology: Advances in Database Technology
Correspondence and Translation for Heterogeneous Data
ICDT '97 Proceedings of the 6th International Conference on Database Theory
A Relational Database View Update Translation Mechanism
VLDB '84 Proceedings of the 10th International Conference on Very Large Data Bases
The Universal Resolving Algorithm: Inverse Computation in a Functional Language
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
A logical view of structured files
The VLDB Journal — The International Journal on Very Large Data Bases
The impact of the constant complement approach towards view updating
Proceedings of the twenty-second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Principles of inverse computation and the Universal resolving algorithm
The essence of computation
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
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
There and back again: arrows for invertible programming
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
The complexity of embedded axiomatization for a class of closed database views
Annals of Mathematics and Artificial Intelligence
Relational lenses: a language for updatable views
Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Provenance management in curated databases
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
biXid: a bidirectional transformation language for XML
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Exploiting schemas in data synchronization
Journal of Computer and System Sciences
Strongly Typed Rewriting For Coupled Software Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
Bidirectional interpretation of XQuery
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Compiling mappings to bridge applications and databases
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Melange: creating a "functional" internet
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Bidirectionalization transformation based on automatic derivation of view complement functions
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Towards automatic model synchronization from model transformations
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Information Systems
Coupled Transformation of Schemas, Documents, Queries, and Constraints
Electronic Notes in Theoretical Computer Science (ENTCS)
A programmable editor for developing structured documents based on bidirectional transformations
Higher-Order and Symbolic Computation
Algebraic Models for Bidirectional Model Synchronization
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Design Space of Heterogeneous Synchronization
Generative and Transformational Techniques in Software Engineering II
Lazy Composition of Representations in Java
SC '09 Proceedings of the 8th International Conference on Software Composition
Multi-language synchronization
ESOP'07 Proceedings of the 16th European conference on Programming
A web service architecture for bidirectional XML updating
APWeb/WAIM'07 Proceedings of the joint 9th Asia-Pacific web and 8th international conference on web-age information management conference on Advances in data and web management
Adventures in bidirectional programming
FSTTCS'07 Proceedings of the 27th international conference on Foundations of software technology and theoretical computer science
Invertible syntax descriptions: unifying parsing and pretty printing
Proceedings of the third ACM Haskell symposium on Haskell
Bidirectionalizing graph transformations
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Journal of Visual Languages and Computing
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
Harmony: the art of reconciliation
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
Dagstuhl seminar on bidirectional transformations (BX)
ACM SIGMOD Record
Toward bidirectionalization of ATL with GRoundTram
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
Feature interactions, products, and composition
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Composing heterogeneous software with style
Proceedings of the 1st International Workshop on Free Composition
Exploiting schemas in data synchronization
DBPL'05 Proceedings of the 10th international conference on Database Programming Languages
A functional programming technique for forms in graphical user interfaces
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Type-safe two-level data transformation
FM'06 Proceedings of the 14th international conference on Formal Methods
Conflict resolution in updates through XML views
EDBT'06 Proceedings of the 2006 international conference on Current Trends in Database Technology
Coupled schema transformation and data conversion for XML and SQL
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
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
Towards combinators for bidirectional model transformations in scala
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Bidirectional transformation of model-driven spreadsheets
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Automating presentation changes in dynamic web applications via collaborative hybrid analysis
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Towards Security Assurance in Round-Trip Engineering: A Type-Based Approach
Electronic Notes in Theoretical Computer Science (ENTCS)
Incremental mapping compilation in an object-to-relational mapping system
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Flexible views for view-based model-driven development
Proceedings of the 18th international doctoral symposium on Components and architecture
Flexible views for rapid model-driven development
Proceedings of the 1st Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling
Supporting feature model refinement with updatable view
Frontiers of Computer Science: Selected Publications from Chinese Universities
Implementing federated object systems
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Abstract effects and proof-relevant logical relations
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
We propose a novel approach to the well-known view update problem for the case of tree-structured data: a domain-specific programming language in which all expressions denote bi-directional transformations on trees. In one direction, these transformations---dubbed lenses---map a "concrete" tree into a simplified "abstract view"; in the other, they map a modified abstract view, together with the original concrete tree, to a correspondingly modified concrete tree. Our design emphasizes both robustness and ease of use, guaranteeing strong well-behavedness and totality properties for well-typed lenses.We identify a natural space of well-behaved bi-directional transformations over arbitrary structures, study definedness and continuity in this setting, and state a precise connection with the classical theory of "update translation under a constant complement" from databases. We then instantiate this semantic framework in the form of a collection of lens combinators that can be assembled to describe transformations on trees. These combinators include familiar constructs from functional programming (composition, mapping, projection, conditionals, recursion) together with some novel primitives for manipulating trees (splitting, pruning, copying, merging, etc.). We illustrate the expressiveness of these combinators by developing a number of bi-directional list-processing transformations as derived forms.