Sei sulla pagina 1di 58

Process Mining:

Discovering processes from event


logs
All truths are easy to understand once they are discovered;
the point is to discover them.
Galileo Galilei (1564 - 1642)

Prof.dr.ir. Wil van der Aalst


Eindhoven University of Technology
Department of Information and Technology
P.O. Box 513, 5600 MB Eindhoven
The Netherlands
w.m.p.v.d.aalst@tm.tue.nl

Outline
BPM research in Eindhoven
Process Mining
ProM
Architecture
Process mining plug-ins
Alpha-algorithm
Multi-phase mining
Genetic mining

Analysis plug-ins
Conformance testing plug-in
LTL checker plug-in
Social network plug-in
Convertors (e-mail, Staffware, InConcert, SAP, etc.)

Conclusion

BPM research in Eindhoven

Computer Science/information Systems in Eindhoven


TU/e
TM
(Technology Management)

IS
(Information Systems)

MCS
(Math. and Comp. Science)

BETA

CS
Math.
(Computer Science)

SE
ICTA

BPM
(Business Process Management)

IS
(Information Systems)

Research within the BPM group


Workflow management systems
Process modeling (design and redesign)
Process analysis (validation, verification, and
performance analysis)
Process mining
Often based on Petri nets

Analysis and improvement


of resource-constrained
workflow processes
Mariska Netjes

after WfM
implementation

1a-measurement

2a-measurement

before WfM
implementation

simulation
using initial
circumstances

1b-measurement

2b-measurement

0-measurement

3-measurement

simulation
using final
circumstances

real data

Product-driven process design


Irene Vanderfeesten
handle_insurance_claim

registration

pay_damage
check_policy

reject_claim

query_policy_data

send_fax
query_payments_data

phone
send_letter

dial
check_damage
OK

try_again
send_letter

check_other_types_of_damage

NOK

check_fire_damage
evaluate_claim

minimal_damage_check

thorough_evaluation
administrative_evaluation
minimal_evaluation
evaluation_by_department_man

check_car_damage

evaluation_by_traffic_expert
evaluation_by_fire_expert
check_car_damage_500+

is_part_of

check_car_damage_500-

specializes
make_appointment

visual_inspection

Improving work distribution


mechanisms in WFM systems
Maja Pesic

Patterns in process-aware
information systems
Nataliya Mulyar
pattern

standard
XPDL UML BPEL XLANG WSFL BPML WSCI

Sequence

Parallel Split

Synchronization

Exclusive Choice

Simple Merge

Multi Choice

Synchronizing Merge

Multi Merge

+/-

+/-

Discriminator

Arbitrary Cycles

Implicit Termination

MI without Synchronization

MI with a Priori Design Time


Knowledge

MI with a Priori Runtime Knowledge

MI without a Priori Runtime


Knowledge

Deferred Choice

Interleaved Parallel Routing

+/-

Milestone

Cancel Activity

Cancel Case

Genetic process mining


Ana Karla Alves de Medeiros

Process mining in case handling


systems
Christian Gnther

Process mining:
a formal approach
Boudwijn van Dongen

Verification of workflow
processes
Eric Verbeek

YAWL: Yet Another Workflow Language

Arthur ter Hofstede (patterns, YAWL def.)


Marlon Dumas (BABEL, SOC)
Lachlan Aldred (YAWL engine, comm. pats)
Lindsay Bradford (YAWL designer)
Tore Fjellheim (YAWL logging, timers)
Guy Redding (YAWL forms)
Nick Russell (work distribution/transactions)
Moe Wynn (verification, optimization)
Michael Adams (flexibility)

Process Mining
diagnosis

process
enactment

process
design

implementation/
configuration

Motivation: Reversing the process


Prepare
shipment

process
mining

Register
order

Ship
goods

(Re)send
bill

Archive
order

Receive
payment

Contact
customer

Process mining can be used for:


Process discovery (What is the process?)
Delta analysis (Are we doing what was specified?)
Performance analysis (How can we improve?)

Overview
2) process model

3) organizational model

4) social network

Start

Register order

Prepare
shipment

(Re)send bill

S hip goods

Contact
custom er

Receive paym ent

Archive or der

End

1) basic
performance
metrics

5) performance
characteristics

6) auditing/security

If then

www.processmining.org

Let us focus on mining process models


2) process model

3) organizational model

4) social network

Start

Register order

P repare
shipment

(Re)send bill

Ship goods

Contact
custom er

Receive payment

Archive order

End

1) basic
performance
metrics

5) performance
characteristics

6) auditing/security

If then

... and a very simple approach: The alpha algorithm

