ALIGNING AGENT COMMUNICATION PROTOCOLS
A Pragmatic Approach
Maricela Bravo and Martha Coronel
Morelos State Polytechnic University, Jiutepec, Morelos, Mexico
Keywords: Communication protocols in multi-agent systems, ontologies.
Abstract: Nowadays, there is a clear trend in using common ontologies for supporting communication interoperability
between multiple heterogeneous agents over Internet. An important task that must be solved before
implementing ontology-based solutions is the identification of semantic relations to establish alignments
between communication primitives. A frequent methodology for aligning different communication
primitives consists of processing definitions provided by human developers based on syntactical
classification algorithms and semantic enhancement of concepts. We think that the information provided by
human developers represents an important source for classification. However, to obtain real semantics, we
believe that a better approach would analyze the usage of the primitive in the communication protocol. In
this paper we present a pragmatic approach for aligning communication primitives, considering their usage
in the protocol. To evaluate our solution we compare the resulting relations and show that our approach
provides more accuracy for relating communication primitives.
1 INTRODUCTION
The problem of communication heterogeneity in
multi-agent systems (MAS) has become a classical
research topic (Furlan 2001, Labrou 1999, Chaib-
Draa 2002). Although there are important research
communities developing standard agent
communication language (ACL) specifications like
KQML (Finning, 1994) or FIPA ACL (FIPA, 2003),
implementations of such specifications in MAS
differ in syntax and semantics, causing
heterogeneity. Ontologies have shown good results
for supporting communication interoperability
among multiple heterogeneous agents over Internet
(McGuinness 2000, Noy 2000, Guido 2007), but the
design and implementation of ontologies, requires a
human expert to analyze and compare among those
communication implementations to discover and
define relations among primitives. Then research
efforts to propose mechanisms for identifying
relations among multiple implementations of ACL
will benefit the automatic deployment of
autonomous agents over Internet.
In this paper we deal with the problem of
identifying semantic relations to establish
alignments between different implementations of
ACL, considering the message representation and
the protocol of conversation. Aligning is the task of
finding semantic relationships between primitives
from two or more communication protocols. Figure
1 shows an example of relations between two sets of
primitives, where a dashed line represents a “is
similar to” relationship and a continued line
represents a “is equal to” relationship.
Figure 1: Relations between two sets of primitives.
A frequent methodology for aligning different
communication primitives consists of processing
definitions provided by human developers, based on
classification algorithms and applying semantic
enhancement of concepts. We think that the
CFP
Propose
Accept
Reject
Terminate
Acknowledge
Modify
Withdraw
RFQ
Initial_offer
Accept
Reject
Offer
Counter_offer
Communication
protocol of agent A
Communication
protocol of agent B
200
Bravo M. and Coronel M. (2008).
ALIGNING AGENT COMMUNICATION PROTOCOLS - A Pragmatic Approach.
In Proceedings of the Third International Conference on Software and Data Technologies - PL/DPS/KE, pages 200-205
DOI: 10.5220/0001894702000205
Copyright
c
SciTePress
information provided by human developers is crucial
for classification and enhancement of concepts.
However, to obtain real semantics, we believe that a
better approach would also consider the pragmatic
usage of communication primitives in the
communication protocol.
In this paper we present a pragmatic approach for
aligning communication primitives, considering
their usage in the protocol. To evaluate our solution
we compare the resulting relations and show that our
approach provides more information for relating
communication primitives.
The rest of the paper is organized as follows. In
section two we present related work with the subject
of this research. In section three we describe the
general procedure for aligning communication
protocols. In section four we present a case study to
show the applicability of our approach. In section
five we evaluate the results and finally, in section six
we conclude.
2 RELATED WORK
The problem of communication interoperability in
MAS represents a common topic, which has been
researched from different perspectives. (Guido et al.,
2006) presented a common ontology of agent
communication languages to bridge the gap between
two approaches of defining semantics: mental
attitudes and social commitments. (Fourlan de Souza
et al., 2001) defined the problem of interoperability
and presented Saci (Simple Agent Communication
Infrastructure), a tool for programming
communication among distributed agents and a
CORBA bridge to overcome the interoperability
problem. (Labrou et al., 1999) described the
interoperability problem between agents. They
stated that any solution should take into
consideration three aspects: a) various languages,
representing different programming paradigms, b)
different hardware platforms and operating systems,
and c) few assumptions about the internal structure
of agents. They also described two possible layers of
solutions: translation between languages and
guaranteeing that the semantic content is preserved
among applications. (Chaib-Draa, 2002) presented
the related work and trends on semantics of ACL, he
compared the semantics of KQML and FIPA-ACL,
and identified that in both cases communicative acts
are described in terms of beliefs, intentions, desires
and similar mental states. Finally he concluded that
agents are almost never programmed using such
mental states directly. Therefore it is almost
impossible to verify whether the messages are used
correctly by the agents and the link between theory
and practice in ACL use is still very big.
To solve the problem, the most common solution
reported in literature consists of defining and using a
shared ontology and a translation approach between
the different ACL implementations. But the
implementation of such a solution requires a human
expert to analyze and compare among those ACL
implementations to discover and define relations
among primitives. In this specific task many authors
have presented different techniques and algorithms
for aligning and matching vocabularies in various
research areas, such as data base schema integration,
knowledge engineering, natural language processing
and information systems integration. In data base
research (Rahm, 2001) argues that “match” is a
fundamental operation to manipulate data schemas,
which takes two schemas as input and produces a
mapping between elements that correspond
semantically each other. (Batini, 1986) presented
various data base schema integration methods and
established three integration phases: schema
comparison, schema conforming and schema
merging. In the area of knowledge engineering
various methods have been proposed. Chimaera
(McGuinness, 2000) is a semi-automatic merging
and diagnosis tool developed by the Stanford
University Knowledge Systems Laboratory. It
provides assistance in the task of merging
knowledge bases produced by multiple authors in
multiple scenarios. PROMPT (Noy, 2000) is an
algorithm that provides a semi-automatic approach
to ontology merging and alignment. PROMPT
determines possible inconsistencies in the ontology,
which result from the user actions, and suggests
ways to remedy these inconsistencies.
In the above related works we can see a common
concern in the problem of communication
heterogeneity in MAS. We can appreciate also that
there are many aspects in communications that can
cause heterogeneity. Various authors have reported
solutions based on the incorporation of ontologies,
and the need for aligning concepts from different
sources. Aligning is a task that depends on the
provided semantics of communication primitives,
but due to different implementations of agents, such
semantics may differ from one agent to another. In
this work we are dealing with communication
protocols, where documentation of primitives is
generated during development time. We take as
input those descriptions and extract keywords to
generate classifications according to the type of
primitive. After classification we compare such
ALIGNING AGENT COMMUNICATION PROTOCOLS - A Pragmatic Approach
201
classifications with the pragmatic usage of the
primitive in the communication protocol. In contrast
to reported works, in this paper we present a
combined approach, which considers the
information included in protocols.
3 ALIGNING COMMUNICATION
PROTOCOLS
Aligning is the task of finding semantic relations
among different concepts, in this work we are
dealing with different ACL implementations, an
ACL implementation consists of descriptions of
communication primitives and definitions of
protocols (sequences of messages). To find semantic
relations among those communication primitives,
most aligning solutions consider only the
descriptions provided by human developers of
agents; on the contrary, in this work we obtain the
meaning of a communication primitive by analyzing
its usage in the communication protocol. Therefore,
we evaluate the moment when the primitive is issued
in the communication protocol.
Figure 2 shows the general architecture for
aligning communication primitives. The solution is a
semi-automatic approach; it has an automatic
extraction and classification of primitives, based on
the use of a Bayesian-based classification, and a
pragmatic analysis of primitives in protocols, based
on the use of Finite State Machines (FSM). The
overall process for helping agent developers and
system integrators in the task of deploying multiple
software agents over Internet is described next:
a). Extraction of Communication Primitives. The
first step consists of obtaining the
communication primitives and their
descriptions. This process is executed by
extracting the natural language descriptions of
communication primitives from the agent
communication interface. Currently we are
getting this information through a Web-based
environment.
b). Classification of Primitives. Once communication
primitives have been acquired and their
descriptions preprocessed, the next step consists
of classifying the primitives. According to the
classification scheme proposed by (Müller,
1996), communication messages are divided
into three groups: starters, if they initiate a
communication, reactors, if they react on a
given statement and completers, whether they
complete a communication. We took this
classification because it considers the moment
in the sequence of messages exchanged. We use
a previously implemented ontology, which
defines classes, subclasses and attributes. We
apply a Bayes classifier to identify to which
class each communication primitive belongs to.
c). Align Primitives. The next step consists of
aligning primitives using a pragmatic approach,
based on the use of finite state machines (FSM),
in order to compare the primitive’s real usage in
the communication protocol. We believe that a
combined strategy based on the analysis of
syntactical description and protocol pragmatics
provides more information of the relatedness of
the communication primitives.
d). Establish Relationships. Based on the previous
classification and aligning steps we can proceed
to define semantic relationships between
communication primitives, according to the
following rules:
Two communication primitives are equal (EQ)
if they belong to the same class, and if they
have the same usage in the FSM.
Two communication primitives are
similar_pragmatic (SP) if they do not belong to
the same class, but they have the same usage in
the FSM.
Two communication primitives are
similar_semantic (SS) if they belong to the
same class, but they do not have the same usage
in the FSM.
Two communication primitives are different
(DF) if they do not belong to the same class,
and if they do not have the same usage in the
FSM.
4 A CASE STUDY
In this section we present a case study to show the
applicability of our approach. The objective of this
case is to align a set of communication primitives
from three different agents using their natural
language descriptions and applying the process
described in Section 3.
1. Extraction of Communication Primitives. Let A, B
and C be the names of the agents that will
participate in bilateral communication processes.
In table 1 we present the set of communication
primitives and descriptions that agents use for
formulating messages.
ICSOFT 2008 - International Conference on Software and Data Technologies
202
Figure 2: Architecture for classification and relation generation.
Table 1: Descriptions of communication primitives.
A Communication primitives
{(CFP, “Initiate a communication process by calling for
proposals”),
(Propose, “Issue a proposal or a counterproposal”),
(Accept, “Accept the terms specified in a proposal
without further modifications”),
(Terminate, “Unilaterally terminate the current
communication process”),
(Reject, “Reject the current proposal with or without an
attached explanation”),
(Acknowledge, “Acknowledge the receipt of a
message”),
(Modify, “Modify the proposal that was sent last”),
(Withdraw, “Withdraw the last proposal”)}
B Communication primitives
{(Initial_offer, “Send initial offer”),
(RFQ, “Send request for quote”),
(Accept, “Accept offer”),
(Reject, “Reject offer”),
(Offer, “Send offer”),
(Counter-offer, “Send counter offer”)}
C Communication primitives
{(Call for proposal, “Initiate a call-for-proposal”),
(Propose proposal, “Send a proposal or a
counterproposal”),
(Reject proposal, “Reject the received proposal with or
without an attached explanation”),
(Withdraw proposal, “Withdraw the previous proposal
that was sent”),
(Accept proposal, “Accept the terms and conditions
specified in a proposal without further modifications”)
(Change proposal, “Change the proposal that was sent”)
(Inform proposal, “Inform the receipt of a proposal”)
(Terminate communication, “Unilaterally terminate the
communication process”)}
2. Classification of Primitives
According to the classes in the Ontology described
in section 3, any communication primitive can be a
starter, a reactor or a completer, depending on the
time during the communication protocol, when it
occurs. We preprocessed the descriptions of the
primitives to extract keywords, and then using the
definitions from the Ontology we applied a Bayes
classifier to identify to which class each
communication primitive belongs to. Table 2
presents the resulting classification of
communication primitives of agents A, B and C.
Table 2: Resulting classification of primitives.
Starter Reactor Completer
CFP
Propose
Modify
Withdraw
Acknowledge
Accept
Reject
Terminate
RFQ
Initial_Offer
Offer
Counter_Offer
Accept
Reject
Call for
proposal
Propose
proposal
Withdraw
proposal
Change proposal
Inform proposal
Accept proposal
Reject proposal
Terminate
communication
3. Align Primitives
To align communication protocols we need first to
calculate the total number of communication links
and identify the pairs of agents that may participate.
a) Number of Communication links
Considering a set of n agents, the possible
number of peer to peer communication links
Agent
communication
interface
Agent
communication
interface
Agent
communication
interface
Agent
communication
interface
Extraction of
descriptions
AUTOMATIC EXTRACTION AND CLASSIFICATION
PRAGMATICAL ANALYSIS
Text
Descri
p
tions
Text
processing
List of
ke
y
words
Classification
Classification
Of
p
rimitives
Ontology
Rules
Relation
generation
FSM
generation
Calculus of
Number of
Possible
Communication
Links.
Primitives
usa
g
e
Comparison
Among each
Pair of
Communication
Link using FSM.
1
2
3
4
ALIGNING AGENT COMMUNICATION PROTOCOLS - A Pragmatic Approach
203
among them is n
2
. However, as we are
evaluating heterogeneity, we need to extract
the number of communication links where
agents are equal, which is n. We also
considered that a communication link between
agents (a, b) has the same heterogeneity as a
communication link of agents (b, a), thus we
reduced the number of different
communication links dividing by 2.
CL = (n
2
-n)/2
CL = (3
2
-3)/2 = 3
(1)
B) Set of Different Communication links
Considering a set of agents, the set of different
communication links is given by:
DCL = { (a
1
, a
2
), (a
1
, a
3
), … , (a
i
, a
j
) }
DCL = { (A, B), (A, C), (B, C) }
(2)
For each different communication link, we used a
FSM to compare the real implementation of the
primitives in the communication protocol. Figure 3
shows the aligned protocols of the different
communication links:
a). FSM of communication protocol between agents
A and B, which share the neccessary
communication primitives to support
interoperability;
b). FSM of communication protocol between agents
A and C, both protocols share the three classes of
communication primitives and other specific
primitives: Terminate, Acknowledge and Inform
that both agents use; and
c). FSM of communication protocol between agents
B and C, with the neccessary communication
primitives to support interoperability.
4. Establish Relationships
Taking the classification of primitives shown in
Table 4 and the aligment of protocols shown in
Figure 2, we finally established semantical
relationships between primitives following the set of
rules presented in Section 3. We defined only equal
and similar relations for primitives that are
syntactically different.
We did not established differences, because this kind
of relations will not support communication
interoperability. However, they are important to
measure heterogeneity and to propose another
solution based on a learning approach. Results of
this process are shown in Table 3. To define
relations we used the form:
Figure 3: Relations between two sets of primitives.
Table 3: Semantic relations primitives.
CL(A, B) CL(A, C) CL(B, C)
EQ(A, CFP, B,
RFQ)
EQ(A, CFP, C, Call
for proposals)
EQ(B, RFQ, C,
Call for proposals)
EQ(A,
Propose, B,
Offer)
EQ(A, Propose, C,
Propose proposal)
EQ(B, Offer, C,
Propose proposal)
EQ(A, Modify,
B,
Counter_offer)
EQ(A, Modify, C,
Change proposal)
EQ(B,
Counter_offer, C,
Change proposal)
SP(A, Propose,
B,
Initial_Offer)
EQ(A, Withdraw, C,
Withdraw proposal)
EQ(B, Accept, C,
Accept proposal)
SS(A, CFP, B,
Initial_Offer)
EQ(A,
Acknowledge, C,
Inform proposal)
EQ(B, Reject, C,
Reject proposal)
EQ(A, Accept, C,
Accept proposal)
SP(B,
Initial_Offer, C,
Propose proposal)
EQ(A, Reject, C,
Reject proposal)
SS(B,
Initial_Offer, C,
Call for proposals)
EQ(A, Terminate, C,
Terminate
communication)
A
B
A
B
B
A
A
CFP/RFQ
Initial_Offer/
Offer/
Propose
Modify/
Counter_Offer
Accept
Reject
Accept
Reject
a)
A
C
A
C
C
A
A
CFP/
Call for
proposal
Propose
proposal/
Propose
Modify/
Change
Accept
Terminate
Accept
proposal
Reject
proposal
b)
C
Accept
A
Terminate
communication
Inform/
Acknowledge
B
C
B
C
C
B
B
RFQ/
Call for proposal
Propose proposal/
Offer
Counter_Offer/
Change
Accept
Reject
Accept
proposal
Reject
p
r
oposa
l
c)
ICSOFT 2008 - International Conference on Software and Data Technologies
204
REL(
A
i
,
P
i
, A
j
,
j
)
where
A
i
is the agent issuer of primitive P
i
A
j
is the agent issuer of primitive
P
j
5 EVALUATION
To evaluate our approach we considered important
to measure heterogeneity among the set of
heterogeneous agents. For this porpouse we defined
heterogeneity as a numerical measure to compare the
results before and after obtaining relations. The level
of heterogeneity results from dividing number of
different communication primitives (DCPT, without
relationship) by the total number of communication
primitives (CPT), see Formula 3.
Level of heterogeneity = DCPT / CPT (3)
Figure 4 shows the level of heterogeneity for
each different communication link, this measure was
calculated before and after defining relations
between primitives.
Figure 4: Level of heterogeneity before and after obtaining
semantical relations.
6 CONCLUSIONS
In this paper we have presented a pragmatical
approach for aligning communication primitives
between multiple heterogeneous agents. Our
approach is based on classification of human
provided descriptions of primitives and the analysis
of their usage in the FSM. The result of this analysis
helps the developer to identify equality and
similarity relationships between primitives by
comparing the provided descriptions with the real
usage of the primitive in the protocol.
Le level of heterogeneity measure was used to
evaluate how the resulting semantical relations
reduce the level of heterogeneity in communication
scenarios.
REFERENCES
Guido Boella, Leendert W. N. van der Torre. 2006. A
Foundational Ontology of Organizations and Roles. In
Proceedings of 4th International Workshop, (DALT
2006), Hakodate.
Furlan de Souza, M. A., Hübner, F. J., Sichman, J. S.,
Varella, M. A., 2001. Interoperability in Multi-Agent
Systems: Lessons Learned. In Proceedings of 2
nd
Workshop on Multi-Agent Systems: Theory and
Applications (MASTA 2001), Portugal.
Labrou, Y., Finin, T., Peng, Y., 1999. The Interoperability
Problem: Bringing together Mobile Agents and Agent
Communication Languages. In Proceedings of th 3
rd
Hawaii International Conference on Systems Science.
Chaib-Draa, B., 2002. Dignum, F., Trends in Agent
Communication Langugage. Computational
Intelligence, Vol. 18, No. 2.
Finning, T., Fritzon, R., and McEntire, R., 1994. KQML
as an agent communication language. In Proceedings
of the 3rd International Conference on Information
and Knowledge Management, Maryland.
FIPA, 2003. Foundation for Intelligent Physical Agents.
FIPA Specifications, available at http://
www.fipa.org/specifications/index.html.
Rahm, E., and Bernstein, P., 2001. A Survey of
Approaches to Automatic Schema Matching. The
VLDB Journal, Vol 10, pp. 334-350.
Batini, C., Lenxerini, M., and Navathe, S., 1986. A
Comparative Analysis of Methodologies for Database
Schema Integration. ACM Computing Surveys, Vol.
18, pp. 323-364.
McGuinness, D., Fikes, R., Rice, J. And Wilder, S., 2000.
The Chimaera Ontology Environment. In Proceedings
of the 7th National Conference on Artificial
Intelligence (AAAI 2000), Texas.
Noy, F. N., and Musen, M. A., 2000. PROMPT,
Algorithm and Tool for Automated Ontology Merging
and Alignment. In Proceedings of 17th National
Conference on Artificial Intelligence (AAAI 2000),
Texas.
Müller, H. J., 1996. Negotiation Principles, Foundations of
Distributed Artificial Intelligence. In G.M.P. O´Hare,
and N.R. Jennings, New York: John Wiley & Sons.
ALIGNING AGENT COMMUNICATION PROTOCOLS - A Pragmatic Approach
205