<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Enacting BPM-oriented Workflows with Wade</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Federico Bergenti</string-name>
          <email>federico.bergenti@unipr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Matematica Università degli Studi di Parma 43100</institution>
          ,
          <addr-line>Parma</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Giovanni Caire</institution>
          ,
          <addr-line>Danilo Gotta, Daniela Long, Giovanna Sacchi</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Telecom Italia S.p.A. 10148</institution>
          ,
          <addr-line>Torino</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-This paper has two main focuses. First it provides a review on the reasons why agent technologies are a good choice for BPM (Business Process Management). A brief survey of the literature on the subject is presented and a critical revision of the main motivations that are commonly accepted for the use of agents in BPM is presented taking into account recent technological developments. Then, the paper presents the recent developments of Wade (Workflow and Agent Development Environment) and it confers such developments and value-added features in the scope of the initial discussion. Finally, the paper briefly enumerates some successful applications of the presented technologies in Telecom Italia. Such applications are so important and demanding that their implementation using agentbased approaches is an outstanding result for agent technology.</p>
      </abstract>
      <kwd-group>
        <kwd>-business process management</kwd>
        <kwd>agent-based business process management systems</kwd>
        <kwd>Wade</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION</p>
    </sec>
    <sec id="sec-2">
      <title>Business Process Management (BPM) is now a consolidated</title>
      <p>
        trend in IT that has recently came up as a new discipline
intended to unify related topics such as Process Modeling,
Workflows, Enterprise Application Integration and
Businessto-Business integration (see, e.g., [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]).
      </p>
      <p>
        Despite the complexity of the subject, we can broadly refer
to a business process as a set of interdependent activities that
collectively realize a business objective or policy, within the
context of an organizational structure defining the functional
roles and the relationships between actors [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. BPM includes
the following activities regarding business processes [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]:
1. Process description: every process must be described
in some specification language in order to enumerate
the activities that need to be performed, the actors
who perform them, and the interdependencies that
exist between activities; and
2. Process execution and management: organizations
typically use a software system, called BPM system,
in charge of enacting the process description and turn
it into practice.
      </p>
      <p>While the importance of BPM systems in process execution
is obvious, it is of equal importance to couple BPM systems
with models intended to express the complexities of business
processes in the scope of their organizational context, and to
support reasoning about processes for enabling future
optimization and reengineering activities.</p>
      <p>
        The introduction of a software system for BPM typically
entails the adoption of appropriate workflows within the
enterprise. A workflow, as defined in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], is the automation of
a business process–in whole or part–during which artifacts,
information and/or tasks are passed from one actor to another
according to a set of procedural rules. Normally, workflows are
meant to ensure that the right people receive the right
information at the right time.
      </p>
      <p>
        Current BPM systems are high quality, mature tools
intended primarily to manage business processes that are well
structured and whose paths are identified a priori (see, e.g.,
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]). However, the very high complexity and the intrinsic
volatile and evanescent nature of today’s business environment
often make current BPM systems not sufficient. This has lead
to the identification of a number of weaknesses of current BPM
systems and the criticism against available BPM systems is
now a solid movement (see, e.g., [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ][
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]). Therefore, we
witness the rapid evolution of alternative approaches to
traditional BPM that notably include agent-based BPM
systems, and more generally, the use of the entire spectrum of
agent technologies in the scope of BPM. The promise of agent
technologies with this respect is to provide solid warranties for
greater dynamism, agility, and adaptability.
      </p>
      <p>
        We already have a number of agent-based BPM systems
available (see, e.g., [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ][
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref11">11</xref>
        ][
        <xref ref-type="bibr" rid="ref12">12</xref>
        ][
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]) and all such proposals
share the common factor of using the autonomous and
collaborative nature of agents to accommodate unexpected
situations in dynamic business processes.
      </p>
      <sec id="sec-2-1">
        <title>AGENTS AND BUSINESS PROCESS MANAGEMENT</title>
        <p>
          In order to precisely discuss the role of agent technology in the
scope of BPM systems, we must first review in details what a
BPM system is and how it is expected to behave. The most
relevant reference for this kind of systems is [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], which
characterizes a BPM system as a software system that defines,
creates and manages the execution of workflows that are
running on one or more workflow engines. Such workflow
engines are able to interpret the process definition, interact with
workflow participants and, where required, invoke the use of
other software.
        </p>
        <p>
          Such BPM systems are typically modularized in a set of
