1 Analysis of workflows a-priori and a-posteriori analysis Wil van der Aalst Eindhoven University of...
-
date post
20-Dec-2015 -
Category
Documents
-
view
218 -
download
0
Transcript of 1 Analysis of workflows a-priori and a-posteriori analysis Wil van der Aalst Eindhoven University of...
1
Analysis of workflows a-priori and a-posteriori analysis
Wil van der Aalst
Eindhoven University of TechnologyFaculty of Technology ManagementDepartment of Information and TechnologyP.O. Box 513 5600 MB EindhovenThe [email protected]
2
Outline
• BPM lifecycle
• a-priori analysis
– validation
– verification
– performance analysis
• a-posteriori analysis
– process mining
8
Design-time (a-priori) and run-time (a-posteriori) questions
processdesign
implementation/configuration
processenactment
diagnosis
Run-time Design-time
- process mining
- verification- validation- performance analysis
9
Design-time analysis of workflows• Validation is concerned with the relation between the model and reality.
• Verification is typically used to answer qualitative questions
– Is there a deadlock possible?
– It is possible to successfully handle a specific case?
– Will all cases terminate eventually?
– It is possible to execute two tasks in any order?
• Performance analysis is typically used to answer quantitative questions
– How many cases can be handled in one hour?
– What is the average flow time?
– How many extra resources are required?
– How many cases are handled within 2 days?
11
Verification: analysis techniques can be used to avoid logical errors.
Is this a correct workflow?If not, how to correct it?
pay_damage
check_policy
readystart registerc5
c6
c4
c3
c2
c1
check_damage
send_letter
12
WF-net
• A WorkFlow (WF) net is a labeled place/transition net with places i and o such that:
– i is the only source place,
– o is the only sink place, and
– all nodes are on a directed path from i to o.
i o
13
Soundness
• A WF-net is sound if and only if
– marking o is reachable from every reachable marking (initial marking is i),
– marking o is the only reachable marking marking place o, and
– there are no dead transitions.
i o
14
Syntactic sugaring
• Note silent (tau) steps.
• Branching bisimulation is used as an equivalence relation to distinguish internal/external choices.
18
Results• A WF-net is sound if and only if
the short-circuited net is live and bounded.
• For free-choice WF-nets soundness can be decided in polynomial time.
• For nets without PT and TP handles, soundness can be decided in polynomial time.
• Inheritance notions, etc., etc.
19
Petri-nets: a solver-independent medium
problem
Petri net description
toolbox
reachability analysis
Markovian analysis
simulation
structural analysis
OR-techniques
modelinganalysis
answers
20
Reachability analysis
RECORD
CONC
PAY
SENDL
FILE
INFORM
COLLECT
ARCHIVE
End
c1
c6 c7 c8
c2
c3
c4 c5
Start
c1,c6
c1,c7
c1,c8
c2,c6
c3,c6
c2,c7
c3,c7
c2,c8
c3,c8
c4,c6
c4,c7
c4,c8
c5,c6
c5,c7
c5,c8
End
21
Place invariants can be used to check detect errors
• There should be a positive place invariant assigning positive weights to all places and identical weights to begin and end.
• 1.begin + 1.end + ..... = constant
endbegin
22
Transition invariants can be used to detect errors
• There should be a positive transition invariant assigning positive weights to all transitions.
endbegin
short-circuited net
23
Exercise
pay_damage
check_policy
readystart registerc5
c6
c4
c3
c2
c1
check_damage
send_letter
Use invariants to motivate the correctness of the process definition.
24
Example
start register
send_form
evaluate
process_complaint
check_proc
process_form
time-outarchive
ready
c1
c2
c3
c4
c5
c6
c7
Sound?Inv.?
25
Example (2)
start register
send_form
evaluate
process_complaint
check_proc
process_form
time-outarchive
ready
c1
c2
c3
c4
c5
c6
Sound?Inv.?
26
Example (3)
start register
send_form
evaluate
process_complaint
check_proc
process_form
time-outarchive
ready
c1
c2
c3
c4
c5
c6
c7
c8
Sound?Inv.?
27
Example (4)
start register
send_form
evaluate
process_complaint
check_proc
process_form
time-outarchive
ready
c1
c2
c3
c4
c5
c6
c7
Sound?Inv.?
28
Example (5)
start register
send_form
evaluate
process_complaint
check_proc
process_form
time-outarchive
ready
c1
c2
c3
c4
c5
c6
c7
Sound?Inv.?
29
Performance analysisQuestions:• throughput, waiting and service times
• service levels
• occupation rates
Techniques:• simulation
• queuing theory
• Markovian analysis
30
Example: sequential (1)
• average throughput time : 22.2 minutes
• service time: 8.0 minutes
• waiting time: 14.2 minutes
task2task1 c3c1 c2
2 resources, averageservice time of 4 minutes
24 arrivals per hour
2 resources, averageservice time of 4 minutes
31
Parallel (2)
• average throughput time : 15 minutes
• service time: 4 minutes
• waiting time: 11 minutes
task2
task1
c3c1
c21
24 arrivals per hour
c23
c24c22
2 resources, averageservice time of 4 minutes
2 resources, averageservice time of 4 minutes
32
Compose (3)
• average throughput time : 9.5 minutes
• service time: 7.0 minutes
• waiting time: 2.5 minutes
task12 c3c1
24 arrivals per hour
4 resources, averageservice time of 7 minutes
33
Flexible resources (4)
• average throughput time : 14.0 minutes
• service time: 8.0 minutes
• waiting time: 6.0 minutes
task2task1 c3c1 c2
24 arrivals per hour
4 resources, averageservice time of 4 minutes
34
Triage (5)
• average throughput time : 31.1 minutes
• service time: 8.0 minutes
• waiting time: 23.1 minutes
task1b
task1a
c3
c1
c216 difficultcases per hour
c23
c22
1 resource, averageservice time of 8 minutes
1 resource, averageservice time of 2.66 minutes
task2
2 resources, averageservice time of 4minutes
18 easy casesper hour
difficult cases
easy cases
35
Priority (6)
• average throughput time : 14 minutes
• service time: 8 minutes
• waiting time: 6 minutes
task2
task1 c3
c1
c2
easy cases have priority2 resources, averageservice time 8 (difficult case) or2.66 (easy case) minutes
6 difficult casesper hour
18 easy casesper hour easy cases have priority
2 resources, averageservice time 8 (difficult case) or2.66 (easy case) minutes
36
Results
situation description average
throughput t.
average
service time
average
waiting t.
Situation 1 sequential 22.2 8.0 14.2
Situation 2 parallel 15 4(8) 11(7)
Situation 3 compose 9.5 7.0 2.5
Situation 4 flexibility 14.0 8.0 6.0
Situation 5 triage 31.1 8.0 23.1
Situation 6 priorities 14.0 8.0 6.0
40
a-posteriori analysis
informationsystem
operationalprocess
processmodels
eventlogs
models
processdiscovery
conformancetesting
records
configures
supports/controls
(un)desiredproperties
log-based verification
refers to
41
Process mining: Reversing the process
• Process mining can be used for:
– Process discovery (What is the process?)
– Delta analysis/conformance (Are we doing what was specified?)
– Performance analysis (How can we improve?)
process mining
Registerorder
Prepareshipment
Shipgoods
Receivepayment
(Re)sendbill
Contactcustomer
Archiveorder
42
Overview
1) basic performance metrics
2) process modelStart
Register order
Prepareshipment
Ship goods
(Re)send bill
Receive paymentContact
customer
Archive order
End
3) organizational model 4) social network
5) performance characteristics
If …then …
6) auditing/security
www.processmining.org
44
ProM
Staffware
InConcert
MQ Series
workflow management systems
FLOWer
Vectus
Siebel
case handling / CRM systems
SAP R/3
BaaN
Peoplesoft
ERP systems
common XML format for storing/exchanging workflow logs
input/outputCore
Plugins
ProMframework
visualization analysis
alpha algorithmgenetic
algorithmTsinghua alpha
algorithmMulti phasealgorithms
social networkminer
case dataextraction
property verifier
ExternalTools
NetMiner Viscovery ......
...
50
Behavioral appropriateness:0.970471
Structural appropriateness:0.5263158
More advanced approaches: Footprints and state-space-based methods.