Resource Workﬂow Nets: A Petri Net Formalism for

Workﬂow Modelling

Oana Otilia Prisecaru

Faculty of Computer Science, ”Al. I. Cuza” University

Gen. Berthlot St, No 16,

740083 Iasi, Romania

Abstract. A workﬂow is the automation of a business process that takes place

inside one organization. While most of the formal approaches to workﬂow 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 workﬂow nets (RWFN-nets), which

uniﬁes the two perspectives into a single model. Unlike other models, RWFN-nets

permit a clear distinction between the perspectives, modelling efﬁciently their in-

teraction, and ensure the ﬂexibility of the system. The paper also deﬁnes a notion

of behavioural correctness for RWFN-nets, soundness, and proves this property

is decidable.

1 Introduction

Over the last few years workﬂow technology has developed rapidly and has been in-

creasingly used in many large organizations. A workﬂow is a complex process, consist-

ing of activities organized in order to accomplish some goal. A workﬂow is structured

into several perspectives, among which we mention: the process perspective - speciﬁes

which tasks need to be executed and in what order; the resource perspective - speciﬁes

the population in which the workﬂow 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 workﬂow modelling is Petri

nets. Most of the current researches have been focused on the modelling of the process

perspective of workﬂows. A Petri net model for workﬂows, 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 deﬁnes and studies a soundness notion for workﬂows. 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 veriﬁcation prob-

lems for workﬂows. Also, there is an unclear mixture of perspectives, which can make

workﬂow speciﬁcations difﬁcult to understand, analyze and work with.

Otilia Prisecaru O. (2007).

Resource Workﬂow Nets: A Petri Net Formalism for Workﬂow Modelling.

In Proceedings of the 5th International Workshop on Modelling, Simulation, Veriﬁcation 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 workﬂows, 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 workﬂow 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 workﬂow nets,

a slightly modiﬁed version of workﬂow 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 speciﬁc roles

(according to predeﬁned rules) and the release of resources from roles. The two object-

nets synchronize whenever a task from the workﬂow 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-

ﬂow nets, a Petri net formalism which has been used for modelling the process per-

spective of workﬂows (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 workﬂow processes are instantiated for a speciﬁc case

(or workﬂow instance). In [1] a special class of Petri nets is introduced for modelling

the process perspective: workﬂow 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 ﬁnal

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 deﬁnition

of resource nets, Section 3 deﬁnes RWFN-nets, Section 4 deﬁnes 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 workﬂow.

A task that needs to be executed for a speciﬁc 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 speciﬁed at design time), the

system will be able to allocate dynamically resources to the appropriate roles. Thus, a

speciﬁcation 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 deﬁned

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 workﬂow 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 workﬂow net in its initial marking.

3 The Deﬁnition of Resource Workﬂow Nets

This section introduces a special class of nested Petri nets, which will model a workﬂow

which incorporates both the process perspective and the resource perspective.

We deﬁne, ﬁrst, extended workﬂow nets, an extension of the WF-nets deﬁned in

Sect. 1.

Deﬁnition 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.

Deﬁnition 2. A Resource Workﬂow 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 workﬂow 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 workﬂow 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 workﬂow is modelled using RWFN-nets in the following manner: ﬁrst, 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)).

Deﬁnition 3. A binding (of transition end) is a function b : V ar → A

net

.

Deﬁnition 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 ﬁring 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:

Deﬁnition 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 ﬁring 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

′

.

