You are on page 1of 9

8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia

“Evaluation and optimization of innovative production systems of goods and services”

VERIFYING MOBILE AGENT BASED WORKFLOWS


IN REWRITING LOGIC

Faiza Bouchoul* and Mohammed Mostefai**

Laboratory of Automatics of Sétif (L.A.S)


Ferhat Abbas University
Sétif Algeria
*faizabouchoul@univ-setif.dz, **mostefai@univ-setif.dz

ABSTRACT: Traditionally, Workflow management systems (WfMS) support static processes which do not change
frequently. Modern workflows systems require a lot of flexibility i.e. the capability to react to changes in the workflow
during its execution and a great degree of adaptivity. The agent technology seems to be a good candidate to these
requirements. One solution is that the workflow enactment is done by a mobile agent. These systems are so complex
such as the usage of formal tools for verification, simulation and prototyping to facilitate their design and their
validation is essential and of great interest. In general, improved methods are needed to insure reliability, security and
robustness of different components of automated business processes systems such as workflows. The aim of this paper
is twofold: firstly we discuss the importance of applying agent technology to workflows and then a new formal method
based on rewriting logic is proposed to verify mobile agent based workflows and to enable their rapid prototyping.

KEYWORDS: flexible workflows, mobile agents, formal verification, rapid prototyping, rewriting logic, Maude.

1 INTRODUCTION The paper is composed of three main sections, section 1


will show how multi-agents technology can offer good
solutions for modern workflow systems. Since these
The enterprise activities are generally governed by a systems are so complex formal verifications seem in our
business process. A business process can be seen as a sense essential; in section 2 and 3 rewriting logic is
flow of related activities that together create a service or used to specify and verify in a very simple manner
a product. A workflow is an automation of the business mobile agent based workflow enactment.
process. Traditionally, Worflow management systems
(WfMS) are used to support static processes, i.e., 2 AGENTS BASED WORKFLOWS.
processes which do not change frequently. When a
workflow is assumed to act in mobile environments, it is The agent technology seems to be a good candidate to
said a mobile workflow. Mobile workflows extend the handle efficiently modern workflow systems
main business process of the enterprise, since the latter requirements. The multi-agent system has some
incorporates the functionalities of the first within its own common characteristics, such as distribution, autonomy,
processes out of the traditional boundaries of the interaction and openness, which are helpful to transform
organization. The main restrictions of mobile devices for traditional architectures into a distributed and
the execution of workflow tasks are essentially limited cooperative architecture in an intelligent manufacturing
bandwidth, limited resources such as CPU power and system ( Guo and Zhang 2009).
memory and limited energy supply; so that and in most
cases the performances of mobile applications is greatly In practice an agent-based workflow is a workflow in
restricted due to architectural and design considerations which agents perform, coordinate, and support the whole
and thus very subject to frequent failures. In such workflow or parts of the workflow. An agent-based
environments, mobile workflows not only inherit the WfMS is a set of software agents that manage and
wireless technologies weakness but also are often coordinate the flow of work defined by a business
Internet-based so that mobile users periodically become process (Odgers et al. 1999). Using agents to perform
unavailable due to the lack of network service WfMS functions is an emerging field where researchers
guarantees. The result is limited or very difficult are exploring the ability of agents to improve process
business information access and activity coordination. integration, interoperability, reusability and adaptability,
some examples of works proposing agents solutions for
The obvious and general consequence is that traditional workflows issues are (Stormer 2000); (Huang et al.
centralized WfMS have not been designed for dynamic 2006); (Trappey et al. 2004); (Kuo 2007); (Xu and
environments requiring adaptive situation induced by Wang 2002); (Zhuge 2003); (Madhusudan 2005) and
new business requirements and sometimes by mobility. (Filho et al. 2003).
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia
“Evaluation and optimization of innovative production systems of goods and services”

A mobile worker agent (M-Worker): the M-Worker is a


