Current knowledge-based systems lack the capabilities to perform a number of functions which are generally attributed to human experts: competence assessment, knowledge-base maintainance, sensible explanation, performance validation, adaptive interaction,etc. It is often stated that such advanced functions of knowledge-based systems can be realised by creating a reflective system, i.e. a system that is able to reason about (part of) itself, its own knowledge and its history in terms of solved cases.
Foundations are laid for the construction of second generation expert systems which are knowledgeable of the limits of their competence and are more flexible in employing their knowledge. Such advanced knowledge based systems, which have the capability to reason about their object domain models, previously solved cases and associated problem solving strategies in a particular task context. This will allow for a wider range of functions than those possessed by current knowledge based systems.
It was significant that the models were represented in a formal language, so that the computer could interpret them. For this purpose, 2 languages have been developed for describing KADS models: MODEL-K and (ML)2.
A number of prototype systems have been built. These prototypes tackled a variety of reflective tasks such as competence assessment, reasoning under limited time, problem relaxation (solving a closely related but simpler problem if the original problem is unsolvable) and combining multiple object systems.
The development of these prototypes has led to a set of guidelines on how to design and implement systems. These guidelines lay out a number of design decisions plus relevant parameters that must be considered when making these decisions. Aspects that are treated in these guidelines are:
how to realize the model of the object system;
how to ensure a correct (run-time) correspondence between the object system and its model;
how and when to switch activity between the object computation and metacomputation.
APPROACH AND METHODS
Reflective reasoning requires a representation (model) of the object-component to be used by the meta-component, a mechnism for reasoning about and with such an object-model, and a means of controlling the interaction between object problem solver and meta-theory.
In general any meta-component must be equipped with a representation, a model, of the object-component it reasons about. It is the fundamental hypothesis of the REFLECT Action that such an object-model should be a representation that is independent of the implementation details of the object-system. Thus, instead of applying our meta-theories directly to the object-system, or to some computationally oriented representation of the object-system, we base our meta-theories on an abstract and partial descript ion of that object-system. Newell has introduced the term "knowledge level" for abstract, implementation independent descriptions of AI systems. Hence we use the term knowledge-level reflection for reasoning about problem solvers using abstract models.Since we want to base our meta-theories on an abstract model instead of basing them directly on computational or implementational details of the object-system, we ahve to clarify what a model should look like. A number of frameworks are available for modellin or specifying knowledge-based systems. The most concrete frameworks are Chandrasekaran's generic tasks, Steels' components of expertise, the role-limiting method approach and the KADS models of expertise.
We have decided to use the KADS models because they provide the finest differentiation. They distinguish domain knowledge (declarative knowledge independent of use), inference knowledge (describing the use of domain knowledge, but independent of order) and task knowledge (enforcing an order on the execution of inference knowledge).
PROGRESS AND RESULTS
For our approach in REFLECT, it is significant that the models are represented in a formal language, so that the computer can interpret them. For this purpose, we have developed two languages for describing KADS models: MODEL-K and (ML)2.
During the course of the project we have built a number of prototype systems. These prototypes tackled a variety of reflective tasks such as competence assessment, reasoning under limited time, problem relaxation (solving a closely related but simpler problem if the original problem is unsolvable) and combining multiple object-systems.
The development of these prototypes has led to a set of guidelines on how to design and implement systems. These guidelines lay out a number of design decisions plus relevant parameters that must be considered when making these decisions. Aspects that are treated in these guidelines are: i. how to realise the model of the object-system, ii. how to ensure a correct (run-time) correspondence between the object-system and its model and iii. how and when to switch activity between the object- and meta-computa tion.
The first advantage of our approach is the possibility of evolutionary development of knowledge-based systems. Our approach allows enhancement of the capabilities of an existing system by adding a reflective component equipped with an abstract model of the object-system. Our experiments show that little or no modification of the object-system is necessary when the meta-component is added.
A second advance of our approach is that of combinability of several object systems without having to re-engineer these systems. One of our experiments demonstrated how several existing diagnostic systems can be combined into a much more powerful system by adding a reflective module, without the need to modify the individual object components.
The third, and perhaps most immediate advantage of our approach is that of reusability. Reflective modules implement generic capabilities that are useful for a range of knowledge-based systems. Through our approach, where the meta-theory is separated fromthe model of the object-system, one may expect such modules to be reusable.
1755 ZG Petten
53754 Sankt Augustin