ACM Home Page
Please provide us with feedback. Feedback
Combinators for bi-directional tree transformations: a linguistic approach to the view update problem
Full text PdfPdf (278 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Long Beach, California, USA
Pages: 233 - 246  
Year of Publication: 2005
ISBN:1-58113-830-X
Also published in ...
Authors
J. Nathan Foster  University of Pennsylvania
Michael B. Greenwald  University of Pennsylvania
Jonathan T. Moore  University of Pennsylvania
Benjamin C. Pierce  University of Pennsylvania
Alan Schmitt  University of Pennsylvania
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 18,   Downloads (12 Months): 108,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1040305.1040325
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
 
5
6
7
 
8
V. Braganholo, S. Davidson, and C. Heuser. On the updatability of XML views over relational databases. In WebDB 2003, 2003.
9
10
11
12
13
14
15
16
17
 
18
19
 
20
C. M. B. Medeiros and F. W. Tompa. Understanding the implications of view update policies. In VLDB'85, 1985.
 
21
L. Meertens. Designing constraint maintainers for user interaction, 1998. Manuscript.
 
22
S.-C. Mu, Z. Hu, and M. Takeichi. An algebraic approach to bi-directional updating. In ASIAN Symposium on Programming Languages and Systems (APLAS), Nov. 2004.
23
 
24
 
25
B. C. Pierce and A. Schmitt. Lenses and view update translation. Manuscript, 2003.
 
26
B. C. Pierce, A. Schmitt, and M. B. Greenwald. Bringing Harmony to optimism: A synchronization framework for heterogeneous tree-structured data. Technical Report MS-CIS-03-42, University of Pennsylvania, 2003.
 
27
M. H. Scholl, C. Laasch, and M. Tresch. Updatable Views in Object-Oriented Databases. In C. Delobel, M. Kifer, and Y. Yasunga, editors, Proc. 2nd Intl. Conf. on Deductive and Object-Oriented Databases (DOOD), number 566. Springer, 1991.
28
29

CITED BY  14

Collaborative Colleagues:
J. Nathan Foster: colleagues
Michael B. Greenwald: colleagues
Jonathan T. Moore: colleagues
Benjamin C. Pierce: colleagues
Alan Schmitt: colleagues