In Bouchoul and Mostefai (2007) and Bouchoul and mobile agent that enacts effectively the workflow. To
Mostefai (2009a) MOBIFLEX a generic architecture for enact the workflow the WF-Manager sends an
mobile workflows is proposed. This architecture M-Worker to execute it. The agent carries with him an
integrates mobile agents, static agents with intelligent itinerary which offloads the execution sequence for tasks
capabilities and Web-Services, since these new The WF-Manager can launch multiple mobile agents for
technologies when put together can generate a flexible, a given workflow which are not dependent upon each
reconfigurable, adaptive and integrable framework to other and can, therefore, be executed in parallel. As an
fulfil easily requirements of mobile workflows. The applicative area for MOBIFLEX, the healthcare domain
architecture is empowered by a fault-tolerance was chosen (Bouchoul and Mostefai 2009b), healthcare
mechanism and validated analytically through a information systems (HCIS) are complex,
performance analysis which proves that mobile agent heterogeneous, and naturally mobile.
based workflows outperform centralized ones in time
consuming and network load (Bouchoul and Mostefai 3 THEORETICAL BACKGROUND : THE
2009b). This architecture is implemented on REWRITING LOGIC.
JadeLeap/Jadex platform. As shown in Figure. 1, the
architecture proposed is composed of three types of The rewriting logic (Meseguer 1992) is chosen as the
agents. basis of the formal framework proposed here since this
logic is a very a powerful unifying paradigm of most of
formal models of concurrency. Rewriting logic is a
computational logic that can be efficiently implemented
and that has good properties as a general and flexible
logical and semantic framework, in which a wide range
of logics and models of computation can be represented.
In particular, for programming language semantics
(Şerbănuţă et al. 2009).

3.1 Rewriting logic semantics.

Although the rules of rewriting logic (Meseguer 1992)


(Meseguer and Rosu 2007) resemble those of equational
logic, their meaning is very different; rewriting logic is a
logic to reason about changes in a concurrent system, not
about equalities. Each rewrite rule is a general pattern for
a basic action that can occur concurrently with other
actions in a concurrent system. The models of rewriting
logic are precisely concurrent systems whose state is
distributed and can change by actions taking place
simultaneously.
Figure 1. MOBIFLEX architecture.
The rewriting logic is nothing but a generalization of
equational logic in order to adapt it to changes
A workflow manager (WF-Manager): the WF-Manager (Meseguer 1992). The rules are similar to those of
is the core component of the mobile workflow engine on equational logic but have a completely different
the mobile device. The WF-Manager in this scenario significance. A rule T  T’ do not mean any more T
takes full responsibilities of an WfMS, which means equal T’ but T becomes T’. The rule is a basic action
that it has possibilities to enact and oversees its allowing the transition of the system from one state to
workflow. another. The rewriting logic describes the changes of the
system so that the state is represented by an algebraic
An agent planner (PL-Agent): It is an intelligent agent term, the transition becomes a rewriting rule and the
which resides on the static server. IA mechanisms and distributed structure, an algebraic structure modulo a set
performances metrics can be used by the agent planner of axioms E. Syntax in logic of rewriting is given by a
to choose the most appropriate and most coherent
signature ( ,E) where  is a set of functions and E a
sequences of Web services composing the workflow to
set of axioms. A rewriting theory T=(Σ, E, L, R) in
be enacted. When the WF-Manager is initiated by the
rewriting logic is composed of a signature (,E) and by
user by a specific request, it sends the request to the PL-
a set of labelled rules R with labels in L. These rules
Agent that returns details of the workflow susceptible to
describe the behaviour of the system and the rewritings
achieve the goal.
are performed on the classes of equivalences of the
terms modulo the axioms E.
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia
“Evaluation and optimization of innovative production systems of goods and services”