well-defined parts (see, e.g., [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]): business process definition
tools, business process servers, business process client
applications and business process monitoring and
administration tools. Figure 1 provides a pictorial view of such
a modularization of a BPM system.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Business process definition tools allow modeling the</title>
      <p>process in terms of workflows, actors, tasks, activities and their
relationships and interdependencies. This is normally done
using a graphical notation that typically resembles flowcharts.</p>
      <p>Business process servers are the software systems that
provide the runtime execution of defined processes. They read
process definitions and actually execute and track them.</p>
    </sec>
    <sec id="sec-4">
      <title>Business process client applications are software systems</title>
      <p>that actors use to interact with the workflow. The application
does not need to be part of the BPM system and it is typically a
thin (Web) client that behaves as a front end to allow users
receiving information and submitting events to the business
process server.</p>
    </sec>
    <sec id="sec-5">
      <title>Business process monitoring and administration tools are</title>
      <p>intended to provide a real-time view of the state of execution of
workflows and they provide means to manage unforeseen
situations. They are valuable tools that give concrete help at
runtime and that trace the information needed to optimization
and reengineer processes.</p>
      <p>
        Even if the modularization of typical BPM systems is well
established and understood, in principle different systems can
have different approaches to support the lifecycle of business
processes. Unfortunately, according to [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] the majority of
current generation BPM system shares a common approach to
structure the lifecycle of business processes. They all start
modeling business process from activity analysis and they pay
primary attention to business process tasks interdependences in
order to correctly enact known sequence of the tasks [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. All in
all, such systems are adequate only in situations where a
business process is fully understood and every conceivable
outcome of tasks and activities can be considered and
controlled beforehand.
      </p>
      <p>
        As we briefly discussed before, not all business processes
can be defined with such a fine level of control at design time.
Real-world business processes are complex and continuously
changing in order to accommodate the changes of their
operative environment. Because of that, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] provides a list of
the major drawbacks and limitations of current BPM systems,
which we review here according to recent developments of the
technology:
1. Limited flexibility during process enactment;
2. Inability to cope with dynamic changes in the
availability of resources needed to accomplish
activities and tasks, as existing systems tend to lack
the necessary facilities to redistribute work items
automatically as (and when) required;
3. Inadequate handling of exceptional situations,
especially when an exceptional case arises in a part of
compound (yet possibly recoverable) tasks;
4. Limited (or even, no) ability to predict changes due to
external events, in both the volume and the time
distribution of activities.
5. Insufficient interoperability with other systems as the
majority of existing BPM systems consists of
centralized and monolithic systems that are meant to
control their operative environment and that are not
designed to cooperate with other (possibly unknown)
controllers.
      </p>
      <p>Even a superficial read of the mentioned drawbacks
suggests that agent technology should be capable of addressing
and effectively solving all such issues. If agent technology is
involved in the enactment of business processes, we should
benefit from the intrinsic dynamism and flexibility of
agentbased systems.</p>
      <p>
        An agent-based BPM system is made of a set of software
