Modeling workflows: Mapping workflows onto Petri nets. - PowerPoint PPT Presentation

1 / 71
About This Presentation
Title:

Modeling workflows: Mapping workflows onto Petri nets.

Description:

Cancel is delayed until all three bookings succeed/fail and does not withdraw work. ... All bookings that have completed successfully need to be compensated. 33 ... – PowerPoint PPT presentation

Number of Views:220
Avg rating:3.0/5.0
Slides: 72
Provided by: wilvand
Category:

less

Transcript and Presenter's Notes

Title: Modeling workflows: Mapping workflows onto Petri nets.


1
Modeling 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

2
Workflow 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

3
Process 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

4
Case
  • 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.

5
Mapping a process definition onto Petri nets
condition
task
case
subprocess
case variables
6
Routing 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"

7
Sequential routing
A
B
  • "First A then B"

8
Parallel routing
AND-split
AND-join
A
B
  • "A and B at the same time or in any order"

9
Choice (1)
OR-split
OR-join
A
B
  • "A or B"
  • Overkill ?!

10
Choice (2)
OR-join
OR-split
A
B
  • Implicit choice it depends on the "eagerness" of
    A and B!

11
Choice (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!

12
Syntactic sugaring
AND-join
AND-split
OR-join
Explicit OR-split
13
Iteration
B
C
A
  • B may be executed several times.

14
Exercise
  • 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.

15
Triggers
  • 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.

17
The 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.

19
A process definition
A (sub)process has one input and one output place.
20
(No Transcript)
21
Cases
22
Insurance 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.

23
Insurance 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.

24
Spaghetti 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.
25
Complaints 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.

26
Complaints 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.

27
Complaints 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.

28
Travel 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

29
Travel 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.

30
Travel 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.

31
Travel 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.

32
Travel 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.

33
Template
34
Modeling 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

35
Workflow 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

36
Why?
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?

37
Resource 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.

38
Example 8 resource classes
groups
roles
39
Organigram TU/e
groups
Possible roles student, professor, programmer
40
UFO Roles TU/e
41
Convention used in this course
R,G
  • Each task executed by a resource (worker) is
    labelled with one role and one goup.

R
G
42
Insurance 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.

43
Insurance 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.

44
Solution (only control flow)
45
Roles 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)

46
Resulting model
47
Complaints 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.

48
Complaints 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.

49
Complaints 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.

50
Solution (only control flow)
51
Roles and groups
  • The following roles are identified
  • Employee (E)
  • Complaint manager (CM)
  • The following groups are identified
  • Department C (DC)
  • Logistics department (LD)

52
Resulting model
53
(No Transcript)
54
Protos (Pallas Athena)
task
55
role
group
56
role
group
57
4 eyes principle
58
Assumptions 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.

59
Further constraints
if compensation gt 1000 euro then role
manager else role employee


60
Push versus pull
61
Push control
workflow enactment service
push to a selected "victim"
62
Pull control
workflow enactment service
pull selected work items
63
pull control
64
Mosts WFM systems are hybrid, e.g., Staffware
personal queue
group queue
65
Who 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).

66
In 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)

67
Example (taken from "Operations Management" by
Roberta Russell Bernard W. Taylor)
Note that unlike most scheduling problems work
items emerge on the fly!
68
FIFO (also known as FCFS)
69
EDD
70
SPT
71
Comparison
We will return to the topic of workflow analysis
and simulation...
Write a Comment
User Comments (0)
About PowerShow.com