In practice a theory of rewriting T=(Σ, E, L, R) can be This rule has no meaning in rewriting logic because
used as an executable specification allowing a rapid changes in time are irreversible.
prototyping of the modelled system and its checking.
3.2 The MAUDE Language.
The states of the system are specified as algebraic data
types, the basic changes which may occur in the system MAUDE (Duran and Meseguer 2007) is a fully reflective
and in parallel are specified by rewriting rules, the set of programming language and development environment
axioms E capture the structural properties of the system, based on rewriting logic and its equational logic
a possible state of the system is represented by an sublanguage to specify formal executable environments.
equivalence class  t  of a term t
modulo the structural The reflective nature of rewriting logic allows MAUDE
axioms E . programs to define their own syntax, operations, and
Given a rewrite theory R, we say that R entails a data types to model the behaviour of concurrent systems.
Full MAUDE is an object-oriented formal language
sequent  t    t  and write
derived from MAUDE. In Full MAUDE a class defines
the structure of an object, and objects are specific
R   t    t  if and only if  t    t  can be obtained instances of a class.
by finite application of the following rules of deduction :
A class consists of a class identifier (Cid), which is a
Reflexivity. sort, and a list of attributes that are sorts, including class
or object identifiers. Classes also support multiple
  t   T , E ( X )
inheritance with subclasses that inherit all the attributes
of parent classes.

t   t  class C | attribute1: Sort1, … , attributen: Sortn .


< Oid_Name : C | attribute1: variable1, … , attributen:
Congruence. variablen >
msg syntax : Oid Sort1 Sortn -> Msg .
For each f (function symbol)  n n IN
Each object has an object identifier (Oid), a class
identifier, and a list of attributes. Each message type has
 t1    t '1 ... t n    t 'n  a name and a list of arguments.
The configuration is the distributed state of the
 f (t 1,...,t n )   f (t '1,...,t 'n ) concurrent object-oriented system and is represented as a
multiset of objects and messages according to the
following syntax:
Replacement.
subsorts Object Message < Configuration .
For each rewrite rule op -- : Configuration Configuration => Configuration
(assoc comm id: )
r :  t ( x )    t ' ( x ) we have
Where the operator -- is associative and commutative
 w1    w1  ...  wn    wn  with identity . The system evolves by concurrent
rewriting (modulo ACI) of the configuration by means of
 t ( w / x)   t ' ( w  / x) rewrite rules specific to each particular system, whose
left-hand and right-hand sides may in general involve
patterns for several objects and messages.
Rewrite rules in Full MAUDE transition the system from
Transitivity. a configuration of objects and messages to a new
configuration of objects and messages, so that they
 t1    t 2   t 2   t 3  define all the possible transitions for the concurrent
system.
 t1    t3  In MAUDE, the general form required of rewrite rules
used to specify the behaviour of an object-oriented
Notice that equational logic is obtained by adding the system is as follows:
next symmetry rule
  m1 ,..., m n < O1: C1 / atts1 > ... < O m:

 t    t  Cm / attsm > =>


 t    t  < Oi1: Ci1 / attsi1 > ... < Oik: Cik / attsik >
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia
“Evaluation and optimization of innovative production systems of goods and services”

"
< Q1: D1 / atts1 > … < Op: Dp / The workflow enactment in MOBIFLEX is performed
by an M-Worker which is a mobile worker. In this work
atts"
p > m1' ,..., m 'q if C a particular interest is given to the behaviour of the
mobile agent when enacting the workflow; i.e. when
pursuing its itinerary.
where the m1,…,mn are message expressions,
O1,…,On ; Oi1, … ,Oik and Q1,…, Qn are objects such as 4.1 related works.
{ Oi1, … ,Oik }  { O1,…,On  }
In literature, only few works dealing with formal
C is the rule’s condition. A rule of this kind expresses a specification of mobile agents migrations can be found.
communication event in which n messages and m
distinct objects participate. The outcome of such an In Ling and Loke (2002) the authors discuss how
event is as follows: mobile agent enabled interorganizational workflows can
be usefully modelled using advanced Petri Net
 The messages m1,. . . , mn disappear; techniques such as Interorganizational Workflow Nets.
 The state and possibly even the class of the This model provides a means to verify the correctness