modules that meet the coarse grained criteria that define
agenthood and that are involved in managing the flow of work
throughout a business process [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The basic idea is to rethink
the mentioned modules of a traditional BPM system in terms of
interacting agents in charge of peculiar responsibilities and
capable of predicting and reacting to unforeseen situations.
This does not mean that we need to rethink the discussed
modularization of a BPM system; rather agents give us the
possibility of going deeper in the definition of the parts of a
BPM system. All such parts are then viewed as agents in order
to benefit from the intrinsic characteristics of agents
themselves.
      </p>
      <p>
        Moreover, the use of agents enables another, orthogonal,
modularization possibility, as suggested in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. An agent-based
BPM system can split a business process into parts and trust
the control over such parts to individual agents.
      </p>
      <p>Finally, the business logic behind the business processes
can be explicitly defined to agent (e.g., by means of some set of
business rules), to allow agents reasoning on their and others’
roles in a business process. Agents use business logic to plan
their activities in order to achieve their goals and to meet the
overall goals of the business logic.</p>
      <p>
        Given such a view of an agent-based BPM system we can
sum up the major advantages of such an approach to building
BPM systems [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]:
1. The use of goal oriented, communicating autonomous
agents, which although concerns about business logic,
allows multiple solution paths to the business process
goals to be achieved;
2. The agent metaphor allows decentralized ownership
of the tasks, information and the resources involved in
business processes;
3. The use of agents provides high degree of natural
concurrency, when many interrelated tasks are
running at any given point of the business process;
4. The decoupling of the parts of the system that agent
technologies ensure allows them to be swapped out,
replaced, or even added to the system without
impacting other parts; and
      </p>
      <sec id="sec-5-1">
        <title>Agent-based technologies allow building highly decentralized, distributed systems, which corresponds to the real-world situation, when the business processes in organizations are physically distributed.</title>
        <p>
          Unfortunately the literature has already identified some
disadvantages of promising agent-based approach to BPM
systems (see, e.g., [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]). We summarize the most prominent
here for the sake of completeness:
1. The agent-based systems have no overall system
controller, which implies that the agent-based
approach is not the best choice for managing business
processes with a lot of global constraints to be
satisfied; and
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>Agent-based systems have no global complete</title>
        <p>knowledge, i.e., an agent’s actions are–by definition–
determined by that agent’s local knowledge and this
may mean that agents could make globally
suboptimal decisions.</p>
        <p>It is worth noting that such issues are actually common to
all agent-based software systems and they are not typical of
BPM systems. Actually, such issues and their importance
originate from the common understanding of agent-based
systems as useful only in a limited set of environments that are
characterized by intrinsic dynamism and uncertainty.
Obviously not all operative environments are so critical and we
believe that agent technology can work effectively also in more
traditional settings. The work presented in this paper is
precisely motivated by such a point of view: we think that
agent technology is now ready to deliver very solid, scalable
and visually programmable software systems even in
traditional environments where dynamism and uncertainty are
not major issues.</p>
        <p>
          We have been using agent technology in traditional
operative environments for its maturity and effectiveness in the
provision of nonfunctional features coupled with the possibility
of visually programming complex behaviors. Next section
presents the Wade (Workflow and Agent Development
Environment) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], which is an agent-based BPM system that
has been successfully adopted in a number of mission critical
software systems–as detailed further at the end of the paper–for
the possibilities it provides in the realization of solutions with
distinguished nonfunctional requirements in terms of
scalability and robustness. The role of Wade-based agents in
such systems is not about using the autonomy of agents in the
management of dynamic and unforeseen situations; rather it is
about providing developers with friendly tools that provide a
robust shield against the complexity of nonfunctional
requirements.
        </p>
        <p>
          Finally, it is worth noting that the tight integration of Wade
with mainstream development technologies like Java and Web
Services allows developers incrementally adopting agent
technology in their systems. The parts of the system that can
fruitfully empower the features of agents are easily developed
using Wade and related tools (e.g., Wolf [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] and Jade [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]),
while other parts are still developed using mainstream
technology with no effort needed for integration.
        </p>
        <p>III.</p>
      </sec>
      <sec id="sec-5-3">
        <title>WADE: AN AGENT BASED FRAMEWORK LEVERAGING</title>
        <p>
          THE WORKKFLOW METAPHOR
Wade (Workflow and Agent Development Environment) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] is
an open source framework meant to develop distributed
applications, based on the agent paradigm and the workflow
metaphor. It is built on top of Jade [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], the popular open
source middleware for the implementations of multi-agents
systems, complying with FIPA specifications [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].Wade adds to
Jade the possibility to define tasks in terms of workflows and a
set of mechanisms to handle the complexity of administration
and fault tolerance operations in a distributed environment.
        </p>
        <p>Wade was initially conceived to exploit the workflow
approach in the implementations of the system internal logics
that can be modeled in terms of “short running” processes.
Such kind of processes are generally characterized by a short
execution time (typically seconds or in some cases minutes)
and a high CPU time consumption and can be defined in terms
of the activities to be executed, the relations between them
(used to specify the execution flow) and the conditions of start
and termination.</p>
        <p>Many advantages have been demonstrated to become
effective following this approach and, among them, it is worth
mentioning the possibility to have a graphical representation of
a workflow, easily understandable by domain experts as well as
by programmers. Because of the workflows expressiveness,
domain experts can directly validate the system logics and, in
some cases, they could even contribute to the actual
development of the system with no need of programming
skills.</p>
        <p>
          Consistently with the aforementioned requirements
