2.4 Summary
3.1.1 OntoDM
An ontology is a particular conceptualisation of a set of concepts and relationships between classes, properties and instances in a domain of knowledge. An ontology consists of terms, their definitions and axioms relating them [40, 41]. Some possible ways to describe ontologies are as follows [35]:
• A thesaurus describing the relationships between a vocabulary that represents a set of concepts.
• A taxonomy representing how the concepts of a knowledge domain are related using a classification based on similarities of structure.
• A detailed database schema describing the concepts (entities and attributes) and relationships.
• A logical theory, founded on mathematical logic, that specifies the concepts and relationships.
The benefits of the use of ontologies in the context of MAS are as follows:
• Shared understanding.
• Suitable for open domains.
Ontologies have proven to be a useful mechanism to help in the understanding and the analysis of information flow among agents when attempting to describe a certain domain. Typically, each agent in MAS carries out a specific type of tasks and services with different aims. One agent does not perform all steps in the task. Agents may col- laborate with different agents, using the content of messages exchanged among agents. In order for a pair of agents to understand each other, a basic requirement is that they speak the same language and talk about the same things. Ontologies provide a mecha- nism for structuring the concepts, relationships and constraints contained in a specific domain so that the description can be used by, for example, software agents, so that the agents have a shared understanding of the domain. This shared understanding then can be used to facilitate communication, negotiation and interaction among agents.
In closed domains, agents are able to interact to achieve their goals according to fixed protocols with fixed participants. However, in this case, agents are unable to deviate from expected behaviours. The use of ontologies in open and flexible systems allow them to adapt to the participation of heterogeneous agents with different agendas. Thus the use of ontologies provides a more flexible mode of operation for MASs (used in open domains) than fixed protocols.
Examples of multi-agent systems that used ontologies to achieve a shared under- standing include Ontolingua [36], InfoSleuth [10] and the work presented in [82]. On- tolingua was a web-based service that provided a set of tools and services to support ontology development by different groups so that the ontology could be shared. The InfoSleuth project aimed at developing technologies to facilitate interoperation among agent systems in a dynamic and open environment. The project built on KQML and KIF. A common service ontology was defined in order to match an agent to the re- quirements of a task. A matchmaking agent used this ontology to reason over agent capabilities to recommend agents for specific tasks. The ontology provided a dictionary of meta-information about agent capabilities, and a shared set of prescriptive conver- sation policies to provide a structure for basic agent dialogue. In [82] the proposed approach allowed agents to negotiate in any type of marketplace regardless of the nego- tiation protocol. To support a wide variety of of negotiation mechanisms an ontology was used to represent the negotiation protocol, rather than using hard-coded in the agents.
In the context of work presented in this chapter a taxonomy, called OntoDM, was used rather than a fully operational ontology. Intra agent messaging is conducted using a sequence of communicative acts. A taxonomy based approach was selected because it offers several advantages over hard coding. With respect to the Agent Communication Language (ACL), agents are able to understand the structure of exchanged messages and the associated performatives. However, the ACL does not support semantic inter-
operability, hence the requirement for an taxonomy such as OntoDM. The main aim of the use of a taxonomy based approach is to provide a pragmatic approach to the sharing of “terms” among agents when passing parameters in agent communications concern- ing, for example data set information, data mining techniques, required parameters or clustering metrics.
A sample set of communicative acts, directed at clustering operations, is presented as a context free grammar in BackusNaur form (BNF) in Table 3.1. In the table the
... notation is used to indicate that there are further alternatives not included in the table (for ease of understanding). From Table 3.1 it can be seen that, at a high level, an OntoDMutterance comprises one of the following:
1. Adata informative, indicating a data set, coupled with adata mining request
to perform a specific data mining task with respect to that data; typically sent by a Task Agent to a Data Mining Agent.
2. Avalidation request, comprising information regarding the nature of the vali-
dation and the data on which the validation is to be performed; typically sent by a Data Mining Agent to a Validation Agent.
3. Adata request typically sent by a Data Mining Agent to a Data Agent.
4. Adata response informative, the response from a Data Agent to a successful
data request from a Data Mining Agent.
5. Aresults informative used to return results to the originating Task Agent.
6. Some form of error informative used to handle situations where agents are unable to respond to an utterance because of some technical malfunction.