objects Oi1, … ,Oik may change; (and, so the viability) of the itineraries of agents used in
 All other objects vanish; enacting interorganizational workflows. the authors used
 New objects Q1,…, Qn are created ; the a special class of Petri nets, called Workflow nets

m1' ,..., m'q


(WF-nets) (Aalst 1997), workflow concepts are
 New messages are sent.
modelled by Petri net elements (places and transitions).

4 VERIFYING MOBILE AGENT BASED In Ferreira et al. (2004) the paper presents results of a
WORKFLOW ENACTMENT IN REWRITING performance comparative study of the three mobile
LOGIC. agents design patterns presented in Ferreira et al. (2003).
The Itinerary, Star-Shaped and Branching migration
This section tries to propose a formal framework for patterns were investigated as solutions to a distributed
specifying and verifying mobile agents based workflows, information retrieval system. The itinerary assumes the
where the enactment is performed by mobile agents. migration of the agent over a sequence of hosts to do a
MOBIFLEX as shown above is a typical example of such given job and then return back to the source agency. In
systems, the workflow enactment can be seen as a the Star-Shaped pattern, the agent migrates to the first
complex combination of mobile agents moving over a destination agency in the list, executes the relevant job
set of nodes where reside Web-Services, these Web- and comes back to the source agency, the agent repeats
Services can be simple ones or composite ones i.e. BPEL this cycle until the last agency on its list is visited. In the
processes. Figure 2 shows the two layers of MOBIFLEX Branching pattern, the agent clones itself according to
architecture, a static service oriented layer (called here the numbers of agencies in the defined itinerary, each
the SO_Layer) is the Web-Services platform of the clone migrates to one agency, executes its job and
enterprise, and a dynamic layer obtained by a notifies the source agency when the job is completed.
reconfigurable and very flexible workflow enactment The three solutions were modelled with timed Coloured
patterns to be performed by mobile agents over the Petri Nets.
static layer (called the MA_Layer).
In Satoh (2004), the paper an agent itinerary
specification language is defined, the specification
language is basically inherited from those of existing
process algebras, e.g., CCS and π-calculus, because,
according to the authors, they provide well-studied
foundations.

In Lu and Xu (2005) an other itinerary language, MAIL,


is introduced to model the mobile behaviour of
proactive agents. The language is structured and
compositional so that an itinerary can be constructed
recursively from primitive itineraries. Special constructs
to support the specifications of different kinds of
itineraries are provided: sequential, conditional,
concurrent, and loop itineraries. The operational
Figure 2. The two abstract layers of MOBIFLEX semantics of the language is defined in terms of a set of
inference rules. MAIL is amenable to formal methods to
architecture.
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia
“Evaluation and optimization of innovative production systems of goods and services”

reason about mobility and verify correctness and safety


properties. Example the next graph (figure 3), shows in an abstract
manner a complex itinerary built by composing atomic
In Yang et al. (2006) The authors present a new itineraries by the constructs listed above.
approach to ensure the secure execution of itinerary-
driven mobile agents, in which the specification of the This itinerary can be described by the next algebraic
navigational behaviour of an agent is separated from the expression
specification of its computational behaviour. Each host   Aa 3  Asa55  
Asnil0  Asa11  Asa22   sa34 
is empowered with an access control policy so that the   A   Aa 6  Aa 7   Aa 8  
host will deny the access from an agent whose itinerary  s4 s6 s7 s8 

does not conform to the host’s access control policy. A


host uses model checking algorithms to check if the
itinerary of the agent conforms to its access control
policy written in μ-calculus.

In Peschanski et al. (2007) the goal was to provide both


a specification language to model and support reasoning
about the coordination of mobile agent systems, and an
executable language to control their deployment and
operation at runtime. Agents can migrate and thus “hop”
from host to host in order to perform distributed
computations. This is modelled through the π-calculus
notion of channel mobility.

4.2 An Algebra of itineraries for the MA_Layer.

