APPENDICES and SUPPLEMENTS
|
|
Online appendix to designing mediation for context-aware applications. The appendix supports the information on article 17.
|
ABSTRACT
We propose a novel approach to the view-update problem for tree-structured data: a domain-specific programming language in which all expressions denote bidirectional 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 begin by identifying a natural space of well-behaved bidirectional transformations over arbitrary structures, studying definedness and continuity in this setting. We then instantiate this semantic framework in the form of a collection of lens combinators that can be assembled to describe bidirectional 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, merging, etc.). We illustrate the expressiveness of these combinators by developing a number of bidirectional list-processing transformations as derived forms. An extended example shows how our combinators can be used to define a lens that translates between a native HTML representation of browser bookmarks and a generic abstract bookmark format.
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
|
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
|
| |
6
|
|
 |
7
|
|
| |
8
|
|
 |
9
|
|
 |
10
|
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
|
| |
11
|
Bennet, C. H. 1973. Logical reversibility of computation. IBM J. Resear. Devel. 17, 6, 525--532.
|
 |
12
|
|
| |
13
|
Braganholo, V., Davidson, S., and Heuser, C. 2003. On the updatability of XML views over relational databases. In International Workshop on the Web and Databases (WebDB'03).
|
 |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
|
 |
18
|
|
| |
19
|
de Paula Braganholo, V., Heuser, C. A., and Vittori, C. R. M. 2001. Updating relational databases through XML views. In Proceedings of the 3rd International Conference on Information Integration and Web-based Applications and Services (IIWAS).
|
| |
20
|
|
| |
21
|
Fogel, S. and Lane, P. 2005. Oracle Database Administrator's Guide. Oracle.
|
| |
22
|
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
[doi> 10.1016/j.jcss.2006.10.024]
|
| |
23
|
Foster, J. N., Pierce, B. C., and Schmitt, A. 2006. Harmony Programmer's Manual. Available at http://www.seas.upenn.edu/~harmony/.
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
 |
27
|
|
 |
28
|
|
| |
29
|
International Business Machines Corporation. 2004. IBM DB2 Universal Database Administration Guide: Implementation.
|
| |
30
|
|
 |
31
|
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]
|
| |
32
|
|
| |
33
|
Landauer, R. 1961. Irreversibility and heat generation in the computing process. IBM J. Resear. Devel. 5, 3, 183--191. (Republished in IBM J. Resear. and Devel. 44, (1/2, 261--269 (Jan/Mar). 2000).
|
 |
34
|
|
| |
35
|
Lorentz, D. 2005. Oracle Database SQL Reference. Oracle.
|
| |
36
|
|
 |
37
|
|
| |
38
|
McCarthy, J. 1956. The inversion of functions defined by turing machines. In Automata Studies, Annals of Mathematical Studies, C. E. Shannon and J. McCarthy, Eds. Number 34. Princeton University Press, 177--181.
|
| |
39
|
Medeiros, C. M. B. and Tompa, F. W. 1985. Understanding the implications of view update policies. In Proceedings of the International Conference on Very Large Databases (VLDB'85).
|
| |
40
|
Meertens, L. 1998. Designing constraint maintainers for user interaction. Manuscript. Available at ftp://ftp.kestrel.edu/pub/papers/meertens/dcm.ps.
|
| |
41
|
Microsoft 2005. Creating and Maintaining Databases. Microsoft.
|
 |
42
|
Renée J. Miller , Mauricio A. Hernández , Laura M. Haas , Lingling Yan , C. T. Howard Ho , Ronald Fagin , Lucian Popa, The Clio project: managing heterogeneity, ACM SIGMOD Record, v.30 n.1, p.78-83, March 2001
[doi> 10.1145/373626.373713]
|
| |
43
|
Mu, S.-C., Hu, Z., and Takeichi, M. 2004a. An algebraic approach to bi-directional updating. In ASIAN Symposium on Programming Languages and Systems (APLAS).
|
| |
44
|
Mu, S.-C., Hu, Z., and Takeichi, M. 2004b. An injective language for reversible computation. In 17th International Conference on Mathematics of Program Construction (MPC).
|
| |
45
|
|
 |
46
|
|
| |
47
|
|
| |
48
|
Pierce, B. C. Bohannon, A., Foster, J. N., Greenwald, M. B., Khanna, S., Kunal, K., and Schmidt, A. 2006. Harmony: A synchronization framework for heterogeneous tree-structured data. Available at http://www.seas.upenn.edu/~harmony/.
|
| |
49
|
Pierce, B. C., Schmitt, A., and Greenwald, M. B. 2003. Bringing Harmony to optimism: A synchronization framework for heterogeneous tree-structured data. Tech. rep. MS-CIS-03-42, University of Pennsylvania (Superseded by MS-CIS-05-02).
|
| |
50
|
Pierce, B. C. and Vouillon, J. 2004. What's in Unison? A formal specification and reference implementation of a file synchronizer. Tech. rep. MS-CIS-03-36, Department of Computer and Information Science, University of Pennsylvania.
|
 |
51
|
|
| |
52
|
Scholl, M. H., Laasch, C., and Tresch, M. 1991. Updatable views in object-oriented databases. In Proceedings of the 2nd International Conference on Deductive and Object-Oriented Databases (DOOD), C. Delobel, M. Kifer, and Y. Yasunga, Eds. vol. 566. Springer.
|
| |
53
|
Spoonhower, D. 2004. View updates seen through the lens of synchronization. Manuscript. Available at www.cs.cmu.edu/~spoons/courses/15-721/project/report.ps.
|
 |
54
|
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
|
 |
55
|
|
| |
56
|
|
| |
57
|
XQuery 2005. XQuery 1.0: An XML Query Language, W3C Working Draft. Available at http://www.w3.org/TR/xquery/.
|
|