BPM|onewvdaalst/old/courses/BPMScourse/BPMS-5-BPM-o… · −Process mining using BPM|one ......

143
BPM|one & Workflow Flexibility prof.dr.ir. Wil van der Aalst

Transcript of BPM|onewvdaalst/old/courses/BPMScourse/BPMS-5-BPM-o… · −Process mining using BPM|one ......

BPM|one

& Workflow Flexibility

prof.dr.ir. Wil van der Aalst

Outline

• Positioning BPM|one

• Supplemental Assignment (deadline 04-03-2013)

• BPM|one design (≈ Protos)

• Analysis in the context of BPM|one

− Verification using ProM/Woflan

− Simulation using BPM|one

− Process mining using BPM|one

• BPM|one control

• Flexibility

− Taxonomy

− Dynamic change bug

PAGE 1 26-2-2013

Role BPM|one

PAGE 2 26-2-2013

• Support of whole life-cycle.

• Good pattern support.

• Flexibility through case handling.

• Innovative features such as

process mining, simulation, etc.

• In assignment role is limited to

modeling and simulation.

• ProM is used for verification and

other forms of analysis.

• YAWL is used for enactment.

introduction

modeling

control-flow

modeling

resources

workflow management

systems

oth

er

no

tatio

ns

BP

M|o

ne

YA

WL

analysis

sim

ula

tio

n

ve

rifica

tio

n

pro

ce

ss

dis

co

ve

ry

group assignment

(3 points in groups

of 3 persons)

written exam (7

points)

co

nfo

rma

nce

ch

eckin

g

configurable

process

models

service

orientation

Protos versus BPM|one

PAGE 3 26-2-2013

Supplementary Assignment

PAGE 4 26-2-2013

• Goal: understanding the

full scope of BPM|one (not

just the Protos modeler).

• Form: Answer selected

questions learned by

interacting with system.

• Login information via e-

mail (check).

• Deadline: 4-3-2013!

• Contact Dennis/Joos in

case of problems.

BPM lifecycle

PAGE 5 26-2-2013 © Pallas Athena

Thanks to Pallas Athena for

sharing some of the figures

used in this lecture!

PAGE 6 26-2-2013

http://www.youtube.com/watch?feature=player_embedded&v=nKy2Sx2WYRE

http://www.youtube.com/watch?v=avQcrM4l7mM&feature=player_detailpage&list=UUrhC5S_Ussq4Sa4LpInlybA

Protos + FLOWer = BPM|one

PAGE 7 26-2-2013

Process

mining

Process

modeling

Process

analysis

Process

activation

Process

design

Case design Integration

Adaptation Deploy

© Pallas Athena

BPM|one Explorer

PAGE 8 26-2-2013

BPM|one design (“Protos functionality”)

PAGE 9 26-2-2013

More than 80%

of Dutch

municipalities

use Protos /

BPM|one.

More than 2.000

organizations and

1.000.000 users use

Protos / FLOWer /

BPM|one. PAGE 10 26-2-2013

Process Designer

PAGE 11 26-2-2013

process

definition task

condition

role

group

Symbols

PAGE 12 26-2-2013

trigger

task

hierarchy

place/condition

role

group

data perspective

Start and end of a process

PAGE 13 26-2-2013

Activity (=task)

PAGE 14 26-2-2013

analysis

data

role

group

2-4 eyes principle

Splits and joins

PAGE 15 26-2-2013

Relating data to activities

PAGE 16 26-2-2013

colors:

used-by

contains

Relating roles to activities

PAGE 17 26-2-2013

colors:

used-by

contains

is-a

Swimlanes

PAGE 18 26-2-2013

Triggers

• Triggers are

mandatory for

assignment.

• For simulation it is

better to replace

them by dummy

activities to model

the additional delays.

• No resource triggers!

PAGE 19 26-2-2013

set

start

Analysis

• Verification (via ProM)

• Simulation

• Process mining

PAGE 20 26-2-2013

Verification

PAGE 21 26-2-2013

Note exports RTF (for making report), HTML, and Woflan.

Use Woflan export for verification.

Extract “scr file”

PAGE 22 26-2-2013

save scr file and open with

ProM (or Woflan)

Export in Protos

PAGE 23 26-2-2013

Download ProM 6.2 from

http://www.promtools.org/prom6/

PAGE 24 26-2-2013

Let us first consider a correct

workflow model

PAGE 25 26-2-2013

