Condition Event Nets

Condition event nets are the fundamental class of Petri nets. In condition event

nets, at each point in time, each place can have at most one token. Tokens are

unstructured; they have no identity and can therefore not be distinguished

from one another. The rationale for the denomination of this Petri net class

is as follows. If a token is on a place p, then the condition p is met. When a

transition fires, an event occurs and changes the state of the condition event

net.

Definition 4.4 A Petri net (P, T, F) is a condition event net if M(p) 1 for

all places p 2 P and for all states M.

• A transition t is enabled in a state M if M(p) = 1 for all input places p

of t and M(q) = 0 for all output places q of t that are not input places at

the same time.

• The firing of a transition t in a state M results in state M0, where

(8p 2 •t)M0(p) = M(p) − 1 ^ (8p 2 t•)M0(p) = M(p) + 1.

Since, by definition, M(p) = 1 for all input places p of t and M(q) = 0 for all

output places q of t, it follows for the state M0 reached by this firing (assuming

output places and input places are disjoint),

(8p 2 •t)M0(p) = 0 ^ (8p 2 t•)M0(p) = 1.

Transition

t1 is enabled if and only if all input places have one token and all output places

have no tokens (a). This means that the conditions represented by the input

places of the transition are met and the conditions reflected by the output

places of the transition are not met.

The firing of t1 withdraws a token from each input place and puts a token

on each output place (b). Transition t1 is not enabled if there is a token in

one of its output places (c) or if not all input places of t1 have a token (d).

Since tokens in condition event nets are un-typed and cannot be distinguished

from each other, and due to the fact that the number of tokens are

limited to one in each place, condition event nets are not well suited to modelling

business processes. The reason for this is discussed in the context of

place transition nets that face the same problem.

Place Transition Nets

Place transition nets are an extension of condition event nets, because in any

state of the Petri net an arbitrary number of tokens can reside in any place.

Therefore, places can, for instance, serve as counters. However, tokens are still

unstructured objects that can not be distinguished from one another.

To account for multiple tokens in each place, transition enabling needs to

be reconsidered. In addition, multiple tokens can be consumed and withdrawn

from an input place when a transition fires, and multiple tokens can be produced

when a transition fires, according to the weights associated with the

arcs connected to the transition. This extension can be represented graphically

by multiple arcs from an input place to a transition or by arcs labelled

with natural numbers marking their weight.

Definition 4.5 (P, T, F, !) is a place transition net if (P, T, F) is a Petri net

and ! : F ! N is a weighting function that assigns a natural number to each

arc, the weight of the arc.

The dynamic behaviour of place transition is defined as follows:

• A transition t of a place transition net is enabled if each input place p

of t contains at least the number of tokens defined as the weight of the

connecting arc, i.e., if M(p) !((p, t)).

• When a transition t fires, the number of tokens withdrawn from its input

places and the number of tokens added to its output places are determined

by the weights of the respective arcs. From each input place p of t, !((p, t))

tokens are withdrawn, and !((t, q)) tokens are added to each output place

q of t.

• The firing of a transition t in a state M results in a state M0, where

(8p 2 •t)M0(p) = M(p) − !((p, t)) ^ (8p 2 t•)M0(p) = M(p) + !((t, p))

The firing of t1 consumes the token from

p1 and adds a token to p2, so that two tokens reside in p2. Notice, however,

that t5 is not enabled, since p5 does not contain a token. In the example, each

arc has weight one.

While place transition nets allow multiple tokens in each place, they are

still not very useful for representing business processes, since the tokens cannot

be distinguished from each other. By closely looking

at the Petri net and its token distribution, one can detect which tokens

belong to which process instances.

There are three process instances active. One process instance is represented

by a token in place p1, while the second process instance has already

performed the receive order activity and is therefore represented by the token

in p2. The process order activity spawns two concurrent threads. Therefore,

the tokens in p3 and p6 must belong to the same process instance. When the

send order activity has been completed, a token is put in p5, and the complete

order activity can be performed, completing the third process instance.

In this case it is far from clear which tokens belong to the specific process

instance. The firing rule of place transition nets defines that the complete

order transition can fire as soon as there is a token in place p5 and a token in

place p6.

This is a severe problem, because the complete order activity could potentially

be conducted for two different process instances! If the first process

instance orders books A and B while the second process instance orders books

C and D, then a situation could occur in which the sending of books A and

B and the update of the inventory for books C and D could be joined, clearly

an unacceptable behaviour.

Therefore, the tokens need to carry values, so that in each state of the Petri

net it is clear which token belong to which process instance. This limitation

of condition event nets and of place transition nets will be lifted by coloured

Petri nets, discussed next.

Subscribe to:
Post Comments (Atom)

## No comments:

## Post a Comment