page 1  (1 pages)

CERC Technical Report Series

Research Note


Integration of Declarative and Procedural Knowledge
in Engineering Applications

December 1991

ACKNOWLEDGEMENT: This effort has been sponsored by Defense Advance Research Projects Agency (DARPA), under contract No. MDA972-88-C-0047 for DARPA Initiative in Concurrent Engineering(DICE).

Concurrent Engineering Research Center
West Virginia University
Drawer 2000, Morgantown WV 26506


Integration of Declarative and Procedural Knowledge
in Engineering Applications*

Concurrent Engineering Research Center
West Virginia University, Morgantown 26506
E-Mail: [email protected]


An object-oriented knowledge-based system developed on a new knowledge representation paradigm is presented. The high-level architecture includes a problem-solving engine, a user interface, and tools. The low-level architecture is described by more than fifty different kinds of objects that are implemented in the system as Smalltalk classes. A problem-solving engine implements a knowledge source and rule-based deduction with metaknowledge control. A procedural attachment mechanism, bidirectional data exchange between the inference engine and procedure calls with a broad interface to the Smalltalk environment are basic mechanisms used for integration of declarative and procedural knowledge bases. The emphasis is on the object-oriented integration of declarative and procedural knowledge bases in the context of engineering applications.


A number of problems encountered in engineering design are not amenable to algorithmic solutions, for example finite elements methods and circuit simulators. These problems are often ill structured (the term ill-structured problems is used here to denote problems that do not have an explicit, clearly defined algorithmic solution). Experienced engineers deal with them using judgement and experience. Knowledge-based programming technology offers a methodology to tackle these ill-structured design problems. We have developed such a system called DICEtalk.

The DICEtalk knowledge-based system [7, 8] has been designed for engineers. The low-level architecture of the DICEtalk system is described by special kinds of objects that are implemented as more then fifty Smalltalk classes. The DICEtalk high-level architecture includes a problem-solving engine, a high-level user interface, and high-level tools. It features object-orientation (high-level structured programming) providing procedural knowledge-based programming integrated with

*This work has been sponsored by Defense Advanced Research Projects Agency (DARPA), under contract No. MDA972-88-C-0047 for DARPA Initiative in Concurrent Engineering (DICE).


simplified English as declarative knowledge-based programming. The integration of both declarative and procedural knowledge bases is supported by an extended graphical user interface with access to several knowledge bases. The Smalltalk environment is accessible from within a knowledge base and through Smalltalk, programs in other conventional languages, for example the C language, can be executed. This integration has been successfully verified in a series of applications [2,3,8,10].

We now briefly review some terminology. If a particular set of facts is known about the world, then this factual (declarative) knowledge can be increased if various rules (norms) are known. Factual knowledge may be derived using both observed facts and derived facts through a justified mode of inference. In this simple characterization, the term declarative knowledge base is taken to mean the collection of all facts of the world (domain), and the term inference engine refers to programs that reason with (execute) that declarative knowledge base. Inference engine derives facts (output facts - conclusions, and intermediate facts - findings) from other facts, which include rules, assumptions, user answers, findings, etc. A collection of programs and subroutines used to compute new facts, conclusions, or used during the execution of a declarative knowledge base by a procedural attachment mechanism, forms a procedural knowledge base. The procedural attachment mechanism can be used to provide graphics, windows, animation, dictionary lookup, file I/O, etc. Both the declarative knowledge base and the procedural knowledge base are referred to as a global knowledge base, or simply knowledge base. A knowledge base requires an inference method and fact and goal representations. In knowledge-based systems these two parts constitute a knowledge representation paradigm.

In the next section we describe the DICEtalk representation scheme; it involves several language levels. Following that we delve into the problem solving aspects on DICEtalk. It is based on an object-oriented model and ?dispatching-managing? model. Finally specific examples are discussed.

Knowledge Representation Scheme

In DICEtalk a knowledge description scheme, presented in Fig.1, is based on a surface language, intermediate language, and a deep language [4,6]. The last two languages are hidden from the user. The surface language sentences look as simplified English sentences that allow engineers to create knowledge bases and metaknowledge bases in a natural way without learning specialized data description and manipulation languages. The expressions of intermediate language are logical formulas of the formalized percept language [6] for describing percepts and metapercepts. In this case language primitives of surface sentences and percept formulas are the same, i.e., a subject of a sentence and its complements, which allows for conversion of natural sentences into percept


formulas to be much easier and more natural. The deep language is Smalltalk-80 [1] for implementing structured objects that represent logical (percept and metapercept) formulas at a computer level.

From the user?s point of view, a DICEtalk knowledge-based system DT is a hexad:

DT?=?(SPDL, C, FS, GS, ST, PS)

Structured Objects