This proposition is based on the algebra of itineraries


proposed in Loke et al. (1999) modified and enhanced
with an operational semantics (next paragraph) in term
of rewriting logic rules.

Let {A{i}*} where {i}* denotes strings of integers


identifying an agent or a clone of an agent be a finite set
of mobile agents. For generating names for agents and
their clones the following assumption is done: When an
agent A{i} is cloned k times, its clones are named A{i}1, …
, A{i}k.
Figure 3. An example of an M-Worker itinerary.
Let A ={a1,a2 , … ,an} be a finite set of activities and S
={s1,s2 , … ,sn} a finite set of sites to be visited.
Itineraries (denoted by I) are formed as follows
representing the null activity, atomic activity, parallel, 4.3 Formal patterns for Mobile agent based
sequential, nondeterministic, conditional workflows.
nondeterministic behaviour, and have the following
syntax:  An approach that can simplify and improve the
 The null activity :  development of workflows based on mobile agents are
a the use of design patterns similar to classical workflow
 The atomic activity, As which means the
patterns (Aalst et al 2003 ). The use of design patterns is
agent A moves to site s and executes the action a an approach to improve the development process of
 The parallel behaviour : I  I’  which means applications and the quality of the final products. Some
the itinerary I in parallel with the itinerary I’  mobile agent design patterns have already been proposed
 Sequential behaviour : I  I’ which means although for other purposes than workflows : (Aridor
itineray I then the itinerary I’  and Lange 1998); (Kendal et al. 1998); (Tahara and
 Nondeterministic behaviour : I  I’  which Ohsuga 2001); (Ojha et al. 2007); (Al-Shrouf 2008) and
means I or I’  (Ferreira et al. 2003).
 Conditional nondeterministic behaviour :
I I ' In Loke et al. (1999) it is shown that itineraries are
which means if condition c is true then associative with an element identity , so it is easy to
c
I else I’ , c is a Boolean expression. conclude that itineraries are a special case of strings
rewriting theory modulo a set of axioms E=AI. This
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia
“Evaluation and optimization of innovative production systems of goods and services”

section proposes a rewriting logic based operational respectively s1,s2 and s3 ; this can be expressed as
semantics in term of MAUDE rules. The configuration is follows: As 0  As1  As 2  As 3
nil a1 a2 a3

in this case a set of agents and messages, messages will


This sequence can be modelled in MAUDE like this
be used to mark important steps of the workflow such as
the achievement of activities.
<A: MWorker| s:s0, a: nil>=>
<A: MWorker|s: s1, a: a1>
Additionally two sets (Site) for places to be visited by
<A: MWorker| s:s1, a: a1>=>
the M-worker and (Activity) for the activities to be
<A: MWorker|s: s2, a: a2>
performed by the M-Worker are assumed to be
<A: MWorker| s:s2, a: a2>
predefined. A class M-Worker with two attributes :
 <A: MWorker|s: s3, a: a3>
