AGENTS FOR MANAGING BUSINESS-TO-BUSINESS
INTERACTIONS
Software Agents for Managing Business-to-Business Collaborations
Edgar Tello-Leal
Universidad Aut
´
onoma de Tamaulipas, Matamoros entre J.B. Tijerina y C. Col
´
on, 87000, Victoria, Tamaulipas, Mexico
Omar Chiotti
INGAR-CONICET, Avellaneda 3657, S3002GJC, Santa Fe, Argentina
Pablo D. Villarreal
CIDISI, Universidad Tecnol
´
ogica Nacional-FRSF, Lavaise 610, S3004EWB, Santa Fe, Argentina
Keywords:
Software agents, Business-to-Business, Collaborative business process, Model-driven architecture.
Abstract:
Current market opportunities and the growth of new Internet technologies encourage organizations to dynam-
ically establish Business-to-Business (B2B) collaborations. B2B interactions are carried out by executing
collaborative business processes among the parties. In this work we propose B2B collaboration agents for
managing B2B interactions that allow organizations to dynamically establish collaborations and execute col-
laborative processes with their partners. The planning and execution of the actions of the agents that execute
collaborative processes are driven by a Petri Net engine embedded in these agents. The role an organiza-
tion fulfills in a collaborative process is represented by a high-level Petri Net model which is used to drive
the behavior of the B2B collaboration agents representing the organization. Moreover, interaction protocols
representing collaborative processes are executed by these agents without the need for protocols defined at
design-time. Finally, an implementation of the B2B agents is presented.
1 INTRODUCTION
The growth of new Internet technologies has led to
the opportunity of much greater connectivity among
organizations. Then, organizations are focusing on
the setting up of Business-to-Business collaborations
with their business partners in order to manage inter-
organizational collaborations and improve their per-
formance and competitiveness. A B2B collaboration
entails a process-oriented integration among hetero-
geneous and autonomous organizations which must
be achieved at a business level and at a technological
level (Villarreal et al., 2007b). Inter-organizational
collaborations are carried out through the execution
of collaborative business processes. A collabora-
tive business process defines the global view of the
interactions among enterprises to achieve common
business goals (Villarreal et al., 2007b; Roser and
Bauer, 2005). The design and implementation of
collaborative business processes (CBPs) implies new
challenges, such as participants autonomy, decentral-
ized management, peer-to-peer interactions, negotia-
tion, and alignment between the business solution and
the technological solution (Villarreal et al., 2006b;
Weske, 2007). Therefore, the software applications
must be developed that can interoperate effectively in
this new distributed, heterogeneous, and sometimes
unreliable environment.
Software agent technology is seen as a poten-
tially robust and scalable approach to meet this chal-
lenge. Since the features of software agents such as
autonomy, heterogeneity, decentralization, coordina-
tion and social interactions are also desirable for or-
ganizations involved in B2B collaborations (Villarreal
et al., 2007b), for which the use of this technology
can be considered as appropriate to be used in this
domain. The use of software agents to execute CBPs
helps to improve process integration, interoperability,
238
Tello-Leal E., Chiotti O. and D. Villarreal P..
AGENTS FOR MANAGING BUSINESS-TO-BUSINESS INTERACTIONS - Software Agents for Managing Business-to-Business Collaborations.
DOI: 10.5220/0003180002380244
In Proceedings of the 3rd International Conference on Agents and Artificial Intelligence (ICAART-2011), pages 238-244
ISBN: 978-989-8425-41-6
Copyright
c
2011 SCITEPRESS (Science and Technology Publications, Lda.)
reusability and adaptability (Trappey et al., 2009; Zin-
nikus et al., 2008; Guo et al., 2005).
Therefore, in this work we propose B2B collabo-
ration agents for managing B2B interactions that al-
low organizations to establish dynamic collaborations
and execute collaborative processes with their part-
ners. Interaction protocols are better intuitive mod-
els of how agents will interact through a message-
based communication. The interaction protocols
representing collaborative processes are executed by
these agents without the need for protocols defined
at design-time. The planning and execution of the
actions of these agents are driven by a Petri Net en-
gine embedded in them. The role an organization
fulfills in a collaborative process is represented by
a high-level Petri Net model which is used to drive
the behavior of the B2B collaboration agent repre-
senting the organization. Our proposal is consistent
and integrated with the model-driven development ap-
proach for CBPs and B2B information systems pro-
posed in (Villarreal et al., 2006a; Villarreal et al.,
2007b). The Petri Net models of the agents’ behav-
iors are derived from collaborative process models
which describe business interaction protocols defined
with the UML Profile for Collaborative Business Pro-
cesses based on Interaction Protocols (UPColBPIP)
language (Villarreal et al., 2006a; Villarreal et al.,
2007b).
The paper is organized as follows. Section 2 de-
scribes the architecture and agents that compose the
proposed B2B collaboration approach. Section 3 de-
scribes the MDA-based method for generate Petri Net
models. Section 4 describes the implementation of
B2B collaboration agents. Section 5 presents conclu-
sions and future work.
2 B2B COLLABORATION BASED
ON SOFTWARE AGENTS
In this section we propose a B2B Collaboration
Agents architecture in order to enable organizations
to establish collaborations in a dynamic way and exe-
cute CBPs. Since the communication among software
agents is based on interaction protocols, a straight-
forward implementation of UPColBPIP collaborative
process models based on interaction protocols is pro-
vided by this approach. Two main functionalities are
supported in the B2B collaboration agents approach.
The first functionality is the management of dynamic
agreements on collaborations among organizations to
execute one or more CBPs. This implies that mech-
anisms for organizations can instantiate and execute
CBPs whose models are provided by an organization
or stored in a public repository. The second function-
ality refers to the capabilities to execute and monitor
CBPs that organizations agreed to carry out.
The B2B collaboration agents architecture con-
sists of two types of agents to support the above func-
tionalities:
A Collaboration Administrator Agent (CAAgent),
which represents an organization or participant of
a B2B collaboration. It is responsible for estab-
lishing communications with other CAAgents in
order to agree, in a dynamic way, on the CBPs
to be executed, and responsible for instantiating
CPAgents, which execute CBPs (see Fig. 1).
A Collaborative Process Agent (CPAgent), which
executes the role an organization fulfills in a CBP,
and thus, it is the responsible for the jointly ex-
ecution of a CBP along with the other CPAgents
from the partners involved in the CBP. Thus, at a
specific moment or time, an organization can have
as much CPAgents as CBPs being executed on the
B2B collaboration (see Fig. 1).
Figure 1: B2B Collaboration Agents architecture.
2.1 Collaboration Administrator Agent
CAAgents are used to create dynamic collaboration
agreements and instantiate the CPAgents, which exe-
cute CBPs. When an organization wants to establish a
dynamic agreement with another organization to col-
laborate and execute a CBP, its CAAgent is used to
initiate a conversation with the CAAgent of the other
organization. This conversation among agents is car-
ried out by executing a predefined CBP Request for
Collaboration. Figure 2 shows the UPColBPIP model
that represents the interaction protocol of this CBP.
The initiator role is performed by the CAAgent
of the organization that initiates the conversation. It
sends a request for collaboration to responder role,
which is performed by the CAAgent of the other or-
ganization and receives the request. This means that a
CAAgent can perform the initiator or responder role
according to the way that the organization engages in
a collaboration agreement.
AGENTS FOR MANAGING BUSINESS-TO-BUSINESS INTERACTIONS - Software Agents for Managing
Business-to-Business Collaborations
239
Figure 2: Request for Collaboration Interaction Protocol.
The request sent by the initiator conveys a Col-
laborationRequest document which contains the UP-
ColBPIP model of the CBP that the initiator wants
to execute with a responder. The responder evalu-
ates the request and responds with a successful agree
message or a refuse message. In the last case, it im-
plies that the responder does not want to establish a
dynamic collaboration agreement to execute the CBP,
and the protocol finishes. If the responder sends an
agree message, it waits for the process model that
contains the activities that the role is going to exe-
cute in the CBP. When the initiator receives the agree
message, it creates an instance of a CPAgent, and if
it is successful, it sends an inform message with the
responder’s process model. Otherwise, the initiator
sends a failure message indicating that it could not in-
stantiate its CPAgent.
Once the responder receives the process model, it
immediately instantiates a CPAgent, and if it is suc-
cessful, it sends an inform message indicating that the
collaboration was established, and the protocol fin-
ishes. Otherwise, if an error occurs in the instantiation
of the CPAgent, the responder sends a failure mes-
sage indicating that the collaboration was not estab-
lished, and the protocol finishes. Thus, by executing
this protocol CAAgents establish a dynamic agree-
ment to execute a CBP. In case the CBP involves sev-
eral organizations, the initiator executes the Request
for Collaboration protocol for each organization that
can fulfill the roles of the CBP. The CAAgents can
also remove their CPAgents in case of the execution
of a CBP needs to be interrupted.
2.2 Collaboration Process Agent
CPAgents carry out the jointly and decentralized ex-
ecution of CBPs from an established dynamic agree-
ment (which was achieved by CAAgents) among the
organizations involved in the CBP. A CPAgent is re-
sponsible of performing the role an organization ful-
fills in a CBP. To perform the role of an organization, a
CPAgent takes a process model containing the behav-
ior of the organization’s role, which is known as inte-
gration process or abstract process model (Villarreal
et al., 2006a; Villarreal et al., 2007b). An integration
process contains the public and private activities and
logic that support the role the organization performs
in the CBP. Thus, a CBP is executed by the enact-
ment of the integration process of each organization
by means of the CPAgents of the organizations.
In order to interpret and execute an integration
process model by a CPAgent, this model is defined in
terms of a High-Level Petri Net (PN) model, which is
derived from the UPColBPIP model of the CBP to be
executed. A CPAgent has an embedded process ma-
chine that interprets the PN model and executes the
organization’s role in a CBP (see Fig. 3). The activi-
ties or transitions defined in a PN model represent the
actions (i.e. send a message to another agent, wait for
the reception of a message from another agent, exe-
cute an internal action) that a CPAgent has to perform
to support the message exchange defined in the inter-
action protocol of the CBP that is executed, according
to the role that the agent performs in the CBP.
Therefore, the behavior of this agent is driven by
the process machine according to a PN model and
it invokes the behavior action manager component
which is responsible for planning and executing the
agent’s actions derived from the transitions of the PN
model. The sending or receiving of a message from
another agent is carried out by the communication
manager component of the CPAgent when the behav-
ior action manager executes a message sending or re-
ceiving action. Tokens in the execution of a PN model
contain the business documents that are exchanged
between the CPAgents. Thus, business documents
move through the organizations’ CPAgents when the
actions for the sending of messages are executed.
In this way, CPAgents only have generic actions
(such as send or receive) defined at design-time and
they do not require to have the behavior of prede-
fined interaction protocols implemented. The transi-
tions of the PN models execute actions. Such actions
are used to activate the behavior of the CPAgent ac-
cording to the type of the transition to execute. Differ-
ent types of transitions (such as send message, receive
message, invoke an internal process) were defined to
plan and assign the behavior to be executed by the
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
240
Figure 3: Collaboration Process Agents executing a CBP.
Figure 4: Interaction protocol for Collaborative Demand Forecast scenario.
agent. Tokens maintain information about the process
in which they were generated (process ID) and busi-
ness documents which are sent, received, or generated
internally. The transitions are also allowed to have a
guard, which is a boolean expression. When a guard
is present, it must evaluate to true to enable the tran-
sition, otherwise the transition is disabled and cannot
occur (Jensen and Kristensen, 2009). Hence, a guard
puts an extra constraint on the enabling of a transi-
tion. Therefore, the concrete actions (speech acts and
business documents) of these agents are obtained at
run-time according to the logic defined in PN models.
This enables CPAgents to execute any interaction pro-
tocol representing the CBP that organizations want to
execute as part of a dynamic collaboration agreement.
For each individual role there is a separate Petri
net. The collection of individual Petri nets associated
with all the relevant roles represents the entire interac-
tion protocol. Figure 4 shows the PN that represents
the interaction protocol that the CPAgents have to ex-
ecute the Collaborative Demand Forecast collabora-
tive process (Villarreal et al., 2010). The CPAgents
involved in this collaborative process are the customer
CPAgent and the supplier CPAgent. The interaction
protocol of the process supports a negotiation pro-
cess between a customer and a supplier to agree on
a demand forecast. The protocol begins with the cus-
tomer, who requests a demand forecast. The supplier
processes the request and may respond by accepting
or rejecting it, as it is indicated by the Xor control
flow segment. If it is accepted, the supplier under-
takes to realize the required forecast; otherwise, the
process finishes with a business failure. If the sup-
plier accepts the request, the customer informs, in par-
allel, a sale forecast of its points of sales (POS) and
its planned sales, as it is indicated by the And control
AGENTS FOR MANAGING BUSINESS-TO-BUSINESS INTERACTIONS - Software Agents for Managing
Business-to-Business Collaborations
241
flow segment. Finally, with this information, the sup-
plier generates a demand forecast and sends it to the
customer. Then, the process ends. Each agent in the
scenario described above is an instance of a CPAgent.
The CPAgent is capable of executing CBPs models.
In this case, we have two CPAgents that are capa-
ble of executing interaction protocols. Figure 4 shows
the Petri Nets representing the customer and supplier
roles in a Collaborative Demand Forecast. The dotted
arrows that emanate from the transitions of individual
Petri nets show the exchange of messages and busi-
ness documents.
3 MDD-BASED METHOD TO
GENERATE PN MODELS
A Model-Driven development approach for generat-
ing a technological solution for B2B Collaborations
should support the derivation of the software arti-
facts from technology-independent models. In pre-
vious work, we proposed a model-driven architec-
ture (MDA) (OMG, 2003) methodology that consists
of three phases: analysis and design of collabora-
tive processes, verification of collaborative processes
and generation of B2B specifications (Villarreal et al.,
2006a). The first phase consists in the modeling of
CBPs from a business perspective, i.e. using concepts
that are less bound to the implementation technology
and are closer to the B2B collaboration domain. The
UPColBPIP language (Villarreal et al., 2007b; Villar-
real et al., 2010) is used for modeling technology-
independent CBPs. The behavior of CBPs is repre-
sented through the definition of interaction protocols
from a business point of view.
The second phase consists in verifying the correct-
ness of CBPs defined in a UPColBPIP model. To sup-
port this, the MDA-based method for generating Petri
Net specifications from a UPColBPIP model is ap-
plied (Villarreal et al., 2007a). Interaction protocols
are formalized, transformed and mapped into Colored
Petri Net (CPN)(Jensen and Kristensen, 2009) spec-
ifications, which are then verified with CPN Tools.
Thus, the verification of CBPs is carried out at an
early stage of the development, when most of the fun-
damental decisions of a B2B collaboration are carried
out, and previous to the generation of the technologi-
cal solution.
The third phase consists in selecting the target im-
plementation technology to generate the technolog-
ical solution and final software artifacts from CBP
models.
In this work, we propose a MDD-based frame-
work to generate technological solutions based on
software agents in which process models are inter-
preted by software agents. To generate the PN model
that each CPAgent require to execute a CBP, a pro-
cess transformation approach is applied to derive the
PN models of the organizations from a UPColBPIP
model (see Fig. 3). Thus, the behavior required for
the agents to execute a CBP is generated in an agile
way and represented in the PN models, which are the
software artifacts that interprets the agents.
4 IMPLEMENTATION OF B2B
COLLABORATION AGENTS
In this section we describe the implementation of B2B
collaboration agents architecture (see Fig. 5). The
software agents were built by using the Java Agent
DEvelopment Framework (JADE) (Bellifemine et al.,
2007), which is a physical multi-agent development
framework which complies with FIPA specifications
and aims at simplifying the development and imple-
mentation of multi-agent systems (Bellifemine et al.,
2007). The proposed B2B collaboration agent is com-
posed of a message transport system (MTS) used for
communicating with other agents or agent platforms,
an agent management system (AMS) used for man-
aging the agent life cycles such as starting and stop-
ping, and a directory facilitator (DF) used for record-
ing the services provided by an agent. Therefore, the
CAAgent and CPAgents are executed on the JADE
platform and they use ACL (FIPA, 2002) messages to
communicate among them.
The process machine component of the CPAgent
was implemented by using the Java-based Petri Net
framework (JFern). JFern provides an object-oriented
Petri Net simulator (Nowostawski, 2003). It consists
of a lightweight Petri Net kernel, providing methods
to store and execute Petri Nets in realtime, and for
simulation. Furthermore, JFern supports XML based
persistent storage of Petri nets and markings. The to-
kens of PNs contain business documents, which are in
XML format and they are transported as parts of the
content of ACL messages that agents exchange.
The B2B collaboration agents architecture in-
cludes an administration tool based on Eclipse Rich
Client Platform. This tool has to be deployed in each
organization and provides the support to:
1. Instantiate the JADE platform,
2. Instantiate the CAAgent of the organization,
3. Search, select and retrieve the UPColBPIP and
Petri Net models stored in the local repository of
the organization; and
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
242
Figure 5: Agent-based architecture for B2B collaboration.
4. Administrate and monitor the CPAgents instanti-
ated.
5 RELATED WORK
There are several approaches that exploit the bene-
fits of software agents in the execution of the collab-
orative business processes. In (Kahl et al., 2007), a
complete architecture for the design and agent-based
implementation of cross-organizational business pro-
cesses was defined. The principles of MDA are ap-
plied in three levels: business, technical, and execu-
tion. An advantage is shown by the generating of
agents from a platform-independent model of a ser-
vice oriented architecture (PIM-SOA). In addition,
they consider the potentials of their execution offered
by agents in comparison to other techniques like WS-
BPEL engines.
Another approach (Zinnikus et al., 2008), supports
a rapid prototyping by combining a model-driven
framework for CBPs with an agent-based approach
for flexible process execution, including a semantic
service discovery for flexible service composition.
In these approaches the behavior and interaction
protocols of the agents are defined in design and de-
velopment time. However, they do not consider the
generation of the agents’ behaviors at run-time, which
makes more flexible the architecture of the agents for
executing CBPs and allows the establishing of dy-
namic B2B collaborations.
6 CONCLUSIONS
In this work we have proposed a B2B collaboration
agents architecture for managing B2B interactions
that allow organizations to dynamically establish col-
laborations, and carry out a decentralized execution
of collaborative business processes (CBPs) with their
partners. B2B collaboration agents architecture are
composed by CAAgents and CPAgents.
We apply High-Level Petri Net models to repre-
sent the required behavior of a CPAgent to perform
the role an organization fulfills in a CBP. Petri Net
(PN) models are derived from UPColBPIP models of
CBPs. Therefore, the decentralized execution of a
CBP is achieved by the enactment of a PN model car-
ried out by each CPAgent representing the role of an
organization in the CBP.
In addition, due to the behavior of CPAgents is
driven by the Petri Net-based process machine, their
actions are generated in run-time to support the exe-
cution of any interaction protocol representing a CBP.
These concrete actions are composed of speech acts
and business documents, the concrete actions are ob-
tained at run-time according to the logic defined in PN
models. This makes more flexible the architecture of
agents for executing CBPs. This is different from the
traditional development of agents where actions and
interaction protocols that can be executed are before-
hand implemented and defined in design-time.
Finally, an implementation of the B2B collabora-
tion agents architecture is based on the JADE agent
platform. A Petri Net simulator was used to imple-
ment the process machine of the CPAgent. Also, a
distributed B2B collaboration management tool based
on the Eclipse platform was developed that enables
organizations to manage their agents and their own
repository of CBP models.
Future work is about how establish an algorithm
and automatic mechanism for the CBP Request for
Collaboration, in which the CAAgent will determine
if agree or refuse to establish a dynamic agreement
with another organization to collaborate and execute
a CBP. Another future work is about the addition of
mechanisms and tools to discover CBP models either
in a public or organizations’ repositories. In the cur-
rent implementation of the CPAgent the private activ-
ities or processes of the organizations, which gener-
ate or processes the exchanged messages, are simu-
lated. However, a support for a real integration and
execution will be developed by integrating Web ser-
vice technology with agents.
REFERENCES
Bellifemine, F., Caire, G., and Greenwood, D. (2007). De-
veloping Multi-Agent Systems with JADE. Wiley.
FIPA (2002). FIPA Agent Communication specifica-
tions deal with Agent Communication Language
(ACL). Available: http://www.fipa.org/repository/
aclspecs.html.
AGENTS FOR MANAGING BUSINESS-TO-BUSINESS INTERACTIONS - Software Agents for Managing
Business-to-Business Collaborations
243
Guo, L., Robertson, D., and Chen-Burger, Y. (2005). A
novel approach for enacting the distributed business-
workflows using BPEL4WS on the multi-agent plat-
form. In The 2005 IEEE International Conference on
e-Business Engineering.
Jensen, K. and Kristensen, L. (2009). Coloured Petri
Nets, Modelling and Validation of Concurrent Sys-
tems. Springer Heidelberg, USA.
Kahl, T., Zinnikus, I., Roser, S., Hahn, C., Ziemann, J.,
M
¨
uller, J. P., and Fischer, K. (2007). Architecture for
the design and agent-based implementation of cross-
organizational business processes. In Gonalves, R. J.,
M
¨
uller, J. P., Mertins, K., and Zelm, M., editors, En-
terprise Interoperability II, pages 207–218. Springer
London.
Nowostawski, M. (2003). JFern - Java-based petri net
framework.
OMG (2003). MDA guide v1.0.1, 03-06-01.pdf. Available:
http://www.omg.org/cgi-bin/doc?omg/03-06-01.
Roser, S. and Bauer, B. (2005). A categorization of collab-
orative business process modeling techniques. In 7th
IEEE International Conference on E-Commerce Tech-
nology Workshops, pages 43–54.
Trappey, C. V., Trappey, A. J., Huang, C.-J., and Ku,
C. (2009). The design of a JADE-based au-
tonomous workflow management system for collabo-
rative SoC design. Expert Systems with Applications,
36(2):2659–2669.
Villarreal, P., Roa, J., Salomone, H., and Chiotti, O.
(2007a). Verification of models in a MDA approach
for collaborative business processes. In 10th Ibero-
American Workshop of Requirements Engineering and
Software Environments.
Villarreal, P., Salomone, E., and Chiotti, O. (2006a). A
MDA-based development process for collaborative
business processes. In European Workshop on Mile-
stone, Models and Mappings for Model-Driven Archi-
tecture, 3M4MDA 2006.
Villarreal, P., Salomone, E., and Chiotti, O. (2006b). Trans-
forming collaborative business process models into
web services choreography specifications. In Lee, J.,
Shim, J., Lee, S., Bussler, C., and Shim, S., editors,
Data Engineering Issues in E-Commerce and Ser-
vices, Second International Workshop, DEECS 2006,
LNCS. Springer, Heidelberg.
Villarreal, P., Salomone, E., and Chiotti, O. (2007b). Mod-
eling and specifications of collaborative business pro-
cesses using a MDA approach and a UML profile. In
Rittgen, P., editor, Enterprise Modeling and Comput-
ing with UML, pages 13–45. Idea Group Inc, USA.
Villarreal, P. D., Lazarte, I., Roa, J., and Chiotti, O. (2010).
A modeling approach for collaborative business pro-
cesses based on the up-colbpip language. In Aalst, W.,
Mylopoulos, J., Sadeh, N. M., Shaw, M. J., Szyperski,
C., Rinderle-Ma, S., Sadiq, S., and Leymann, F., edi-
tors, Business Process Management Workshops, vol-
ume 43 of LNBIP, pages 318–329. Springer Berlin
Heidelberg.
Weske, M. (2007). Business Process Management. Con-
cepts, Languages, Architectures. Springer, Heidel-
berg.
Zinnikus, I., Hahn, C., and Fischer, K. (2008). A model-
driven, agent-based approach for the integration of
services into a collaborative business process. In 7th
Int. Conf. on Autonomous Agents and Multiagent Sys-
tems (AAMAS 2008), pages 241–248.
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
244