As the employed agents are characterized by higher degrees of autonomy and, more important, complexity of cognitive attitudes and capabilities, the need emerges of formally specifying the meaning of terms and the definitions of the entities involved in information transactions among agents. Within the knowledge engineering field, a well known notion of ontology identifies it with the specification of a conceptualization [Gruber, 1993] that is, with a set of definitions both of the objects pertaining to some area of interest, and of the relationships hypothesized to hold among them. Such a specification, when performed through a logic-based language endowed with declarative semantics and, in general, allowing to associate natural language descriptions with formal statements (and thus, human readability with machine readability), constitutes a special- purpose axiomatization of an application area. The logic-based and declarative semantics approach is intended to make it easier both to understand the meaning and the implications of the definitions and to maintain their global consistency. The adoption of a standard or conventional ontology specification language allows to employ an ontology relative to a distributed application as a coupling mechanism among the cooperating parties, all committing to the chosen definitions (that is, sharing the same ontological commitments) while exchanging information (data/knowledge) or posing/answering queries.
As the Ontolingua language [Gruber, 1993] was precisely developed according to these design lines, we decided to employ it to construct a preliminary library of ontologies [Falasconi and Stefanelli, 1994; van Heijst et al., 1995]. We claim that the underlying structure of the knowledge required for a particular, and in general distributed, application is given in an application ontology assembled by including and possibly refining some theories selected from the library. That is, for the complementary components of a running application agency to effectively collaborate in supporting a consistent user-oriented set of services, they must rely on the same basic conceptualization, well known also to human operators. As a matter of fact, each Desktop Agent of the existing prototypical agent-based workstations offers a local application ontology browsing facility enabling the user to explore and grasp the semantic foundation underlying all the available tools and facilities. Indeed the design and configuration processes of a new application agency should start with the explicitation of the corresponding application ontology.
Both library and application ontologies are not intended as task-independent knowledge bases [Guarino, 1995], but as sets of definitions expressed in a rigorous declarative style, that is, independently of any procedural detail. In other words, they should leave aside features strictly related to the encoding of knowledge at a certain abstraction level and with a certain representation formalism, in order to allow the RMA to coordinate and exploit heterogeneous problem solvers. Thus the specification of an application ontology represents an attempt to abstract from reasoning and elaboration details, and to express the assumptions under which some knowledge and data bases result "true" and can be profitably employed. Nevertheless, the task model and the employed representation formalisms may be usefully introduced into the final application ontology in the form of the roles taken by instances of domain concepts within task execution in that application using those formalisms. Such role assignment is then viewed as an a posteriori procedure within the ontology configuration process, maybe performed through the consultation of general task and method ontologies stored in the library, as explained in the following. Thus, we adopt a non- philosophical, utilitarian idea of ontologies to be used in knowledge engineering, remarking that a primary purpose is that of clarifying all the assumptions that are hardly reconstructible starting only from coded knowledge, e.g. from a "uniform" frame hierarchy.
The current library is structured as an inclusion graph of ontological theories, partially shown in Fig. 3. The graph is a Directed Acyclic Graph whose nodes are theory names and whose arcs connect an including theory to an included theory. A criterium of minimization of inclusion links was followed: each theory includes, directly or indirectly, the minimum set of other definitions it presumes. Theory names arise from the principal ontological category around which the definitions are organized. For example, the theory Diseases is centered around the notion of disease, represented as an Ontolingua class with several binary relations defined on its instances, like disease.manifestation. Some of these relations are also functions, like disease.etiology. According to the values assumed by these relations, equivalent to frame slots, in an application knowledge base (an instantiation of an application ontology), actual disease instances can be classified into opportune taxonomies, whose subtype relations (e.g. etiological-disease-subtype) are too defined in Diseases.
Figure 3: Theories inclusion graph of the current library of medical ontologies.
As a library manager and distributor, the ontology server should maintain possibly inconsistent ontological theories in the library, keeping track of the relations among them. A categorization of ontologies according to the kind and scope of their conceptualization (e.g. generic versus domain- specific ontologies) could be useful to this aim. We identified some tentative categories, not intended as exhaustive or mutually exclusive, that single out clusters of theories within the current graph, and could work as "context-markers" for alternative available theories.
Representation Ontologies (not shown in Fig. 3) define a set of representation primitives pertaining to knowledge representation paradigms, languages and formalisms. In our framework, they are intended to show the neutrality, with respect to world entities, that was pointed out (and contested) in [Guarino and Boldrin, 1993]. An example is the Frame Ontology [Gruber, 1993], defining frame-oriented concepts (class, subclass-of, etc.) without making claims about the world. Building upon this theory makes Ontolingua compliant not only with the logic-based, "relational" representation style, but also with the frame/object centered one. Being the "raw materials" with which further definitions are to be forged, representation ontologies are situated on top of the inclusion graph and constitute the first ontological choice to be made. Generic Ontologies, that include representation theories, are theories containing definitions of meta-domain or "top-level" concepts (state, event, process, part, etc.), like Generic-concepts, or theories expressing general, domain-independent conceptualizations of inference models, like Generic-tasks, schematizing the general epistemological model we use, the Select and Test Model (ST-Model) [Ramoni et al., 1992].
Domain Ontologies are instead conceptualizations (here, theories from Fundamental-medical-concepts to Generic-patient) that specialize top-level definitions in order to model knowledge domains. For example, disease is a subclass of clinical-process (defined in theory Fundamental-medical- concepts), that in its turn is subclass of process (defined in Generic-concepts). According to the complexity of internal structure, reflecting the intended use of the conceptualization, domain ontologies can be distinguished into terminological ontologies, which mainly play the role of labels to be assigned in the context of term classification; information ontologies, similar to database conceptual schemata, to be used for data organization or retrieval purposes; gnosiological or knowledge modeling ontologies, apt to constitute the foundation or support the development of domain knowledge bases to be elaborated by reasoning processes. The actual medical domain theories arise from the basic concepts (e.g. disease, finding, therapy) employed by KBSs constructed with the meta-system M-KAT [van Heijst et al., 1994], though some theories like Drugs are better classified as information ontologies.
Task Ontologies contain definitions modeling tasks: Fundamental-medical-tasks models diagnosis and therapy planning as instantiations of the ST-Model, specifying which inferential roles are played by instances of categories defined in medical domain ontologies. For example, instances of disease play the hypothesis role within diagnosis, and the datum role within therapy planning. As a matter of fact, within M-KAT the ST-Model is used as a general problem-solving method for the coordination of heterogeneous problem solvers, each charged with the accomplishment of particular inference steps. Representing the knowledge requirements of such problem solvers (that is, of computational formalisms) in domain-independent Method Ontologies within the library would allow the specification of fine-grained application ontologies (taking into account domain, task and method models) and thus speed up the configuration of new medical KBSs with M-KAT. As explained in [van Heijst et al., 1994], such configuration contemplates the development in sequence of a knowledge-level epistemological model, including the domain model, its mapping into the task model and its instantiation with application knowledge, and of a symbol-level computational model, including the set of problem solvers designated to handle task inferences. Thus the availability of method ontologies expressing the assumptions underlying the available problem solvers could greatly help the knowledge engineer in assessing the epistemological adequacy of the latter (that is, the compatibility of problem solvers with the knowledge-level model previously established), and introduce a level of parallelism in the described configuration processes.
Figure 4: Extended theory inclusion graph.
In order to effectively face issues arising from coordination/cooperation sessions, the arrangement of our ontological library is situated "in between" two common cases that can be found in literature, that is "flat", enumerative, fine-grained sets of definitions and, on the other side, coarse- grained, rarefied, under-specified "top-level" categorizations. Another essential design feature is that the library is intended to cover multiple domains, in order to account for the presence of diversely specialized professionals. For example, an ontology of basic socio-economic concepts was introduced to account for economic evaluation analyses of health care activities and decisions [Quaglini et al., 1996]. Besides, re-utilizing and generalizing some definitions already present in the theory Clinical-environment (like that of clinical-unit) [Falasconi and Stefanelli, 1994] belonging to the core medical ontology, we undertook the development of an ontology of health care organizations to be exploited in every transaction making explicit reference to agents' structural roles. The resulting extended library is shown in Fig. 4, while Fig. 5 visualizes some Ontolingua reports about theory Organization, giving an idea of its structure.
Figure 5: Ontolingua reports on the structure of the theory
and of the class organizational-unit.