Previous: Two Step Rationality Up: Issues in Knowledge Level Modelling Next: The Nature of Problem Solving

Varieties of KL-Models

Newell proposed to model in terms of knowledge, goals and actions. That is all of structure that there is at the knowledge level. The various approaches toward Knowledge Level modelling use different but related notions. Task, generic task, problem solving method, inference, domain model, case model, role-limiting method and knowledge role are only some of the terms one encounters in the literature. The reader is referred to some of the other chapters in this volume for detailed explanations on these.

Three terms - or at least the concepts they indicate - seem to gain wide acceptance in the knowledge systems community: domain model, task model and problem solving method. They represent three different perspectives on the knowledge level and correspond to three paradigmatic approaches to KL-modelling (Fig. ):

Domain model:
A domain model is a means to talk about domain knowledge in a precise and systematic way. It expresses what one assumes collections of statements about the world to mean. For example it may describe what one knows about the functioning of the human heart, or it may capture a heuristic mapping between symptoms and malfunctions of cars. A domain model is more than a collection of pieces of knowledge. Its 'coherence' is reflected in the terminology and structure used to describe these pieces (for example, 'cause' and 'effect' related by some 'causal relation') and in the implied meaning of these terms (in this example, the meaning of causal relationship and the conclusions one can draw therefrom, for example based on transitivity). These elements constitute the model ontologies and account for predictive power, an essential feature of any model.

Model oriented approaches in knowledge engineering are quite old [16][15] and reasoning from first principles has become an active line of research. Here the idea is that the kind of knowledge that is available about a domain gives a clue for the kind of reasoning that is being done for a certain task. Terms such as 'causal' or 'qualitative' refer to the kinds of domain models that are being used. Such a domain model provides a reasoner with a repertoire of reasoning steps that are not specific for a task but can be usefully combined for a variety of tasks, like for prediction and diagnosis. Domain and model ontologies are studied for example in OntoLingua [20] and in CommonKADS [47]. It is becoming increasingly clear that domain knowledge is an important indicator for the kind of KL-model that is appropriate [49][29].

Task model:
A task model is a means to talk about goals in a precise and systematic way. It expresses what it means to achieve a goal and how the goals are interrelated. For example, the goal of diagnosing a car is to find an acceptable explanation of a malfunction. This may be achieved by the task of finding a faulty component who's normal functioning contributes to the disabled function of the car. Alternatively, the same goal may also be achieved by finding a faulty component who's faulty behaviour explains the malfunction and is consistent with observed symptoms. A task model also captures the way in which goals contribute to other goals. For example, the goals of identifying relevant components, and of testing for their proper functioning may both contribute to the higher level goal of diagnosing the car. This leads to a task decomposition or task structure. The well-known task decomposition of Mycin is another example of such a task decomposition.

The original KADS methodology is prototypical of the task oriented approach [46]. An application task (or real-life task) is decomposed into a series of so called generic tasks. A generic task is basically no more than an index to an interpretation model, an inference structure for the generic task. Such an interpretation model is independent of domain knowledge. It only requires certain inferences to be possible in the domain but does not say what models these have to be based on. So KADS advocates an analysis of the task, prior to making decisions on domain knowledge. The early work on Generic Tasks [6] was also task oriented.

Problem solving method:
A problem solving method is a means to relate task and domain models in order to accomplish goals. It describes roles that task and domain models have to play in order to achieve goals. For example a method of generate and test may be applied for the goal of diagnosis. The role of 'generate' may be played by the task that finds candidate components using, for example, a structural domain model. The role of 'test' may be played by a task that checks whether the component is malfunctioning or not using, for example, a model of the components proper functioning. A problem solving method is different from a task model because it can be non-specified for a task and it may give rise to multiple task models. For example the method of heuristic classification or constructive problem solving can be applied for many different types of applications [39]. A problem solving method is not a fully specified way to accomplish a task, but its application generates a way of accomplishing a task.

The research by John McDermott and his team at Digital [24] is prototypical for the method oriented approach. They have embarked on an encompassing effort to catalogue problem solving methods and to systematically probe for their scope of applicability by doing a series of applications and variations on them. The idea that the notion of problem solving method makes sense independent of the notion of task was convincingly argued for by Clancey [11] but in practice methods seem to remain closely linked to tasks. The Generic Tasks of Chandrasekaran [7] are closer to methods than they are to tasks. For example, CSRL embodies a classification method that can be used for other tasks than diagnosis alone (compare [5] and [4]). Method instantiation and configuration is also an important element in the work on Protege [27] and Protege-II [30].

The domain, task and method perspective are related views on problem solving. Each of them describes knowledge in its own language: model specific, task specific, method specific. A KL-model brings together these three perspectives in a coherent model. More and more the importance of all three aspects is being recognized and taken into account [48][36][8]. These KL-models, however, focus on describing the process of problem solving and have little to say about what problem solving is. For example a role-limiting method makes explicit control over actions that, when it is followed leads to the completion of some goal. However, the aim of a genuine knowledge level theory of problem solving must focus on 'why' questions. Why is an action taken? A knowledge level answer to this should refer to the world, rather than to a control regime imposed by a method. This leads us to considering more seriously what problem solving is all about.

walter@arti