Title: Modeling Workflows
1Modeling Workflows
2Outline
- Workflow Concepts
- Petri Nets
- Mapping Workflow Concepts onto Petri Nets
3Workflow Concepts
The case
- The primary objective of a workflow system is to
deal with cases. - Similar cases belong to the same case type.
- Each case has a unique identity.
- A case has a limited lifetime, between the
appearance and disappearance of a case, it always
has a particular state. - This state consists of three elements
attributes, conditions, content.
4Workflow Concepts The
case (cont.)
- A range of variables can be associated with each
case. These case attributes are used to manage
it. - Conditions are used to determine which tasks have
been carried out, and which still remain to be
performed.
5Workflow Concepts The
case (cont.)
- We can regard a condition as a requirement that
must be met before a particular task may be
carried out. - The workflow system doesnt contain details about
the content of the case, only those of its
attributes and conditions.
6Workflow Concepts
The task
- A task is a logical unit of work. Its
indivisible and thus is always carried out in
full. - We can differentiate between manual, automatic
and semi-automatic tasks. - A task refers to a piece of work, and not to the
performance of an activity for one specific case.
7Workflow Concepts The task
(cont.)
- A work item is the combination of a case and a
task which is just about to be carried out. - A activity refers to the actual performance of a
work item. As soon as work begins upon the work
item, it becomes an activity.
8Workflow Concepts The
process
- A process indicates which tasks need to be
carried out and shows the order in which tasks
should be done. - A process is constructed from tasks and
conditions. In addition to these, a process may
also consists of subprocesses. - Each process has a beginning and an end, which
respectively mark the appearance and completion
of case.
9Workflow Concepts
Routing
- Routing along particular branches determines
which tasks need to be performed. Routing cases
make use of four basic constructions. - Sequential
- Parallel
- Selective
- iteration
10Workflow Concepts
Enactment
- A work item assignment can only be carried out by
enactment. - Ex A work item is triggered by a employee.
- Three types of triggers
- Resource initiative (eg. Employee)
- External event (eg. EDI message from supplier)
- Time signal (eg. The generation of a list of
orders at 6 oclock)
11Petri Nets
- Petri nets were devised in 1962 by Carl Adam
Petri as a tool for modeling and analyzing
processes. - Advantages
- Graphically
- Strong mathematical basis
12Petri Nets Classical Petri nets
- A Petri net consists of places and transitions.
Place may contain tokens.
After pay fires
token
Pay fires
(3,0,0)
(2,1,0)
Record fires
After the transition record fires
A classic Petri net
13Petri Nets Classical Petri nets (cont.)
- Under consideration at the same time to a maximum
of one.
free
ready
The modified Petri net
14Petri Nets Classical Petri nets (cont.)
15Petri Nets Classical Petri nets (cont.)
16Petri Nets High-level Petri nets
- Petri net becomes too large and inaccessible, or
it isnt possible to model a particular activity
in many practical situations. - High-level Petri nets have three most important
extensions - Color extension
- Time extension
- Hierarchical extension
17High-level Petri nets Color
extension
- Color extension
- Each token has a value.
- By valuing tokens, they are given different
colors. - We can distinguish different tokens form one
another. - Ex a token represents a particular car
- Notate a value for itbrand BMW
registration J 144 NFX year 1995 color
red owner Johnson - transitions precondition
- logical requirement connected with the values of
the token to be consumed.
18High-level Petri nets Color
extension (cont.)
- The number of tokens produced is determined by
the values of those consumed.
19 ?Classical Petri nets ??
free
ready
The modified Petri net
20High-level Petri nets Color
extension (cont.)
- synchronize (determined by precondition) a
transition only fires if a particular combination
of tokens can be consumed.
21High-level Petri nets Color
extension (cont.)
- For each color-extended transition, the following
factors must be specified - Precondition must be defined precisely.
- The number of tokens produced per output place
depend on the values of the tokens consumed. - The values of the tokens produced may depend the
values of the tokens consumed.
22High-level Petri nets Time
extension
- Petri net expected performance.
- We also want to know the expected completion time
and the capacity required. - Using this time extension, token receive a
timestamp indicating the time from which the
token is available. - The enabling time of a transition.
- Tokens are consumed on a FIFO.
- The token with the earliest timestamp ( The
transition with the earliest enabling time )
fires first .
23High-level Petri nets Time
extension (cont.)
- A transition fires and then produces tokens given
a timestamp the time of firing delay. - delay is determined by the firing transition.
- The length of the delay may depend upon the value
of the tokens consumed. - Fixed value
- At random
- Firing itself is instantaneous and takes no time.
24High-level Petri nets Time
extension (cont.)
60
30
The two sets of traffic lights with time
25High-level Petri nets Hierarchical extension
- The hierarchical extension ensures that it adds
hierarchical structure of the process to the
Petri net model. - A new building block a double-bordered square
process. - It represents a subnetwork comprising places,
transition, arcs, and subprocess. - top-down approach (repeat decomposition)
- bottom-up approach (repeat composition)
- divide-and-conquer strategy overcome the
complexity - reuse previously defined processes
26fault
The process solve fault contains one
subprocess repair
27Mapping Workflow Concepts onto Petri Nets
The process
- The process consist of tasks conditions.
- conditions - places (passive components)
- tasks transitions (active components)
- Each process should fulfill two requirements
- (1)It should at any time be possible to reach
- (2)When there is a token in end, all the others
should have disappeared. - These two requirements ensure that every case
that begins at the place start will eventually be
completed properly.
28Mapping Workflow Concepts onto Petri Nets
The process (cont.)
assess
pay
contact_client
c6
c3
positive
c1
end
c5
file
start
record
c8
collect
c7
c2
negative
c4
send_letter
contact_department
The process handle complaint modeled as a
Petri net
29Mapping Workflow Concepts onto Petri Nets
The process
- The case may have one or more attribute.
- The value of token contains information about the
attributes of the case in question. - Tokens belonging to different cases cannot
influence one another. - A separate copy of the Petri net for each case.
- Provide each token with a value from which it is
possible to identify the case. (???)
30Mapping Workflow Concepts onto Petri Nets
The process (cont.)
case 5
case 4
case 3
case 2
case 1
assess
pay
contact_client
c6
c3
positive
c1
end
c5
file
record
c8
start
collect
c7
c2
negative
c4
send_letter
contact_department
Each case is illustrated using one or more tokens
31A process may be constructed from subprocesses.
32Mapping Workflow Concepts onto Petri Nets
Routing (a) Sequential routing
- Sequential routing tasks have to be carried
out one after another.
Sequential routing
33Mapping Workflow Concepts onto Petri Nets
Routing (b) Parallel routing
- If more than one task can be carried out at the
same time or in any order, then we refer to
parallel routing. - AND-split allow more than one task to be
managed at the same time. - AND-join a task added to synchronize two or
more parallel flows.
34Mapping Workflow Concepts onto Petri Nets
Routing (b) Parallel routing (cont.)
AND-split
AND-join
Parallel routing
35Mapping Workflow Concepts onto Petri Nets
Routing (c) Selective routing
OR-split
OR-join
36Mapping Workflow Concepts onto Petri Nets
Routing (c) Selective routing (cont.)
37Mapping Workflow Concepts onto Petri Nets
Routing (c) Selective routing (cont.)
OR-split
Decision rule
OR-join
c2
task1
c1
c6
c3
task 2
Figure 2.19 Selective routing (3)
38Mapping Workflow Concepts onto Petri Nets
Routing (c) Selective routing (cont.)
39Mapping Workflow Concepts onto Petri Nets
Routing (d) Iterative routing
40Mapping Workflow Concepts onto Petri Nets
Routing (d) Iterative routing (cont.)
Figure 2.22 Iterative routing (1)
Figure 2.23 Iterative routing (2)
41Mapping Workflow Concepts onto Petri Nets
Enactment (cont.)
- Three types of triggers
- (1) Resource initiative
- (2) External event
- (3) Time signal
- The notion of triggering is of major importance.
- It is not the workflow system that is in charge,
but the environment.
?
?
42Mapping Workflow Concepts onto Petri Nets
Enactment (cont.)
43Mapping Workflow Concepts onto Petri Nets
Enactment (cont.)
44Mapping Workflow Concepts onto Petri Nets
Example Travel agency
- The customer is registered.
- The customer will be contacted to find out
whether she or he is still interested in the trip
of this agency and whether more alternatives are
desired. - (1) The customer is not interested at all.
- (2) The customer would like to see more
alternatives. - (3) The customer selects an opportunity.
- If the customer selects a trip, the trip is
booked.
45Mapping Workflow Concepts onto Petri Nets
Example Travel agency (cont.)
- A customer can take insurance for trip
cancellation or/and for baggage loss. - (1) Not to take any insurance.
- (2) Just trip cancellation insurance.
- (3) Just baggage loss insurance.
- (4) Both types of insurance.
- Two weeks before the start data of the trip the
documents are sent to the customer. - A trip can be cancelled at any time after
completing the booking process and before the
start data.
46Mapping Workflow Concepts onto Petri Nets
Example Travel agency
47Mapping Workflow Concepts onto Petri Nets
Enactment (cont.)
48Mapping Workflow Concepts onto Petri Nets
OR-join tasks should be avoided as much as
possible.
49Mapping Workflow Concepts onto Petri Nets
Task cancel is suitable to expressed as an
OR-joint task.
50Mapping Workflow Concepts onto Petri Nets
- The use of triggers for the first task in the
process - Identify the start and the end places for a
process.
51Conclusion
- Learn the concepts of workflow
- Learn the components and types of Petri net
- Use the Petri net to describe a process
52Exercises