Adding Support for Persistence to CLOS via Its Metaobject Protocol

  • Authors:
  • Arthur H. Lee;Joseph L. Zachary

  • Affiliations:
  • Department of Computer Science, Korea University, Seoul 136-701 Korea. E-mail: alee@psl.korea.ac.kr;Department of Computer Science, University of Utah, Salt Lake City, UT 84112 USA. E-mail: zachary@cs.utah.edu

  • Venue:
  • Lisp and Symbolic Computation
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Language-level support for object persistence frees programmers fromhaving to confront a broad class of database issues from within theirapplications. By virtue of its metaobject protocol, CLOS is alanguage whose semantics can be tailored by individual programmers. Weused the metaobject protocol to extend CLOS with support for objectpersistence. Our goal was to obtain a version of CLOS withpersistence to which we could easily port a commercial geometric CADmodeling system. We describe the design and implementation of ourpersistence extension and highlight the strengths and weaknessesexhibited by the CLOS metaobject protocol during our experiment. Formany aspects of the implementation we found that the metaobjectprotocol was ideal. In other cases we had to choose among paying alarge performance penalty, extending the protocol, and bypassing theprotocol by modifying the language implementation directly.