Maier Et Al. - 1986 - Development of An Object-Oriented DBMS
Maier Et Al. - 1986 - Development of An Object-Oriented DBMS
David Maier
Jacob Stein
Servio Logic Development Corp.
and Oregon Graduate Center
Allen Otis
Alan Purdy
Servio Logic Development Corp.
15025 S.W. Koll Parkway, l a
Beaverton, Oregon 97006
(503) 644-4242
Abstract
We dascdbe the results of developing the GemStone object- traditional data management system will result in a system that
oriented database sawer, which supports a model of objects offers further reductions in application development efforts. The
similar to that of Smalltalk-80. We begin with a summary of the extensible data-typing facility of the system will facilitate storing
goals and requirements for the system: an extensible data model information not suited to normalized relations. In addition, we
that captures behavioral semantics, no artificial bounds on the believe that an object-oriented language can be complete enough
number or size of database objects, database amenities (con- to handle database design, database access, and applications.
currency, transactions, recovery, associative access, authodza- Object-like models have long been popular in CAD [CFHL, EM,
lion) and an interactive development environment. Object- Ka82, Ka83, LP, MNP, SMF], and seem well suited to support
odented languages, Smaiitalk in particular, answer some of these programming environments [PL], knowledge bases [DK], and
requirements. We discuss satisfying the remaining requirements office information systems [Ah-,-, Zd84]. Other groups are in the
in an object odentad context, and report briefly on the status of process of implementing object model database systems [DKL,
the development efforts. This paper is directed at an audience Ni, ZW].
familiar with object-oriented languages and their implementation,
2. Goals and Requirements
but perhaps unacquainted with the difficulties and techniques of
database system development. It updates the odginal report on 2.1. A n Extensible Data Model
the project ~M], and expands upon a more recent article [MDP].
The system must have a data model that supports the defini-
lion of new data types, rather than constraining programmers to
1. Introduction use a fixed set of predefined types. New types should also be
The GemStone database system is the result of a develop- indistinguishable from system-supplied types for the purposes of
ment project started three years ago at Servio. Our goal was to application programming: operations that apply to new types
merge object-oriented language concepts with those of database should be syntactically similar to the built-in operations on prede-
systems. GemStone provides an object-oriented database fined types. The distinction between data types and data struc-
language called OPAL, which is used for data definition, data tures is important in achieving this goal of extensibility.
manipulation and general computation. Data structures are made up of atomic values (integers,
Conventional record-oriented database systems, such as strings, etc.), plus constructors (record, relation, set, tree). A
commercial relational systems, often reduce application develop- data type is really a collection of operators, the protocol, for
ment time and improve data sharing among applications. How- operating on a particular structure. The underlying structure
ever, these DBMSs are subject to the limitations of a finite set of need not be the same as the appearance provided by the proto-
data types and the need to normalize data lea, Si]. In contrast, col. In conventional database systems, the types correspond to
object-oriented languages offer flexible abstract data-typing fecill- the structures. There is usually a fixed set of operations on
lies, and the ability to encapsulate data and operations via the atomic values, such as arithmetic and comparisen operations.
message metaphor. Smalltalk-80 is an example of a completely Each constructor has a fixed set of operations; for example, a
implemented object-oriented system [GR, Kr]. record constructor has "set field" and "get field", and a relation
Our premise is that a combination of object-oriented constructor has "add record", "delete record" and "select record".
language capabilities with the storage management functions of a It Is not possible to add new operations that appear syntactically
similar to the built-in operations. Thus the set of data types that
are directly supported is the same as the set of data structures
since nested application of the constructors is not supported.
Permisdon to copy withom fee all or ira1 of this material is iFanted provided Our goal is to model the behavior, not just the structure, of
that the copies are not made or distributed for direct commercial ndvant~e, entities in the real wodd [Mo]. Further, we must be able to pack-
the ACM copy~t noticeand the title of the publicationand its dateappear, age behavior with structure to create new data types. To get
and notice is given thai copying is by permi,~on of the Association for reasonable performance from such a system, the collection of
Computing Machinery. To copy otherwise, or to republish, requires a fee and/ constructors must be rich enough that most data types have fairly
or qx~f~: permimon. direct implementations. In particular, we should be able to cap-
O 1996 ACM 0-89791-204-7/86/09000472 75¢ ture many-to-many relationships, collections, and sequences
FIGURE 2 Object
tBM-K Association
SymbolAssociation
WINDOWS Behavior
Class
OPB Metaclass
Oth~ Boolean
AppflaUon Collect=on
SequenceableCollection
AGDIT AGlaTF Array
InvariantArray
I I Repository
String
InvariantString
Symbol
I LAN Bag
VAX Set
Dictionary
I NlffWOIU[ SOFT'A/~E J SymbolD=ctionary
I . I LanguageDtctionary
SymbolSet
i J °"'
UserProldeSet
G1M
PROCSSS • • • PROCESSi CompiledMethod
Magnitude
Character
DateTtme
Number
STONS Float
Pll0CZSS Integer
Smalllnteger
MethodContext
I Block
SelectionBlock
¥lLq FILB ilO Segment
Stream
PositionableStream
ReadStream
DATA WriteStream
System
UndefinedObject
UserProfile
[CFLR] Chan, A., S.A. Fox, W.-T. K. Un, and D. Rles, Design
sln¢twm ImStml of an ADA compatible local database manager (LDM),
FIGURE 5 TR CCA 81-09, Computer Corporation of America,
November 1981.
[CMI Copeland, G., and D. Maier, Making Smalltalk a data- [LP1 La Croix, M., and A. Pirotte. Data structures for CAD
base system, Proc. ACM/SIGMOD International object description, Proc. IEEE 18th Design Automation
Conference on the Management of Data, 1984. Conference, 1981.
[Da] Date, C.J., An Intoduction to Database Systems, [LOP] Lode, R., and W. Plouffe, Complex objects and their
Volume 2, Addison-Wesley, 1983. use in design transactions, Engineering Design Appli-
cation Proceedings from SIGMOD Database Week,
[DKL] Derret, N., W. Kent, and P. Lynbaek, Some aspects of May 1983.
operations in an object-oriented database, Database
Engineering 8:4, December 1985. [Ma] MacLennan, B.J., A view o1 object oriented program-
ming, Naval Postgraduate School NPS52-83-001,
[OK] Dolk, D.R., and B.R. Konsynski, Knowledge represente- February 1983.
lion for model management systems. IEEE Transac-
tions on Software Engineering, 10:6, November 1984. [MOP] Maier, D., A. Otis, and A. Purdy, Object-oriented data-
base development at Servio Logic, Database Engineer-
[Ea] Eastman, CM., System facilities for CAD databases, ing 18:4, December 1985.
Proc. IEEE 17th Design Automation Conference, June
1980. [MPI Meier, O., and D. Price, Data model requirements for
engineering applications, Proc. International Workshop
[EM] Emond, J.C., and G. Marechad, Experience in building on Expert Database Systems, 1984
ARCADE, a computer aided design system based on a
relational DBMS, Engineering Design Application [MS] Maier, D., and J. Stein, Indexing in an object-oriented
Proceedings from SIGMOD Database Week, May DBMS, manuscript in preparation.
1983.
[MNP] McLeod, D., K. Narayanaswamy, and K.V. Bapa Rao.
[GR] Goldberg, A., and D. Robson, Smalltalk-80: The An approach to infomation management for CAD;VLSI
Language and Its Implementation, Addison-Wesley, applications, Engineering Design Application Proceed-
1983. ings from SIGMOD Database Week, May 1983.
[Gd Gray, M., Databases for computer-aided design, In New [Mo] Morgenstern, M., Active Databases as a paradign for
Applications of Databases, G.Garadarin, E. Gelenbe enhanced computing environments, Proc. Conference
eds., Academic Press, 1984. on Very Large Oatabases,19]]3.
[Hal Haynie, M.N., The relational/network hybrid data model
for desiqn automation databases, P.roc. IEEE 18th [MAW] Mylopoulos, J., P.A. Bernstein, and H.K.T. Wong, A
Design Automation Conference, 1981. language facility for designing database-intensive appli-
cations, ACM TODS 5:2, June 1980.
[HJ] Hewitt, C., and P. de Jong, Open systems, In On Con-
ceptual Modelling: Perspectives from Artificial Intelli- [Ni] Nierstrasz, O.M., Hybrid: a unified objact-onented sys-
gence, Databases and Programming Languages, M.L. tem, Database Engineering 8:4, December 1985.
Brodie, J. Mylopoulos, J.W. Schmidt eds., Springer-
Verlag, 1984. [PKLM] Plouffe, W., Kim, W., R. Lorie, and D. Mcplabb, A data-
base system for engineenng design, Database
[HI.] Haskin, R.L., and R.A. Lorie, On extending the func- Engineering 7:2, June 1984.
tions of a relational database system, Proc.
ACM/SIGMOD International Conference on the pL] Powell, M.L., and M.A. Linton, Database support for
Management of Data, 1982. programming environments, Engineering Oesign Appli-
cation Proceedings from SIGMOD Database Week,
[JSW] Johnson, H.R., J.E. Schweitzer, and E.R. Warkentlre, A May 1983.
DBMS facility for handling structural engineering enti-
ties, Engineering Design Application Proceedings from [sq Siddle, T.W., Weaknesses of commercial data base
SIGMOD Database Week, May 1983. management systems in engineering applications, Proc.
IEEE 17th Design Automation Conference, June 1980.