1989 年 4 巻 1 号 p. 77-87
A language supporting multiparadigms is required for development of expert systems because various models of inference processes and various representation of knowledge are necessary to describe expertise as naturally as experts use. In the language design, however, it is difficult to amalgamate conflicting concepts among paradigms without metamorphosing pure semantics of these paradigms. This paper presents a solution of this problem. First, a two-layer model is lntroduced for describing expertise. In the upper layer, a global structure of a system is described in an object-oriented paradigm. In the lower layer, expertise is modularized and represented in such paradigms as frame, production system and predicate logic. This two-layer model is effective to keep pure semantics of each paradigm. Secondly, conflicting concepts between an object-oriented paradigm and other paradigms are amalgamated as follows: (1) For introducing a frame paradigm, slots and methods are equalized. They become visible and are inherited to descendant objects only by declaring as public. (2) For introducing a production system paradigm, a cooperative inference system with a data-driven model and a message-driven model is built while limiting data-driven inference to a virtual sub-world called a meeting room. (3) For introducing a predicate logic paradigm, closed world assumption is kept by inheriting a group of methods written in Prolog as a closed Prolog database. This language was developed as an expert system building tool (ES/X90) and runs on Hitachi workstation 2050. It has already been applied to development of several expert systems.