Previous: Next Generation Architectures Up: Issues in Knowledge Level Modelling Next: Conclusion
Knowledge level analysis is not a goal in itself but has a role to play in a broader methodological approach toward knowledge system development. Three roles are the basis for common methodological usage of Knowledge Level models:
A fourth role, support for sharing and re-use, is a natural complement to these roles.
With respect to the last role it is assumed that an analysis of the requirements of the application provides an index to a re-usable model. This is what we have called the task features previously. The earliest attempts to come up with a categorisation of application types followed a task oriented approach . More recently other than the task perspective have been explored. McDermott's taxonomy of problem solving methods  takes a method orientation. Work on re-usable ontologies  researches into generic terminology and structures within certain domains. Work on KIF - the knowledge interchange format - is prototypical for this research . KIF is a logic based language that can be used as an implementation independent format for exchanging knowledge bases. A specialisation of KIF, called OntoLingua , can capture in a general and standardised way ontologies that are useful in domains such as medical diagnosis or design. Steels' Componential Methodology  supports the usage of chunks that contain any combination of task, domain, problem solving method with or without associated pieces of code. Although the idea of re-usable models is shared by many approaches, the foundations of generic models and the selection and modelling mechanisms that are needed to work with them are not well researched .
A major weakness in the combination of these roles is that it hides a subtle shift from observed behaviour (for example from an expert) to system behaviour. As Linster put it, there is modelling for making sense and modelling for system design . It is tacitly assumed that a smooth transition from the one to the other is possible and useful. The assumption behind this role is that a KL-model can be found that is adequate for the range of situations one wants to deal with. Moreover this can be done before the detailed knowledge has been acquired (see also the tools described in  and ). Consider the situation of a human expert behaving in an environment, and then replace that expert by a system, or by an agent-system combination (Fig. ). What is the relation between the knowledge level models for these three behaviours? Can we assume that they are the same, that they are related or are they really different?
Various authors, implicitly or explicitly motivated by these issues, are exploring ways to deal with them. A first approach is to explicitly distinguish between models for analysis and models for design. This is, for example, done in CommonKADS  but the relation and transition between the 'present' and 'target' models is largely an open issue. A second approach is to support knowledge level modelling for end-users themselves, as it is done in the Componential Methodology . Here modelling is always done in the context of designing an application, and it is grounded in the needs and understanding of the users. A third approach is to restrict knowledge level modelling only as a tool for analysis. Here the aim is to find out about those features that make up interesting knowledge-based and goal-directed behavior, in particular the epistemological and pragmatic problems (Sect. ). The knowledge that is used to overcome these problems may be ephemeral, but the problems themselves are not. How to deal with these problems is treated as an entirely separate problem and the knowledge level analysis may or may not be useful here. This is my understanding of some of the suggestions in .