ACM Home Page
Please provide us with feedback. Feedback
Lazy modular upgrades in persistent object stores
Full text PdfPdf (304 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications table of contents
Anaheim, California, USA
SESSION: Transactions and persistence table of contents
Pages: 403 - 417  
Year of Publication: 2003
ISBN:1-58113-712-5
Also published in ...
Authors
Chandrasekhar Boyapati  MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA
Barbara Liskov  MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA
Liuba Shrira  MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA
Chuang-Hue Moh  MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA
Steven Richman  MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 49,   Citation Count: 17
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/949305.949341
What is a DOI?

ABSTRACT

Persistent object stores require a way to automatically upgrade persistent objects, to change their code and storage representation. Automatic upgrades are a challenge for such systems. Upgrades must be performed in a way that is efficient both in space and time, and that does not stop application access to the store. In addition, however, the approach must be modular: it must allow programmers to reason locally about the correctness of their upgrades similar to the way they would reason about regular code. This paper provides solutions to both problems.The paper first defines upgrade modularity conditions that any upgrade system must satisfy to support local reasoning about upgrades. The paper then describes a new approach for executing upgrades efficiently while satisfying the upgrade modularity conditions. The approach exploits object encapsulation properties in a novel way. The paper also describes a prototype implementation and shows that our upgrade system imposes only a small overhead on application performance.


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
M. P. Atkinson, F. Bancilhon, D. J. DeWitt, K. R. Dittrich, D. Maier, and S. B. Zdonik. The object-oriented database system manifesto. In SIGMOD Conference, May 1990.
 
5
 
6
M. P. Atkinson, M. J. Jordan, L. Daynes, and S. Spence. Design issues for persistent Java: A type-safe, object-oriented, orthogonally persistent system. In Persistent Object Systems (POS), May 1996.
7
 
8
E. Bertino, G. Guerrini, and L. Rusca. Object evolution in object databases. In B. Franhoefer and R. Pareschi, editors, Dynamic Worlds, Kluwer Academic Publishers, 1999.
 
9
C. Boyapati. JPS: A distributed persistent Java system. SM thesis, Massachusetts Institute of Technology, September 1998.
 
10
C. Boyapati, R. Lee, and M. Rinard. Safe runtime downcasts with ownership types. In ECOOP International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming (IWACO), July 2003.
11
12
 
13
C. Boyapati, B. Liskov, and L. Shrira. Ownership types and safe lazy upgrades in object-oriented databases. Technical Report TR-858, MIT Laboratory for Computer Science, July 2002.
14
15
16
17
18
19
 
20
 
21
Y. Cheung. Lazy schema evolution in object-oriented databases. SM thesis, Massachusetts Institute of Technology, September 2001.
 
22
 
23
24
25
 
26
27
 
28
 
29
 
30
 
31
 
32
D. Duggan. Type-based hot swapping of running modules. Technical Report SIT CS 2001-7, Stevens Institute of Technology, Hoboken, NJ 07030, October 2001.
 
33
 
34
F. Ferrandina, T. Meyer, and R. Zicari. Measuring the Performance of Immediate and Deferred Updates in Object Database Systems. In Proceedings of the OOPSLA Workshop on Object Database Behavior, Benchmarks and Performance, 1995.
 
35
36
 
37
G. Hjalmtysson and R. Gray. Dynamic C++ classes - a lightweight mechanism to update code in running program. In USENIX Annual Technical Conference, June 1998.
 
38
K. R. M. Leino and G. Nelson. Data abstraction and information hiding. Research Report 160, Compaq Systems Research Center, November 2000.
39
40
 
41
 
42
B. Liskov, C. Moh, S. Richman, L. Shrira, Y. Cheung, and C. Boyapati. Safe lazy software upgrades in object-oriented databases. Technical Report TR-851, MIT Laboratory for Computer Science, June 2002.
43
44
45
 
46
Object Design Inc. ObjectStore Advanced C++ API User Guide Release 5.1, 1997.
 
47
Objectivity Inc. Objectivity Technical Overview, Version 6.0, 2001.
48
49
 
50
Versant Object Technology. Versant User Manual, 1992.
51
 
52

CITED BY  17

Collaborative Colleagues:
Chandrasekhar Boyapati: colleagues
Barbara Liskov: colleagues
Liuba Shrira: colleagues
Chuang-Hue Moh: colleagues
Steven Richman: colleagues