Journal: IEEE Transcactions on Knowledge and Data Engineering
The Knowledge Acquisition and Representation Language (KARL) combines a description of a knowledge-based system at the conceptual level (a so-called model of expertise) with a description at a formal and executable level. Thus, KARL allows the precise and unique specification of the functionality of a knowledge-based system independent of any implementational details. A KARL model of expertise contains the description of domain knowledge, inference knowledge, and procedural control knowledge. That is, it includes the specification of static and procedural knowledge. For capturing these different types of knowledge KARL offers corresponding modeling primitives which are based on Frame-logic and Dynamic Logic. A declarative semantics for a complete KARL model of expertise is given by a novel combination of these two types of logic. In addition, an operational definition of this semantics, which relies on a fixpoint approach, is given. This operational semantics defines the basis for the implementation of the KARL interpreter which includes appropriate algorithms for efficiently evaluating KARL specifications. This enables the evaluation of KARL specifications by means of testing.