regarding short-running processes, some design decisions have
been taken. First, workflows are modeled in terms of Java code
to ensure maximum efficiency and flexibility. In the literature
several formalisms, such as XPDL, BPEL, WS-BPEL (e.g., see
[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ][
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]) can be found to describe workflows. However, if on
the one hand they provide a clear and intuitive representation
of the process execution flow, on the other hand they are not
suitable to specify all the details involved in the
implementation of a piece of the business logic of a given
software system. A common programming language like Java
is definitely more powerful and flexible to deal with data
transformations, computations and other low level auxiliary
operations that are often needed when specifying the business
logic of the system under development.
        </p>
        <p>
          Taking into account the above consideration, Wolf
(WOrkflow LiFe cycle management environment), the Wade
graphical editor, provides a workflow view on top of a Java
class with a well defined structure (see also [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ][
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] for similar
graphical languages for agent-based workflows). Wolf has
been developed as an Eclipse plug-in, thus allowing the
exploitation of all features offered by the Eclipse Java IDE.
        </p>
        <p>Finally, because workflows start and terminate their
executions in a short time, no persistency mechanism has been
considered necessary and workflows did not survive to the
shut-down of their Wade platform.</p>
        <p>Summing up, until version 2.6 of Wade, the main target of
Wade was the implementation of the system internal logics,
using the workflow metaphor and a key element of this
approach was the choice to model a workflow directly by
means of a Java class, providing a graphical representation of it
using Wolf.</p>
        <p>IV.</p>
      </sec>
      <sec id="sec-5-4">
        <title>BPM-ORIENTED EVOLUTION OF WADE</title>
        <p>Starting from 2010 new requirements coming from Telecom
Italia Wade-based systems as well as the Open Source
Community shown that, though very effective for a certain type
of applications, the followed approach restricted too tightly the
actual usages of Wade. In particular, more and more frequently
the need to properly manage situations where a workflow could
block waiting for external events that may happen in hours,
days or even months was indicated as a mandatory feature.</p>
        <p>To meet such ever growing requirements with version 3.0,
Wade had a strong evolution that, though preserving its
distinctive characteristics, makes it now a tool that can
effectively play the role of orchestrator in a BPM context.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>A. Long-Running workflows</title>
      <p>The base for all Wade BPM-oriented features described in
this section is the possibility of having workflows that survive
to a system restart. Such workflows are identified as
longrunning. More in details, if the platform is shut down while a
long-running workflow W has executed activity An, as soon as
the platform starts up again workflow W is automatically
reloaded and forced to recover its execution starting from
activity An+1. Under the hood Wade saves the status of a
longrunning workflow on a persistent storage after the execution of
each activity. The persistent storage is implemented by a
relational database accessed through Hibernate. The
mechanism has been tested with a number of different database
management systems, e.g., H2, mySql and Oracle. A new
administrator agent called WSMA (Workflow Status Manager
Agent) has been introduced and it is responsible to manage all
operations related to tracing, persisting and recovering the
status of workflows.</p>
    </sec>
    <sec id="sec-7">
      <title>B. Asynchronous events</title>
      <p>Another major step-forward in the evolution of Wade is the
introduction of an integrated event sub-system implemented as
an agent called ESA (Event System Agent). When developing
a workflow, besides regular activities, it is now possible to
include new synchronization activities that, when reached,
make the execution block until a given event happens. More in
details, when the process enters such a synchronization
activity, the workflow thread is released (to prevent resource
consumption) and the WSMA switches the workflow state
from ACTIVE to SUSPENDED. A suitable API (the
EventChannel API) is provided to submit events to the event
system. As soon as an event matching the template specified in
the synchronization activity is submitted, the workflow is
resumed (a new thread is allocated to it) and its state is
switched back to ACTIVE. Furthermore, any information
carried by the event is made available to the workflow for
further processing. The event system stores received events for
a configurable amount of time so that it is now possible to
transparently deal with situations where a synchronization
activity is reached after the expected event happened. In such
cases the workflow does not even block and immediately
moves forward. It should be noted that the possibility of
blocking to receive asynchronous events is not strictly related
to long-running however, if the system is restarted, while
longrunning workflows will be recovered transparently, all
suspended short-running workflows will be immediately
aborted.</p>
    </sec>
    <sec id="sec-8">
      <title>C. Web Service exposure</title>
      <p>Since version 2.0 Wade includes a powerful embedded
