PCLOS: A Flexible Implementation of CLOS Persistence

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.

[1]  David Maier,et al.  Making smalltalk a database system , 1984, SIGMOD '84.

[2]  David Maier,et al.  Development of an object-oriented DBMS , 1986, OOPSLA 1986.

[3]  Thomas Merrow,et al.  A pragmatic system for shared persistent objects , 1987, OOPSLA 1987.

[4]  Craig Harris,et al.  Combining language and database advances in an object-oriented development environment , 1987, OOPSLA 1987.

[5]  Daniel G. Bobrow,et al.  Common lisp object system specification , 1988, SIGP.

[6]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[7]  Fernando Vélez,et al.  O2, an object-oriented data model , 1988, SIGMOD '88.

[8]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[9]  Ming-Chien Shan,et al.  Iris: An Object-Oriented Database Management System , 1989, ACM Trans. Inf. Syst..

[10]  Craig Harris,et al.  Combining language and database advances in an object-oriented development environment , 1987, OOPSLA '87.

[11]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[12]  Malcolm P. Atkinson,et al.  PS-algol: an algol with a persistent heap , 1982, SIGP.

[13]  Won Kim,et al.  Transaction management in an object-oriented database system , 1988, SIGMOD '88.

[14]  Jay Banerjee,et al.  Composite object support in an object-oriented database system , 1987, OOPSLA 1987.

[15]  Jane Laursen,et al.  A Pragmatic System for Shared Persistent Objects , 1987, OOPSLA.

[16]  D. A. Moon,et al.  Common lisp object system specification , 1988, SIGP.

[17]  KimWon,et al.  Transaction management in an object-oriented database system , 1988 .