'site' and 'activity' is also defined. A mobile agent will be
specified by the term < A:MWorker s:s0 , a:a0>
which at the right-side of a rule means : The M-Worker
A moves to the site s0 to perform the activity a0, and at 4.3.3 Parallel composition.
the left-side of a rule it means that the activity a0 is
already performed by the agent A in the side s0. The Two itineraries composed by "" are executed in
parallel. As1  As 2 means that the agent A has to
a1 a2
activity a0 is essentially built upon the invocation of a
Web-process. Since the aim of the study is the perform activities a1 in site s1 and a2 in site s2
behavioural aspect of the workflow enactment and for concurrently. Parallelism imply cloning of agents. Since
the sake of simplicity, the state of the agent is not taken agent A has to perform actions at both s1 and s2 in
into account. It can be modelled in MAUDE easily by a parallel. The agent A is assumed in site s0 and have to
set of additional attributes.
perform the itinerary As 0  ( As1  As 2 )
nil a1 a2
A workflow instance enactment is performed by one
agent and starts at a source site and ends at a target
site, at intermediary steps, the agent may clone itself to The MAUDE rules for this itinerary are as follows :
perform some parallel tasks so that the configuration
may sometimes involve more than one agent. After <A: MWorker| s:s0, a: nil> =>
achieving parallel tasks, clones have to declone <A1: MWorker|s:s1, a:a1><A2: MWorker|s:s2,a: a2>
themselves so that the workflow terminate with only one <A1: MWorker| s:s1, a:a1><A2: MWorker| s:s2,a: a2>
agent which is exactly the original one who launches the => <A: MWorker| s:s0, a:nil>
workflow at the source site. In what follows the different
itinerary constructs are modelled as MAUDE rules. The second rule is the decloning rule , it may be used in
different manners and to represent different situations,
4.3.1 Agent basic Movement. the clones can before decloning themselves perform
complex itineraries, when these latter achieved they
Different cases have to be envisaged for agent declone themselves in a site which can one of the two
movements: sites from which the clones reside or a third site where
The agent is in site s1 with no activities to perform here the rebuilt agent can continue its itinerary.
and has to move to site s2 to perform activity a1
<A: MWorker |s:s1, a: nil>=> <A: MWorker|s: s2, 4.3.4 Nondeterministic behaviour.
a:a1>  
After achieving activity a1 in site s1, the agent moves to In this proposition the nondeterminism presented in
site s2 to perform activity a2 Loke et al. (1999) is extended to more than two
<A: MWorker| s1:site, a1: activity>=> <A: MWorker| choices, since MAUDE has an interleaving semantics,
s2:site, a2: activity> we can specify nondeterministic behaviour in a very
The agent have to perform sequentially two activities a1 natural manner, as example the next itinerary is
0  ( As1 As 2 As 3 ) .
assumed: Asnil a1 a2 a3
then a2 in the same site s1
<A: MWorker| s1:site, a1: activity>=> <A: MWorker|
s1:site, a2: activity> The MAUDE specification can be like this

<A:MWorker|s:s0,a:nil>=><A1: MWorker| s:s1, a:a1>


4.3.2 Sequential behaviour. <A: MWorker|s:s0,a:nil>=><A1:MWorker| s:s2, a:a2>
<A: MWorker|s:s0,a:nil>=><A1:MWorker| s:s3, a:a3>
The basic rule presented above can be used to specify a
sequence of more than one activity, so that for n steps (n Executing any rule of these three rules in a
sequential activities), n rules are necessary, for example nondeterministic manner will disable automatically the
an agent A is in a site s0 and have to perform two others.
sequentially 3 activities (a1,a2, a3) in three sites
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia
“Evaluation and optimization of innovative production systems of goods and services”

4.3.5 Conditional nondeterministic behaviour.


  In figure 6 we tried with a wrong specification (see
A conditional nondeterministic choice between two figure 5 for the itinerary graph ) where a decloning of
activities a1 and a2 can be for example expressed like two clones is omitted, the workflow is launched by an
this : M-Worker 'Sim' but at the last stage not only some
activities are not performed but we end the workflow
 A a1 Asa22  with two clones 'Sim1' and 'Sim2' rather than 'Sim'
Asnil0   s1  alone which is the initiator of the workflow.
 c 

Since MAUDE rules are conditional this expression can


be specified easily as follows:

<A: MWorker| s:s0, a: nil> =>


<A1: MWorker| s:s1, a:a1> if c
<A: MWorker| s:s0, a: nil> =>
<A1: MWorker| s:s2, a:a2> if not
c

4.4 Verifying in MAUDE.

Based on the operational semantics proposed above, the


Figure 5. A wrong itinerary for an M-Worker.
workflow of the example presented in figure 3 can be
verified in MAUDE, we used Maude for windows under
Eclipse, next listing (figure 4) is the source of the
specification in MAUDE as an object oriented module of
this workflow. MAUDE offers a number of commands
for verifying properties of the modelled system, the most
powerful are rewrite command and search command,
rewrite command causes a specified term to be rewritten
using the rules and equations, in the given module. In
this example we used the rewrite command to verify that
an enactment of the workflow of the previous example
by a mobile agent "Mos" is correct i.e. the correct
activities are performed in the right order and at the final
stage we have the original M-Worker that launched the
enactment at the home site (s0).