support to invoke Web services from within a workflow. In
version 3.0 such a support is enriched with the possibility of
automatically exposing Web services. This feature is twofold.
On the one hand it is possible to expose the operations
specified in a given WSDL and block a workflow waiting for a
given operation to be invoked. This is achieved by combining
the new Web service exposition feature with the support for
asynchronous event described in previous section. An ad hoc
WaitWebService synchronization activity now exists that, when
reached, makes the workflow block until the event
corresponding to the invocation of a previously exposed Web
service operation happens. Internally the code serving the Web
service invocation encapsulates the operation parameters into
an event and submits it to the event system. On the other hand,
it is now possible to automatically expose a workflow as a Web
service. The workflow name maps to the service name and a
single execute operation is generated with parameters matching
workflow’s ones. The code serving the invocation triggers the
execution of the workflow. This feature is made available in
Wolf by means of a simple click on the workflow class.</p>
      <p>From the architectural point of view, the Web service
exposition feature described in this section is implemented by a
new component called WadeServices. This is a standard Web
application that can be executed within any servlet container
such as Apache Tomcat.</p>
    </sec>
    <sec id="sec-9">
      <title>D. Administration Web Console</title>
      <p>According to the new evolutions of Wade and in order to
facilitate the administration of the platform, a Web console has
been developed to allow performing both low level
management operations, like the start-up/shut-down of the
platform, and high level actions, more related to the business
logics, like browsing and launching a workflow.</p>
      <p>
        This Web console has been implemented using the ZK [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
framework, an open source solution to develop Web
applications, based on AJAX technology. In particular, the ZK
framework has been extended to support new ZK components
specially intended to support the Wade administration
functionalities. Such components, exploited by the Web
console, can be also reused by developers inside of custom
Web applications that need to integrate Wade platform
management functions.
      </p>
      <p>V.</p>
      <p>CONCLUSIONS
This paper looks through general questions about agent-based
BPM. It gives an overview of the main concepts of BPM and it
identifies a general conceptual model of centralized and
agentbased BPM systems. Then, the paper points out key properties
of agent-based BPM systems, and it sums up main advantages
and disadvantages of such systems. It is worth noting that this
paper does not pay much attention to implementation issues
inherent to the introduction of agent technologies.</p>
      <p>The existing agent-based BPM systems, that have already
been developed and applied as the solution of real world
problems, proves that agent technologies are a highly
perspective direction for future researches in this field. From
our experience we now think that the main issues which the
designer of an agent-based BPM system should be aware of
are: inter-agent communication protocols, agent action
planning (which is itself a topic for future researches), business
logic representation.</p>
      <p>From a methodological point of view, Wade has been
appreciated in the development of mission critical agent-based
BPM systems for the agile approach that it brings in. Wade and
related tools provide a solid platform for the development of
complex BPM systems that tightly integrate the power of a
visual approach with scalability, robustness and interoperability
with mainstream technologies. This has reduced the effort
needed to develop effective demonstrators and prototypes that
were fruitfully scaled up to the core parts of real systems, thus
reducing time-to-market and improving the overall qualities of
the systems and of the development processes.</p>
      <p>In particular, Wade proved to be largely useful to develop
single applications and service oriented architectures with
strong requirements regarding performances, scalability and
high flexibility in defining the systems’ logics.</p>
      <p>
        In Telecom Italia Wade is used for a number of mission
critical systems [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] that are now in everyday use with real
users and in the scope of projects with real customers:
•
•
      </p>
      <sec id="sec-9-1">
        <title>NNEM implements a mediation layer between network elements and OSS systems for millions of Telecom Italia customers;</title>
      </sec>
      <sec id="sec-9-2">
        <title>Wizard provides step-by-step guidance to thousands Telecom Italia technicians performing installation and</title>
        <p>•
maintenance operations in the fields with more than 1
million documented assisted installation since 2007;
and</p>
      </sec>
      <sec id="sec-9-3">
        <title>WeMash, a mashup platform for service-oriented architectures whose target is to enable non-developer users to self-create simple applications and to share them within the team they are working in.</title>
        <p>The results were so compelling that Telecom Italia chose
Wade as the enabling middleware for a Software As A Service
(SAAS) offer for Utilities customers in the fields of electricity,
gas and water. This offer includes various systems (Wizard 2.0,
WeMash, and a bus orchestrator) based on the new
functionalities of WADE 3.0 described in this paper with a
fully functional service oriented architecture based completely
on open source components.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Bartocci</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corradini</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merelli</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          (
          <year>2006</year>
          )
          <article-title>Building a MultiAgent System from a User Workflow Specification</article-title>
          . In Procs. Workshop “Dagli Oggetti agli Agenti”.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Bartocci</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corradini</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merelli</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scortichini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          (
          <year>2007</year>
          )
          <article-title>BioWMS: A Web-based Workflow Management System for Bioinformatics. BMC Bioinformatics 8(S-1</article-title>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Bolcer</surname>
            ,
            <given-names>G. A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , R. N. (
          <year>1998</year>
          )
          <article-title>Advanced Workflow Management Technologies</article-title>
          ,
          <source>Software Process: Improvement and Practice</source>
          ,
          <volume>4</volume>
          (
          <issue>3</issue>
          ):
          <fpage>125</fpage>
          -
          <lpage>171</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>BPMN</given-names>
            <surname>- Business Process</surname>
          </string-name>
          Modeling Notation, available at http://www.bpmn.org/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Cai</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gloor</surname>
            ,
            <given-names>P. A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Nog</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>DartFlow: A Workflow Management System on the Web Using Transportable Agents</article-title>
          . Dartmouth College.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Caire</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gotta</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Banzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>WADE: a software platform to develop mission critical applications exploiting agents and workflows</article-title>
          .
          <source>In Procs 7th Int'l Conf Autonomous Agents and Multiagent Systems</source>
          ,
          <volume>29</volume>
          -
          <fpage>36</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>[7] FIPA - Foundation for Intelligent Physical Agents</article-title>
          . Available at http://www.fipa.org
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Grundspenkis</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Pozdnyakov</surname>
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2006</year>
          )
          <article-title>An Overview of the Agent Based Systems for the Business Process Management</article-title>
          .
          <source>In Procs Int'l Conf Computer Systems and Technologies.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Hawryszkiewycz</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Debenham</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1998</year>
          )
          <article-title>A workflow system based on agents</article-title>
          .
          <source>In Procs 9th Int'l Conf Database and Expert Systems Applications.</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>JADE - Java Agent</surname>
          </string-name>
          <article-title>Development framework</article-title>
          . Available at http://jade.tilab.com
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Jennings</surname>
            ,
            <given-names>N. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faratin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johnson</surname>
          </string-name>
          , M. J.,
          <string-name>
            <surname>Norman</surname>
            ,
            <given-names>T. J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Wiegand</surname>
            ,
            <given-names>M. E.</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>Agent-Based Business Process Management</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Jin</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>S. T.</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>Agent-based Workflow: TRP Support Environment (TSE)</article-title>
          .
          <source>Computer Networks and ISDN Systems</source>
          ,
          <volume>28</volume>
          (
          <fpage>7</fpage>
          - 11):
          <fpage>1501</fpage>
          -
          <lpage>1511</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Pang</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2000</year>
          )
          <article-title>Implementation of an Agent-Based Business Process</article-title>
          . University of Zurich.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Shapiro</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>A comparison of XPDL, BPML and BPEL4WS (Rough Draft)</article-title>
          ,
          <source>Cape Vision.</source>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Trione</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Long</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gotta</surname>
            <given-names>D.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Sacchi</surname>
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2009</year>
          )
          <article-title>Wizard, WeMash, WADE: Unleash the Power of power of collective intelligence</article-title>
          .
          <source>In Procs 8th Int'l Conf Autonomous Agents and Multiagent Systems.</source>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Workflow</surname>
            <given-names>Management</given-names>
          </string-name>
          <string-name>
            <surname>Coalition. Workflow Management Coalition Terminology</surname>
          </string-name>
          &amp; Glossary, available at http://www.wfmc.org
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Workflow</surname>
            <given-names>Management</given-names>
          </string-name>
          <string-name>
            <surname>Coalition. XPDL XML Process Definition Language</surname>
          </string-name>
          , available at http://www.wfmc.org
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>[18] ZK - Available at http://www.zkoss.org/</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>