Information Technology Reference
In-Depth Information
A different approach is adopted in the Unified Modeling Language (UML) tools, which are
commonly used to visually describe and communicate the design of software. Due to the
similarities between ontologies and object-oriented design, UML class diagrams can be used
to model ontology classes and their properties, and relationships between classes
(Cranefield et al., 2005). However, UML's expressiveness for modeling ontologies is limited,
and Standard UML cannot express more advanced ontologies that contain descriptive logic
(Djuric et al., 2005). Due to the limitations of UML, there is on-going work to develop a
graphical notation for ontologies, called the Ontology Definition Metamodel (ODM) (Djuric
et al., 2005).
The existing tools described can model static knowledge to varying degrees, but they often
lack the facilities for modeling dynamic knowledge. For example, it is awkward to link a
task to an objective in Protégé using the existing input fields. This is a weakness that our
research addresses.
2.1.3 Lack of support for ontology testing
The examined tools that support ontology construction do not include facilities for
supporting ontology testing. Analogous to software testing which identifies defects during
development and results in a more stable software application being constructed, ontology
testing can help the knowledge engineer develop a more complete model of the domain. In
the ontological engineering field, ontology testing is also called ontology evaluation.
According to (Gomez-Perez et al., 2005), ontology evaluation should be performed on the
following items:
Every individual definition and axiom
Collections of definitions and axioms stated explicitly in the ontology
Definitions imported from other ontologies
Definitions that can be inferred from other definitions
Existing ontology testing systems, such as the OWL Unit Test Framework (OWL Unit Test
Framework) and Chimaera's (McGuiness et al., 2000) test suite, evaluate the correctness and
completeness of ontologies. Chimaera performs tests in the following four areas: (1) Missing
argument names, documentation, constraints, etc., (2) syntactic analysis, e.g. occurrence of
words, possible acronym expansion, (3) taxonomic analysis, e.g. unnecessary super classes
and types, and (4) semantic evaluation, e.g. slot/type mismatch, class definition cycle,
domain/range mismatch (McGuiness et al., 2000). Such testing tools are sufficient for testing
static knowledge, but are not suitable for testing the interactions between behaviour and
objects.
Our research work aims to fill this gap in research by addressing the difficult issue of testing
behaviour or dynamic knowledge. Our approach attempts to combine unit testing
techniques with the adoption of test cases in Test Driven Development (TDD) (Janzen &
Saiedian, 2005). This is a useful hybrid approach for addressing the complex interactions of
task behaviour and objects. The general intuition adopted from the TDD approach of
testing is that it should be “done early and done often”. In TDD, a test case is written first
and then the actual module is written. Writing test cases first can be beneficial because
instead of thinking of test cases as “how do I break something”, writing test cases first make
you think “what do I want the program to do”. In other words, writing test cases first make
you think about what functionality and objects are required. Ontology development could
also benefit from this kind of approach.
Search WWH ::




Custom Search