Advertisement

PCLOS: A Flexible Implementation of CLOS Persistence

  • Andreas Paepcke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 322)

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.

Keywords and phrases

Object persistence CLOS 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ABC*83]
    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.zbMATHGoogle Scholar
  2. [AH87]
    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.Google Scholar
  3. [AM86]
    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.Google Scholar
  4. [Ban87]
    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.Google Scholar
  5. [BBDV87]
    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.Google Scholar
  6. [BK86]
    Brian Beach and James Kempf. DOOM: Permanent Objects for Common Lisp. Technical Report STL-TM-86-09, HP Labs, September 1986.Google Scholar
  7. [BKKK87]
    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.Google Scholar
  8. [BLRV87]
    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.Google Scholar
  9. [CM84]
    G. Copeland and D. Maier. Making Smalltalk a database system. In Proceedings of the ACM/SIGMOD International Conference on the Management of Data, 1984.Google Scholar
  10. [ea82]
    Malcom Atkinson et al. PS-Algol: an Algol with a persistent heap. Sigplan Notices, 24–30, July 1982.Google Scholar
  11. [ea87a]
    D. Fishman et al. Iris: an object-oriented database management system. ACM Transactions on Office Information Systems, 5(1):48–69, April 1987.MathSciNetGoogle Scholar
  12. [ea87b]
    Daniel G. Bobrow et al. Common Lisp Object System Specification. Technical Report 87-001, ANSI, September 1987.Google Scholar
  13. [GK87]
    Jorge F. Garza and Won Kim. Transaction Management in an Object-Oriented Database System. Technical Report ACA-ST-292-87, MCC, September 1987.Google Scholar
  14. [Go184]
    Adele Goldberg. Smalltalk-80: The Interactive Programming Environment. Addison Wesley, 1984.Google Scholar
  15. [KBC*87]
    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.Google Scholar
  16. [LRV87]
    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.Google Scholar
  17. [ML87]
    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.Google Scholar
  18. [MSOP86]
    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.Google Scholar
  19. [Rei85]
    Stephen P. Reiss. GARDEN: An Environment for Graphical Programming. Brown University, October 1985. Reference and Programmers Manual.Google Scholar
  20. [Row86]
    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.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Andreas Paepcke
    • 1
  1. 1.Hewlett-Packard LaboratoriesPalo Alto

Personalised recommendations