DESIGN AND DEVELOPMENT METHODOLOGY
Ontology design is a creative process whose first step is determining the scope of the ontology by specifying its main concepts, features, and instances. One approach is to elicit them from a subject matter expert or some other sources, as will be discussed in Section 6.3.
Another approach is to extract a specification of the ontology from the reasoning trees developed as part of the rapid prototyping of the agent. During this phase, the subject matter expert and the knowledge engineer define a set of typical hypotheses (or problems) that the envisioned agent should be able to assess (or solve). Then they actually assess these hypotheses the way they would like Disciple-EBR to assess them. This process identifies very clearly what concepts and features should be present in the ontology to enable the agent to assess those types of hypotheses. This modeling-based ontology specification strategy will be discussed in Section 6.4. Once a specification of the ontology has been developed, one has to complete its design.
Because ontology design and development is a complex process, it makes sense to import relevant concepts and features from previously developed ontologies (including those from the Semantic Web) rather than defining them from scratch. In particular, one may wish to look for general-purpose ontologies, such as an ontology of time, space, or units of measures, if they are necessary to the agent under development. Significant foundational and utility ontologies have been developed and can be reused (Obrst et al., 2012), as discussed in Section 3.2.2.
The actual development of the ontology is performed by using ontology tools such as Protégé (Noy and McGuinness, 2001) or those that will be presented in this section. As will be discussed next, ontology development is an iterative process during which additional concepts, features, and instances are added while teaching the agent to assess hypotheses (or solve problems).
An important aspect to emphasize is that the ontology will always be incomplete. Moreover, one should not attempt to represent all of the agent's knowledge in the ontology. On the contrary, the ontology is intended to represent only the terms of the representation language that are used in the definitions of hypotheses and rules. The more complex knowledge will be represented as rules.