Generation of Knowledge-Acquisition Tools from Reusable Domain Ontologies

We present Mecano, a development environment that automates the design of knowledge-acquisition software tools for knowledge-based systems. Mecano is a component of PROTEGE-II—a development environment for knowledge-based systems. Given an explicit model of the domain—called a domain ontology—that is shared by Mecano and the target knowledge-based system, we show how a specification for a knowledge-acquisition tool can be inferred. In particular, the domain ontology is used to determine (1) the knowledge requirements of the target knowledge-based system that must be fulfilled by the knowledge-acquisition tool, (2) the appropriate dialog sequences with users of the tool that ensures the consistency and completeness of the acquired knowledge, and (3) the presentation and layout of the components of the tool’s interface. The use of shared domain ontologies to design knowledge-acquisition tools facilitates the integration of tools with target knowledge-based systems, produces domain-oriented tools, and eases the propagation of changes in the domain ontologies from the knowledgebased systems to the knowledge-acquisition tools. 1. Tools as Interfaces The development of knowledge-acquisition tools— systems that allow either knowledge engineers or domain experts to edit knowledge bases—presents a challenge to developers of knowledge-based systems. Some of the requirements that make these tools difficult to implement are: • High-level integration with a target knowledge-based system • Complex user interface with sophisticated dialogs1 • Strong orientation toward a single domain and task • Limited number of users, sometimes as few as one 1. A dialog is the sequence of actions that an interface allows a user to perform. These requirements dictate that knowledge-acquisition tools are often useful for only a single knowledge-based system, or, at most, for a small class of systems based on a common problem-solving method. Developers of these tools generally emphasize the automation of the dialog sessions with the users, and the translation of the results of those dialogs into a proper format in the knowledge base. As a result, knowledge-acquisition tools can, by themselves, be intricate knowledge-based systems, thus creating a situation where the development of one knowledge-based system (e.g., an expert system) necessitates the construction of another one (i.e., the knowledge-acquisition tool). On the other hand, little or no emphasis is placed on the automation of the design of the tool. To design a new knowledge-acquisition tool, knowledge engineers painstakingly examine the knowledge requirements and data structures of the target knowledge-based system, devise dialog sequences, decide on presentation modalities, and, finally, build tools that conform to these design specifications. In this paper, we emphasize automated design of knowledge-acquisition tools. We argue that these tools should not be viewed as independent programs integrated with other knowledge-based systems. Rather, they should be viewed as interfaces that permit access to the data structures of the knowledge-based system and that present those structures to a user in a manner that ensures the consistency and completeness of the acquired knowledge. The problem of designing a tool therefore can be depicted as that of writing an interface specification. We show how, from an explicit structured collection of domain terms and their interrelationships, called a domain ontology, programs can infer such interface specifications by applying dialog and layout rules. These domain ontologies are shared by knowledge-acquisition tools and their target knowledge-based systems, thus harmonizing the integration of both types of systems. Domain ontologies are reusable knowledge components [Musen, 1992; Neches et al., 1991], and are useful across different