Process log
Minimal information in
log: case ids and task
ids.
Additional information:
event type, time,
resources, and data.
In this log there are three
possible sequences:
ABCD
ACBD
EF

case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case

1
2
3
3
1
1
2
4
2
2
5
4
1
3
3
4
5
4

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:

task
task
task
task
task
task
task
task
task
task
task
task
task
task
task
task
task
task

A
A
A
B
B
C
C
A
B
D
E
C
D
C
D
B
F
D

>,,||,# relations
Direct succession: x>y
iff for some case x is
directly followed by y.
Causality: xy iff x>y
and not y>x.
Parallel: x||y iff x>y and
y>x
Choice: x#y iff not x>y
and not y>x.

case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case

1
2
3
3
1
1
2
4
2
2
5
4
1
3
3
4
5
4

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:

task
task
task
task
task
task
task
task
task
task
task
task
task
task
task
task
task
task

A
A
A
B
B
C
C
A
B
D
E
C
D
C
D
B
F
D

A>B
A>C
B>C
B>D
C>B
C>D
E>F
B||C
C||B
AB
AC
BD
CD
EF

Basic idea (1)

xy

Basic idea (2)

x
z

xy, xz, and y||z

Basic idea (3)


y
x
z

xy, xz, and y#z

Basic idea (4)


x
z
y

xz, yz, and x||y

Basic idea (5)


x
z
y

xz, yz, and x#y

It is not that simple: Basic alpha algorithm


Let W be a workflow log over T. (W) is defined as follows.
1. TW = { t T W t },
2. TI = { t T W t = first() },
3. TO = { t T W t = last() },
4. XW = { (A,B) A TW B TW a Ab B a W b a1,a2 A a1#W a2
b1,b2 B b1#W b2 },
5. YW = { (A,B) X (A,B) XA A B B (A,B) = (A,B) },
6. PW = { p(A,B) (A,B) YW } {iW,oW},
7. FW = { (a,p(A,B)) (A,B) YW a A } { (p(A,B),b) (A,B) YW b B
} { (iW,t) t TI} { (t,oW) t TO}, and
(W)
(PW,TW,Fhas
).
The
alpha=algorithm
W been proven to be correct for a large class of free-choice nets.

Example

case 1 : task A
case 2 : task A
case 3 : task A
case 3 : task B
case 1 : task B
case 1 : task C
case 2 : task C
case 4 : task A
case 2 : task B
case 2 : task D
case 5 : task E
case 4 : task C
case 1 : task D
case 3 : task C
case 3 : task D
case 4 : task B
case 5 : task F
case 4 : task D

(W)

B
A

D
C

Challenges
Refining existing algorithm for (control-flow/process
perspective)

Hidden tasks
Duplicate tasks
Non-free-choice constructs
Loops
Detecting concurrency (implicit or explicit)
Mining and exploiting time
Dealing with noise
Dealing with incompleteness

Mining other perspectives (data, resources, roles, )


Gathering data from heterogeneous sources
Visualization of results
Delta analysis

DEMO
Alpha algorithm

48 cases
16 performers

ProM framework

ProM

workflow management systems

ProM
framework

case handling / CRM systems

ERP systems

Staffware

FLOWer

SAP R/3

InConcert

Vectus

BaaN

MQ Series

Siebel

Peoplesoft

common XML format for storing/


exchanging workflow logs
Core

Plugins

External
Tools

input/output

visualization

analysis

alpha algorithm

genetic
algorithm

Tsinghua alpha
algorithm

social network
miner

case data
extraction

property verifier

NetMiner

Viscovery

...

...
Multi phase
algorithms

...

Converter plug-in: EMailAnalyzer

XML format

ProM architecture

Mining plug-in: Multi-phase mining

Step 1: Get instances

Step 2: Project

Step 3: Aggregate

Step 4: Map onto EPC

Step 5: Map onto Petri net (or other language)

Mining plug-in: Genetic Miner

Overview of approach

Analysis plug-in: Social network miner

Cliques

SN based on hand-over of work metric

density of network is 0.225

SN based on working together (and ego network)

Analysis plug-in: LTL checker

Analysis plug-in: Conformance checker

Do they agree?

Fitness is not enough

Screenshot

(Also runs on Mac.)

Other analysis plug-ins

More demos?

diagnosis

Conclusion

process
enactment

process
design

implementation/
configuration

Process mining provides many interesting challenges


for scientists, customers, users, managers, consultants,
and tool developers.
Involves multiple perspectives (process, data,
resources, etc.)
Get ProM-ed!
You can contribute by applying ProM and developing
plug-ins

More information
http://www.workflowcourse.com
http://www.workflowpatterns.com

http://www.processmining.org

Potrebbero piacerti anche