• No results found

2 Background

2.4 Semantics for multi-agent interoperability

Software agents are commonly defined as autonomous software entities that exhibit reactive and proactive behaviours and are placed in some environment [Wooldridge and Jennings, 1995]. Agents are usually part of MAS, and they should be able to interact with other agents to coordinate their actions and share knowledge. In other words, agents should interact with each other regardless of how they represent and interpret their own knowledge.

Agent-to-agent communication of heterogeneous agents faces interoperability problems concerning the integration of ontologies of different domains and also different ontologies of the same domain [Schiemann and Schreiber, 2006].

Semantic interoperability is a major challenge due to semantic heterogeneity. The semantic heterogeneity arises when distinct ontology designers develop different ways of conceptualizing the knowledge (which can be motivated by different needs), giving rise to different conceptualizations, which are sometimes incompatible. Several types of conflicts may cause semantic inconsistencies, such as: name, structure, attributes, granularity of values, among others [Wiederhold, 1997]. Therefore, semantic interoperability should go beyond and understand the deeper meaning of terms.

2.4.1 Ontology

One of the most agreed definition of ontology in AI is: “Ontology is an explicit specification of a conceptualization” [Gruber, 1993]. A few years later, Brost [Brost, 1997] (re)defined ontology as “a formal and shared specification of a conceptualization”, defending that the conceptualization should express a shared view between several parties (i.e. a consensus instead of an individual view), and also, it should be expressed in a formal (machine readable) format.

In 1998, Studer et al. [Studer et al., 1998] merged these two definitions, stating: “An ontology is a formal, explicit specification of a shared conceptualization”, where:

Conceptualization is the domain’s abstract and rational model, including the identification and description of concepts, properties and relations between them;

Specification is the detailed, accurate, consistent, solid and meaningful description of a domain;

Explicit is the representation of the conceptualization in a way software agents can understand and reason upon it;

Formal implies that both human and machines are able to read, understand and process the ontology;

Shared means that the ontology is accepted consensually by a group and not only by an individual.

The term ontology has gained significant popularity in the last twenty years due to its promise of achieving interoperability between several representations of reality and between those representations and reality [Hepp, 2007]. On the other hand, ontologies enable knowledge sharing and its reuse across distinct communities of both human and software agents [Essalmi and Ayed, 2007].

An ontology is the vocabulary and the formal specification of the vocabulary of a specific domain [Hepp, 2007]. It allows representing knowledge in an abstract and organized way, providing a common understanding between heterogeneous entities. Furthermore, by means of inference engines it provides computational inference on both conceptual model and stored data, enabling the automatic generation of new information.

Although the promises of ontologies are broad, in fact they are not the solution for all problems.

Ontologies have a useful life cycle and require maintenance, and there are situations where the cost of development and maintenance of an ontology is too high [Hepp, 2007]. Gruninger and Lee have summarized the use of ontologies as follows [Gruninger and Lee, 2002]: “(…)

for communication

o between implemented computational systems o between humans

o between humans and implemented computational systems

for computational inference

o for internally representing plans and manipulating plans and planning information

o for analyzing the internal structures, algorithms, inputs and outputs of implemented systems in theoretical and conceptual terms

for reuse (and organization) of knowledge

o for structuring or organizing libraries or repositories of plans and planning and domain information.”

It is noteworthy that ontologies, in addition to providing more than a basis for computational inference, are also useful for improving interaction between human actors and between human actors and computational systems [Hepp, 2007].

2.4.2 Upper Ontology overview

An upper, top-level or more accurately foundational ontology, is a high level ontology that addresses very general domains (e.g. time, space, inherence, instantiation, identity, measure, quantity, functional dependence, process, event, attribute, boundary, among others) [Masolo et al., 2003], [Smith, 2004], supporting a broad semantic interoperability between lower level ontologies derived from it. It should serve as a common neutral backbone, which would be complemented by ontologies of more specific domains, such as medicine, engineering and geography.

Upper ontologies are intended to facilitate interoperability and mutual understanding between people and machines, including the comprehension of the reasons for non-interoperability.

These motives are sometimes more important than developing an integrated system based on a generic shared “semantics”, but conceptually imperfect and unpredictable [Masolo et al., 2003]. The entities (i.e. concepts and relationships) covered by the upper ontology must be abstract enough since these ontologies are supposed to cover all relevant knowledge aspects of each entity's domain.

2.4.3 FIPA Ontology Service Specification

FIPA’s agents’ communication model is based on the assumption that two agents wishing to exchange messages share a common ontology for the subject domain, ensuring that agents assign the same meaning to the message’s symbols [FIPA, 2001].

FIPA proposes the use of an Ontology Agent (OA) for MAS environments. FIPA defined that the OA should be able to participate in communications by assuming the following tasks (although the OA’s answer may be that it is not able to execute any or some of these tasks) [FIPA, 2001]:

 create and update an ontology, or some terms of the ontology;

translate expressions between distinct ontologies (i.e. different names with the same meaning);

 respond to queries about relationships between terms or ontologies;

 discover public ontologies in order to access them.

The OA is expected to provide access to one or more ontology servers which, in turn, provide ontology services to the agent community.

Designers may decide to develop explicit and declaratively represented ontologies, stored somewhere, or alternatively, implicitly encoded ontologies which are not published in an ontology service. Also, for a given domain, it is possible to use ontologies implicitly encoded within the agent’s implementation, and full agent communication and understanding can still be achieved. However, in these cases, the services provided by the OA cannot be applied [FIPA, 2001].

It is not FIPA’s intention that every MAS includes an OA, but in order to promote interoperability, if the OA exists in the agent’s community, it must be compliant with FIPA’s specification as well as the services described in [FIPA, 2001]. FIPA Ontology Service Specification [FIPA, 2001] is platform independent and only determines the way agents access an ontology service. In order to allow the communication of knowledge between agents, an explicit representation formalism has been specified, i.e. the FIPA-Meta-Ontology [FIPA, 2001].

This (FIPA Ontology Service Specification) is still an experimental specification which means that it is not yet a FIPA standard, and its use is not mandatory for a MAS to be FIPA compliant.

Ontologies, thereby, provide important perspectives of interoperability between different systems, by enabling a correct interpretation of agents’ messages, thus facilitating the interaction between agents of distinct natures and characteristics. This is a crucial requirement for the effective study of highly complex and dynamic systems, containing a large number of different types of agents with a high volume of interactions between them, such as the power system environment, and EM in specific.