We define Knowledge Engineering (KE) for AI Planning to be the process that involves

(i) the acquisition, validation and verification, and maintenance of planning domain models

(ii) the selection of appropriate planning machinery and its integration with the domain model to make up a planning application.

By `domain model' we mean a body of knowledge that an agent can use to make rational deductions about the domain it represents. In particular to planning, it is commonly assumed that a model contains a declarative description of a domain and that the model's most important component is a set of action descriptions. Our first of three workshops on this area produced a set of issues relating to the nature of KE. This drove the initial form of our roadmap, and determined the agenda for the remaining workshops.

The research communities in the related areas of knowledge acquisition for knowledge-based systems, and requirements engineering in software engineering, are very active and associated with a growing body of literature, methods and techniques. KE for planning may be seen as a special case of these general areas, although planning is separated by the fact that the knowledge elicited is largely knowledge about actions, and how objects are effected by actions. Also, the ultimate use of the planning domain model is to be part of a system involved in the synthetic task of plan construction (in contrast to classification or diagnosis tasks common in KBS). Despite this, we feel that the planning community needs to be better informed about and able to adopt tools and techniques from these general areas.

Our roadmap examines several topics fundamental to knowledge acquisition and engineering, including:

Roles in the KE process: We have to take into account the differing kinds of stakeholders that have a share in the construction of the planning system. This group may include planning experts, domain engineers, domain experts, software and HCI experts, and eventual end-users.

KE Tools: These are necessary to support the knowledge acquisition method, and the management and validation of the domain model. Interface tools, translation tools and debugging tools are particularly important.

Machine Learning: The use of tools and techniques from the machine learning area to induce or refine parts of a domain model is of great interest. For example, complex action representations may be constructed more reliably by induction than by hand.

Formal Methods: Given a domain model is likely to be a statement in some formal language, experience in the engineering of formal specifications in software engineering is discussed. We consider the similarities between planning domain definitions and formal specification languages.

Although the KE process will involve the use of a variety of representations and models, it may be that at the heart of the model is a formal domain modelling language. In which case, it is important to identify the design criteria for the creation of such languages. In our second workshop, we concluded that such languages should have high level structuring devices, be integrated within a development method, be tool supported, be expressive and customisable. Also, they should to some extent support the operational needs in developing an efficient planning system.

Once we have acquired a domain model, a fundamental question is how to match the available planning technology to the domain at hand? For example, under what conditions would one consider using purely generative planning technology, and under what conditions would it be wise to use case-based technology and a plan library?

The roadmap points out some general directions and problems to be overcome. These include:

(1) there is a general lack of experience in the planning community (especially in Europe) of knowledge engineering concepts and methods, and we have much to learn and techniques to import from related knowledge engineering work.

(2) the evaluation of KE tools and methods is problematic, and tends to be harder than the evaluation of, say, a planning algorithm. This is seen as a barrier to future research as researchers find it harder to publish in the planning literature.

(3) we need to learn how to characterise domains, and hence build up knowledge about how to match up planning technology with domain models.