INTEGRATING A STANDARD COMMUNICATION PROTOCOL
INTO AN E-COMMERCE ENVIRONMENT BASED ON
INTELLIGENT AGENTS
D. Vallejo, J. J. Castro-Schez, J. Albusac-Jimenez and C. Glez-Morcillo
Escuela Superior de Informatica, University of Castilla-La Mancha, Paseo de la Universidad 4, Ciudad Real, Spain
Keywords:
e-Commerce, negotiation, multi-agent systems, fuzzy logic.
Abstract:
Communication among intelligent agents which take part in negotiation protocols is not frequently considered
as an important topic in the negotiation stage. These mechanisms are often designed for specific problems,
without taking into account the interoperability among agents involved. In this paper, we suggest a standard
communication protocol to ensure the interoperability among intelligent agents based on fuzzy logic in an E-
Commerce environment. Moreover, this environment is integrated into a FIPA-compliant multi-agent system,
formalizing the communication among agents at message and payload levels. The standard messages and the
protocols used are described in depth, together with a detailed example.
1 INTRODUCTION
Electronic Commerce (E-Commerce) can be defined
as any business form, administrative transaction, or
information exchange carried out by employing com-
munication and information technologies. There are
two main types of E-Commerce: business-to-business
(B2B) and business-to-consumer (B2C). Both mod-
els share six main tasks of the buying process: need
of identification, product brokering, merchant bro-
kering, purchase and delivery, and product service
and negotiation. Several applications have been de-
signed for automating all of these tasks or some of
them. For example, an important class of these sys-
tems has been developed for automating the negotia-
tion stage. Agent technology has become very pop-
ular in E-Commerce and, more specifically, in auto-
mated negotiation. Frequently, developers focus their
effort on the agent design and other important topics,
such that the communication ability of agents, do not
get all the attention required. This way, the communi-
cation mechanisms employed are limited to particular
approaches.
In this paper, we address the necessity of adding
interoperability to a buyer agent previously developed
(Castro-Schez et al., 2004b) to make negotiation eas-
ier. This buyer agent was designed from a functional
point of view, without paying attention to its interac-
tions with other agents in a standard way. The gen-
eral scenario consists of a number of agents based on
fuzzy logic, one acting as a buyer and the other agents
acting as sellers. The buyer leads the interaction by
receiving offers, by studying them, and by asking sell-
ers for new proposals. To formalize this communica-
tion, we propose a solution based on the FIPA Iter-
ative Contract Net Interaction Protocol which is de-
ployed into a FIPA-compliant multi-agent system.
The paper is structured as follows. Section 2 ad-
dresses the importance of using standards in the nego-
tiation stage. Section 3 exposes the application frame,
formalizing the agent concept and describing a nego-
tiation example. Section 4 describes the proposed so-
lution in depth. Finally, concluding remarks and fu-
ture works are discussed in Section 5.
2 PROBLEMATIC QUESTIONS
Currently, there are many protocols which have been
designed to solve problems related to the negotia-
tion among intelligent agents (Lomuscio et al., 2003).
However, most of the researchers have created their
own negotiation protocols without taking interoper-
ability into account. In other words, researchers do
not have a common reference to ensure that their ne-
gotiation protocols are standard. To solve this prob-
lem, we suggest two ways of obtaining standardiza-
tion in the communication. First, a well-defined,
flexible, and robust negotiation protocol should be
55
Vallejo D., Castro-Schez J., Albusac-Jimenez J. and Glez-Morcillo C. (2008).
INTEGRATING A STANDARD COMMUNICATION PROTOCOL INTO AN E-COMMERCE ENVIRONMENT BASED ON INTELLIGENT AGENTS.
In Proceedings of the Tenth International Conference on Enterprise Information Systems - SAIC, pages 55-60
DOI: 10.5220/0001671700550060
Copyright
c
SciTePress
adopted. Second, the representation of messages
among agents should be structured into two levels:
communication language level and content language
level, that is, the envelope and the payload, respec-
tively.
2.1 Related Work
Nowdays, there are many interaction protocols de-
fined for tackling the negotiation process. Anthony
P. et al. (Anthony and Jennings, 2003) presented an
heuristic decision making framework to manage the
problem of bidding across multiple auctions, but they
did not define a negotiation protocol specifying the
messages exchanged among agents. A more current
work was developed by Mia M. et al. (Mia et al.,
2005), who exposed a negotiation process without us-
ing any type of standard communication. If we take
the communication problem into account, these works
are incomplete because another software agent can-
not communicate by employing unknown negotiation
protocols in most cases. Skylogiannis et al. (Skylo-
giannis et al., 2005) presented a work in which they
criticized the use of FIPA protocols and proposed
their own negotiation protocol. Although their sys-
tem uses FIPA standard communicative acts, they do
not employ a standard interaction protocol.
Another important research line is related to the
use of rules for specifying the protocol. Bartolini et
al. (Bartolini et al., 2002) justified the inclussion of
negotiation rules to explicitly specify the negotiation
mechanism, controlling additional aspects of the ne-
gotiation (e.g. the criteria for accepting a bid in an
English Auction).
2.2 Our Proposal
In this paper, we propose a solution to a scenario with
many agents, one acting as a buyer and other act-
ing as sellers. This solution is based on the FIPA
Iterated Contract Net Interaction Protocol (Founda-
tion for Intelligent Physical Agents FIPA, 2000), a
protocol in which one agent (the Initiator) takes the
role of manager which wishes to have some task per-
formed by one or more agents (the Participants), and
further wishes to optimize a function that character-
izes the task. In our context, this function measures
the similarity among offered products and the desired
product depending on the characteristics that define
it. We have chosen this protocol because it can be
adapted to our negotiation scenario in a standard way,
as discussed in Section 4. Moreover, we have imple-
mented a FIPA-compliant multi-agent system (Foun-
dation for Intelligent Physical Agents FIPA, 2004) to
test this solution. The main benefit of using this ap-
proach is to obtain a high-interoperable environment
where software agents can be easily integrated for
making proposals in the negotiation process. This
work will be mainly focused on the negotiation proto-
col by specifying the meaning of the communicative
acts exchanged among agents.
3 APPLICATION FRAME
The number of participants is a significant property of
negotiation in E-Commerce (Lomuscio et al., 2003).
In fact, three main negotiation scenarios are distin-
guished attending to the number of participants in-
volved in a negotiation: i) one-to-one, ii) many-to-one
or one-to-many, and iii) many-to-many. The buyer
agent used in this paper was designed to work in a sce-
nario composed of many sellers and only one buyer.
The main goal of the buyer agent is to buy a product
or to acquire a service. In order to reach this aim, the
buyer agent owns a description of such product or ser-
vice through different characteristics (more than one).
In addition, there is a competition among sellers to
make a deal with the buyer agent. This way, the buyer
agent obtains profit from this competition.
The buyer agent’s behaviour consists of several
steps. First, it receives offers from different sellers in
accordance with the product or service desired. Af-
ter comparing these offers, the buyer agent can ac-
cept an offer that is closed enough to the ideal pact.
Otherwise, it orders them depending on the similarity
regarding to the ideal value, making groups of three
offers and showing to the supplier of the worst offer
the other two of the list. The main goal consists of
asking this last supplier for changing some character-
istics or adding new characteristics that make its offer
better than the others. By means of this process, the
buyer agent obtains profit of the competition among
sellers (Castro-Schez et al., 2004b).
The first stages of the negotiation often involves
imprecise terms before reaching a deal. On the one
hand, in these stages both the buyer and sellers do
not know all the outstanding information of negoti-
ation. On the other hand, this knowledge increases
as the negotiation process evolves. For these reasons,
we should provide agents with an intuitive and for-
mal way of representing both precise and imprecise
values. In this work, we use several data types for
representing these restrictions (Castro-Schez et al.,
2004a): ordered-discrete or ordinal (e.g. product
state), unordered-discrete or nominal (e.g. supplier’s
country), boolean (e.g. new manufacture), ranking
(e.g. quality), and continuous or numerical (e.g.
ICEIS 2008 - International Conference on Enterprise Information Systems
56
Table 1: First stages of the negotiation.
First stage O
1
O
2
O
3
Second stage O
1
O
2
O
3
Third stage . . .
d
n
(O
i
, O
x
, Price) 0.125 0.125 0 d
n
(O
i
, O
x
, Price) 0.125 0.125 0 . . . . . .
d
n
(O
i
, O
x
, Age) 0.143 0.143 0.143 d
n
(O
i
, O
x
, Age) 0.143 0.143 0.143 . . . . . .
d
n
(O
i
, O
x
, Fuel) 1 0 0 d
n
(O
i
, O
x
, Fuel) 1 0 0 . . . . . .
d
n
(O
i
, O
x
, Power) 0.136 0.273 0 d
n
(O
i
, O
x
, Power) 0.136 0.273 0 . . . . . .
Similarity 0.327 0.865 0.964 d
n
(O
i
, O
x
, Mileage) 0 0.5 0.25 . . . . . .
Similarity 0.719 0.792 0.921 . . . . . .
Figure 1: Description of the variables.
price). The representation of these values should
ideally be flexible, linguistic, mixed, and uniform.
Therefore, we suggest trapezoidal functions to rep-
resent the crisp and vague values mentioned before.
Moreover, the treatment of the uncertainty in the first
stages of negotiation can be efficiently carried out by
using fuzzy logic. Thus, fuzzy logic makes this pro-
cess intuitive and provides us with freedom when de-
scribing offers and requests.
The buyer agent (A
b
) is defined as
A
b
= {V, DDV, P, S, B, O
i
}
where V = {v
1
, v
2
, . . . , v
n
} is the set of product fea-
tures, DDV = {DDV
1
, DDV
2
, . . . , DDV
n
} is the set
of values they take (both, V and DDV , composed
the product description), DDV
i
= {A
i1
, A
i2
, . . . , A
im
},
where each A
i j
is a linguistic label defined through a
trapezoidal function, P = {P
v
1
, P
v
2
, . . . , P
v
n
} is the set
of priorities attached to each variable (feature), S is
the similarity function used to compare offers, B is
the buyer agent’s behaviour, and O
i
= {x
1
, x
2
, . . . , x
n
}
is the ideal product desired by the buyer agent, where
x
i
DDV
i
, i = 1. . . n.
Since all values are represented as trapezoidal
numbers, the similarity between two offers, O
x
and
O
y
according to a variable v
i
, is assessed by means
of a measurement based on the calculation of the area
existing between the two fuzzy values, A and B, that
take these offers, O
x
and O
y
respectively, in the vari-
able v
i
:
d(A, B,v
i
) =
(a
0
b)+(b
0
a)
2
b a
0
,
b
0
a
2
a
0
< b < b
0
0 b = b
0
(1)
where A and B are two fuzzy sets, defined by means of
two trapezoidal functions with parameters (a, b,c, d)
Table 2: Descriptions of the products.
V/Prod. O
Ideal
O
1
O
2
O
3
Price Normal Expens. Cheap Normal
Fuel Gas Oil Gas Gas
Power High Medium Low High
Age Medium Short High High
and (a
0
, b
0
, c
0
, d
0
), and v
i
is the variable where these
values are taken. This measurement is theorically
justified by Castro-Schez et al. (Castro-Schez et al.,
2004a) and normalized as follows:
d
n
(A, B, v
i
) =
d(A, B,v
i
)
d(min, max, v
i
)
(2)
where d(A, B, v
i
) is the measurement previously men-
tioned (see Equation 1) and d(min, max, v
i
) is the sep-
aration between the minimum (leftmost) and maxi-
mum (rightmost) values of the variable v
i
.
This way, the Similarity S between two offers
is obtained by assesing the distance in relation to
the variables which compose the offers (Castro-Schez
et al., 2004b):
Similarity(O
x
, O
y
) = 1
n
i=1
d
n
(O
x
, O
y
, v
i
)
n
(3)
An important question related to the buyer agent’s
behaviour B is the negotiation stage, which is de-
scribed as follows:
1. Take the best offers received and randomly make
groups of three offers.
(a) Establish the worst offer in each group.
(b) Show the supplier of the worst offer the other
two of the list.
INTEGRATING A STANDARD COMMUNICATION PROTOCOL INTO AN E-COMMERCE ENVIRONMENT
BASED ON INTELLIGENT AGENTS
57
(c) Ask such supplier for changing some variable
or adding a new one that makes his offer better
than the other two.
In step 1.c, we can use some method to give ad-
vices to sellers when making offers. A possible ap-
proach consists of using a measurement which pays
attention to positive variables and their priority as
indicator for improving offers (Castro-Schez et al.,
2004b).
An example of negotiation is given in Table 1.
Suppose a buyer interested in acquiring a second-
hand car that has normal price, medium age, high
power, and consumes gasoline (as first approxima-
tion), that is, the buyer’s ideal second-hand car ex-
posed in Table 2. The definition of such variables
is covered in Figure 1. Suppose also three sell-
ers offering three offers to the buyer: O
1
, O
2
, and
O
3
(see Table 2). Under these assumptions, the
buyer agent would calculate the Similarity between
its ideal car and the others (see first stage of Table 1,
where d
n
(O
i
, O
x
, v
x
) represents the distance between
the ideal car O
i
and the offer O
x
regarding to the vari-
able v
x
). Since the worst offer is O
1
due to the lowest
Similarity value, the buyer agent asks the first seller
for improving its offer. In this example the seller adds
another variable, the mileage, and the buyer agent re-
calculates the Similarity between offers, and so on.
As mentioned previously, one of the advances of
this work consists of formalizing the negotiation pro-
tocol among the buyer and sellers. Therefore, we re-
define the buyer agent A
b
as
A
b
= {V, DDV, P, S, B, O
i
,C}
where C represents the communication of the buyer
agent A
b
, defined as C = {P
request
, P
contract net
}. In this
context, C is interpreted as the set of communication
protocols used to negotiate. Both protocols will be
covered in depth in Section 4.
4 DESCRIPTION OF THE
COMMUNICATION
PROTOCOL
In this section, we define the communication C
needed to deploy the behaviour B of the buyer
agent A
b
presented in Section 3. We defined
C = {P
request
, P
contract net
}, where P
request
represents
the FIPA protocol used to discover agents of a particu-
lar type, and P
contract net
represents the FIPA protocol
that we have adopted to carry out the negotiation.
P
contract net
is the FIPA Iterative Contract Net Inter-
action Protocol (Foundation for Intelligent Physical
Buyer Seller
x
x
x
x
x
cfp-1:cfp
refuse
propose
m l
n
j
k=n-j
rp-1:reject-proposal
k
k-l
k-p
p
rp-2:reject-proposal
cfp-2:cfp
accept-proposal
[final
iteration]
[non final
iteration]
inform
failure
Figure 2: FIPA Iterative Contract Net Interaction Protocol.
Agents FIPA, 2000) (see Figure 2), formally defined
as {c f p, re f use, propose, re ject, accept, in f orm,
f ailure}.
When the buyer agent is able to communicate with
seller agents, it can assume the Initiator role and send
a call-for-proposal to the seller agents to inform them
of its intention of buying a product or acquiring a ser-
vice. In this message, the buyer agent should ideally
specify the features of the product to acquire or the
service to request should meet. Thus, we have to
use an agent communication language (ACL) to en-
sure interoperability among the buyer and the sellers.
Besides employing an ACL, we have to use a con-
tent language which allows us to precisely specify the
product features. FIPA proposes a CCL content lan-
guage to be used for agent communication (Founda-
tion for Intelligent Physical Agents FIPA, 2001), and
more specifically as a content language to be used
with FIPA ACL.
Now we can describe the initial message sent by
the buyer agent to the seller agents (this process is
illustrated with the example proposed in Section 3).
Suppose two of the variables to describe the cars:
price and mileage (expressed in thousands of Euros
and Kilometers, respectively). This way, the buyer
agent would send the initial call-for-proposal (cfp-1)
shown in Figure 3. If the buyer agent sends a call-
for-proposal which does not start a new negotiation
ICEIS 2008 - International Conference on Enterprise Information Systems
58
1: (cfp
2: :sender “buyer”
3: :receiver “seller1, seller2, ...”
4: :content
5: (Action: CSP-give-values
6: (Object: CSP
7: :CSP-refcar-scenario”
8: :variables {
9: (Element: CPS-variable
10: :name price
11: :type fuzzy-continuous
12: :domain
13: {4500, 6000, 6000, 7500})
14: (Element: CPS-variable
15: :name age
16: :type fuzzy-continuous
17: :domain {5, 7, 7, 9})
18: ....
19: }
20: :relations {}
21: :exclusions {}
22: )))
Figure 3: Call-for-proposal message.
1: (propose
2: :sender “seller1”
3: :receiver “buyer”
4: :content
5: (Action: CSP-give-values
6: (Object: CSP
7: :CSP-ref “car-scenario”
8: :variables {
9: (Element: CPS-variable
10: :name price
11: :type fuzzy-continuous
12: :domain
13: {6000, 7500, 7500, 9000})
14: (Element: CPS-variable
15: :name age
16: :type fuzzy-continuous
17: :domain {3, 5, 5, 7})
18: ....
19: }
20: :relations {}
21: :exclusions {}
22: )))
Figure 4: Propose message.
(cfp-2 of Figure 3), he should send two offers made
by other sellers for the third seller agent being able to
compare them with its offer, as explained in the buyer
agent’s behaviour (B) in Section 3. Lines 2 and 3 of
Figure 3 specify the sender and the receivers of the
call-for-proposal. Line 4 begins the message content,
describing the action related to the message (line 5).
In this first message, the buyer sends the initial de-
scription of the desired car by means of the variables
initially involved in the negotiation, as shown in lines
9-13, 14-17, and 18. For example, the variable of the
line 9 is the price, which is fuzzy-continuous, and its
domain A
price,normal
(Euros) is defines as follows (see
also Figure 1):
A
price, normal
= (4500, 6000, 6000, 7500)
If the buyer agent sends a call-for-proposal which
1: (accept-proposal
2: :sender “buyer”
3: :receiver “seller3”
4: :content
5: (Action: CSP-give-values
6: (Object: CSP
7: :CSP-refcar-scenario”
8: :variables {
9: (Element: CPS-variable
10: :name price
11: :type fuzzy-continuous
12: :domain
13: {4500, 6000, 6000, 7500})
14: ....
15: }
16: :relations {}
17: :exclusions {}
18: )))
Figure 5: Accept-proposal message.
is not the beginning of a new conversation, that is,
the cfp-2 of Figure 3, the content of the message may
change. In this situation, the buyer agent may ask one
seller for improving his offer by means of indicators.
Regarding the previous example of the car sale, the
buyer agent asked one of the sellers for making his
offer better. This call-for-proposal (cfp-2) may con-
sist of three different CSP objects: two of them de-
scribing the two best offers and the third one speci-
fying a possible modification in the value of a certain
variable (for example, a price reduction). In this ex-
ample, this seller chooses to introduce a new variable,
the mileage.
The next step in the algorithm is to receive offers
from the seller agents. This action can be translated
into a proposal (propose). A seller agent can make an
offer depending on the features requested by the buyer
agent, as shown in Figure 4. By using this message,
the communication related to the reception of offers
on behalf of the buyer agent is formalized.
Another action to be formalized is the acceptance
(accept-proposal) of a previously submitted proposal
(if the buyer agent of the example proposed were ac-
cepted the offer of the third seller). By means of this
message (an accept-proposal), the buyer agent can
close a deal with its supplier. In the accept-proposal
of Figure 5, the buyer agent (line 2) accepts and offer
of one seller (line 3), seller 3 in this case. Basically,
the buyer agent informs that seller about the full de-
scription of the offer to be accepted, specifying the
variables related to the accepted offer (lines 9-13, for
instance). On the other hand, and although it is not
explicit in the algorithm, the buyer agent could reject
a proposal through a reject-proposal message (reject-
proposal).
When the buyer agent accepts a proposal and
sends an accept-proposal message to a seller agent,
this last agent must confirm the deal by sending an
inform message (inform). This way, the contract be-
INTEGRATING A STANDARD COMMUNICATION PROTOCOL INTO AN E-COMMERCE ENVIRONMENT
BASED ON INTELLIGENT AGENTS
59
tween the seller agent and the buyer agent can be
closed.
5 CONCLUSIONS AND FUTURE
WORKS
Integrating a negotiation algorithm into a standard ne-
gotiation protocol allows us to obtain a high-level ab-
straction to tackle the negotiation among intelligent
agents. We have deployed a standard communication
mechanism to manage a specific one-to-many sce-
nario into a FIPA-compliant multi-agent system. The
main advantage of employing these standards is the
high-level of interoperability reached.
Another decision which provides us with a high
interoperability is the use of a standard content lan-
guage: FIPA CCL. Under this approach, several im-
portant advantages have been achieved over other al-
ternatives: i) the use of standars facilitates the adop-
tion of the negotiation protocol by other researchers,
ii) the use of a FIPA-compliant multi-agent system
makes the communication with agents of other FIPA-
compliant multiagent systems inmediate, and iii) the
use of the FIPA Constraint Choice Language (with its
associated ontology) allows us to represent products
or services related to the negotiation by employing
well-defined semantics.
Future works are related to the adaptation of the
algorithm to more general scenarios, such as many-to-
many, in which different seller agents negotiate with
different buyer agents, and the definition of a generic
ontology to represent the knowledge related to a ne-
gotiation domain.
ACKNOWLEDGEMENTS
This work has been funded by the Regional Gov-
ernment of Castilla-La Mancha under the Research
Projects PBC-06-0064 and PAC-06-0141 and the
Spanish Ministry of Education and Science under the
Research Project TIN2007-62568.
REFERENCES
Anthony, P. and Jennings, N. (2003). Developing a
bidding agent for multiple heterogeneous auctions.
ACM Transactions on Internet Technology (TOIT),
3(3):185–217.
Bartolini, C., Preist, C., and Jennings, N. (2002). Archi-
tecting for reuse: A software framework for auto-
mated negotiation. Proc. 3rd Int Workshop on Agent-
Oriented Software Engineering, pages 87–98.
Castro-Schez, J., Castro, J., and Zurita, J. (2004a). Fuzzy
Repertory Table: A Method for Acquiring Knowl-
edge About Input Variables to Machine Learning
Algorithm. IEEE Transactions on Fuzzy Systems,
12(1):123–139.
Castro-Schez, J., Moreno-Garcia, J., Manjavacas, R., and
Gonzalez, C. (2004b). Assisting negotiations and sup-
porting decisions in small e-business. IEEE Interna-
tional Conference on Fuzzy Systems, 2:855–860.
Foundation for Intelligent Physical Agents FIPA (2000).
FIPA Iterated Contract Net Interaction Protocol Spec-
ification. Foundation for Intelligent Physical Agents
FIPA, Geneva, Switzerland.
Foundation for Intelligent Physical Agents FIPA (2001).
FIPA CCL Content Language Specification. Foun-
dation for Intelligent Physical Agents FIPA, Geneva,
Switzerland.
Foundation for Intelligent Physical Agents FIPA (2004).
FIPA Agent Management Specification. Founda-
tion for Intelligent Physical Agents FIPA, Geneva,
Switzerland.
Lomuscio, A., Wooldridge, M., and Jennings, N. (2003).
A Classification Scheme for Negotiation in Elec-
tronic Commerce. Group Decision and Negotiation,
12(1):31–56.
Mia, M., Mudur, S., and Radhakrishnan, T. (2005). An in-
teractive system for negotiation in e-commerce with
incremental user knowledge. Proceedings of the 2005
conference of the Centre for Advanced Studies on Col-
laborative research, pages 170–184.
Skylogiannis, T., Antoniou, G., Bassiliades, N., and Gover-
natori, G. (2005). DR-NEGOTIATE-a system for au-
tomated agent negotiation with defeasible logic-based
strategies. Proceedings EEE’05., pages 44–49.
ICEIS 2008 - International Conference on Enterprise Information Systems
60