Resource Workflow Nets: A Petri Net Formalism for
Workflow Modelling
Oana Otilia Prisecaru
Faculty of Computer Science, ”Al. I. Cuza” University
Gen. Berthlot St, No 16,
740083 Iasi, Romania
Abstract. A workflow is the automation of a business process that takes place
inside one organization. While most of the formal approaches to workflow mod-
elling consider only the process perspective, we propose a Petri net model which
integrates both the process and the resource perspective. The paper introduces
a special class of nested Petri nets, resource workflow nets (RWFN-nets), which
unifies the two perspectives into a single model. Unlike other models, RWFN-nets
permit a clear distinction between the perspectives, modelling efficiently their in-
teraction, and ensure the flexibility of the system. The paper also defines a notion
of behavioural correctness for RWFN-nets, soundness, and proves this property
is decidable.
1 Introduction
Over the last few years workflow technology has developed rapidly and has been in-
creasingly used in many large organizations. A workflow is a complex process, consist-
ing of activities organized in order to accomplish some goal. A workflow is structured
into several perspectives, among which we mention: the process perspective - specifies
which tasks need to be executed and in what order; the resource perspective - specifies
the population in which the workflow is executed (the resources) and the existing roles
(resource classes based on organizational or functional aspects).
A formal method which has been successfully used for workflow modelling is Petri
nets. Most of the current researches have been focused on the modelling of the process
perspective of workflows. A Petri net model for workflows, which includes resources,
can be found in [5, 6] where special places are used for representing resources in the pro-
cess perspective. While the resource perspective is represented in a simplistic manner,
this approach defines and studies a soundness notion for workflows. A more detailed
view on the resource perspective is offered in papers like [11,12], where coloured Petri
nets are used in order to model a work distribution system, but no correctness notion is
discussed.
The main problem with the approaches described above is that they either model
the resource perspective in a simplistic manner, or they fail to solve verification prob-
lems for workflows. Also, there is an unclear mixture of perspectives, which can make
workflow specifications difficult to understand, analyze and work with.
Otilia Prisecaru O. (2007).
Resource Workflow Nets: A Petri Net Formalism for Workflow Modelling.
In Proceedings of the 5th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems, pages 11-20
DOI: 10.5220/0002421000110020
Copyright
c
SciTePress
In order to tackle these problems, this paper proposes a special class of nested Petri
nets, which will be used for the integrated modelling of the process and of the resource
perspective of workflows, permitting a clear distinction between them. Nested Petri
nets, which were introduced in [8], are a special class of the Petri net model, in which
tokens may be nets themselves (object-nets). Resource workflow nets (RWFN-nets) are
introduced as a special case of two-level nested Petri nets, in which the two perspectives
are modelled as two separate object-nets: one object-net is a Petri net which models the
resource perspective and the other is a Petri net which models the process perspective.
The dynamic behaviour of the RWFN-net ensures the collaboration between perspec-
tives.
For the modelling of the process perspective we will use extended workflow nets,
a slightly modified version of workflow nets, introduced in [1]. In order to model the
resource perspective we introduce resource nets, a Petri net model which will be able
to describe the existing resources and roles, the allocation of resources to specific roles
(according to predefined rules) and the release of resources from roles. The two object-
nets synchronize whenever a task from the workflow net uses a role of the resource net
and they behave independently otherwise. The paper also introduces a notion of be-
havioural correctness for RWFN-nets, soundness, and proves this property is decidable.
In what follows we will give the basic terminology and notation concerning work-
flow nets, a Petri net formalism which has been used for modelling the process per-
spective of workflows (for details the reader is referred to [1]). We assume the reader is
familiar with the Petri net terminology and notation.
In the process perspective, the workflow processes are instantiated for a specific case
(or workflow instance). In [1] a special class of Petri nets is introduced for modelling
the process perspective: workflow nets (WF-nets). A WF-net will specify the procedure
that handles a single case at a time. A WF-net is a Petri net which has two special
places: one source place, i, and one sink place, o. The marking in which there is only
one token in the source place represents the beginning of the life-cycle of a case (and the
initial marking of the net, denoted by i). The marking in which there is only one token
in the sink place, represents the end of the procedure that handles the case (and the final
marking of the net, denoted by o). An additional requirement is that there should not
be conditions and tasks that do not contribute to the processing of the case. The two
conditions are expressed formally as follows:
A Petri net PN=(P,T,F) is a WF-net iff: (1) PN has a source place i and a sink place
o such that i = and o = . (2) If we add a new transition t
to PN such that
t
= {o} and t
= {i}, then the resulted Petri net is strongly connected.
A marking of a Petri net (and of a WF-net) is a multiset m : P IN (where IN
denotes the set of natural numbers). We write m = 1
p
1
+ 2
p
2
for a marking m with
m(p
1
) = 1, m(p
2
) = 2 and m(p) = 0, p P {p
1
, p
2
}.
The remain of the paper is organized as follows: Section 2 introduces the definition
of resource nets, Section 3 defines RWFN-nets, Section 4 defines and studies the sound-
ness property for RWFN-nets, Section 5 presents a short example of a RWFN-net and
Section 6 concludes the paper.
12
2 The Modelling of the Resource Perspective Using Petri Nets
This section introduces a Petri net model for the resource perspective. This perspective
centers on the modelling of resources and their interaction with the process perspective.
There is a limited number of resources available for executing the tasks of the workflow.
A task that needs to be executed for a specific case is called a work item. Each work
item should be performed by a resource suited for its execution. In order to facilitate
the better allocation of resources to work items, resources are grouped into roles. Thus,
instead of assigning work items directly to resources, work items will be assigned to
certain roles. This way (pattern) of representing and using resources is called ”role-
based allocation” ([7,10,12]).
A role, also referred to as a resource class, is a group of resources with similar
characteristics. We consider that each resource has a general type. A resource can have
more roles (at different moments in time) and each role can be performed by several
resources of different types ([7]).
In our model, for each role one must specify the set of resource types that can be
mapped onto that role. Based on these rules (which are specified at design time), the
system will be able to allocate dynamically resources to the appropriate roles. Thus, a
specification for the resource perspective consists in the following elements:
- A set of resource basic types: RT = {T ype
1
, . . . , T ype
n
}. For each type T ype
i
, i
{1, 2, . . . , n} there is a number n
i
of resources of that type.
- A set of roles, RO = {Rol e
1
, Role
2
, . . . , Role
m
}.
- For each role r RO, res(r) represents the resource types which can be assigned to
the role (res(r) RT ).
Given the elements above, a resource net RN = (P
RN
, T
RN
, F
RN
) can be defined
as follows:
P
RN
= P
RT
P
ROLE
P
where:
P
RT
= RT , P
ROLE
= RO.
P
= {R
ki
|Role
i
RO, T ype
k
res(Role
i
)}.
T
RN
= {assign
ki
, release
ik
|Role
i
RO, T ype
k
res(Role
i
)}.
F
RN
= {(T ype
k
, assign
ki
), (assign
ki
, Role
i
), (assign
ki
, R
ki
), (R
ki
, release
ik
),
(Role
i
, release
ik
), (release
ik
, T ype
k
)|Role
i
RO, T ype
k
res(Role
i
)}.
In the resource net, P
RT
corresponds to the set of resource types and P
ROLE
corre-
sponds to the set of roles. For each role Role
i
and for each resource type T ype
k
res(Role
i
) the following elements are added to the net (see Fig. 1): a place R
ki
, which
will be used for the proper release of resources; a transition assign
ki
which moves a
resource from T ype
k
to role Role
i
; a transition release
ik
which releases the resources
of type T ype
k
, assigned to Role
i
, when they are not needed any longer. In the initial
marking of the net, in every place T ype
i
, there will be a number of tokens equal to the
number of resources of that type.
One can notice that the Petri net model we propose abstracts from the interaction with
the process perspective. In the next section, for every task in the workflow that needs the
role Role
i
for its execution, a new transition will be added to the resource net (transition
use
i
in Fig. 1).
13
Type_k
assign_ki
release_ik
use_iRole_i
R_ki
Fig.1. A resource workflow net in its initial marking.
3 The Definition of Resource Workflow Nets
This section introduces a special class of nested Petri nets, which will model a workflow
which incorporates both the process perspective and the resource perspective.
We define, first, extended workflow nets, an extension of the WF-nets defined in
Sect. 1.
Definition 1. Let W F = (P, T, F ) be a WF-net. The extended WF-net is W F
=
(P, T
, F
), where T
= T {t
} and F
= F {(o, t
)}.
Nested Petri nets are high level Petri nets which can have as tokens ordinary Petri nets.
A nested Petri net consists of a system net (a high level Petri net with expressions on
arcs) and object Petri nets.
Definition 2. A Resource Workflow Net is a two-level nested Petri net
RW F N = (V ar, Lab, (W F
, i), (RN, m
0
), SN, Λ, Role) such that:
1. V ar = {x, y} a set of variables.
2. Lab - a set of net labels.
3. (W F
, i), (RN, m
0
) are the token (object) nets:
(W F
, i) is an extended workflow net with its initial marking.
(RN, m
0
) is a resource net with its initial marking.
4. SN = (N, W, M
0
) - the system net of RWFN, such that:
N = (P, T, F ) is a high level Petri net such that
P = {I, p, O}, where O is a place such that O = and I is a place such
that I = .
T = {end}.
F = {(I, end), (p, end), (end, O)}.
M
0
is the initial marking of the net, in which there exists a single atomic token
in place I and the place p contains the pair ((W F
, i), (RN, m
0
)).
W is the arc labelling function: W (I, end) = 1, W (p, end) = (x, y),
W (end, O) = 1.
5. Λ is a partial function which assigns to certain transitions from the nets W F
, RN,
SN , a label from the set Lab, and Λ(end) = e, Λ(t
) =
e.
6. Role is a partial function which assign to every labelled transition t from W F
(t 6= t
) a role from RN such that: if Λ (t) = l and Role(t) = Role
i
then there
exists a transition t
in RN with Λ(t
) = l and (t
, Role
i
), (Role
i
, t
) are arcs in
RN .
14
There are only two object-nets in a RWFN-net: (W F
, i) is an extended workflow Petri
net and (RN, m
0
) is the resource net which describes the resource perspective. Vari-
ables x and y will be assigned a certain value at runtime: each variable can take as value
an object-net in a certain marking. The system net, SN , is a high level Petri net. Tokens
in SN can be atomic tokens, without inner structure, or net-tokens (the two object-nets).
W is a function that assigns to each arc in SN an expression. In RWFN-nets, an ex-
pression can be either the pair (x, y) or the constant 1. Λ is a partial function that labels
transitions from the two object-nets and the transition of the system net. The labelled
transitions from W F (the underlying WF-net of W F
) represent the tasks that need
roles from the resource net. Role is a partial function which assigns to every task (la-
belled transition) t in W F , a role Role
i
from the resource net. This function designates
the role that can execute this task.
A workflow is modelled using RWFN-nets in the following manner: first, the pro-
cess perspective (the tasks that need to be executed and their order of execution) is
modelled using an extended WF-net. The resource perspective is modelled separately
using a resource net. For each task that needs a certain role for its execution, a new tran-
sition is connected with the place corresponding to that role, in the resource net. The
task and the added transition have the same label. A simple example of a RWFN-net is
presented in Fig. 2.
We denote by A
net
the net tokens of the RWFN-net:
A
net
= {(W F
, m
1
), (RN, m
2
) / m
1
is a marking of W F
, m
2
is a marking of RN }.
A marking of a RWFN-net is a function such that: M (I) and M (O) are natural
numbers, M(p) A
net
× A
net
. We write M as a vector M = (M(I), M (p), M (O)).
Definition 3. A binding (of transition end) is a function b : V ar A
net
.
Definition 4. Transition end from the system net SN of a RWFN-net is enabled in a
marking M w.r.t. a binding b if and only if:
q end : W (q, end)(b) M (q), where W (q, end)(b) is the arc expression of the
arc (q, end) evaluated in binding b.
The firing of end produces a new marking, M
: M [end[b]iM
, such that, for every
place q: M
(q) = (M (q) W (q, t)(b)) W (t, q)(b).
There are three types of steps in a RWFN-net:
Definition 5. A vertical synchronization step:
If transition end is enabled in a marking M w.r.t. a binding b and t
is enabled in the
object-net W F
, then the simultaneous firing of end and t
is a vertical syncronization
step.
This step removes the two object-nets from p. In the resulting marking, M
, there is only
one atomic token in place O. We write M [end[b]; t
iM
.
Definition 6. An object - autonomous step:
Let M be a marking of a RWFN-net and (α
1
, α
2
) a pair of tokens from p. Let α
i
be
one of the two object-nets (i {1, 2}) α
i
= (W F
, m) or α
i
= (RN, m). Let t be a
transition in α
i
such that t is enabled in marking m, Λ(t) is undefined and m[tim
(i.e.
the firing of t, by the firing rule from the classical Petri nets, produces a new marking
m
in α
i
).
15
Let M
be a marking of the RWFN-net obtained from the old marking M by re-
placing in the tuple (α
1
, α
2
) from M (p) the net token α
i
with the net token α
i
, where
α
i
= (W F
, m
) or α
i
= (RN, m
). We write: M [; tiM
.
M’ is a marking of the RWFN-net obtained from M by the firing of a local transition in
one of the object-nets. We notice that none of the object nets are moved from the place
p.
Definition 7. A horizontal synchronization step:
Let M be a marking of RWFN and (α
1
, α
2
) a tuple of net-tokens from p. Assume, for
instance, that α
1
= (W F
, m
1
), α
2
= (RN, m
2
). Let t
1
be a transition in WF such
that m
1
[t
1
im
1
(by means of classical Petri nets) and Λ(t
1
) = l. Let t
2
be a transition
in RN such that m
2
[t
2
im
2
(by means of classical Petri nets) and Λ(t
2
) = l, l Lab.
The synchronous firing of t
1
and t
2
is called a horizontal synchronization step.
The resulting marking, M
, is obtained from M by replacing the net tuple (α
1
, α
2
) from
place p with tuple (α
1
, α
2
), where α
1
= (W F
, m
1
), α
2
= (RN, m
2
). We write:
M[t
1
; t
2
iM
.
M
is the marking obtained by the simultaneous firing of t
1
in (W F
, m
1
) and t
2
in (RN, m
2
), while both object-nets remain in the same place of SN .
A firing sequence from M to M
is a sequence of steps Y
1
, . . . , Y
n
such that
M[Y
1
iM
1
[. . . [Y
n
iM
. If there is a firing sequence from M to M
we can write M[∗iM
or M
M
. We say M
is reachable from M and write M
[M i.
i
o
t’e
e
p
I
role_k_in_use
l
l
( )
WF’
RN
SN
task t
Type_i
Role_k
assign_ik
release_ki
O
end
R_ik
Fig.2. A resource workflow net in its initial marking.
4 The Soundness of Resource Workflow Nets
In this section we will introduce a notion of soundness for RWFN-nets.
A notion of soundness was defined for WF-nets, expressing the minimal conditions
a correct workflow should satisfy ([1, 4]). An extended workflow net W F
is sound if
the underlying WF-net is sound.
16
Definition 8. A workflow net WF = (P, T, F) is sound iff:
1. For every marking m reachable from the initial marking i, there exists a firing
sequence leading from m to the final marking o (termination condition):
(m)((i[∗im) = (m[∗io)).
2. Marking o is the only marking reachable from state i with at least one token in
place o: (m)((i[∗im) m o) = (m = o)).
3. There are no dead transitions in WF: (t T )(m, m
)(i[∗im[tim
).
We will consider the final state for a RWFN-net, a marking M
f
, in which there is
only one atomic token in place O: M
f
= (0, 0, 1). A RWFN-net is sound if: (1) W F
is
sound and (2) for any reachable marking of the RWFN-net, M [M
0
i, there is a firing
sequence that leads to M
f
.
We can define formally the notion of soundness for a RWFN-net as follows:
Definition 9. A RWFN-net RW F N is sound if and only if:
1. (W F
, i) is a sound workflow net.
2. For every marking M reachable from the initial marking M
0
, there exists a fir-
ing sequence leading from M to the final marking M
f
: (M )((M
0
[∗iM) =
(M[∗iM
f
)).
First, we consider the workflow is sound if the WF-net describing the process is sound
(abstracting from resources). The final marking of the RWFN-net is reached if and only
if the vertical synchronization step fires. This implies that transition t
is enabled in
W F
, which happens if and only if the final marking of the WF-net has been reached.
Thus, the second condition from the soundness definition basically states that the work-
flow is sound if the termination condition still holds in the WF-net, when the firing of
tasks is restricted by the resource perspective.
The notion of soundness for RWFN-nets is weaker than the notion of soundness
defined in [1], as it does not impose the absence of dead steps in the RWFN-net. If a
RWFN-net is sound, one can easily see that marking M
f
is the only marking reachable
from M
0
with at least one token in place O. This property is similar to condition (2) in
Def. 8.
In order to decide whether the soundness property defined is decidable, we introduce
a partial order on the markings of the RWFN - net (see [8]):
Definition 10. Let RW F N be a RWFN-net, M
1
and M
2
markings of RW F N. M
1
M
2
if and only if M
1
(I) M
2
(I), M
1
(O) M
2
(O) and there is an embedding
J
p
: M
1
(p) M
2
(p), such that for α = (α
1
, α
2
) M
1
(p) and for J
p
(α) = α
=
(α
1
, α
2
) we have for i {1, 2} either α
i
= α
i
or α
i
= (EN, m) and α
i
= (EN, m
)
(EN {W F
, RN}) and for all the places q of EN : m(q) m
(q).
Definition 11. Given a set of markings Q = {q
1
, q
2
, . . . , q
n
} and an initial marking
M, the inevitability problem is to decide whether all computations starting from M
eventually visit a marking not covering (w.r.t. the partial ordering ) one of the mark-
ings from Q.
It was proven in [8,9] that the inevitability problem is decidable for nested Petri nets.
17
Theorem 1. Let RW F N be a RWFN-net and M [M
0
i. There is a firing sequence
M[∗iM
f
if and only if there is a firing sequence M[∗iM
and M
does not cover (w.r.t.
) the marking (1, 0, 0).
Proof. If M[∗iM
f
in RW F N , we can consider M
= M
f
.
We assume there exists a firing sequence from marking M to a marking M
which does
not cover the marking (1, 0, 0). If M
does not cover (1, 0, 0), then M
(I) = 0 (there
are no tokens in place I). Marking M
is reachable from M
0
(because M
0
[∗iM[∗iM
).
M
(I) = 0 if and only if the vertical synchronization step Y = (end[b]; t
) fires in
RW F N . The firing of this step always leads to the marking M
f
(so, M
= M
f
). This
implies there is a firing sequence such that M[∗iM
f
.
Theorem 2. The soundness problem is decidable for RWFN - nets.
Proof. Let RW F N be a RWFN-net. Using the definition of soundness and Theorem
1, RW F N is sound if and only if: (1) W F is sound and (2) for any reachable marking
in RW F N , M [M
0
i, there exists a firing sequence M [∗iM
such that M’ does
not cover (w.r.t. ) the marking (1, 0, 0). The soundness of WF-nets is decidable and
condition (2) is equivalent to the inevitability problem, if we consider the marking M
and the set of markings Q = {(1, 0, 0)}.
5 An Example of a Resource Workflow Net
The example in Fig. 3 presents a RWFN-net modelling a workflow which processes
credit requests in a bank. We assume there are two types of resources (clerks and
economists) and two possible roles (secretary and credit officer). A secretary role can
be performed by a clerk and a credit officer role can be performed by an economist. The
specification for the resource perspective is:
RT = {clerks,economists}, RO = {secretary,credit
officer}, res(secretary)={clerks},
res(credit officer)={economists}. In the process perspective, described by the extended
workflow net W F
, when a request for a credit appears, the first transition to fire is reg-
ister
request. A secretary role is needed for the execution of this task. After this, one of
the transitions aprove credit or deny credit can fire (a credit officer role is needed for
their execution). Finally, transition send
answer fires (a secretary role sends the answer
to the client). The function Role is defined as follows: Role(register request)=secretary,
Role(aprove
credit)=credit officer, Role(deny credit)=credit officer,
Role(send
answer)=secretary. From the specification and from the Role function re-
sults a resource net RN (Fig. 3). We consider the following marking m
0
for RN :
m
0
= 1
clerks+1
economists. In the initial marking of the net, M
0
(I) = 1, M
0
(p) =
((W F
, i), (RN, m
0
)). Several object-autonomous steps (the firing of unlabelled tran-
sitions from RN ) are possible in M
0
. Let assume that transition assign
secretary
fires in the resource net RN. This is a role-allocation transition in the resource net. The
new marking of the RWFN-net is M
1
= (1, ((W F
, i), (RN, m
1
)), 0), where m
1
=
1
secretary + 1
R
1
+ 1
economists. When a request appears, the first task to execute
is register request, which can only fire simultaneously with transition use secretary in
RN . In marking M
1
of the RWFN-net, the synchronization step described above can
18
i
l1
l2
release_secretary
R2
release_co
l1
l3
l4
t’
end
e
p1
p2
send_answer
l3
o
l2
credit_officer
economists assign_co
register_request
SN
use_co
use_co2
use_secretary
R1
assign_secretary secretary
use_secretary_2
( )
I
O
p
deny_credit
RN
clerks
l4
WF’
aprove_credit
e
Fig.3. A resource workflow net in its initial marking.
fire: transition register request is enabled in (W F
, i) and transition use secretary is en-
abled in (RN, m
1
). After the firing of this step, a new marking, M
2
(see Fig. 3), results
in the resource workflow net: M
2
= (1, ((W F
, m
1
), (RN, m
2
)), 0), where m
1
= 1
p
1
and m
2
is the marking of RN obtained from marking m
1
by the firing of use
secretary
(m
2
= m
1
). The system remains blocked (no other task in the process is executed)
unless the resource allocation system allocates resources (economists) for the credit of-
ficer role. Transition assign
co can fire independently in RN. The resulting marking in
the RWFN-net is M
3
= (1, ((W F
, m
1
), (RN, m
3
)), 0), where m
3
= 1
secretary +
1
credit
officer + 1
R
2
+ 1
R
1
. In M
3
, transition aprove credit in W F
can fire si-
multaneously with transition use
co in RN . After the firing of this synchronization
step, the resulting marking of the RWFN-net is M
4
= (1, ((W F
, m
2
), (RN, m
4
)), 0)
where m
2
= 1
p
2
and m
4
= m
3
. Next, transition send answer from W F
can fire
simultaneously with transition use
secretary 2. After the firing of this synchronization
step, the resulting marking of the RWFN-net is M
5
= (1, ((W F, m
3
), (RN, m
5
)), 0)
where m
5
= m
4
and m
3
= 1
o. One can notice that the vertical synchronization step
Y = (end; t
) is enabled in marking M
5
with the binding b: b(x) = (W F, m
3
), b(y) =
(RN, m
5
) and the firing of this step removes the two net tokens from place p. The
RWFN-net has reached a final state and terminated correctly. This RWFN-net is a sound
RWFN-net.
6 Conclusion
This paper presented a special class of nested Petri nets used to model both the re-
source perspective and the process perspective for a workflow. The two perspectives are
represented as two independent object-nets which synchronize whenever a task from
the workflow net uses a role of the resource net. The advantage of this approach is
that it integrates both perspectives but it keeps a clear difference between them: unlike
19
other approaches that use Petri nets, resources and roles are not represented in the same
Petri net as the process. This allows a clear distinction between the two perspectives
and a flexible workflow system: changes in the two perspectives can be done easily,
with minimal changes in the other perspective. A notion of soundness was introduced
and we proved this property is decidable for RWFN-nets. Future work aims at defining
RWFN-nets which will model workflows that process batches of cases, instead of one
case in isolation.
References
1. W. M. P. van der Aalst: The Application of Petri nets to Workflow Management, The journal
of Circuits, Systems and Computers, 8(1): pp. 21- 66, Eindhoven University of Technology,
The Netherlands, 1998.
2. W. M. P. van der Aalst: Structural Characterization of Sound Workflows nets, Computing
Science Reports 96-23, Eindhoven University of Technology, Eindhoven, 1996.
3. W.M.P. van der Aalst: Three Good Reasons for Using a Petri-net-based Workflow Manage-
ment System. Wakayama et al., editors. Information and Process Integration in Enterprises:
Rethinking Documents. Volume 428 of The Kluwer International Series in Engineering and
Computer Science. Boston, Kluwer Academic Publicers, pp.161-182, 1998.
4. W. M. P. van der Aalst: Verifications of Workflow Nets. P. Azema and G. Balbo, editors,
Application and Theory of Petri nets 1997, volume 1248 of Lecture Notes in Computer
Science, pp. 407-426, SpringerVerlag, Berlin, 1997.
5. K. Barkaoui, L. Petrucci: Structural analysis of workflow nets with shared resources. Work-
flow management: Net-based Concepts, Models, Techniques and Tools (WFM’98), volume
98/7 of Computing science reports, pp. 82-95, Eindhoven University of Technology, 1998.
6. K. van Hee, N. Sidorova, M. Voorhoeve: Resource-Constrained Workflow Nets. Linde-
mann, Burkhard, Czaja, Skowron, Schlingloff, Suraj (Eds.): Proceedings of the International
Workshop on Concurrency, Specification and Programming (CS & P) 2004, pp. 166-177,
Informatik-Berichte der Humboldt-Universitat zu Berlin, Nr. 170, September 2004.
7. A. Kumar, W.M.P. van der Aalst, H.M.W. Verbeek: Dynamic Work Distribution in Workflow
Management Systems: How to balance quality and performance?. Journal of Management
Information Systems, 18(3), pp.157-193, 2002.
8. I.A. Lomazova: Nested Petri Nets - a Formalism for Specification and Verification of Multi -
Agent Distributed Systems. Fundamenta Informaticae 43 pp. 195-214, 2000.
9. I. A. Lomazova, Ph. Schnoebelen: Some Decidability Results for Nested Petri Nets. Ershov
Memorial Conference: pp. 208-220, 1999.
10. M. zur M
¨
uhlen. Resource modeling in workflow applications. Proceedings of the 1999 Work-
flow Management Conference (November 1999), pp. 137-153, 1999.
11. M. Netjes, W.M.P. van der Aalst, H.A. Reijers. Analysis of resource-constrained processes
with colored petri nets. In K. Jensen, Proceedings of the 6th Workshop and Tutorial on Prac-
tical Use of Coloured Petri nets and the CPN Tools (CPN’05), pp. 251-265, 2005
12. I.T.P. Vanderfeesten, W.M.P. van der Aalst, H.A. Reijers. Modelling a product based work-
flow system in CPN Tools. In K. Jensen, Proceedings of the 6th Workshop and Tutorial on
Practical Use of Coloured Petri Nets and the CPN Tools, pp. 99-118, Aarhus, Denmark:
University of Denmark, 2005.
13. WFMC, Workflow Management Coalition Terminology and Glossary (WFMC-TC-1011),
Technical Report, The Workflow Management Coalition, Brussels 1999.
20