Abstract
We describe the design of a prototype which makes objects persistent. Our target language is the CommonLisp Object System (CLOS), although we pay attention to the eventual sharing of data with other languages. Our design is very flexible, in that it allows the simultaneous use of multiple, different databases. This is accomplished by defining a virtual database layer which consists of a core protocol that is expected to be implemented on all databases, and of protocol adapters which accommodate features offered by some databases, but not by others. This virtual database has been implemented for a simple, single-user, in-core data store, and for Iris, a multi-user, object-oriented database management system. We outline the advantages of the CLOS Metaclass Protocol for implementing object persistence or other low-level modifications to the CLOS implementation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M.P. Atkinson, P.J. Bailey, K.J. Chisholm, W.P. Cockshott, and R. Morrison. An approach to persistent programming. The Computer Journal, 26(4):360–365, 1983.
Timothy Andrews and Craig Harris. Combining language and database advances in an object-oriented development environment. In Norman Meyrowitz, editor, Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications.. Association of Computing Machinery, 1987.
M.P. Atkinson and R. Morrison. Integrated persistent programming systems. In B.D. Shriver, editor, Proceedings of the 19th Annual Hawaii Conference on System Sciences, pages 842–854,,, 1986. Vol. IIA, Software.
François Bancilhon. Object Oriented Multilanguage Systems: the Answer to Old and New Database Problems? Technical Report, Altaïr, BP 105; 78153 Le Chesnay Cedex; France, October 1987.
François Bancilhon, Véronique Benzaken, Claude Delobel, and Fernando Velez. The O 2, V0 Object Manager Interface. Technical Report Altaïr 11–87, Altaïr, BP 105; 78153 Le Chesnay Cedex; France, September 1987.
Brian Beach and James Kempf. DOOM: Permanent Objects for Common Lisp. Technical Report STL-TM-86-09, HP Labs, September 1986.
Jay Banerjee, Won Kim, Hyoung-Joo Kim, and Henry F. Korth. Semantics and implementation of schema evolution in object-oriented databases. In Umeshwar Dayal and Irv Traiger, editors, Proceedings of the ACM Special Interest Group on Management of Data, Association of Computing Machinery, 1987.
Gilles Barbedette, Christophe Lécluse, Philippe Richard, and Fernando Velez. The O 2 Programming Environment, Version V0. Technical Report, Altaïr, BP 105; 78153 Le Chesnay Cedex; France, October 1987.
G. Copeland and D. Maier. Making Smalltalk a database system. In Proceedings of the ACM/SIGMOD International Conference on the Management of Data, 1984.
Malcom Atkinson et al. PS-Algol: an Algol with a persistent heap. Sigplan Notices, 24–30, July 1982.
D. Fishman et al. Iris: an object-oriented database management system. ACM Transactions on Office Information Systems, 5(1):48–69, April 1987.
Daniel G. Bobrow et al. Common Lisp Object System Specification. Technical Report 87-001, ANSI, September 1987.
Jorge F. Garza and Won Kim. Transaction Management in an Object-Oriented Database System. Technical Report ACA-ST-292-87, MCC, September 1987.
Adele Goldberg. Smalltalk-80: The Interactive Programming Environment. Addison Wesley, 1984.
Won Kim, Jay Banerjee, Hong-Tai Chou, Jorge F. Garza, and Darrell Woelk. Composite object support in an object-oriented database system. In Norman Meyrowitz, editor, Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications., Association of Computing Machinery, 1987.
Christopher Lécluse, Philippe Richard, and Fernando Velez. O 2, an Object Oriented Data Model. Technical Report Altaïr 10-87, Altaïr, BP 105; 78153 Le Chesnay Cedex; France, September 1987.
Thomas Merrow and Jane Laursen. A pragmatic system for shared persistent objects. In Norman Meyrowitz, editor, Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications., Association of Computing Machinery, 1987.
David Maier, Jacob Stein, Allen Otis, and Alan Purdy. Development of an object-oriented DBMS. In Norman Meyrowitz, editor, Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications., Association of Computing Machinery, 1986.
Stephen P. Reiss. GARDEN: An Environment for Graphical Programming. Brown University, October 1985. Reference and Programmers Manual.
Lawrence A. Rowe. A shared object hierarchy. In Klaus Dittrich and Umeshwar Dayal, editors, Proceedings of the International Workshop on Object-Oriented Database Systems, Association of Computing Machinery, 1986.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Paepcke, A. (1988). PCLOS: A Flexible Implementation of CLOS Persistence. In: Gjessing, S., Nygaard, K. (eds) ECOOP ’88 European Conference on Object-Oriented Programming. ECOOP 1988. Lecture Notes in Computer Science, vol 322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45910-3_22
Download citation
DOI: https://doi.org/10.1007/3-540-45910-3_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-50053-7
Online ISBN: 978-3-540-45910-1
eBook Packages: Springer Book Archive