Tuesday, September 8, 2009

Business Process Management (Part-2 Business Process Modelling[Chapter IV Process Orchestrations ] ) Sec P -- By Mathias Weske

Control Flow in Workflow Nets

The ability to represent control flow structures in workflow nets is investigated.
As with any other process modelling language, the sequence control
construct can easily be expressed in workflow nets.

The firing rule of Petri nets makes sure that A puts a token on p only
after its termination. Hence, B is enabled only after there is a token in p.
Since only enabled transitions can fire, we have the following sequence of
events: A fires and puts a token in p enabling B, which can now start its
execution. Therefore, by transitivity of the ordering relation, B can only start
after A has terminated.
Observe that colouring information is not regarded when discussing control
flow in workflow nets. For the sequence pattern, the colouring of the tokens
can be disregarded. However, if transitions need to make decisions when they
fire, the colouring of the tokens needs to be taken into account; this will be
discussed in more detail below.
And split and and join control flow constructs can also be expressed in
workflow nets conveniently. Again, standard Petri net firing behaviour suffices.
A workflow net in which there is a transition A that puts
tokens in its output places p1 and p2, enabling B and C, respectively. As
a result, transition A realizes an and split. After B and C have terminated,
there are tokens in p3 and p4, enabling the and join transition D.
The exclusive or split and exclusive or join patterns can also be expressed
in standard Petri nets.These transitions are enabled at the same time. This type of exclusive
or split is called implicit exclusive split, because its behaviour depends on the
behaviour of the transitions involved, in this case, A and B.
Although both transitions are enabled—in the example, A and B—only
one transition can fire, withdrawing the token from p1 and adding a token
to p2. The exclusive or join is realized by a place that receives a token from
either A or B.
The transitions involved decide by
their firing behaviour about the branch of the workflow net that the process
instance takes. Since the decision is deferred to the latest point in time, this
pattern is also called deferred choice.
There is a second type of exclusive or split in workflow nets, in which the
decision on which path to take is made explicitly by a transition. This feature
takes advantage of coloured Petri nets, in which transitions can implement
decision rules, which are evaluated at run time to decide which of its output
places to put tokens on.
This also means that the behaviour of classical Petri nets is no longer valid
for workflow nets. As a consequence, as in coloured Petri nets, the graphical
representation of the workflow net does not fully specify the behaviour of the
process instance controlled by the workflow net.
A implements a decision rule by associating conditions with each of its
outgoing edges. An exclusive or semantics of this decision can be realized in
different ways (workflow nets do not prescribe any of them).
The first way to realize an exclusive or semantics is to make sure that
the conditions are chosen in a way that always one and only one condition
evaluates to true. The second way is to evaluate conditions of outgoing edges
in order. As soon as one condition evaluates to true, the respective edge is
chosen, and the token is put on the respective place.
The problem with this strategy is that there might be situations in which
no condition evaluates to true. If no additional measures are taken, then the
case gets stuck at this point. This problem can be tackled by defining a default
branch which is taken if none of the (expressions of the) other branches
evaluates to true.
To express the particular split and join behaviour of transitions in workflow
nets, the transitions are labelled with specific symbols.
It is the responsibility of the modeller of the workflow net to make sure
that the decisions associated with the transitions match their symbols. The
and split and and join markers indicate that the traditional Petri net firing
behaviour of transitions is in place.
If a transition is marked with an and split symbol, the reader of the workflow
net knows that the transition puts a token on all its output places. Split
transitions and join transitions that are based on an explicit decision are
marked accordingly to show that complex splitting behaviour can be expected.
Workflow nets represent business processes, focusing on activities and their
execution constraints. To enhance the representation of business processes
and to provide a means to represent in more detail the environment in which
these processes are enacted, triggers have been introduced. In the context of
workflow nets, triggers are annotations to transitions that provide information
on who or what is responsible for an enabled transition to fire.
Situations in real-world business processes that can be represented by triggers
are the receipt of an electronic message or a time-out of a timer to remind
an employee of an upcoming deadline. Generally, a business process management
system is a reactive system. It reacts to events in its environment by
enabling an activity. Triggers play an important role in informing the system
about events in the process environment that are relevant for the process.
Figure 4.48 shows the types of triggers used in workflow nets. Transitions
that can fire immediately after they have been enabled are not marked with a
trigger; triggering is therefore automatic. For example, automatic triggers are
used for transitions that are realized by invoking a software system, where no
user interaction is required.
A user trigger is attached to transitions that require human interaction.
By marking a transition with a user trigger, the process modeller expresses the
fact that a human user takes the initiative to start the activity represented by
the transition. This trigger is relevant in human interaction workflows, where
work items are used to communicate with human users.

No comments:

Post a Comment