In Protos

PAGE 26 26-2-2013

XOR-split

Import

PAGE 27 26-2-2013

import scr file

(Cosa Petri Net file)

Resulting Petri net object

PAGE 28 26-2-2013

Petri net object

resulting from import

view Petri net

analyze net

delete net

Analyze with Woflan

PAGE 29 26-2-2013

select Woflan plugin run plugin on Petri

net object

Result

PAGE 30 26-2-2013

Analyze structural properties

PAGE 31 26-2-2013

Select structural properties

PAGE 32 26-2-2013

A place invariant

PAGE 33 26-2-2013

A transition invariant

PAGE 34 26-2-2013

A TP handle

PAGE 35 26-2-2013

Analyze behavioral properties

PAGE 36 26-2-2013

Select behavioral properties

PAGE 37 26-2-2013

Open net is not live, but bounded

PAGE 38 26-2-2013

One dead marking

PAGE 39 26-2-2013

No dead transitions

PAGE 40 26-2-2013

Reachability graph

PAGE 41 26-2-2013

Introducing an error

PAGE 42 26-2-2013

Error in more detail

PAGE 43 26-2-2013

AND-split

AND-join

AND-join

XOR-split XOR-join

XOR-join XOR-join

XOR-split

XOR-split

Woflan diagnostics

PAGE 44 26-2-2013

Not sound:

Not always option to complete

PAGE 45 26-2-2013

PAGE 46 26-2-2013

Another example

PAGE 47 26-2-2013

Petri net translation

PAGE 48 26-2-2013

Process definition is sound

PAGE 49 26-2-2013

Example with error

PAGE 50 26-2-2013

Petri net translation

PAGE 51 26-2-2013

Process definition is not sound

PAGE 52 26-2-2013

Another example

PAGE 53 26-2-2013

Petri net translation

PAGE 54 26-2-2013

Process definition is sound

PAGE 55 26-2-2013

Example with two errors

PAGE 56 26-2-2013

XOR

AND

Petri net translation

PAGE 57 26-2-2013

PAGE 58 26-2-2013

( ]

( ]

P-T handles

Process definition is not sound

PAGE 59 26-2-2013

Alternative: Woflan

PAGE 60 26-2-2013

PAGE 61 26-2-2013

XOR

AND

Other Petri net tools

PAGE 62 26-2-2013

Make sure to view

net first to have

layout.

