=Paper=
{{Paper
|id=Vol-204/paper-18
|storemode=property
|title=Distributed Workflow Enactment: an Agent-based Framework
|pdfUrl=https://ceur-ws.org/Vol-204/P08.pdf
|volume=Vol-204
|dblpUrl=https://dblp.org/rec/conf/woa/FortinoGR06
}}
==Distributed Workflow Enactment: an Agent-based Framework==
Distributed Workflow Enactment:
an Agent-based Framework
Giancarlo Fortino, Alfredo Garro, and Wilma Russo
Supported Cooperative Work (CSCW) systems that offer
Abstract—This paper describes the design and the groupware applications and other shared workspace tools for
implementation of an Agent-based Workflow Enactment supporting human interactions [4]. Instead, Production
Framework (AWEF) which can be instantiated on the basis of a workflows are process-driven due to their highly repetitive
workflow schema for obtaining a specific workflow enactment
engine. A workflow engine therefore is a MAS capable of
nature [7]. In this case the processes are highly structured and
managing instances of the workflow schema used for the the adopted WFMS are based on workflow enactment services
instantiation of AWEF. Each MAS adopts a hierarchical able to offer an efficient and accurate control about the flow
organizational structure composed by an EnacterAgent, which is of the processes. Moreover, in a Production workflow, most
responsible of the activation and monitoring of the workflow, one of the tasks are executed automatically by software programs
or more ManagerAgents, which are responsible of the execution and applications without interacting with human users. Such a
and control of the workflow/subworkflows according to a
parent/child model, and one or more TaskAgents, which are
kind of workflows can be modeled as a set of interrelated
responsible of the execution of internal tasks and/or of the services (Service Workflow) [29]. In the context of Internet-
wrapping of external tasks or services. The hierarchical based workflows [19], such services are distributed and
distribution of the workflow execution control between the owned by different organizations so that they could become
ManagerAgents and the distribution of the computation among unavailable due to the lack of network service guarantees. To
the TaskAgents allow for more flexible, efficient, and robust deal with this important issue, a dynamic service allocation of
enactment services.
services is often required as well as the negotiation of service
Index Terms—Multi-Agent Systems, Distributed Workflow level agreements (SLA). Due to these reasons the enactment
Enactment, Workflow Patterns, Agent-based Applications. of Internet-based workflows requires more flexible enactment
engines based on more adequate coordination mechanisms.
I. INTRODUCTION To effectively fulfill such requirements the Agents
paradigm and technology are being used since Agents are
W ORKFLOW Management Systems (WFMS) are
systems designed to automate complex activities
consisting of many dependent tasks [26]. In the last decades
widely considered very suitable for the modeling and
implementation of complex software systems in open
distributed environments [18]. In particular, in the context of
WFMS have been developed to provide support to the
workflow management, the use of the Agents paradigm allows
modeling, improvement and automation of business
for transforming a workflow from a sequence of activities,
management, industrial engineering, and data-intensive
that are often modeled and consist of (Web) services
scientific processes [25,10]. Since each business area can
invocation, in a society of proactive, autonomous and
benefit from workflow management it is possible to
coordinable entities (or multi-agent system) whose
distinguish different kind of workflows and related workflow
coordinated interactions drive the workflow execution
management techniques specifically conceived for meeting the
[20,17].
requirements of a specific business area and fully supporting
This paper proposes an agent-based approach for the
the associated business processes. A main distinction that can
distributed enactment of workflows. The workflow enactment
be done is between Collaborative and Production-oriented
is enabled by an Agent-based Workflow Enactment
workflows. The former are information centric: human
Framework (AWEF) which is instantiated on the basis of the
interactions drive the execution of workflows in a loosely
schemas of the workflows to be enacted so obtaining specific
structured manner. In this case WFMS are Computer
workflow engines. A workflow schema can be defined by
using the Workflow Patterns identified and proposed by van
G. Fortino is with the Department of Electronics, Informatics and Systems der Aalst [25] and can be represented using YAWL (Yet
(DEIS), University of Calabria, Rende (CS), 87036 Italy. (e-mail:
Another Workflow Language) [24]. A workflow engine
giancarlo.fortino@unical.it).
A. Garro is with the Department of Electronics, Informatics and Systems therefore consists of a MAS capable of managing instances of
(DEIS), University of Calabria, Rende (CS), 87036 Italy. (e-mail: the workflow schema used for the instantiation of the
alfredo.garro @unical.it). workflow engine. The framework provides the base agents for
W. Russo is with the Department of Electronics, Informatics and Systems
(DEIS), University of Calabria, Rende (CS), 87036 Italy. (e-mail: wilma.russo workflow enactment (EnacterAgent, which is responsible of
@unical.it). the activation and monitoring of the workflow,
110
ManagerAgent, which is responsible of the execution and TABLE I
THE WORKFLOW PATTERNS
control of the workflow, and TaskAgent, which is responsible
PATTERN PATTERN NAME
of the execution of internal tasks and/or of the wrapping of DEFINITION
TYPE (SYNONYMS)
external tasks or services), their interaction protocols and a set Sequence An activity is enabled after the
of control-flow classes which are associated to the behavior of (Sequential routing, serial completion of another activity.
routing)
the ManagerAgent and implement the Workflow Patterns. The A point in the workflow where a single
framework is implemented by using JADE [3,16], a FIPA- Parallel Split thread of control splits into multiple
(AND-split, parallel routing, threads of control which can be executed
Basic Control Flow
compliant [13] Java-based agent development environment fork) in parallel, thus allowing activities to be
which basically offers a distributed agent platform and an API executed simultaneously or in any order.
A point in the workflow where multiple
for agent programming. Synchronization parallel subprocesses/activities converge
The remainder of the paper is organized as follows. Section (AND-join, rendezvous,
into one single thread of control, thus
synchronizer)
synchronizing multiple threads.
2 introduces some background concepts about workflow
Exclusive Choice A point in the workflow where, based on
enactment, presents our agent-based approach enabled by (XOR-split, conditional a condition, one of several branches is
AWEF and reports some related works. Section 3 and Section routing, switch, decision) chosen.
Simple Merge A point in the workflow where two or
4 describe the design and the JADE-based implementation of (XOR-join, asynchronous more alternative branches merge without
AWEF respectively. Finally conclusions are drawn and join, merge) synchronization.
directions of further work delineated. Multi-choice A point in the workflow where, based on
(Conditional routing, a condition, a number of branches are
selection, OR-split) chosen.
Synchronizing Merge A point in the workflow where multiple
Advanced Branching and (Synchronizing join, OR-join) paths converge into one single thread.
II. DISTRIBUTED WORKFLOW ENACTMENT
Synchronization A point in a workflow where two or
more branches reconverge without
The Workflow Reference Model, proposed by the synchronization. If more than one branch
Workflow Management Coalition (WfMC) [28], describes a Multi-merge gets activated the activity following the
merge is started for every activation of
generic architecture for workflow management consisting of every incoming branch.
several functional components interfaced with a Workflow A point in a workflow that waits for a
Enactment Service (see Figure 1). The Process Definition number of the incoming branches to
Discriminator complete before activating the
Tools allow a process designer to define business processes (N/M or partial join) subsequent activity; then it waits for the
often adopting a diagrammatic representation. The diagrams remaining branches to complete and
“ignores” them. Then it resets itself.
(or workflow schemas), represented in a Process Description Arbitrary Cycles A point in a workflow where one or
Structural
Language (PDL), are received by the Workflow Enactment (Loop, iteration, cycle) more activities can be done repeatedly.
A given sub-workflow should be
Service via Interface 1. The Workflow Client Application is Implicit Termination terminated when there is nothing else to
usually the application which requests the enactment of a be done.
workflow to the Workflow Enactment Service by specifying Multiple Instances
without synchronization Multiple instances of an activity can be
the workflow schema to be enacted and passing the (Multi-threading without created with no need to synchronize
parameters (Case Activation Record) needed for the activation synchronization, spawn off them.
facility)
and execution of a specific workflow instance. During its
Multiple Instances
Multiple Instances with a An activity is enabled a number of times
enactment a workflow can be administered and monitored priori design time
known at design time. Once all instances
are completed some other activity needs
(Interface 5) and it may interact with other automated business knowledge to be started.
processes (Interface 4), with human participants (Interface 2) An activity is enabled a number of times
Multiple Instances with a known at run time. Once all instances are
and with other applications without human intervention priori run-time knowledge completed some other activity needs to
(Interface 3). be started.
Multiple Instances An activity is enabled a number of times
known neither at design time nor at run-
without a priori run-time time. Once all instances are completed
knowledge some other activity needs to be started.
It is similar to the exclusive choice but
Deferred Choice the choice is not made explicitly and the
(External choice, implicit
run-time environment decides what
choice, deferred XOR-split)
branch to take.
State-based
Interleaved Parallel A set of activities is executed in an
Routing arbitrary order decided at run-time; no
(Unordered sequence) two activities are active at the same time.
The enabling of an activity depends on
Milestone the workflow being in a given state, i.e.
(Test arc, deadline, state
the activity is only enabled if a certain
condition, withdraw
milestone has been reached which did
message)
not expire yet.
An enabled activity is disabled, i.e. a
Cancel Activity
Cancellation
thread waiting for the execution of an
Fig. 1. The reference model for WFMS proposed by the WfMC. (Withdraw activity)
activity is removed.
Cancel Case A workflow instance is removed
(Withdraw case) completely.
111
As described above, the Process Definition component computation and/or data during the workflow enactment
provides the process designer with a workflow language able (Figure 3).
to specify a workflow schema which can be successively
instantiated by means of the Enactment Service based on a
workflow API and on one or more workflow engines. The WF Schemas
workflow definition language is to be expressive and powerful
to specify complex workflows from several perspectives:
control-flow, data-flow, resource and operational [25].
The control-flow perspective describes activities and their WF Activation Params
• WF Type
WF Enactment Service
execution ordering through different constructors, which • CAR
WF Enactment
permit to control the flow of execution, and provides an WF
essential insight into the effectiveness of a workflow Distribution Params WF Engines
specification. The data flow perspective rests on control-flow
perspective, while the resource and operational perspectives Fig. 3. An A Workflow Enactment Service.
are ancillary.
An expressive and powerful set of control-flow constructs More in details, in order to enact a workflow the WFES
for the specification of workflow schemas (WF Schemas) is selects a suitable WF Engine, from the WF Engines
the set of the Workflow Patterns proposed by van der Aalst repository, on the basis of the schema of the workflow to be
[25]. In Table I the Workflow Patterns, identified by enacted. If the required WF Engine is not available the WFES
examining the most known contemporary workflow creates it. The creation is driven by the WF Schema which is
management systems, are enumerated along with their used to properly instantiate a Workflow Enactment
synonyms and a brief definition. Framework so building a WF Engine able to enact that
An example WF Schema based on the WF Patterns and specific WF Schema. In building the specific WF Engine the
drawn by using YAWL [24] is given in Figure 2. After the distribution params specified by the user are also considered.
task A is carried out (sequence pattern), the tasks B, C, and D Finally, the WF Engine will enact the workflow on the basis
are executed in parallel (parallel split pattern). When B or C of the given CAR and the possible distribution params (Figure
complete (synchronizing merge pattern), the task E is 4). The created WF Engine is stored in the WF Engines
executed an arbitrary number of times (arbitrary cycles repository so that it can be reused for enacting future
pattern). When D completes (sequence pattern), either the task workflows of the same type.
F or the task G (exclusive choice pattern) is executed. When
either F or G complete (simple merge pattern), depending on WF Schema WFE Distribution
Framework Params
the precedent choice, the task H is executed (sequence
pattern). When the iterative execution of E completes and also
H terminates (synchronization pattern), the task I is executed
and, after its completion (sequence pattern), the workflow
terminates.
No
B
CAR WF Engine
yes
E Done?
C
WF Enactment
A I
F
D H
G Fig. 4. The construction of a WF Engine.
Fig. 2. An example WF Schema based on the WF Patterns.
A generic Workflow Enactment Service (WFES) receives A. The proposed agent-based approach
from the user the indication about which workflow is to be In our approach for the distributed workflow enactment a
enacted (WF Type param) and the Case Activation Record WF Engine is a MAS built by properly instantiating the
(CAR) for the specific workflow instance; then, on the basis Agent-based Workflow Enactment Framework (AWEF) on
of the WF Schema corresponding to the selected WF Type, the basis of a WF Schema defined by using the WF Patterns.
the WFES enacts the workflow by means of a specific WF In particular, a WF Engine consists of tree different agent
Engine. If the WF Engine is of the distributed type the user types:
indicates also a set of params for specifying some - EnacterAgent, which represents the interface between the
requirements related to the distribution of control, MAS constituting the WF Engine and the Workflow
112
Enactment Service and is responsible for the activation and called Workflow Executors, from the ALW specification by
monitoring of the workflow. plugging the implementation of the required workflow
- ManagerAgent, which is responsible of the execution and activities, that are available in a repository, into “empty”
control of the workflow. A single ManagerAgent allows for agents (skeletons). A workflow engine is, therefore, a MAS
flat workflow management whereas a hierarchical structure having a peer-to-peer organizational structure in which the
of ManagerAgents, formed according to the parent/child workflow execution is driven by the interactions among the
model, allows for a hierarchical workflow management. Workflow Executors.
The behavior of a ManagerAgent is defined on the basis of A similar approach can be found in [22] which presents a
the WF Schema it has to enact. methodology for translating a workflow specification into a
- TaskAgent, which is responsible for the execution of MAS architecture specifying formalized rules for modeling
internal tasks and/or for the wrapping of external tasks or agents’ behaviors. The MAS is not generated automatically by
services. The behavior of a TaskAgent is defined on the a compiler like in [1] but by the developer adopting a tool
basis of the activities composing the task it has to carry out. called Agent Developer Studio (ADS).
A WF Engine is, therefore, a MAS with a hierarchical In [7,8,9] the authors present an agent-based approach for
organizational structure in which the control of the workflow enacting BPEL4WS (Business Process Execution Language
execution is hierarchically distributed between the for Web Services) [6] workflow specifications. BPEL4WS is
ManagerAgents and the computation is distributed among the an XML-based language that allows for the specification of
TaskAgents. workflows where the activities are defined by Web service
A WF Schema can be specified by using YAWL [24] invocations. The proposed distributed enactment mechanisms
which is based on the WF Patterns and offers also an XML combine data-centered and control-centered coordination
based representation of the WF Schema mechanisms. Data are managed via a shared XML repository
The design and the implementation of the AWEF, on which while the control of the workflow activities is driven by
the WF Engines are based, are presented in details in sections asynchronous messages exchanged between the agents that
3 and 4. enact the workflow. The message exchange pattern for the
control messages is derived from a Colored Petri Net model of
B. Other related approaches
the workflow. The agents’ behaviors are configured and
In the literature it is possible to find different proposals of instantiated at run time on the basis of the BPEL4WS
distributed workflow enactment mechanisms based on the specification of the specific workflow to be enacted. The
Agent paradigm and technologies which aim to support more organizational MAS structure is based on a RequestorAgent
flexible, dynamic and adaptive workflow from the process, that orchestrates a set of Distributed Workflow Agents
resource and activity perspective [8]. according to the workflow specification. The system has been
Such approaches differ from each other in the supported implemented in JADE.
dimensions of distribution (computation, control and data), in Another agent-based approach for enacting workflows
the adopted coordination model (control-driven, data-driven) specified in BPEL4WS is proposed in [14]. The novelty of the
and in the exploited MAS organizational structure approach is that the enactment of the workflows is carried out
(hierarchical, peer-to-peer). by peer agents that can be associated with web services. The
In [10,23,21] the authors present an agent-based workflow control flow is coded in an interaction protocol that is not
engine centered on a hierarchical organizational structure in defined at the development time like in [1,22] but which is
which a ProcessAgent executes a workflow instance by passed at run time between the agents together with the
requesting the execution of the tasks composing the workflow messages so informing each agent what to do next to keep the
to a set of ResourceAgents. ResourceAgents can be seen as workflow executing.
representing web services and can be dynamically discovered Another peer-to-peer agent-based enactment approach is
and allocated to a ProcessAgent by a ResourceBrokerAgent. presented in [29]. In this approach the workflow to be enacted
In this control-driven approach the control about the state of is decomposed into a set of interrelated task partitions. Each
the workflow execution is hierarchically distributed between task partition represents a service and its position, i.e., the
the ProcessAgents and the computation whereas data are interaction and dependency with the other services in the
distributed among the ResourceAgents which are responsible process. Then, each task partition is distributed to an agent
of the task execution. which represents a service provider offering a service required
In [1] the authors propose a software environment to by the specific workflow instance. Each agent autonomously
dynamically generate agent-based workflow engines. A manages the enactment of the represented service and the
workflow engine is generated by a compiler that translates an interactions between this service and the others only on the
XPDL workflow definition to a MAS ready to be executed in basis of the assigned task partition; agents are not conscious of
the Hermes middleware. The translation process is a two step the whole process in which they are involved. Such adopted
procedure. In the first step the user-level workflow definition coordination model is known as a choreography coordination
is mapped to an Agent Level Workflow (ALW) specification. model.
In the second step, the compiler concretely generates agents,
113
III. THE DESIGN OF AWEF Manager/Task Interaction Protocol (MTIP).
The design of AWEF was carried out by exploiting an In the Agent Behaviors Model the basic behaviors of the
agent-oriented development process [11] in which the EnacterAgent, ManagerAgent and TaskAgent are defined. In
requirements capture phase is supported by the Tropos particular, the defined ManagerAgent behavior (or
methodology [5], the analysis and design phases are supported ManagerBehavior) is composed of:
by the Gaia methodology [27] and the detailed design phase is An InitialPseudoActivity, which represents the starting
supported by the Agent-UML [2] and the Distilled StateCharts point of the workflow execution in the WF Schema.
(DSC) [12]. One or more FinalPseudoActivity, which represent points in
The requirements, captured using the Tropos goal-oriented the WF Schema at which the workflow or a part of it ends.
approach, were reported in a Requirements Statements A FinalPseudoActivity uses a parent ManagerAgent for
document. On the basis of the requirements the following key notification purposes.
roles were identified: One or more WFPattern, which represent the control-flow
Enacter, which manages the activation and monitoring of activities. A WFPattern, which can be any of the available
workflows and represents the interface between the WF WF Patterns [25] (sequence, and-split, and-join, xor-split,
Engine and the Workflow Enactment Service; xor-join, or-split, multi-merge, discriminator, loop, multiple
Manager, which manages the execution and control of instances, deferred choice, milestone, etc) uses one or more
workflows; TaskAgents and one or more child ManagerAgents for
Executor, which executes the internal workflow tasks; activation purposes and a parent ManagerAgent for
Wrapper, which interacts with the external tasks or notification purposes.
services. In order to model a WF Schema, InitialPseudoActivity,
Each of these roles was fully described by using a Role FinalPseudoActivity, and WFPattern are linked through
Schema according to the Gaia methodology. The protocols source/target control-flow associations.
associated with each role were identified and documented by Figure 5 shows a Statecharts-based representation [15] of
an Interactions Model. Then, the identified Roles were the ManagerBehavior.
aggregated into Agent Types also specifying the agent types
StateChangeNotification/ handleNotification()
hierarchy (Agent Model); the main services required to ControlFlow
realize each role were specified (Services Model) and the
/ executeNextControlAction()
relationships of communication between the Agent Types
documented (Acquaintance Model).
ControlAction
The identified Agent Types are: Executed
EnacterAgent, which derives from the Enacter role.
ManagerAgent, which derives from the Manager role. A
ExecuteNextControlAction/ executeNextControlAction()
single ManagerAgent allows for flat workflow management
whereas a hierarchical structure of ManagerAgents, formed TerminateControl/ sendEndNotification()
according to the parent/child model, allows for a
hierarchical workflow management. Fig. 5. The generic behavior of a ManagerAgent.
TaskAgent, which derives from both the Executor and
Wrapper role. According to the WF Schema to enact, the ManagerAgent
The detailed design phase allowed for obtaining a detailed enters the ControlFlow superstate executing the
specification of the behaviors of the Agent Types which have executeFirstControlAction() method. In this superstate, every
been defined in the Agent Model. The work products of this times that an ExecuteNextControlEvent is received the
phase were the Agent Interactions Model and the Agent ManagerAgent executes the next control-flow action by
Behaviors Model. The former consists of a set of Agent-UML invoking the executeNextControlAction() method which
interaction diagrams [2] which thoroughly specify the patterns fetches the next WFPattern and executes it. Upon completion
of interaction between the Agent Types; the Agent Behaviors of a WFPattern execution, two events are generated: (i)
Model specifies the dynamic behavior of each Agent Type by ExecuteNextControlAction which allows the
means of the Distilled StateCharts (DSC) formalism [12]. ManagerBehavior to invoke the executeNextControlAction()
The main interaction patterns documented by the Agent method; (ii) StateChangeNotification which allows notifying
Interactions Model are: the upper-level ManagerAgent or the EnacterAgent about the
EnacterAgent/ManagerAgent, which is enabled by the control-flow state change of the workflow. If there are no
Enacter/Manager Interaction Protocol (EMIP); more WFPatterns to execute, the TerminateControl event is
ManagerAgent/ManagerAgent, which is enabled by the generated which drives the termination of the
Manager(parent)/Manager(child) Interaction Protocol ManagerBehavior and the transmission of the related
(MMIP); EndNotification to the upper-level ManagerAgent or to the
ManagerAgent/TaskAgent, which is enabled by the EnacterAgent. A WFPattern execution can involve: (i) the
114
detection of the completion of a task through the reception of which models a complex task whose sub-tasks correspond
a FIPA ACL message which can also carry the data produced to the activities performed in the states of a finite state
by the completed task; (ii) the creation and/or activation of machine. In particular, the states of ManagerBehavior
TaskAgents or ManagerAgents. correspond to the control-flow states of the workflow (or
The interaction diagrams composing the Agent Interactions sub-workflow) that the ManagerAgent is controlling; each
Model and the behavioral specifications of the Agent state is associated to a WFPattern which is activated when
Behaviors Model are to be intended as basic schemas that will the state becomes active. EMIP, MMIP, and MTIP are
be coded into the basic classes of AWEF. A WF Engine will appositely defined through sequences of ACL messages
be obtained by instantiating such basic classes according to instances of the ACLMessage class of JADE.
the schema of the workflow to be enacted and using the In the following subsection a hierarchical WF Engine based
concrete implementations of the tasks required for the on AWEF and capable of enacting the WF Schema reported in
workflow execution. Figure 2 is presented.
A. A hierarchical WF Engine based on AWEF
The hierarchical workflow management is enabled by a set
of ManagerAgents each of which embodies a sub-schema of a
WF Schema according to a hierarchical model. With reference
to the WF Schema of Figure 2, the WF Engine able to enact
such a WF Schema is obtained through:
1. The partitioning of the WF Schema into a set of
hierarchically arranged workflow schemas: WF Schema 1,
WF Schema 1.1, WF Schema 1.2 (see Figure 7);
2. The instantiation of AWEF with respect to the obtained
workflow schemas (see Figure 8 for the resulting class
diagram).
WF Schema 1 Top Manager Agent
SM1
A I
SM2
SubManagerAgent1
WF Schema 1.1
No
Yes
B
E Done?
C
Fig. 6. Class diagram of the AWEF Framework. SubManagerAgent2
WF Schema 1.2
F
In Figure 6 the classes which compose AWEF are reported.
In particular, AWEF provides the base agents for workflow D H
enactment (EnacterAgent, ManagerAgent and TaskAgent), Fig. 7. Partitioned WF Schema.
their interaction protocols and a set of control-flow classes With reference to Figure 8a the EnacterAgent is linked to
which are associated to the behavior of the ManagerAgent and the top-level ManagerAgent which is, in turn, linked to the
implement the WF Patterns. TaskAgents related to the WF Schema 1, and to the
SubManagerAgents1and SubManagerAgents2 which control
IV. THE JADE-BASED IMPLEMENTATION OF AWEF the WF Schemas 1.1 and 1.2 respectively. Each
The JADE-based classes of AWEF were straightforwardly SubManagerAgent is, in turn, linked to the TaskAgents
derived from the class diagram reported in Figure 6. In associated to its schema.
particular: With reference to Figures 8b-d each ManagerBehavior is
EnacterAgent, ManagerAgent and TaskAgent extend the obtained by translating its associated WF Schema in a set of
Agent class of JADE [16]; classes consisting of one InitialPseudoActivity, one or more
EnacterBehavior, TaskBehavior and WFPattern extend FinalPseudoActivity, and one or more WFPattern which are
Behaviour class of JADE which represents a generic appositely interconnected.
behavior terminating when the end-of-activity condition is
met;
ManagerBehavior extends FSMBehaviour class of JADE
115
(a) (b)
(c) (d)
Fig. 8. WF Engine class diagram: (a) MAS structure; (b-d) behaviors of the ManagerAgents (b-d)
the basis of WF Schemas defined in YAWL.
V. CONCLUSIONS
This paper has described an Agent-based Workflow
Enactment Framework (AWEF) which can be instantiated on ACKNOWLEDGMENT
the basis of a WF Schema for obtaining a specific WF Engine This work was partially supported by the Italian Ministry of
which mainly consists of a hierarchy of ManagerAgents. Education, University and Research in the framework of the
Each ManagerAgent has in charge the enactment of a sub- M.ENTE (Management of integrated ENTErprise) research
schema of the WF Schema used for the instantiation of AWEF project PON (N°12970-Mis.1.3). The authors also wish to
and exploits a set of TaskAgents for the execution of the thank Serena Martino and Giuseppe Agapito for their
specific workflow tasks associated to its sub-schema. This contribution to the JADE-based implementation of the AWEF
MAS organization allows for the hierarchical distribution of framework.
the workflow execution control between the ManagerAgents
and for the distribution of the computation among the REFERENCES
TaskAgents. Due to these features AWEF constitutes a basic [1] E. Bartocci, F. Corradini, E. Merelli, Enacting proactive workflows
component for the construction of more flexible, efficient, and engine in e-Science, In proceedings of the 6th International Conference
on Computational Science (ICCS 2006), University of Reading, UK,
robust Workflow Enactment Services. May 28-31, 2006, pp. 1012-1015, volume 3993/2006, Springer-Verlag,
The JADE-based implementation of AWEF has been Berlin.
applied to the development of a workflow system for the [2] B. Bauer, J.P. Muller, and J. Odell. Agent UML: A Formalism for
monitoring of distributed agro-industrial productive processes. Specifying Multiagent Interaction. In Paolo Ciancarini and Michael
Wooldridge, editors, Agent-Oriented Software Engineering, pages 91-
The developed workflow system is a component of a larger 103. Springer-Verlag, Berlin, 2001.
system which was built in the context of the M.ENTE [3] F. Bellifemine, A. Poggi, and G. Rimassa, Developing multi-agent
(Management of integrated ENTErprise) project which aims at systems with a FIPA-compliant agent framework, Software Practice and
Experience, 31, pp. 103-128, 2001.
developing a pervasive system for the control and [4] U. M. Borghoff, J. H. Schlichter. Computer-Supported Cooperative
management of productive, organizational, and business Work: Introduction to Distributed Applications. Springer-Verlag. 2000.
processes of companies working in the agro-alimentary [5] P. Bresciani, P. Giorgini, F. Giunchiglia, J. Mylopoulos, and A. Perini.
TROPOS: An Agent-Oriented Software Development Methodology,
industry of Calabria. The current experimentation of the Journal of Autonomous Agents and Multi-Agent Systems, 8(3):203-236,
system provides support to a consortium of agro-industrial 2004.
greenhouses. [6] Business Process Execution Language for Web Services version 1.1.
http://www-128.ibm.com/developerworks/library/specification/ws-bpel/.
Efforts are currently underway to develop an enactment
[7] P. Buhler, J.M. Vidal, Towards AdaptiveWorkflow Enactment Using
service which is able to automatically instantiate AWEF on Multiagent Systems, Journal of Information Technology and
Management, vol. 6, pp. 61–87, 2005, Springer-Verlag, Berlin.
116
[8] P. Buhler, J.M. Vidal, Enacting BPEL4WS specified workflows with
multiagent systems, In Proceedings of the Workshop on Web Services
and Agent-Based Engineering, 2004.
[9] P. Buhler, J.M. Vidal and H. Verhagen, Adaptive Workflow = web
services + agents, In Proceedings of the First International Conference
on Web Services, 131-137, 2003.
[10] L. Ehrler, M. Fleurke, M. A. Purvis, and B.T.R. Savarimuthu, Agent-
Based Workflow Management Systems(Wfmss): JBees - A Distributed
and Adaptive WFMS with Monitoring and Controlling Capabilities,
Journal of Information Systems and e-Business Management, Volume 4,
Issue 1, Jan 2006, Pages 5-23, Springer-Verlag, Berlin.
[11] G. Fortino, A. Garro, and W. Russo, An Integrated Approach for the
Development and Validation of Multi Agent Systems, Computer Systems
Science & Engineering, 20(4), pp.259-271, Jul. 2005.
[12] G. Fortino, W. Russo, and E. Zimeo, A Statecharts-based Software
Development Process for Mobile Agents, Information and Software
Technology, 46(13), pp. 907-921, Oct. 2004.
[13] Foundation of Intelligent and Physical Agents, http://www.fipa.org.
[14] L. Guo, Y. Chen-Burger, and D. Robertson Dave, Enacting the
Distributed Business Workflows Using BPEL4WS on the Multi-Agent
Platform. In Proceedings of the Third German Conference on Multi-
agent System Technologies (MATES2005), LNAI 3550, pp. 35-47,
Koblenz Germany, Springer-Verlag.
[15] D. Harel and E. Gery. Executable Object Modelling with Statecharts.
IEEE Computer, 30(7): 31-42, 1997.
[16] Java-based Agent Development Environment (JADE), documentation
and software at the world wide web: http://jade.tilab.com.
[17] N.R. Jennings, P. Faratin, T.J. Norman, P. O’Brien, and B. Odgers,
Autonomous Agents for Business Process Management, Journal of
Applied Artificial Intelligence, 14(2), pp. 145–189, 2000.
[18] M. Luck, P. McBurney, and C. Preist, A Manifesto for Agent
technology: Towards Next Generation Computing, Autonomous Agents
and Multi-Agent Systems, 9(3), pp. 203-252, 2004.
[19] D.C. Marinescu, Internet-based Workflow Management, John Wiley &
Sons, Inc., New York, 2002.
[20] P.D. O’Brien and M.E. Wiegand, Agent-based process management:
applying intelligent agents to workflow, Knowledge Engineering
Review, 13(2), pp. 1-14, 1998.
[21] M. A. Purvis, B.T.R Savarimuthu, and M.K Purvis, A Multi-agent Based
Workflow System Embedded with Web Services, In proceedings of the
second international workshop on Collaboration Agents: Autonomous
Agents for Collaborative Environments (COLA 2004), Beijing, China,
September 2004, pp 55-62, IEEE/WIC Press.
[22] M. Repetto, M. Paolucci, A. Boccalatte, A Design Tool to Develop
Agent-Based Workflow Management Systems, In Proc. of the 4th
AI*IA/TABOO Joint Workshop "From Objects to Agents": Intelligent
Systems and Pervasive Computing, 10-11 September 2003, Villasimius,
CA, Italy, pp. 100-107, Pitagora Editrice Bologna.
[23] B.T.R. Savarimuthu, M.A. Purvis, M.K. Purvis, and S. Cranefield,
Agent-Based Integration of Web Services with Workflow Management
Systems, Information Science Discussion Paper Series, Number
2005/05, ISSN 1172-6024, University of Otago, Dunedin, New Zealand.
[24] W.M.P. van der Aalst and A.H.M. ter Hofstede. YAWL: Yet Another
Workflow Language. Information Systems, 30(4):245-275, 2005.
[25] W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski, and A.P.
Barros, Workflow Patterns, Distributed and Parallel Databases, 14(3),
pp. 5-51, July 2003.
[26] W.M.P. van der Aalst and K. van Hee, Workflow Management: Models,
Methods, and Systems, The MIT Press, Cambridge (MA), 2002.
[27] M. Wooldridge, N. R. Jennings, and D. Kinny. The Gaia methodology
for agent-oriented analysis and design. Journal of Autonomous Agents
and Multi-Agent Systems, 3(3):285–312, 2000.
[28] Workflow Management Coalition, http://www.wfmc.org.
[29] J. Yan, Y. Yang, R. Kowalczyk, and X. T. Nguyen, A service workflow
management framework based on peer-to-peer and agent technologies,
In Proc. of the International Workshop on Grid and Peer-to-Peer based
Workflows co-hosted with the 5th International Conference on Quality
Software, Melbourne, Australia, September 19 -21, 2005.
117