Object-orienteddatabases and frame-based
systems: comparison
N W Paton and 0 Diaz*
Research into knowledge representation within the artificial intel-
ligence (AI) community has led to the development of AI tools
that use frames to structure knowledge. Concurrent research in
databases has led to the development of semantic data models and
object-oriented databases. These two types of system seem to
have much in common -- they are structurally object-oriented,
support inheritance, and store programs with the objects to which
they relate. What then are the differences between frame systems
and object-oriented databases? The paper compares a frame
system called CRL with an object-oriented database called
ADAM to identify common ground and differences between the
systems and the philosophies underlying them. What emerges
from the comparison is that while the systems have many superfi-
cial similarities, the different rationales that led to their develop-
ment have resulted in significant practical differences in certain
fundamental constructs.
object-oriented, object-oriented databases, frame-based systems,
artificial intelligence, data modelling
The object-oriented paradigm is characterized in a
general sense by a grouping of information with the
concept or entity to which it relates. This paradigm has
recently become both fashionable and widely used. One
of the reasons for the recent interest in the object-
oriented approach is that it permits many concepts from
the real world to be modelled in a direct and natural way.
In addition, from an engineering point of view, the
object-oriented paradigm brings such benefits as reusabi-
lity and extensibility.
It is widely recognised that systems which are in some
sense object-oriented have been developed by researchers
working on programming languages, artificial intelli-
gence (AI), and databases. Systems developed by
researchers from these different communities often share
similar terminology, but are based on fundamentally
different notions of objects, inheritance, instantiation,
etc. These differences derive from the different motiva-
tions driving the various strands of research.
Database researchers have been seeking to solve the
impedance mismatch between database systems and the
languages used to implement data-intensive applications,
and to develop systems that support powerful data-
modelling constructs absent from the relational data
model. The first motivation led to the development of
database programming languages ~, while the second
fuelled interest in semantic data modelling 2. By contrast,
AI research aims to find powerful knowledge represen-
tation schemes that are able to model complex reasoning
techniques (such as default and common-sense reason-
ing) used by humans in solving difficult problems.
Frame-based systems have been widely used in AI, when
attempting to model stereotypical situations in a way
that humans seem to do 3. Finally, research into program-
ming languages has stressed the need to improve modi-
fiability and reusability. Abstract data types, encapsulat-
ing data structures and operations, have been proposed
as a means of addressing these goals4.
This paper aims to identify how the different motiva-
tions underlying the development of systems that are in
some sense object-oriented have affected the way in
which the paradigm is supported within the database and
AI communities. The approach taken has been to
implement an application using the object-oriented data-
base (OODB) ADAM and the frame-based system CRL
as a means of illustrating the similarities and differences
in their support for the paradigm.
ADAM 5 is an implementation in Prolog of an OODB
system (OODBS). ADAM is both structurally and beha-
viourally object-oriented as described by Dittrich6. Many
of the behavioural features of ADAM come from the
same school as LOOPS 7, but a number of its structural
characteristics have roots in earlier work on functional
data models8.
Knowledge Craft is an expert-system development
environment built at Carnegie-Mellon University9.
Knowledge Craft includes the programming languages
OPS-5, Prolog, CRL, and Common Lisp, the latter
forming the core of the system. As a good example of a
frame-based system, in this paper the focus is on the
CRL component of Knowledge Craft.
Department of ComputerScience,Heriot-WattUniversity,79 Grass-
market, Edinburgh,UK.
*Department of ComputingScience, Universityof Aberdeen, Aber-
deen, UK, and Facultadde Informatica,Universidaddel Pais Vasco,
San Sebastian,Spain
STRUCTURAL FEATURES
This section introduces the basic mechanisms of object-
oriented systems (OOSs) for representing the structural
features of a domain, and it is shown how the manifes-
vol 33 no 5 june 1991 0950-5849/91/050357-09 © 1991 Butterworth-Heinemann Ltd 357