Figure 6. Verification in MAUDE of a wrong workflow


enactment.

REFERENCES

Aalst Van der, W.M.P. Ter Hofstede, A.H.M.


Kiepuszewski, B. Barros, A.P. 2003.
Workflow Patterns. Distributed and Parallel
Databases, 14(3), 5-51.
Aalst Van der, W.M.P. 1997. Verification of workflow
nets. In Proceedings of 18th International
Conference on Application and Theory of Petri
Nets. LNCS 1248, Springer-Verlag. 407–26
Figure 4. Verification in MAUDE of a mobile agent
Al-Shrouf, F. M. Facilitator Agent Design Pattern of
based workflow. Procurement Business Systems. 2008. 32nd
Annual IEEE International Computer Software
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia
“Evaluation and optimization of innovative production systems of goods and services”

and Applications Conference, compsac, 505- Business Process Management. International


510. Journal of Applied Artificial Intelligence.
Aridor Y. and Lange. D.B. Agent design patterns: 14(2), 145-189.
Elements of agent application design. 1998 In Kendall, E.A. Krishna, P.V.M. Pathak, C.V. and Suresh.
Proceedings of the Second International C.B. 1998. Patterns of intelligent and mobile
Conference on Autonomous Agents. ACM agents. Proceedings of the 2nd International
Press. Conference on Autonomous Agents (Agents’98),
Berry, G. and Boudol G. 1992: The Chemical Abstract New York. ACM Press.
Machine . Theoretical Computer Science . Kuo, M. H. 2007. An intelligent agent-based
96(1), 217-248. collaborative information security framework.
Bouchoul, F. and Mostefai, M. 2007. MOBIFLEX: Expert Systems with Applications. 32(2),
A Generic Architecture for Integrated M-Health 585–598.
Applications. in Proc. of IEEE: First Ling, S.Seng and Loke, W. 2002. Advanced Petri Nets
international conference on E-medical systems: for modelling mobile agent enabled
E-medisys’07 October 2007, FEZ Morocco interorganizational workflows. Proceedings of
Bouchoul, F. and Mostefai, M. 2009a. Agent-services Ninth Annual IEEE International Conference
and mobile agents for an integrated HCIS. and Workshop on the Engineering of
International Journal of Computer Integrated Computer-Based Systems, 8-11 April 2002 245
Manufacturing (IJCIM) Francis and Taylor – 252
editor. 22(5) 458-471 Loke, S. W. Schmidt H. and Zaslavsky  A. 1999.
Bouchoul, F. and Mostefai, M. 2009b. Validating Programming the Mobility Behaviour of Agents
MOBIFLEX: A Performance Analysis Model. by Composing Itineraries. Proc. of the 5th
to be presented in IEEE: International Asian Computing Science Conference on
conference on applied informatics ICAI'09 Advances in Computing Science. 214 – 226. 
Bordj Bou Arréridj Algeria. November 15-17 Lu, S. and Xu, C. 2005. A formal framework for agent
2009. itinerary specification, security reasoning and
Chandy K. M. and Misra J. 1988. Parallel Program logic analysis. 25th IEEE International
Design: a Foundation. Addison-Wesley, 1988. Conference on Distributed Computing Systems
Department of Computer Science, Washington Workshops. 6-10 June 2005 580 – 586
University, March 1988 Madhusudan T. 2005. An agent-based approach for
Duran F. and Meseguer J. 2007. MAUDE’s module coordinating product design workflows.
algebra. Science of Computer Programming. Computers in Industry. 56(3) 235–259.
66(2), 125-153. Meseguer, J. and Rosu, G. 2007. The Rewriting Logic
Ferreira de Araújo Lima, E. Duarte de Lima Machado, P. Semantics Project. Theoretical Computer
Abrantes de Figueiredo J. C. and Ronison Science. 373(3), 213-237.
Sampaio, F. 2003. Implementing Mobile Meseguer, J. 1992. Conditional rewriting logic as a
Agent Design Patterns in the JADE framework. unified model of concurrency. Theoretical
In Special Issue on JADE of the TILAB Journal Computer Science. 96(1) 73-155.
EXP.   Odgers, B. R. Shepherdson J. W. and S. G. Thompson.
Ferreira de Araujo Lima, E. de Figueiredo, J. C. A. 1999. Distributed workflow co-ordination by
Guerrero, D. D. S. 2004. Using Coloured Petri proactive software agents. Proc. of intelligent
Nets to Compare Mobile Agent Design workflow and process management, IJCAI-99
Patterns. Electronic Notes in Theoretical Workshop.
Computer Science 95 287–305. Ojha, A. C. Pradhan  S. K. and Patra M. R. 2007.
Filho, R. S. Wainer, J. and Madeira, E. R. M. 2003. A Pattern-Based Design for Intelligent Mobile
Fully Distributed Architecture for Large Scale Agents.  4th International Conference on
Workflow Enactment. International Journal of Innovations in Information Technology. 18-20
Cooperative Information Systems. 12(4), Nov. 501-505
411-440. Peschanski, F. Darrasse, A. Guts, N. Bobbio, J. 2007.
Guo, Q. and Zhang, M. 2009. A novel approach for Coordinating mobile agents in interaction
Multi-Agent-Based Intelligent Manufacturing spaces. Science of Computer Programming. 66
System. Information Sciences. 179(18), 3079- 246–265
3090. published online may 2009 Satoh, I. 2004. Selection of mobile agents. Proceedings.
Huang, C. J. Trappey A. J. C. and Yao, Y. H. 2006. 24th International Conference on Distributed
Developing an agent-based workflow Computing System. 484 – 493
management system for collaborative product Şerbănuţă, T.F. Roşu G. and Meseguer J. 2009. A
design. Industrial Management and Data rewriting logic approach to operational
Systems. 106(5) 680–699. semantics. Information and Computation,
Jennings, N. R. Norman, T. J. Faratin, P. O’Brien, P. 207(2), 305-340.
Odger, B. 2000. Autonomous Agents for
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia
“Evaluation and optimization of innovative production systems of goods and services”

