Title: Modeling workflows: Mapping workflows onto Petri nets.
1Modeling workflows Mapping workflows onto Petri
nets.
Wil van der Aalst
- Eindhoven University of Technology
- Faculty of Technology Management
- Department of Information and Technology
- P.O. Box 513
- 5600 MB Eindhoven
- The Netherlands
- w.m.p.v.d.aalst_at_tm.tue.nl
2Workflow management concepts
- A workflow definition is composed out of three
parts - process definition a description of the process
itself - resource classificationa classification of the
resources to be used - resource management rules how to map work onto
resources
3Process definition
- A process definition specifies which steps are
required and in what order they should be
executed. - (routing definition, procedure, workflow
script)(purchase order, tax declarations,
insurance claims process) - A process definition consists of
- Tasks (step, activity, process element)A task is
atomic commit or rollback. - Conditions (state, phase, requirement)A
condition is used to determine the enabling of a
task. - Subprocesses
4Case
- A case is the 'thing' which needs to be processed
by following the process definition. - (process instance, job, project)(insurance
claim, purchase order, complaint, loan
application) - The state of a case is determined by
- case variables (case parameters)The logistic
attributes of a case which are used to route the
case. - conditions The requirements which are satisfied.
- (Application data)Beyond the scope of the WFMS.
5Mapping a process definition onto Petri nets
condition
task
case
subprocess
case variables
6Routing of cases
- Sequential"first A then B"
- Parallel"A en B at the same time or in any
order" - AND-split
- AND-join
- Choice"A or B"
- OR-split
- OR-join
- Iteration"multiple A's"
7Sequential routing
A
B
8Parallel routing
AND-split
AND-join
A
B
- "A and B at the same time or in any order"
9Choice (1)
OR-split
OR-join
A
B
10Choice (2)
OR-join
OR-split
A
B
- Implicit choice it depends on the "eagerness" of
A and B!
11Choice (3)
- We use high-level Petri nets
- tokens have values case variables
- transitions determine the number of tokens
produced explicit OR-split
OR-split
OR-join
A
B
- Choice is explicit and may be based on logistic
attributes!
12Syntactic sugaring
AND-join
AND-split
OR-join
Explicit OR-split
13Iteration
B
C
A
- B may be executed several times.
14Exercise
- A travel agency organizes trips. To organize a
trip the following tasks are executed. - First the customer request is registered, then an
employee searches for opportunities which are
communicated to the customer. Then the customer
is contacted to find out whether (s)he is still
interested and whether more alternatives are
desired. - If the customer selects a trip, then the trip is
booked. In parallel (if desired) one or two types
of insurance are prepared. - Two weeks before the start date the documents are
sent to the customer. - It is possible that the customer cancels the trip
at any time before the start date.
15Triggers
- The workflow system cannot force things to happen
in reality - The arrival of an electronic message (EDI) which
is needed to execute a task. - A resource which starts to work on a case.
- The arrival of a paper document.
- A phone call to confirm a purchase order.
- A workflow system is a reactive system, i.e. it
is triggered by the environment. - Some tasks require a trigger.
16- We identify four kinds of tasks
- AutomaticNo trigger is required.
- UserA resource takes the initiative.
- ExternalA external event (message, phone call)
is required. - TimeThe task requires a time trigger.
17The triggering concept can be modeled in terms of
PN
trigger token
A
A
- However, we will omit the extra place.
18- There is a subtle but important distinction
between the following terms - taskA logical step which may be executed for
many cases. - work item task caseA logical step which may
be executed for a specific case. - activity task case (resource)
(trigger)The actual execution of a task for a
specific case. - Work items and activities are task instances.
19A process definition
A (sub)process has one input and one output place.
20(No Transcript)
21Cases
22Insurance company
- Insurance company X processes claims which result
from traffic accidents with cars where customers
of X are involved in. Therefore, it uses the
following procedure for the processing of the
insurance claims. - Every claim, reported by a customer, is
registered by an employee of department CD (CD
Car Damages). After the registration of the
claim, the insurance claim is classified by a
claim handler of rank A or B within CD. There are
two categories simple and complex claims. - For simple claims two tasks need to be executed
check insurance and phone garage. These tasks are
independent of each other.
23Insurance company (2)
- The complex claims require three tasks to be
executed check insurance, check damage history
and phone garage. These tasks need to be executed
sequentially in the order specified. - Both for the simple and complex claims, the tasks
are done by employees of department CD. After
executing the two respectively three tasks a
decision is made. This decision is made by a
claim handler of rank A and has two possible
outcomes OK (positive) or NOK (negative). - If the decision is positive, then insurance
company X will pay. An employee of the finance
department handles the payment. In any event, the
insurance company sends a letter to the customer
who sent the claim. An employee of the department
CD writes this letter.
24Spaghetti Carbonara
- INGREDIENTS
- 1 pound spaghetti
- 1 pound bacon, chopped
- 4 eggs, well beaten
- 1 cup grated Parmesan cheese
- 1/4 cup olive oil
- DIRECTIONS
- Bring a large pot of lightly salted water to a
boil. Add pasta and cook for 8 to 10 minutes or
until al dente drain. - Meanwhile, place bacon in a large, deep skillet.
Cook over medium high heat until evenly brown.
Drain, reserving some of the drippings, crumble
and set aside. - Scramble eggs in bacon drippings.
- Place spaghetti in a large bowl. Pour in olive
oil, and mix well use enough to just moisten
spaghetti. Stir in bacon, eggs, and Parmesan
cheese. Serve immediately.
Model the recipe as a workflow process. Focus on
the process perspective and abstract from the
actual ingredients.
25Complaints handling
- Each year travel agency Y has to process a lot of
complaints (about 10.000). There is a special
department for the processing of complaints
(department C). There is also an internal
department called logistics (department L) which
takes care of the registration of incoming
complaints and the archiving of processed
complaints. The following procedure is used to
handle these complaints.
26Complaints handling (2)
- An employee of department L first registers every
incoming complaint. After registration a form is
sent to the customer with questions about the
nature of the complaint. This is done by an
employee of department C. There are two
possibilities the customer returns the form
within two weeks or not. If the form is returned,
it is processed automatically resulting in a
report which can be used for the actual
processing of the complaint. If the form is not
returned on time, a time-out occurs resulting in
an empty report. Note that this does not
necessarily mean that the complaint is discarded.
After registration, i.e., in parallel with the
form handling, the preparation for the actual
processing is started.
27Complaints handling (3)
- First, the complaint is evaluated by a complaint
manager of department C. Evaluation shows that
either further processing is needed or not. Note
that this decision does not depend on the form
handling. If no further processing is required
and the form is handled, the complaint is
archived. If further processing is required, an
employee of the complaints department executes
the task process complaint (this is the actual
processing where certain actions are proposed if
needed). For the actual processing of the
complaint, the report resulting from the form
handling is used. Note that the report can be
empty. The result of task process complaint is
checked by a complaint manager. If the result is
not OK, task process complaint is executed
again. This is repeated until the result is
acceptable. If the result is accepted, an
employee of the department C executes the
proposed actions. After this the processed
complaint is archived by an employee of
department L.
28Travel agency
- Consider a fragment of the process of booking
trips involving six steps register, (booking of)
flight, (booking of) hotel, (booking of) car,
pay, and cancel. - The process starts with task register and ends
with pay or cancel. - The tasks flight, hotel and car may succeed or
fail. - Let us consider a number of variants
29Travel agency Variant 1
- Every trip involves a flight, hotel and car and
these are booked in parallel. If all three
succeed, the payment follows. Otherwise task
cancel is executed. Cancel is delayed until all
three bookings succeed/fail and does not withdraw
work.
30Travel agency Variant 2
- Every trip involves a flight, hotel and car and
these are booked in parallel. If all three
succeed, the payment follows. Otherwise task
cancel is executed. Task cancel can be executed
the moment the first task fails and withdraws
work-items waiting for remaining booking tasks.
31Travel agency Variant 3
- Every trip may involve a flight, hotel and/or car
and these are booked in parallel. A trip should
involve at least a flight, hotel or car but may
be any combination of the three bookings, e.g., a
flight and car but not a hotel. If all bookings
succeed, the payment follows. Otherwise task
cancel is executed. Task cancel can be executed
the moment the first task fails and withdraws
work-items waiting for remaining booking tasks.
32Travel agency Variant 4
- Every trip may involve a flight, hotel and/or car
and these are booked in parallel. A trip should
involve at least a flight, hotel or car but may
be any combination of the three bookings, e.g., a
flight and car but not a hotel. If all bookings
succeed, the payment follows. Otherwise task
cancel is executed. Task cancel can be executed
the moment the first task fails and withdraws
work items waiting for remaining booking tasks.
All bookings that have completed successfully
need to be compensated.
33Template
34Modeling workflows The organizational dimension
and alternative notations.
Wil van der Aalst
- Eindhoven University of Technology
- Faculty of Technology Management
- Department of Information and Technology
- P.O. Box 513
- 5600 MB Eindhoven
- The Netherlands
- w.m.p.v.d.aalst_at_tm.tue.nl
35Workflow management concepts
- A workflow definition is composed out of three
parts - process definition a description of the process
itself - resource classificationa classification of the
resources to be used - resource management rules how to map work onto
resources
36Why?
Wil
Pete
- Avoid hard coding or resources (otherwise the
process needs to be changes in case of personel
changes). - Organizations have structure (cf. organigram).
- Work distribution needs to be described Who is
doing what? - Ordering of work items In what order do we need
to do things?
37Resource classes
- Resource(participant, actor, user, agent)A
resource can execute certain tasks for certain
cases.Human and/or non-human (printer, modem)
limited capacity. - Resource classA set of resources with similar
characteristic(s). - A resource class is typically based on
- Role(skill, competence, qualification)Classifica
tion based on what a resource can do. - Group(department, team, office, organizational
unit)Classification based on the organization.
38Example 8 resource classes
groups
roles
39Organigram TU/e
groups
Possible roles student, professor, programmer
40UFO Roles TU/e
41Convention used in this course
R,G
- Each task executed by a resource (worker) is
labelled with one role and one goup.
R
G
42Insurance company
- Insurance company X processes claims which result
from traffic accidents with cars where customers
of X are involved in. Therefore, it uses the
following procedure for the processing of the
insurance claims. - Every claim, reported by a customer, is
registered by an employee of department CD (CD
Car Damages). After the registration of the
claim, the insurance claim is classified by a
claim handler of rank A or B within CD. There are
two categories simple and complex claims. - For simple claims two tasks need to be executed
check insurance and phone garage. These tasks are
independent of each other.
43Insurance company (2)
- The complex claims require three tasks to be
executed check insurance, check damage history
and phone garage. These tasks need to be executed
sequentially in the order specified. - Both for the simple and complex claims, the tasks
are done by employees of department CD. After
executing the two respectively three tasks a
decision is made. This decision is made by a
claim handler of rank A and has two possible
outcomes OK (positive) or NOK (negative). - If the decision is positive, then insurance
company X will pay. An employee of the finance
department handles the payment. In any event, the
insurance company sends a letter to the customer
who sent the claim. An employee of the department
CD writes this letter.
44Solution (only control flow)
45Roles and groups
- The following roles are identified
- Employee (E)
- Claim handler (CH)
- Claim handler A (CHA)
- Claim handler B (CHB)
- The following groups are identified
- Car Damages Department (CD)
- Finance Department (FN)
46Resulting model
47Complaints handling
- Each year travel agency Y has to process a lot of
complaints (about 10.000). There is a special
department for the processing of complaints
(department C). There is also an internal
department called logistics (department L) which
takes care of the registration of incoming
complaints and the archiving of processed
complaints. The following procedure is used to
handle these complaints.
48Complaints handling (2)
- An employee of department L first registers every
incoming complaint. After registration a form is
sent to the customer with questions about the
nature of the complaint. This is done by an
employee of department C. There are two
possibilities the customer returns the form
within two weeks or not. If the form is returned,
it is processed automatically resulting in a
report which can be used for the actual
processing of the complaint. If the form is not
returned on time, a time-out occurs resulting in
an empty report. Note that this does not
necessarily mean that the complaint is discarded.
After registration, i.e., in parallel with the
form handling, the preparation for the actual
processing is started.
49Complaints handling (3)
- First, the complaint is evaluated by a complaint
manager of department C. Evaluation shows that
either further processing is needed or not. Note
that this decision does not depend on the form
handling. If no further processing is required
and the form is handled, the complaint is
archived. If further processing is required, an
employee of the complaints department executes
the task process complaint (this is the actual
processing where certain actions are proposed if
needed). For the actual processing of the
complaint, the report resulting from the form
handling is used. Note that the report can be
empty. The result of task process complaint is
checked by a complaint manager. If the result is
not OK, task process complaint is executed
again. This is repeated until the result is
acceptable. If the result is accepted, an
employee of the department C executes the
proposed actions. After this the processed
complaint is archived by an employee of
department L.
50Solution (only control flow)
51Roles and groups
- The following roles are identified
- Employee (E)
- Complaint manager (CM)
- The following groups are identified
- Department C (DC)
- Logistics department (LD)
52Resulting model
53(No Transcript)
54Protos (Pallas Athena)
task
55role
group
56role
group
574 eyes principle
58Assumptions so far ...
- Eventually every work-item is executed by a
single resource. - Every resource is working on one activity at the
same time. - Some observations
- There may be a need to further limit the set of
resources (e.g., the 4 eyes principle), i.e., we
need to be able to specify further constraints. - There may be many resources that have the right
role/group combination, i.e., work distribution
is needed. - There may be many work items that can be executed
by the same resource at a given point in time,
i.e., work items need to be ordered.
59Further constraints
if compensation gt 1000 euro then role
manager else role employee
60Push versus pull
61Push control
workflow enactment service
push to a selected "victim"
62Pull control
workflow enactment service
pull selected work items
63pull control
64Mosts WFM systems are hybrid, e.g., Staffware
personal queue
group queue
65Who is doing what?
- Pull control
- Determined by people, i.e., a "race" among
resources. - Select to start and/or select to allocate work
item. - Push control
- Round robin.
- Weighted round robin.
- Shortest queue.
- Select the most specialized resource (i.e., do
not allocate "generalists" unless needed).
66In what order?
- Pull control
- Determined by people, i.e., a "race" for
attention. - System may "suggest" urgent work items or offer
multiple view on the work available. - Push control
- System decides whether the worker can view and/or
select multiple work items, i.e., order may be
enforced or suggested. - In both cases possible queueing disciplines are
- FIFO (First In First Out)
- LIFO (Last In First Out)
- SPT (Shortest Processing Time)
- EDD (Earliest Due Date)
- PRIO (Prioritization based on case attributes)
67Example (taken from "Operations Management" by
Roberta Russell Bernard W. Taylor)
Note that unlike most scheduling problems work
items emerge on the fly!
68FIFO (also known as FCFS)
69EDD
70SPT
71Comparison
We will return to the topic of workflow analysis
and simulation...