• No results found

Existing Ontology Design Methodologies

3.3 Ontology Development Methodology

3.3.1 Existing Ontology Design Methodologies

Comprehensive surveys of the existing methodologies are provided in [72, 47, 48]. Fer-nandez et. al in [48] have identified seven ontology design methodologies that have been proposed to date, that aims to guide the process of developing ontologies from scratch.

These are:

Uschold and King’s Method: This method [135] is based on the experiences of building the Enterprise Ontology2, an ontology for enterprise modelling processes. The method provides guidelines for ontology development within the phases of: Purpose identification (intended use of the ontology), ontology capture (identifying concepts and

2http://www.aiai.ed.ac.uk/project/enterprise/enterprise/ontology.html

relations), coding (explicitly representing the knowledge captured in the previous stage), integrating existing ontologies and evaluation.

Cyc Method: Cyc method [81] has been defined from the experiences gathered in building the Cyc Ontology3. This specifies the phases of manually extracting “common sense knowledge” from knowledge sources and codifying the knowledge aided by tools.

However it fails to specify the processes of requirements identification or concept design.

So far this method has only been used to develop Cyc knowledge base since the processes defined are quite specific to the building of the Cyc ontology [48].

Gruninger and Fox’s Methodology: This methodology [62] is based on the de-velopment experiences of the TOVE project ontology4 within the domain of business processes and involves building a logical model of the knowledge to be specified in the form of an ontology. This follows a stage based approach where an informal model of the knowledge specification is made first and the formalised at a later stage. The steps proposed are: capture of motivating scenarios (example problems which are not adequately addressed by the existing ontologies), formulation of informal competency questions (which are considered as expressiveness requirements that are in the form of questions), specification of the terminology of the ontology within a formal language (which is done by first extracting the informal ontology from the informal competency questions and then representing them in a formal language), formulation of the for-mal competency questions using the terminology of the ontology, forfor-mal specification of axioms and term definitions in the ontology, establishing conditions for characterising completeness of the ontology.

Approach by Bernaras et. al: The approach proposed by Bernaras et. al.[12] is based on the process followed in the KACTUS5 project which involves knowledge reuse in complex technical systems. This approach is tightly coupled with the development process of the application for which the ontology is built for. The development phases defined are: specification of the application (which provides application context and the components the application needs to model), preliminary design based on the top-level ontological categories (this involves searching ontologies developed for other applications, which are refined and extended for use in the new application) and ontology refinement and structuring. In this approach, since the building of the ontology is based on the building of a particular application; the ontology developed will be quite specific to the application under concern and therefore can be viewed as an application-dependent strategy [47].

Methontology: This development methodology [46, 85] consists of the development phases of specification (identifies the intended uses of the ontology), conceptualisation (consists of identifying concepts and building a conceptual model), formalisation and

3http://www.cyc.com/

4http://www.eil.utoronto.ca/enterprise-modelling/tove/

5http://hcs.science.uva.nl/projects/NewKACTUS/home.html

implementation (which transforms the conceptual model into a formal model and rep-resenting this in a formal ontology language) and maintenance (consists of updates and corrections to the ontology when necessary). The techniques and guidelines to be fol-lowed in each of the development activities are specified by the methodology in detail. It also identifies project management activities (planning, control, quality assurance) and support activities (knowledge acquisition, integration, evaluation, documentation and configuration management).

On-To-Knowledge: This methodology [45] was developed based on the On-To- Knowl-edge project6 which introduces and maintains ontology based knowledge management applications in enterprises. The stages specified in the ontology development process are:

kick-off (which includes the capture of requirements and analysis of knowledge sources), refinement (knowledge extraction and formalisation), evaluation (which includes the technology focused and user focused evaluation of the ontology) and application and evolution (applying the ontology for the intended use and maintenance). Again this methodology provides detailed guidelines for the activities to be carried out in each stage and focuses on ontology use in industrial contexts.

SENSUS-based Method: This method [125] is intended to be used when developing ontologies to be linked to the SENSUS ontology7, which is an ontology for use in natural language processing to provide conceptual structure for machine translators. Hence this method cannot be used for ontology development in general. This involves a series of steps to be followed in ontology development which includes identifying seed terms in the domain to be modelled, manually linking them to the terms in the SENSUS ontology, and extracting the concepts in the path from the seed term to the root of the SENSUS ontology to be included in the new ontology.

Jones et. al [72] and Fernandez et. al [48] have also identified methods and approaches that address specific aspects of ontology development such as; ONIONS for integrating heterogeneous sources of information and OntoClean [63] that specifies formal guidelines for constructing taxonomical relations in ontologies. However these are not comprehen-sive enough to be classified as formal ontology design methods.

Summarising over the available ontology development methodologies and approaches, the following observations can be made:

• The more comprehensive development methods typically contain the following stages in the development process: a specification stage where the requirements and/ or intended uses of the ontology are identified; a conceptualisation stage where the knowledge sources are investigated to identify concepts, relations and

6http://www.ontoknowledge.org/

7http://www.isi.edu/natural-language/projects/ONTOLOGIES.html

attributes and constraints among the concepts, and an informal intermediate rep-resentation is made of the ontology; an implementation stage where the conceptual ontology is coded in a formal ontology language.

• The Cyc method and SENSUS based methods are specifically intended for use with the core ontologies (of Cyc and SENSUS respectively) and therefore cannot be adopted as development methodologies for general ontology building.

• In the analysis provided in [72, 48], the methodologies are distinguished by the criteria of application dependence; which indicates whether the strategy for build-ing ontologies is dependent, or coupled with, the specific application for which the ontology is built for. According to this criteria; Gruninger and Fox’s Methodology, approach by Bernaras et. al, On-To-Knowledge and SENSUS-based method are not application independent. Therefore, out of the general ontology development methodologies, the application independent approaches are: Methontology and Uscold and King’s Method.

• The methodologies can also be distinguished by the criteria of the recommended life cycle it proposes to use [72, 47]: stage-based approaches and evolving pro-totype based approaches. Stage based approaches are where one stage or phase in the development process is always completed before going into the next stage.

Evolving prototype based approaches are where the activities in the development phases are revisited throughout the development of the ontology. Out of the gen-eral ontology development methodologies; Gruninger and Fox’s Methodology and Uschold and Kings Methodology are stage based approaches. Methontology, On-To-Knowledge and the method proposed by Bernaras et. al are evolving prototype based approaches. As analysed by Jones et. al in [72], stage based approaches are better suited when the ontology developed is for a specific purpose or application, in which case the requirements are clear and well defined at the inception stage.

Evolving prototype based approaches are better when the ontology is not targeted at a specific application, and hence the requirements are not very well defined or fixed.

Although the primary purpose of the Device Ontology is to facilitate service discovery, it is intended to be a general framework to describe the capabilities of devices and hence to facilitate any application that needs to reason about device capabilities and resources.

Hence, a methodology with an application independent approach is better suited for the development of this ontology. Further, for the same reason, stage based approaches are not suitable since the Device Ontology is not targeted at a single application. Thus, the Methontology approach is the most suitable approach for this case and also, is the closest to the approach followed in developing the Device Ontology since this was built in an iterative fashion. Methontology is also the most mature since this it has been

used by different groups for the development of ontologies in diverse domains and is recommended by FIPA for ontology development.