Stormer H. 2000. Task Scheduling in Agent-Based WFMC 99. 1999. Workflow Management Coalition
Workflow in Proceeding of International ICSC Terminology and Glossary [online]. Document
Congress on Intelligent Systems and Number WFMC-TC-1011. Available from
Applications (MAMA'2000: Multi-Agents and http://www.wfmc.org/standards/docs/TC-
Mobile Agents in Virtual Organizations and E- 1011_term_glossary_v3.pdf [Accessed date
Commerce). December 11-13, Wollongong, mars 09].
Australia Xu, D. and Wang, H. 2002. Multi-agent collaboration
Tahara Y. and Ohsuga  A. Behaviour Patterns for for B2B workflow monitoring. Knowledge-
Mobile Agent Systems from the Development Based Systems. 15(1) 485–491.
Process Viewpoint . 2001. Proc. of the 5th Yang; Z. Lu, S. Yang, P. 2006. Runtime Security
International Symposium on Autonomous Verification for Itinerary-Driven Mobile
Decentralized Systems, 239 – 242. Agents. 2nd IEEE International Symposium on
Trappey, A. J. C. Trappey, C. V. Hou, J. L. and Chen, Dependable, Autonomic and Secure Computin.,
B. J. G. 2004. Mobile agent technology and 177 – 186.
application for online global logistic services. Zhuge, H. Workflow and agent-based cognitive flow
Industrial Management and Data System. management for distributed team cooperation. 2003.
104(2) 169–183. Information and Management. 40(1) 419–429

You might also like