|
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
|
Sergei Abramov , Robert Glück, Principles of inverse computation and the Universal resolving algorithm, The essence of computation: complexity, analysis, transformation, Springer-Verlag New York, Inc., New York, NY, 2002
|
| |
5
|
|
 |
6
|
|
 |
7
|
Thierry Barsalou , Niki Siambela , Arthur M. Keller , Gio Wiederhold, Updating relational databases through object-based views, Proceedings of the 1991 ACM SIGMOD international conference on Management of data, p.248-257, May 29-31, 1991, Denver, Colorado, United States
|
| |
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
|
J. Nathan Foster , Michael B. Greenwald , Jonathan T. Moore , Benjamin C. Pierce , Alan Schmitt, Combinators for bi-directional tree transformations: a linguistic approach to the view update problem, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.233-246, January 12-14, 2005, Long Beach, California, USA
|
 |
13
|
|
 |
14
|
|
 |
15
|
|
 |
16
|
Arthur M. Keller, Algorithms for translating view updates to database updates for views involving selections, projections, and joins, Proceedings of the fourth ACM SIGACT-SIGMOD symposium on Principles of database systems, p.154-163, March 25-27, 1985, Portland, Oregon, United States
[doi> 10.1145/325405.325423]
|
 |
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
|
Igor Tatarinov , Zachary G. Ives , Alon Y. Halevy , Daniel S. Weld, Updating XML, Proceedings of the 2001 ACM SIGMOD international conference on Management of data, p.413-424, May 21-24, 2001, Santa Barbara, California, United States
|
 |
29
|
|
CITED BY 14
|
|
|
|
|
Artem Alimarine , Sjaak Smetsers , Arjen van Weelden , Marko van Eekelen , Rinus Plasmeijer, There and back again: arrows for invertible programming, Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, p.86-97, September 30-30, 2005, Tallinn, Estonia
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
J. Nathan Foster , Michael B. Greenwald , Christian Kirkegaard , Benjamin C. Pierce , Alan Schmitt, Exploiting schemas in data synchronization, Journal of Computer and System Sciences, v.73 n.4, p.669-689, June, 2007
|
|
|
|
|
|
Yingfei Xiong , Dongxi Liu , Zhenjiang Hu , Haiyan Zhao , Masato Takeichi , Hong Mei, Towards automatic model synchronization from model transformations, Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, November 05-09, 2007, Atlanta, Georgia, USA
|
|
|
|
|