Building an efficient knowledge base is an important part of expert system implementation. Procedural data, which can execute a course of actions when predefined conditions are met, can be used to perform numeric or statistical calculations, manipulate knowledge bases, and set integrity constraints if properly represented and facilitated in knowledge bases. Using external function calls to implement procedural data features in expert system shells has disadvantages such as requiring programming knowledge from expert system users and having possibilities to cause integrity-related problems to relational databases.
To overcome those limitations of external function calls and provide better procedural data management, this paper proposes a knowledge base model on the basis of a frame structure using an object-oriented database, which can represent not only fact and rule but also procedural data for automating needed processes according to the changes of the knowledge base through the operation definition feature of object-oriented databases. To ease the representation and utilization of procedural data in knowledge bases, user script command structure is devised based on Event-Condition-Action rule knowledge model of active databases. Also required object class structure in an object-oriented database to facilitate procedural data is proposed. To test the appropriateness of the proposed knowledge base model, a prototype system has been developed using a commercial ODBMS called ObjectStore and C++ programming language.