Reuse with PROTÉGÉ-II: from elevators to ribosomes

This paper describes the PROTEGE-II environment which supports the construction of knowledge-base systems from reusable components. To assist developers with reuse, the terminologies of both problem-solving methods and knowledge bases should be described as formal ontologies. To connect pre-existing methods to new domains and knowledge bases, we dejine declarative mapping relations, which we use to translate information from domains to methods. It is critical that these mappings are simple, and we develop an ontology and a tool to constrain their construction. With PROTEGE-II and a set of mapping relations, we are able to reuse the same problem-solving method with two disparate tasks: (1) configuring the parts of an elevator system and (2) identzfling plausible con.gurations of helices in a ribosome molecular strand. 1. Reuse for Knowledge-Based Systems Software reuse is an appealing solution to the high cost of software construction and maintenance: If a library of reusable software components were available, then developers could use this library to greatly reduce software development time and effort. Since the goal of software reuse is to reduce development cost, it is valuable to view reuse from an economic perspective. Thus, the effort needed to build a software component library is the reuse investment cost, and the return on that investment is measured by the savings in effort achieved by exploiting reuse over the lifetime of each component. The benefit from a single instance of reuse is the difference between development costs with reuse and estimated development costs without reuse, Reuse is successful only when these benefits outweigh the investment costs. Barnes and Bollinger (1991) outline three ways to make reuse more cost-effective: (1) reduce the initial investment cost of constructing the component; (2) increase the number of times a component is reused; and (3) reduce the cost of sclmting, adapting and reusing a component. In this paper, we focus on the third approach, and especially on the cost of adapting a pre-existing component. We present PROTEGE-II, a development environment and methodology for the construction of knowledge-based sysPermission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association of Computing Machinery.To copy otherwise, or to republish, requires a fee and/or specific permission. SSR ’95, Seattle. WA. USA terns with reusable components. This environment has been developed within the knowledge-acquisition research community. Thus, it is designed to help developers build systems that include both a knowledge base of domain information, and a problem-solving method that operates on that knowledge base. For our purposes, these two types of components are the objects for reuse. In particular, we demonstrate the reuse of a problem-solving method across two domains: configuring the parts of an elevator system and finding plausible models for the positions of helices within a ribosome strand. The elevator-configuration task is a well-studied problem in the knowledge-acquisition research community, originally described and solved by Marcus, Stout, and McDermott (1988). 1 The task is a constraint-satisfaction problem: given a set of building specifications and requirements such as elevator speed and capacity, and given a large body of knowledge about available elevator components and safety constraints, find a configuration of elevator components so that no constraints are violated. This task was chosen for the Sisyphus-2 project: a benchmark for comparing knowledge modeling efforts in the knowledge-acquisition research community (see Schreiber and Birmingham, in press). The PROTEGE-II solution to this problem has been described in detail by Rothenfluh, Gennari, Eriksson, and Musen (1994), The ribosome topology task is another type of constraint-satisfaction problem, but in a very different domain. Given information about the secondary structure of components of the ribosome structure, such as helices and coils of RNA, and distance-constraint information among those components, the task is to locate the position and orientation of those components, relative to a set of known proteins, such that no distance constraints are violated. This problem has been described by Altman, Weiser, and Noller (1994). These two constraint-satisfaction problems are clearly very different in terminology, and notably different in the size of their search space. Thus, this pair of problems should be a good testbed for software reuse: if a solution can be constructed to solve one problem, it should be adaptable to solve the other. As we will show, PROTEGE-II allows developers to minimize adaptation costs when reusing a problemsolving method. 1. This problem was originally known as the VT task, for vertical transportation.