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