WoPeD (http://www.woped.org/)

PAGE 63 26-2-2013

PAGE 64 26-2-2013

Simulation

PAGE 65 26-2-2013

XOR

PAGE 66 26-2-2013

PAGE 67 26-2-2013

1 resource

2 resources 2 min. on average

2 min. on average

0 min. on average

0 min. on average

0 min. on average

50%

50%

Start simulation

PAGE 68 26-2-2013

switch on simulation

Simulation report

PAGE 69 26-2-2013

animation of simulation run

spreadsheet with results

PAGE 70 26-2-2013

XLS file

PAGE 71 26-2-2013

Utilization A [0.72,0.85]

Utilization B [0.82,0.93]

Work time A [1.88,2.27]

Work time B [1.86,2.17]

Flow time [13.6,21.6]

confidence

intervals are too

broad

exact value =0.8

exact value =0.8

Longer runs

PAGE 72 26-2-2013

Only 10% of the checks trigger rework

PAGE 73 26-2-2013

Significant drop in utilization of

Role B resources and flow time. exact value =0.44

Process Mining

PAGE 74 26-2-2013 CSV file

Parse event log

PAGE 75 26-2-2013

Filtering the log

PAGE 76 26-2-2013

Start process discovery

PAGE 77 26-2-2013

PAGE 78 26-2-2013

PAGE 79 26-2-2013

PAGE 80 26-2-2013

PAGE 81 26-2-2013

More information

• Later in this course:

− Lecture on simulation

− Lectures on verification

− Lectures on process mining

• Other courses:

− Business Process Simulation (2II75)

− Advanced Process Mining (2II66)

− Capita Selecta Architecture of Information Systems

(2II99)

− Seminar Architecture of Information Systems (2II96)

PAGE 82 26-2-2013

BPM|one control (“FLOWer functionality”)

PAGE 83 26-2-2013

Modeling and Analysis versus

Implementation and Enactment

PAGE 84 26-2-2013

Case Handling Paradigm

• Characteristics:

• skip, redo, ... roles

• data-driven

• separation of authorization and work distribution (could

≠ should)

• Pallas Athena/Perceptive Software fully implements

the case handling concept through BPM|one control

(formerly known as FLOWer).

• For more information: W.M.P. van der Aalst,

M. Weske, and D. Grünbauer. Case Handling: A New

Paradigm for Business Process Support. Data and

Knowledge Engineering, 53(2):129-162, 2005.

Case Handling Concept

A1 A2 A3

D1 D2 D3

F1

D0

d1

D4

C1

d2

d0

d4

d1

F3

d0

R1

Exec

R2

Skip

d1

d3

d2

F2

free

free

restrictedmandatory

mandatory

mandatory

mandatory

Differences between workflow

management and case handling

Workflow

management

Case

handling

Focus Work item Whole case

Primary driver Control flow Case data

Separation of

authorization and

distribution

No Yes

Separation of

case data and

process control

Yes No

Data linked to

roles

No Yes

Types of roles

associated with

tasks

Execute Execute, skip,

redo, …

Focus: Whole case

• Avoid context tunneling, i.e., supply as

much information about the case as

possible. Do not restrict the view to data

relevant for executing the next task in line.

• Allow a case worker to select, view and

modify cases without explicitly selecting a

work item.

Primary driver: Case data

• Case data is not something without any structure hidden inside applications!

• The data elements present determine the logi(sti)cal state of the case.

• By adding and modifying case data, the case progresses.

• By filling out a form zero or more work items may be executed!

Separation of authorization and

distribution:Yes

• Many workflow management systems do not

distinguish between authorization (can do) and

distribution (should do).

• Moreover, authorization and distribution are

typically directly linked to the process model.

• By defining authorization and distribution

independently and separate from the process

definition, reuse and flexibility are increased.

Separation of case data and process

control: No

• The basic assumption driving most workflow management systems is a strict separation between data and process. Only the control data is managed.

• The strict separation between case data and process control simplifies things but also creates integration problems.

• For case handling the logistical state is derived from the date element present, therefore data and process cannot be separated!

Data linked to roles: Yes

• In most workflow management systems

case data is under the supervision of the

applications and therefore the relation

between data and workers is not

modeled explicitly.

• By linking roles to data elements, case

data can be made available in every step

of the process.

Types of roles associated with tasks:

Execute, skip, redo, …

• The execute role specifies the authorization in an ideal situation. However, real case work involves skipping and rework.

• The execute, skip and redo roles do not need to coincide.

• Note that to discuss skipping and rework, loops need to be removed and replaced by redo’s and multiple instances (cf. patterns).

Case Handling: “Data-Driven”

in more detail …

• State is determined based on data rather than only

the steps executed.

• The addition of data (e.g. via forms not linked to

tasks or swapped in from external applications)

triggers state changes.

PAGE 94 26-2-2013

Mandatory and restricted data

PAGE 95 26-2-2013

Data 1

Data 2

Data 3

Data 4

Data 5

Step 1

Step 2

Step 3

Step 4

Label1:

Label2:

Label3:

Label4:

Label5:

mandatory

restricted

Step 1 is on the “wavefront” and can be

completed by entering Data 1 (mandatory)

PAGE 96 26-2-2013

Data 1

Data 2

Data 3

Data 4

Data 5

Step 1

Step 2

Step 3

Step 4

Label1:

Label2:

Label3:

Label4:

Label5:

mandatory

restricted

Value1

Step 2 is on the “wavefront” and requires

Data 1 and Data 2 to complete

PAGE 97 26-2-2013

Data 1

Data 2

Data 3

Data 4

Data 5

Label1:

Label2:

Label3:

Label4:

Label5:

mandatory

restricted

Value1

Step 1

Step 2

Step 3

Step 4

Value3

Value2

Step 4 (not 3) is on the “wavefront” because

all mandatory data for Step 3 was there

PAGE 98 26-2-2013

Data 1

Data 2

Data 3

Data 4

Data 5

Label1:

Label2:

Label3:

Label4:

Label5:

mandatory

restricted

Step 1

Step 2

Step 3

Step 4

Value3

Value1

Value4

Value2

All four activities have completed

PAGE 99 26-2-2013

Data 1

Data 2

Data 3

Data 4

Data 5

Label1:

Label2:

Label3:

Label4:

Label5:

mandatory

restricted

Step 1

Step 2

Step 3

Step 4

Value3

Value2

Value1

Value4

Convert model and refine

PAGE 100 26-2-2013

PAGE 101 26-2-2013

data element “Name”

is a string used in all

five forms

forms

data “used by”

PAGE 102 26-2-2013

in this step

Insurance_OK and

Insurance_ID need to

be entered

PAGE 103 26-2-2013

in this step

Damage_OK and

Damage need to be

entered

PAGE 104 26-2-2013

only Name is

mandatory

PAGE 105 26-2-2013

Insurance_ID and

Insurance_OK are

mandatory

PAGE 106 26-2-2013

PAGE 107 26-2-2013

PAGE 108 26-2-2013

PAGE 109 26-2-2013

“used by”

Mandatory and restricted data

PAGE 110 26-2-2013

PAGE 111 26-2-2013

six cases

PAGE 112 26-2-2013

PAGE 113 26-2-2013

PAGE 114 26-2-2013

PAGE 115 26-2-2013

PAGE 116 26-2-2013

PAGE 117 26-2-2013

all mandatory data

elements for

remaining activities

are present

PAGE 118 26-2-2013

redo check damage

step to change

amount of damage

PAGE 119 26-2-2013

unconfirmed values

PAGE 120 26-2-2013

confirm new value

PAGE 121 26-2-2013

overview form (can be

opened without executing

some activity)

change name

cannot be changed

here (restricted)

PAGE 122 26-2-2013

Conclusion BPM|one

PAGE 123 26-2-2013

Workflow Flexibility

Flexibility

support control flexibility

Workflows, what people want ...

Classical trade-off

ad-hoc

workflowgroupware

production

workflow

case

handling

low

high

flexibility supp

ort

"do whatever you want

but get no support"

"support but

no flexibility"

Four types of flexibility

• Flexibility by Design –allow for multiple execution paths at run-time

• Flexibility by Deviation –ability to deviate without changing the model

• Flexibility by Underspecification –ability to execute models that are completed at

run-time

• Flexibility by Change – ability to modify the model at run-time

Flexibility by Design

a b cstart end

Flexibility by Deviation

a b cstart end

Flexibility by Underspecification

a cstart end?

x y z

Flexibility by Change

a b cstart end

a cstart end

Flexibility

by

Design

Flexibility

by

Deviation

Flexibility

by Under-

specification

Flexibility

by

Change

Defer (decide to decide later)

Change (decide to change model)

Deviate (decide to ignore model)

Ad-hoc

change

Evolutionary

change

Overview flexibility mechanisms

Change

Deviation

Design

Underspecification

Late Modeling Late Binding

Run-time Design-time

Part

ial

Fu

ll

Flexibility Configuration

Pro

cess D

efi

nit

ion

Co

mp

lete

ness

Examples Challenge: Consider a procedural

language + change

• Changes: ad-hoc (one

instance) and

evolutionary (whole

process).

• Attempts to combine the

best of both worlds.

• Problems:

• Users cannot model!

• Difficult to support.

s1

s2

s3

prepare_shipment

send_goods

send_bill

record_shipment

s4

s5

prepare_shipment

send_goods send_bill

record_shipment

p1

p3p2

p4 p5

p6

s1

s2

s3

prepare_shipment

send_goods

send_bill

record_shipment

s4

s5

prepare_shipment

send_goods send_bill

record_shipment

p1

p3p2

p4 p5

p6

s1

s2

s3

prepare_shipment

send_goods

send_bill

record_shipment

s4

s5

prepare_shipment

send_goods send_bill

record_shipment

p1

p3p2

p4 p5

p6

s1

s2

s3

prepare_shipment

send_goods

send_bill

record_shipment

s4

s5

prepare_shipment

send_goods send_bill

record_shipment

p1

p3p2

p4 p5

p6

s1

s2

s3

prepare_shipment

send_goods

send_bill

record_shipment

s4

s5

prepare_shipment

send_goods send_bill

record_shipment

p1

p3p2

p4 p5

p6

s1

s2

s3

prepare_shipment

send_goods

send_bill

record_shipment

s4

s5

prepare_shipment

send_goods send_bill

record_shipment

p1

p3p2

p4 p5

p6

s1

s2

s3

prepare_shipment

send_goods

send_bill

record_shipment

s4

s5

prepare_shipment

send_goods send_bill

record_shipment

p1

p3p2

p4 p5

p6

?

Dynamic change bug

PAGE 142 26-2-2013

Instead of exercises make the

Supplementary Assignment