Deﬁnition 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 undeﬁned and m[tim

′

(i.e.

the ﬁring of t, by the ﬁring 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 ﬁring of a local transition in

one of the object-nets. We notice that none of the object nets are moved from the place

p.

Deﬁnition 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 ﬁring 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 ﬁring 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 ﬁring 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 ﬁring 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 workﬂow net in its initial marking.

4 The Soundness of Resource Workﬂow Nets

In this section we will introduce a notion of soundness for RWFN-nets.

A notion of soundness was deﬁned for WF-nets, expressing the minimal conditions

a correct workﬂow should satisfy ([1, 4]). An extended workﬂow net W F

′

is sound if

the underlying WF-net is sound.

16

Deﬁnition 8. A workﬂow net WF = (P, T, F) is sound iff:

1. For every marking m reachable from the initial marking i, there exists a ﬁring

sequence leading from m to the ﬁnal 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 ﬁnal 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 ﬁring

sequence that leads to M

f

.

We can deﬁne formally the notion of soundness for a RWFN-net as follows:

Deﬁnition 9. A RWFN-net RW F N is sound if and only if:

1. (W F

′

, i) is a sound workﬂow net.

2. For every marking M reachable from the initial marking M

0

, there exists a ﬁr-

ing sequence leading from M to the ﬁnal marking M

f

: (∀M )((M

0

[∗iM) =⇒

(M[∗iM

f

)).

First, we consider the workﬂow is sound if the WF-net describing the process is sound

(abstracting from resources). The ﬁnal marking of the RWFN-net is reached if and only

if the vertical synchronization step ﬁres. This implies that transition t

′

is enabled in

W F

′

, which happens if and only if the ﬁnal marking of the WF-net has been reached.

Thus, the second condition from the soundness deﬁnition basically states that the work-

ﬂow is sound if the termination condition still holds in the WF-net, when the ﬁring of

tasks is restricted by the resource perspective.

The notion of soundness for RWFN-nets is weaker than the notion of soundness

deﬁned 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 deﬁned is decidable, we introduce

a partial order on the markings of the RWFN - net (see [8]):

Deﬁnition 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).

Deﬁnition 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 ﬁring sequence

M[∗iM

f

if and only if there is a ﬁring 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 ﬁring 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

′

) ﬁres in

RW F N . The ﬁring of this step always leads to the marking M

f

(so, M

′

= M

f

). This

implies there is a ﬁring 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 deﬁnition 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 ﬁring 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 Workﬂow Net

The example in Fig. 3 presents a RWFN-net modelling a workﬂow 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 ofﬁcer). A secretary role can

be performed by a clerk and a credit ofﬁcer role can be performed by an economist. The

speciﬁcation for the resource perspective is:

RT = {clerks,economists}, RO = {secretary,credit

ofﬁcer}, res(secretary)={clerks},

res(credit ofﬁcer)={economists}. In the process perspective, described by the extended

workﬂow net W F

′

, when a request for a credit appears, the ﬁrst transition to ﬁre 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 ﬁre (a credit ofﬁcer role is needed for

their execution). Finally, transition send

answer ﬁres (a secretary role sends the answer

to the client). The function Role is deﬁned as follows: Role(register request)=secretary,

Role(aprove

credit)=credit ofﬁcer, Role(deny credit)=credit ofﬁcer,

Role(send

answer)=secretary. From the speciﬁcation 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 ﬁring of unlabelled tran-

sitions from RN ) are possible in M

0

. Let assume that transition assign

secretary

ﬁres 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 ﬁrst task to execute

is register request, which can only ﬁre 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 workﬂow net in its initial marking.

ﬁre: transition register request is enabled in (W F

′

, i) and transition use secretary is en-

abled in (RN, m

1

). After the ﬁring of this step, a new marking, M

2

(see Fig. 3), results

in the resource workﬂow 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 ﬁring 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-

ﬁcer role. Transition assign

co can ﬁre 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

ofﬁcer + 1

′

R

2

+ 1

′

R

1

. In M

3

, transition aprove credit in W F

′

can ﬁre si-

multaneously with transition use

co in RN . After the ﬁring 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 ﬁre

simultaneously with transition use

secretary 2. After the ﬁring 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 ﬁring of this step removes the two net tokens from place p. The

RWFN-net has reached a ﬁnal 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 workﬂow. The two perspectives are

represented as two independent object-nets which synchronize whenever a task from

the workﬂow 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 ﬂexible workﬂow 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 deﬁning

RWFN-nets which will model workﬂows 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 Workﬂow 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 Workﬂows 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 Workﬂow 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: Veriﬁcations of Workﬂow 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 workﬂow nets with shared resources. Work-

ﬂow 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 Workﬂow Nets. Linde-

mann, Burkhard, Czaja, Skowron, Schlingloff, Suraj (Eds.): Proceedings of the International

Workshop on Concurrency, Speciﬁcation 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 Workﬂow

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 Speciﬁcation and Veriﬁcation 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 workﬂow applications. Proceedings of the 1999 Work-

ﬂow 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-

ﬂow 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, Workﬂow Management Coalition Terminology and Glossary (WFMC-TC-1011),

Technical Report, The Workﬂow Management Coalition, Brussels 1999.

20