SlideShare a Scribd company logo
1 of 120
Download to read offline
On	
  the	
  
Performance	
  Overhead	
  of
BPMN	
  Modeling	
  Practices	
  
Ana	
  Ivanchikj Vincenzo	
  Ferme Cesare	
  Pautasso
University	
  of	
  Lugano	
  (USI)
Switzerland
2
BPMN	
  Expressiveness
3
BPMN	
  Expressiveness
BPMN	
  Standard
4
BPMN	
  Expressiveness
BPMN	
  Standard
Model’s	
  Semantics
5
BPMN	
  Expressiveness
BPMN	
  Standard
Model’s	
  Semantics
Model’s	
  Understandability
6
B
A
C
B
A
C
7
Structural	
  Differences
B
A
C
B
A
C
8
Structural	
  Differences
B
A
C
B
A
C
Semantical	
  Equivalence
9
Structural	
  Differences
B
A
C
B
A
C
Semantical	
  Equivalence case	
  id trace
1 ABC
2 ACB
3 ABC
…. ….
10
Structural	
  Differences
B
A
C
B
A
C
Semantical	
  Equivalence case	
  id trace
1 ABC
2 ACB
3 ABC
…. ….
Performance	
  Equivalence
11
Structural	
  Differences
B
A
C
B
A
C
Semantical	
  Equivalence case	
  id trace
1 ABC
2 ACB
3 ABC
…. ….
Performance	
  Equivalence
12
Research	
  Questions
RQ1: Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  a	
  
significant	
  impact	
  on	
  the	
  duration	
  of	
  a	
  BP	
  instance	
  execution?	
  
13
Research	
  Questions
RQ1: Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  a	
  
significant	
  impact	
  on	
  the	
  duration	
  of	
  a	
  BP	
  instance	
  execution?	
  
14
Research	
  Questions
RQ1: Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  a	
  
significant	
  impact	
  on	
  the	
  duration	
  of	
  a	
  BP	
  instance	
  execution?	
  
15
Research	
  Questions
RQ1: Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  a	
  
significant	
  impact	
  on	
  the	
  duration	
  of	
  a	
  BP	
  instance	
  execution?	
  
16
Research	
  Questions
RQ1: Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  a	
  
significant	
  impact	
  on	
  the	
  duration	
  of	
  a	
  BP	
  instance	
  execution?	
  
RQ2: Is	
  there	
  a	
  total	
  order	
  between	
  semantically	
  equivalent	
  but	
  
structurally	
  different	
  models,	
  when	
  ranked	
  according	
  to	
  their	
  
performance?	
  
RQ2: Is	
  there	
  a	
  total	
  order	
  between	
  semantically	
  equivalent	
  but	
  
structurally	
  different	
  models,	
  when	
  ranked	
  according	
  to	
  their	
  
performance?	
  
17
Research	
  Questions
RQ1: Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  a	
  
significant	
  impact	
  on	
  the	
  duration	
  of	
  a	
  BP	
  instance	
  execution?	
  
18
Methodology
19
Methodology
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
4. Execute the
BPs in EM and
Measure
Performance
2. Determine
Applicable
Transformation
Rules
Transformation
rules
(R)
Applicable
combinations
of rules
(RA)
Load function /
WfMS
Semantically
equivalent
BP models
(TMi)
3. Generate
Transformed
BP Models
i <= z
i>z
Unsaved diagram
Performance
metrics
5. Test
Statistical
Significance of
Differences
6. Rank the
Performance of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ1 RQ2
20
Methodology
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
4. Execute the
BPs in EM and
Measure
Performance
2. Determine
Applicable
Transformation
Rules
Transformation
rules
(R)
Applicable
combinations
of rules
(RA)
Load function /
WfMS
Semantically
equivalent
BP models
(TMi)
3. Generate
Transformed
BP Models
i <= z
i>z
Unsaved diagram
Performance
metrics
5. Test
Statistical
Significance of
Differences
6. Rank the
Performance of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ1 RQ2
Experiment	
  definition	
  and	
  execution
21
Methodologym
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
4. Execute the
BPs in EM and
Measure
Performance
2. Determine
Applicable
Transformation
Rules
Transformation
rules
(R)
Applicable
combinations
of rules
(RA)
Load function /
WfMS
Semantically
equivalent
BP models
(TMi)
3. Generate
Transformed
BP Models
i <= z
i>z
Experiment	
  definition	
  and	
  execution
22
Methodology
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
4. Execute the
BPs in EM and
Measure
Performance
2. Determine
Applicable
Transformation
Rules
Transformation
rules
(R)
Applicable
combinations
of rules
(RA)
Load function /
WfMS
Semantically
equivalent
BP models
(TMi)
3. Generate
Transformed
BP Models
i <= z
i>z
Unsaved diagram
Performance
metrics
5. Test
Statistical
Significance of
Differences
6. Rank the
Performance of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ1 RQ2
Experiment	
  definition	
  and	
  execution
23
Methodology
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
4. Execute the
BPs in EM and
Measure
Performance
2. Determine
Applicable
Transformation
Rules
Transformation
rules
(R)
Applicable
combinations
of rules
(RA)
Load function /
WfMS
Semantically
equivalent
BP models
(TMi)
3. Generate
Transformed
BP Models
i <= z
i>z
Unsaved diagram
Performance
metrics
5. Test
Statistical
Significance of
Differences
6. Rank the
Performance of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ1 RQ2
Experiment	
  definition	
  and	
  execution Results	
  analysis	
  and	
  ranking
24
Methodology
Results	
  analysis	
  and	
  ranking
Performance
metrics
5. Test
Statistical
Significance of
Differences
6. Rank the
Performance of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ1 RQ2
25
Methodology
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
4. Execute the
BPs in EM and
Measure
Performance
2. Determine
Applicable
Transformation
Rules
Transformation
rules
(R)
Applicable
combinations
of rules
(RA)
Load function /
WfMS
Semantically
equivalent
BP models
(TMi)
3. Generate
Transformed
BP Models
i <= z
i>z
Unsaved diagram
Performance
metrics
5. Test
Statistical
Significance of
Differences
6. Rank the
Performance of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ1 RQ2
Experiment	
  definition	
  and	
  execution Results	
  analysis	
  and	
  ranking
26
First models v4
EX1_PCF EX2_E
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2
Empty ST 2
EG 2.1
Empty ST 2
Empty ST 2
EG 2.2
EG 2.4
EG
EG
Generate
ST 2.1
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
27
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
First models v4
EX1_PCF EX2_E
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2
Empty ST 2
EG 2.1
Empty ST 2
Empty ST 2
EG 2.2
EG 2.4
EG
EG
Generate
ST 2.1
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
minimize	
  the	
  routing	
  
paths	
  per	
  element
match	
  every	
  split	
  with	
  a	
  
join	
  of	
  the	
  same	
  type	
  
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
use	
  one	
  start	
  and	
  
one	
  end	
  event	
  
28
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
First models v4
EX1_PCF EX2_E
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2
Empty ST 2
EG 2.1
Empty ST 2
Empty ST 2
EG 2.2
EG 2.4
EG
EG
Generate
ST 2.1
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
minimize	
  the	
  routing	
  
paths	
  per	
  element
match	
  every	
  split	
  with	
  a	
  
join	
  of	
  the	
  same	
  type	
  
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
use	
  one	
  start	
  and	
  
one	
  end	
  event	
  
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
29
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
First models v4
EX1_PCF EX2_E
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2
Empty ST 2
EG 2.1
Empty ST 2
Empty ST 2
EG 2.2
EG 2.4
EG
EG
Generate
ST 2.1
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
minimize	
  the	
  routing	
  
paths	
  per	
  element
match	
  every	
  split	
  with	
  a	
  
join	
  of	
  the	
  same	
  type	
  
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
use	
  one	
  start	
  and	
  
one	
  end	
  event	
  
Parallel
30
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
First models v4
EX1_PCF EX2_E
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2
Empty ST 2
EG 2.1
Empty ST 2
Empty ST 2
EG 2.2
EG 2.4
EG
EG
Generate
ST 2.1
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
First models v4
EX1_PCF EX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
3
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
minimize	
  the	
  routing	
  
paths	
  per	
  element
match	
  every	
  split	
  with	
  a	
  
join	
  of	
  the	
  same	
  type	
  
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
use	
  one	
  start	
  and	
  
one	
  end	
  event	
  
Parallel
Exclusive
31
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
First models v4
EX1_PCF EX2_E
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2
Empty ST 2
EG 2.1
Empty ST 2
Empty ST 2
EG 2.2
EG 2.4
EG
EG
Generate
ST 2.1
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
First models v4
EX1_PCF EX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
3
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
minimize	
  the	
  routing	
  
paths	
  per	
  element
match	
  every	
  split	
  with	
  a	
  
join	
  of	
  the	
  same	
  type	
  
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
use	
  one	
  start	
  and	
  
one	
  end	
  event	
  
avoid	
  OR	
  
gateways	
  
Parallel
Exclusive
Inclusive
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
r2	
  	
  Coalesce	
  Splitsr1 Coalesce	
  Joins
r3	
  	
  Use	
  Inclusive	
  Gateway r4 Use	
  Implicit	
  Gateway
32
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
r2	
  	
  Coalesce	
  Splitsr1 Coalesce	
  Joins
r3	
  	
  Use	
  Inclusive	
  Gateway r4 Use	
  Implicit	
  Gateway
33
Semantics
Preserving
Transformation
Rules!
34
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
r1 Coalesce	
  Joins
r2	
  	
  Coalesce	
  Splits
35
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
r3	
  	
  Use	
  Inclusive	
  Gateway
36
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
r4 Use	
  Implicit	
  Gateway
37
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
r2	
  	
  Coalesce	
  Splitsr1 Coalesce	
  Joins
r3	
  	
  Use	
  Inclusive	
  Gateway r4 Use	
  Implicit	
  Gateway
38
Semantics
Preserving
Transformation
Rules!
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
r2	
  	
  Coalesce	
  Splitsr1 Coalesce	
  Joins
r3	
  	
  Use	
  Inclusive	
  Gateway r4 Use	
  Implicit	
  Gateway
39
Semantics
Preserving
Transformation
Rules!
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
1.1.Parallel_Multiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
Initial	
  
Model
40
1.1.Parallel_Multiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
Initial	
  
Model
41
coalesce	
  
joinst1
t2
t3 use	
  
inclusive	
  
gateway
use	
  
implicit
gateway
t4
coalesce	
  
splits
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
1.1.Parallel_Multiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
Initial	
  
Model
42
coalesce	
  
joinst1
t2
t3 use	
  
inclusive	
  
gateway
use	
  
implicit
gateway
t4
coalesce	
  
splits
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
tiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
Initial	
  
Model
43
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
R1_Parallel_Coalesce_Joins
R1.PG Start
Empty ST R1.PG.1 PG R1.PG.1
PG R1.PG.2
PG R1.PG.3
Empty ST R1.PG.2
Empty ST R1.PG.3
Empty ST R1.PG.4
Empty ST R1.PG.5
PG R1.PG.4
R1.PG End
t1
coalesce	
  
joins
44
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
R2_Parallel_Coalesce_Splits
R2.PG Start
Empty ST R2.PG.1
PG R2.PG.1
Empty ST R2.PG.2
Empty ST R2.PG.3
Empty ST R2.PG.4
Empty ST R2.PG.5
PG R2.PG.2
PG R2.PG.3
PG 1.1.6 R2.PG End
tiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
Initial	
  
Model
t2
coalesce	
  
splits
45
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
R3_Parallel_Alternative
R3.PG Start
Empty ST R3.PG.1
Empty ST R3.PG.2
Empty ST R3.PG.3
Empty ST R3.PG.4
Empty ST R3.PG.5
R3.PG EndIG R3.PG.1
IG R3.PG.2
IG R3.PG.4
IG R3.PG.3
IG R3.PG.5
IG R3.PG.6
tiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
Initial	
  
Model
t3
use	
  
inclusive	
  
gateway
46
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
tiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
Initial	
  
Model
t4
use	
  
implicit
gateway
R4_Parallel_Activity_Form
R4.PG Start
Empty ST R4.PG.1
PG R4.PG.1
PG R4.PG.3
Empty ST R4.PG.2
Empty ST R4.PG.3
Empty ST R4.PG.4
Empty ST R4.PG.5
PG R4.PG.2
PG R4.PG.4
PG R4.PG.5
R4.PG End
use	
  
implicit
gateway
t3 use	
  
inclusive	
  
gateway
coalesce	
  
joins
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
t4
1.1.Parallel_Multiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
R1_Parallel_Coalesce_Joins
R1.PG Start
Empty ST R1.PG.1 PG R1.PG.1
PG R1.PG.2
PG R1.PG.3
Empty ST R1.PG.2
Empty ST R1.PG.3
Empty ST R1.PG.4
Empty ST R1.PG.5
PG R1.PG.4
R1.PG End
t1
Initial	
  
Model
R2_Parallel_Coalesce_Splits
R2.PG Start
Empty ST R2.PG.1
PG R2.PG.1
Empty ST R2.PG.2
Empty ST R2.PG.3
Empty ST R2.PG.4
Empty ST R2.PG.5
PG R2.PG.2
PG R2.PG.3
PG 1.1.6 R2.PG End
t2
coalesce	
  
splits
R3_Parallel_Alternative
R3.PG Start
Empty ST R3.PG.1
Empty ST R3.PG.2
Empty ST R3.PG.3
Empty ST R3.PG.4
Empty ST R3.PG.5
R3.PG EndIG R3.PG.1
IG R3.PG.2
IG R3.PG.4
IG R3.PG.3
IG R3.PG.5
IG R3.PG.6
ctivity_Form
R4.PG Start
Empty ST R4.PG.1
PG R4.PG.1
PG R4.PG.3
Empty ST R4.PG.2
Empty ST R4.PG.3
Empty ST R4.PG.4
Empty ST R4.PG.5
PG R4.PG.2
PG R4.PG.4
PG R4.PG.5
R4.PG End
47
use	
  
implicit
gateway
t3 use	
  
inclusive	
  
gateway
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
t4
1.1.Parallel_Multiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
R1_Parallel_Coalesce_Joins
R1.PG Start
Empty ST R1.PG.1 PG R1.PG.1
PG R1.PG.2
PG R1.PG.3
Empty ST R1.PG.2
Empty ST R1.PG.3
Empty ST R1.PG.4
Empty ST R1.PG.5
PG R1.PG.4
R1.PG End
t1
Initial	
  
Model
R2_Parallel_Coalesce_Splits
R2.PG Start
Empty ST R2.PG.1
PG R2.PG.1
Empty ST R2.PG.2
Empty ST R2.PG.3
Empty ST R2.PG.4
Empty ST R2.PG.5
PG R2.PG.2
PG R2.PG.3
PG 1.1.6 R2.PG End
t2
coalesce	
  
splits
R3_Parallel_Alternative
R3.PG Start
Empty ST R3.PG.1
Empty ST R3.PG.2
Empty ST R3.PG.3
Empty ST R3.PG.4
Empty ST R3.PG.5
R3.PG EndIG R3.PG.1
IG R3.PG.2
IG R3.PG.4
IG R3.PG.3
IG R3.PG.5
IG R3.PG.6
ctivity_Form
R4.PG Start
Empty ST R4.PG.1
PG R4.PG.1
PG R4.PG.3
Empty ST R4.PG.2
Empty ST R4.PG.3
Empty ST R4.PG.4
Empty ST R4.PG.5
PG R4.PG.2
PG R4.PG.4
PG R4.PG.5
R4.PG End
48
coalesce	
  
joins
use	
  
implicit
gateway
t3 use	
  
inclusive	
  
gateway
t4
1.1.Parallel_Multiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
R1_Parallel_Coalesce_Joins
R1.PG Start
Empty ST R1.PG.1 PG R1.PG.1
PG R1.PG.2
PG R1.PG.3
Empty ST R1.PG.2
Empty ST R1.PG.3
Empty ST R1.PG.4
Empty ST R1.PG.5
PG R1.PG.4
R1.PG End
t1
Initial	
  
Model
R2_Parallel_Coalesce_Splits
R2.PG Start
Empty ST R2.PG.1
PG R2.PG.1
Empty ST R2.PG.2
Empty ST R2.PG.3
Empty ST R2.PG.4
Empty ST R2.PG.5
PG R2.PG.2
PG R2.PG.3
PG 1.1.6 R2.PG End
t2
coalesce	
  
splits
R3_Parallel_Alternative
R3.PG Start
Empty ST R3.PG.1
Empty ST R3.PG.2
Empty ST R3.PG.3
Empty ST R3.PG.4
Empty ST R3.PG.5
R3.PG EndIG R3.PG.1
IG R3.PG.2
IG R3.PG.4
IG R3.PG.3
IG R3.PG.5
IG R3.PG.6
ctivity_Form
R4.PG Start
Empty ST R4.PG.1
PG R4.PG.1
PG R4.PG.3
Empty ST R4.PG.2
Empty ST R4.PG.3
Empty ST R4.PG.4
Empty ST R4.PG.5
PG R4.PG.2
PG R4.PG.4
PG R4.PG.5
R4.PG End
49
coalesce	
  
joins
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
R3R4
1.2.8 Start
Empty ST
1.2.8.1
Empty ST
1.2.8.2
Empty ST
1.2.8.3
Empty ST
1.2.8.4
Empty ST
1.2.8.5
1.2.8 End
IG 1.2.8.2
IG 1.2.8.4
IG 1.2.8.5
IG 1.2.8.1
IG 1.2.8.3
use	
  
implicit
gateway
t3 use	
  
inclusive	
  
gateway
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
t4
1.1.Parallel_Multiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
R1_Parallel_Coalesce_Joins
R1.PG Start
Empty ST R1.PG.1 PG R1.PG.1
PG R1.PG.2
PG R1.PG.3
Empty ST R1.PG.2
Empty ST R1.PG.3
Empty ST R1.PG.4
Empty ST R1.PG.5
PG R1.PG.4
R1.PG End
t1
Initial	
  
Model
R2_Parallel_Coalesce_Splits
R2.PG Start
Empty ST R2.PG.1
PG R2.PG.1
Empty ST R2.PG.2
Empty ST R2.PG.3
Empty ST R2.PG.4
Empty ST R2.PG.5
PG R2.PG.2
PG R2.PG.3
PG 1.1.6 R2.PG End
t2
coalesce	
  
splits
R3_Parallel_Alternative
R3.PG Start
Empty ST R3.PG.1
Empty ST R3.PG.2
Empty ST R3.PG.3
Empty ST R3.PG.4
Empty ST R3.PG.5
R3.PG EndIG R3.PG.1
IG R3.PG.2
IG R3.PG.4
IG R3.PG.3
IG R3.PG.5
IG R3.PG.6
ctivity_Form
R4.PG Start
Empty ST R4.PG.1
PG R4.PG.1
PG R4.PG.3
Empty ST R4.PG.2
Empty ST R4.PG.3
Empty ST R4.PG.4
Empty ST R4.PG.5
PG R4.PG.2
PG R4.PG.4
PG R4.PG.5
R4.PG End
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
R4
1.2.3 Start
Empty ST
1.2.3.1
PG 1.2.3.1
PG 1.2.3.2
Empty ST
1.2.3.2
Empty ST
1.2.3.3
Empty ST
1.2.3.4
Empty ST
1.2.3.5
PG 1.2.3.3
1.2.3 End
1.2.5 Parallel_R2R3
1.2.5 Start
Empty ST
1.2.5.1
Empty ST
1.2.5.2
Empty ST
1.2.5.3
Empty ST
1.2.5.4
Empty ST
1.2.5.5
1.2.5 EndIG 1.2.5.1
IG 1.2.5.2
IG 1.2.5.3
IG 1.2.5.4
50
3. Generate
Transformed
BP Models
Applicable
combinations
of rules
(RA)
Semantically
equivalent
BP models
(TMi)
coalesce	
  
joins
R3R4
1.2.8 Start
Empty ST
1.2.8.1
Empty ST
1.2.8.2
Empty ST
1.2.8.3
Empty ST
1.2.8.4
Empty ST
1.2.8.5
1.2.8 End
IG 1.2.8.2
IG 1.2.8.4
IG 1.2.8.5
IG 1.2.8.1
IG 1.2.8.3
use	
  
implicit
gateway
t3 use	
  
inclusive	
  
gateway
2. Determine
Applicable
Transformati
on Rules
Transformat
ion rules
(R)
Applicable
combinations
of rules
(RA)
t4
1.1.Parallel_Multiple
1.1 Start
Empty ST 1.1.1
PG 1.1.1
PG 1.1.2
PG 1.1.4
Empty ST 1.1.2
Empty ST 1.1.3
Empty ST 1.1.4
Empty ST 1.1.5
PG 1.1.3
PG 1.1.5
PG 1.1.6
1.1 End
R1_Parallel_Coalesce_Joins
R1.PG Start
Empty ST R1.PG.1 PG R1.PG.1
PG R1.PG.2
PG R1.PG.3
Empty ST R1.PG.2
Empty ST R1.PG.3
Empty ST R1.PG.4
Empty ST R1.PG.5
PG R1.PG.4
R1.PG End
t1
Initial	
  
Model
R2_Parallel_Coalesce_Splits
R2.PG Start
Empty ST R2.PG.1
PG R2.PG.1
Empty ST R2.PG.2
Empty ST R2.PG.3
Empty ST R2.PG.4
Empty ST R2.PG.5
PG R2.PG.2
PG R2.PG.3
PG 1.1.6 R2.PG End
t2
coalesce	
  
splits
R3_Parallel_Alternative
R3.PG Start
Empty ST R3.PG.1
Empty ST R3.PG.2
Empty ST R3.PG.3
Empty ST R3.PG.4
Empty ST R3.PG.5
R3.PG EndIG R3.PG.1
IG R3.PG.2
IG R3.PG.4
IG R3.PG.3
IG R3.PG.5
IG R3.PG.6
ctivity_Form
R4.PG Start
Empty ST R4.PG.1
PG R4.PG.1
PG R4.PG.3
Empty ST R4.PG.2
Empty ST R4.PG.3
Empty ST R4.PG.4
Empty ST R4.PG.5
PG R4.PG.2
PG R4.PG.4
PG R4.PG.5
R4.PG End
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
R4
1.2.3 Start
Empty ST
1.2.3.1
PG 1.2.3.1
PG 1.2.3.2
Empty ST
1.2.3.2
Empty ST
1.2.3.3
Empty ST
1.2.3.4
Empty ST
1.2.3.5
PG 1.2.3.3
1.2.3 End
1.2.5 Parallel_R2R3
1.2.5 Start
Empty ST
1.2.5.1
Empty ST
1.2.5.2
Empty ST
1.2.5.3
Empty ST
1.2.5.4
Empty ST
1.2.5.5
1.2.5 EndIG 1.2.5.1
IG 1.2.5.2
IG 1.2.5.3
IG 1.2.5.4
mi
t1
t2
t3
t4
t12
t13
t14
t23
t24
t34
t123
t124
t134
t234
t1234
51
3. Generate
Transformed
BP Models
Applicable
combinations
of rules
(RA)
Semantically
equivalent
BP models
(TMi)
3. Generate
Transformed
BP Models
Applicable
combinations
of rules
(RA)
Semantically
equivalent
BP models
(TMi)
coalesce	
  
joins
52
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Workload
benchflow [ICPE	
  ’16][BPM	
  ’15]
53
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Workload
benchflow [ICPE	
  ’16][BPM	
  ’15]
54
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
WfMS
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Workload Load	
  function
benchflow [ICPE	
  ’16][BPM	
  ’15]
55
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
WfMS
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Workload Load	
  function
benchflow [ICPE	
  ’16][BPM	
  ’15]
56
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
WfMS
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Workload Load	
  function
benchflow [ICPE	
  ’16][BPM	
  ’15]
57
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
WfMS
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Workload Load	
  function
Metrics
benchflow [ICPE	
  ’16][BPM	
  ’15]
58
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
WfMS
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
1.2.1 Parallel_R1R2
1.2.1 Start
Empty ST
1.2.1.1
PG 1.2.1.1
Empty ST
1.2.1.2
Empty ST
1.2.1.5
Empty ST
1.2.1.4
Empty ST
1.2.1.3
PG 1.2.1.2 1.2.1 End
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Workload Load	
  function
Metrics
benchflow [ICPE	
  ’16][BPM	
  ’15]
instance	
  duration	
  in	
  
milliseconds	
  (ms)	
  
59
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
0
100
200
300
400
500
Users
Time	
  (min:sec)
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
v 7.5
60
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
Vincenzo	
  Ferme
0
100
200
300
400
500
Users
Time	
  (min:sec)
0
10
20
30
40
50
Users
Time	
  (min:sec)
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
v 7.5 v 5.21
61
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
1 second think time
Vincenzo	
  Ferme
0
100
200
300
400
500
Users
Time	
  (min:sec)
0
10
20
30
40
50
Users
Time	
  (min:sec)
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
v 7.5 v 5.21
Results	
  discussion
63
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
4. Execute the
BPs in EM and
Measure
Performance
Load function /
WfMS
Performance
metrics
Instance	
  duration
(ms)
Parallel
mi t124
2.59	
  ms ± 0.05	
  ms 2.16	
  ms ± 0.03	
  ms
Exclusive
t3 t124
1.57	
  ms ± 0.02	
  ms 1.32	
  ms ± 0.02	
  ms
Inclusive
mi t1234
2.76	
  ms ± 0.08	
  ms 1.78	
  ms ± 0.02	
  ms
Parallel
mi t23
26.04	
  ms ± 0.01	
  ms 15.62	
  ms ± 0.12	
  ms
Exclusive
mi t124
2.14	
  ms ± 0.07	
  ms 1.39	
  ms ± 0.02	
  ms
Inclusive
mi t1234
29.87	
  ms ± 0.30	
  ms 9.93	
  ms ± 0.14	
  ms
64
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
*http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test
Population
One	
  sample Two	
  samples
Three	
  or	
  more	
  
samples
Drawn	
  from	
  
a	
  normal	
  
distribution?
Drawn	
  from	
  
a	
  normal	
  
distribution?
Drawn	
  from	
  
a	
  normal	
  
distribution?
One
sample
t-­‐test
Wilcoxon
rank	
  sum
test
Paired	
  
samples?
Equal
variance?
Paired
t-­‐test
Unaired
t-­‐test
Welch’s
corrected
unpaired	
  test
Wilcoxon’s
matched
pairs	
  test
Mann-­‐Whitney
test
Paired	
  
samples?
Paired	
  
samples?
Repeated
measures
one-­‐way	
  ANOVA
Paired	
  
samples?
One-­‐way	
  
ANOVA
Friedman
test
Kruskal-­‐Wallis
test
Yes
Yes
Yes
Yes
Yes Yes
Yes
Yes
No
No No
No
No
No
No No
65
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
*http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test
mi	
  	
  	
  t1	
  	
  	
  t2 t3 t4 t12 t13 t14	
  	
  	
  t23	
  	
  	
  t24	
  	
  	
  t34	
  	
  	
  t123	
  	
  	
  t124	
  	
  	
  t134	
  	
  	
  t234	
  	
  	
  t1234
One	
  sample Two	
  samples
Three	
  or	
  more	
  
samples
Drawn	
  from	
  
a	
  normal	
  
distribution?
Drawn	
  from	
  
a	
  normal	
  
distribution?
Drawn	
  from	
  
a	
  normal	
  
distribution?
One
sample
t-­‐test
Wilcoxon
rank	
  sum
test
Paired	
  
samples?
Equal
variance?
Paired
t-­‐test
Unaired
t-­‐test
Welch’s
corrected
unpaired	
  test
Wilcoxon’s
matched
pairs	
  test
Mann-­‐Whitney
test
Paired	
  
samples?
Paired	
  
samples?
Repeated
measures
one-­‐way	
  ANOVA
Paired	
  
samples?
One-­‐way	
  
ANOVA
Friedman
test
Kruskal-­‐Wallis
test
Yes
Yes
Yes
Yes
Yes Yes
Yes
Yes
No
No No
No
No
No
No No
Population
66
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
*http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test
mi	
  	
  	
  t1	
  	
  	
  t2 t3 t4 t12 t13 t14	
  	
  	
  t23	
  	
  	
  t24	
  	
  	
  t34	
  	
  	
  t123	
  	
  	
  t124	
  	
  	
  t134	
  	
  	
  t234	
  	
  	
  t1234
Population
One	
  sample Two	
  samples
Three	
  or	
  more	
  
samples
Drawn	
  from	
  
a	
  normal	
  
distribution?
Drawn	
  from	
  
a	
  normal	
  
distribution?
Drawn	
  from	
  
a	
  normal	
  
distribution?
One
sample
t-­‐test
Wilcoxon
rank	
  sum
test
Paired	
  
samples?
Equal
variance?
Paired
t-­‐test
Unaired
t-­‐test
Welch’s
corrected
unpaired	
  test
Wilcoxon’s
matched
pairs	
  test
Mann-­‐Whitney
test
Paired	
  
samples?
Paired	
  
samples?
Repeated
measures
one-­‐way	
  ANOVA
Paired	
  
samples?
One-­‐way	
  
ANOVA
Friedman
test
Kruskal-­‐Wallis
test
Yes
Yes
Yes
Yes
Yes Yes
Yes
Yes
No
No No
No
No
No
No No
67
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
*http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test
mi	
  	
  	
  t1	
  	
  	
  t2 t3 t4 t12 t13 t14	
  	
  	
  t23	
  	
  	
  t24	
  	
  	
  t34	
  	
  	
  t123	
  	
  	
  t124	
  	
  	
  t134	
  	
  	
  t234	
  	
  	
  t1234
Three	
  or	
  more	
  
samples
Drawn	
  from	
  
a	
  normal	
  
distribution?
Paired	
  
samples?
Paired	
  
samples?
Repeated
measures
one-­‐way	
  ANOVA
One-­‐way	
  
ANOVA
Friedman
test
Kruskal-­‐Wallis
test
Yes
Yes
Yes
No
No No
68
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
*http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test
mi	
  	
  	
  t1	
  	
  	
  t2 t3 t4 t12 t13 t14	
  	
  	
  t23	
  	
  	
  t24	
  	
  	
  t34	
  	
  	
  t123	
  	
  	
  t124	
  	
  	
  t134	
  	
  	
  t234	
  	
  	
  t1234
Three	
  or	
  more	
  
samples
Drawn	
  from	
  
a	
  normal	
  
distribution?
Paired	
  
samples?
Paired	
  
samples?
Repeated
measures
one-­‐way	
  ANOVA
One-­‐way	
  
ANOVA
Friedman
test
Kruskal-­‐Wallis
test
Yes
Yes
Yes
No
No No
69
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
*http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test
mi	
  	
  	
  t1	
  	
  	
  t2 t3 t4 t12 t13 t14	
  	
  	
  t23	
  	
  	
  t24	
  	
  	
  t34	
  	
  	
  t123	
  	
  	
  t124	
  	
  	
  t134	
  	
  	
  t234	
  	
  	
  t1234
Three	
  or	
  more	
  
samples
Drawn	
  from	
  
a	
  normal	
  
distribution?
Paired	
  
samples?
Paired	
  
samples?
Repeated
measures
one-­‐way	
  ANOVA
One-­‐way	
  
ANOVA
Friedman
test
Kruskal-­‐Wallis
test
Yes
Yes
Yes
No
No No
70
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
RQ1:	
  Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  significant	
  impact	
  on	
  the	
  
duration of	
  a	
  BP	
  instance	
  execution?	
  
71
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
RQ1:	
  Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  significant	
  impact	
  on	
  the	
  
duration of	
  a	
  BP	
  instance	
  execution?	
  
72
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
RQ1:	
  Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  significant	
  impact	
  on	
  the	
  
duration of	
  a	
  BP	
  instance	
  execution?	
  
YES!
73
5. Test
Statistical
Significance of
Differences
Performance
metrics
Statistical
significance of
the
performance
differences
RQ1:	
  Does	
  the	
  application	
  of	
  different	
  modeling	
  practices	
  have	
  significant	
  impact	
  on	
  the	
  
duration of	
  a	
  BP	
  instance	
  execution?	
  
YES!
improvement	
  possibilities	
  to	
  BPMS	
  vendors
74
6. Rank the
Performance
of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ2:	
  Is	
  there	
  a	
  total	
  order between	
  semantically	
  equivalent	
  but	
  structurally	
  different	
  
models,	
  when	
  ranked	
  according	
  to	
  their	
  performance?	
  
75
6. Rank the
Performance
of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ2:	
  Is	
  there	
  a	
  total	
  order between	
  semantically	
  equivalent	
  but	
  structurally	
  different	
  
models,	
  when	
  ranked	
  according	
  to	
  their	
  performance?	
  
NO!
76
6. Rank the
Performance
of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ2:	
  Is	
  there	
  a	
  total	
  order between	
  semantically	
  equivalent	
  but	
  structurally	
  different	
  
models,	
  when	
  ranked	
  according	
  to	
  their	
  performance?	
  
NO! opportunity	
  to	
  identify	
  optimization	
  rules	
  
78
6. Rank the
Performance
of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ2:	
  Is	
  there	
  a	
  total	
  order between	
  semantically	
  equivalent	
  but	
  structurally	
  different	
  
models,	
  when	
  ranked	
  according	
  to	
  their	
  performance?	
  
NO! opportunity	
  to	
  identify	
  optimization	
  rules	
  
78
6. Rank the
Performance
of
Transformed
Models
Statistical
significance of
the
performance
differences
RQ2:	
  Is	
  there	
  a	
  total	
  order between	
  semantically	
  equivalent	
  but	
  structurally	
  different	
  
models,	
  when	
  ranked	
  according	
  to	
  their	
  performance?	
  
NO! opportunity	
  to	
  identify	
  optimization	
  rules	
  
79
Performance	
  Variability
Acceptability	
  index
𝑨𝑰 𝑨, 𝑩 =	
  
𝒎 𝑩 − 𝒎(𝑨)
𝒘 𝑩 + 𝒘(𝑨)
*Sengupta,	
  A.,	
  Pal,	
  T.K.:	
  On	
  comparing	
  interval	
  numbers.	
  European	
  Journal	
  of	
  Operational	
  Research	
  127(1),	
  28–43	
  (2000)	
  
𝐴 = [𝑎𝑙, 𝑎𝑟]
𝐵 = [𝑏𝑙, 𝑏𝑟]
95%	
  confidence	
  interval
of	
  the	
  duration
𝑚 𝐴
𝑚 𝐵
average	
  duration	
  of
model’s	
  instances
w 𝐴
w 𝐵
half-­‐width	
  of	
  the
confidence	
  interval
𝐴
𝐵
initial	
  model	
  (mi)
transformed	
  model	
  (t)
80
Performance	
  Variability
Acceptability	
  index
𝑨𝑰 𝑨, 𝑩 =	
  
𝒎 𝑩 − 𝒎(𝑨)
𝒘 𝑩 + 𝒘(𝑨)
*Sengupta,	
  A.,	
  Pal,	
  T.K.:	
  On	
  comparing	
  interval	
  numbers.	
  European	
  Journal	
  of	
  Operational	
  Research	
  127(1),	
  28–43	
  (2000)	
  
𝐴 = [𝑎𝑙, 𝑎𝑟]
𝐵 = [𝑏𝑙, 𝑏𝑟]
95%	
  confidence	
  interval
of	
  the	
  duration
𝑚 𝐴
𝑚 𝐵
average	
  duration	
  of
model’s	
  instances
w 𝐴
w 𝐵
half-­‐width	
  of	
  the
confidence	
  interval
𝐴
𝐵
initial	
  model	
  (mi)
transformed	
  model	
  (t)
-­‐1 1𝐴𝐼
overlapping
intervals
81
Performance	
  Variability
Acceptability	
  index
𝑨𝑰 𝑨, 𝑩 =	
  
𝒎 𝑩 − 𝒎(𝑨)
𝒘 𝑩 + 𝒘(𝑨)
*Sengupta,	
  A.,	
  Pal,	
  T.K.:	
  On	
  comparing	
  interval	
  numbers.	
  European	
  Journal	
  of	
  Operational	
  Research	
  127(1),	
  28–43	
  (2000)	
  
𝐴 = [𝑎𝑙, 𝑎𝑟]
𝐵 = [𝑏𝑙, 𝑏𝑟]
95%	
  confidence	
  interval
of	
  the	
  duration
𝑚 𝐴
𝑚 𝐵
average	
  duration	
  of
model’s	
  instances
w 𝐴
w 𝐵
half-­‐width	
  of	
  the
confidence	
  interval
𝐴
𝐵
initial	
  model	
  (mi)
transformed	
  model	
  (t)
-­‐1 1𝐴𝐼
transformed	
  model
is	
  faster
overlapping
intervals
82
Performance	
  Variability
Acceptability	
  index
𝑨𝑰 𝑨, 𝑩 =	
  
𝒎 𝑩 − 𝒎(𝑨)
𝒘 𝑩 + 𝒘(𝑨)
*Sengupta,	
  A.,	
  Pal,	
  T.K.:	
  On	
  comparing	
  interval	
  numbers.	
  European	
  Journal	
  of	
  Operational	
  Research	
  127(1),	
  28–43	
  (2000)	
  
𝐴 = [𝑎𝑙, 𝑎𝑟]
𝐵 = [𝑏𝑙, 𝑏𝑟]
95%	
  confidence	
  interval
of	
  the	
  duration
𝑚 𝐴
𝑚 𝐵
average	
  duration	
  of
model’s	
  instances
w 𝐴
w 𝐵
half-­‐width	
  of	
  the
confidence	
  interval
𝐴
𝐵
initial	
  model	
  (mi)
transformed	
  model	
  (t)
-­‐1 1𝐴𝐼
initial	
  model
is	
  faster
transformed	
  model
is	
  faster
overlapping
intervals
11.#
12.#
8.#
13.#
9.#
5.#
10.#
2.#
12.#
7.#
3.#
9.# 6.# 4.#
1.#
7.# 7.# 12.# 8.#
3.#
9.#
4.# 8.#
5.#
10.#
3.# 1.#
6.# 6.#
2.#
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Parallel#Control#Flow#(EX1_PCF)#
Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac2vi2$Ranks$1.#to#14.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
83
Performance	
  Variability
11.#
12.#
8.#
13.#
9.#
5.#
10.#
2.#
12.#
7.#
3.#
9.# 6.# 4.#
1.#
7.# 7.# 12.# 8.#
3.#
9.#
4.# 8.#
5.#
10.#
3.# 1.#
6.# 6.#
2.#
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Parallel#Control#Flow#(EX1_PCF)#
Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac2vi2$Ranks$1.#to#14.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
84
Performance	
  Variability
11.#
12.#
8.#
13.#
9.#
5.#
10.#
2.#
12.#
7.#
3.#
9.# 6.# 4.#
1.#
7.# 7.# 12.# 8.#
3.#
9.#
4.# 8.#
5.#
10.#
3.# 1.#
6.# 6.#
2.#
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Parallel#Control#Flow#(EX1_PCF)#
Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac2vi2$Ranks$1.#to#14.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
85
Performance	
  Variability
11.#
12.#
8.#
13.#
9.#
5.#
10.#
2.#
12.#
7.#
3.#
9.# 6.# 4.#
1.#
7.# 7.# 12.# 8.#
3.#
9.#
4.# 8.#
5.#
10.#
3.# 1.#
6.# 6.#
2.#
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Parallel#Control#Flow#(EX1_PCF)#
Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac2vi2$Ranks$1.#to#14.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
86
1.3.5 Parallel_R1R2R3R4
1.3.5 Start
Empty ST
1.3.5.1
Empty ST
1.3.5.2
Empty ST
1.3.5.3
Empty ST
1.3.5.4
Empty ST
1.3.5.5
1.3.5 End
IG 1.3.5.1
t1234
Performance	
  Variability
11.#
12.#
8.#
13.#
9.#
5.#
10.#
2.#
12.#
7.#
3.#
9.# 6.# 4.#
1.#
7.# 7.# 12.# 8.#
3.#
9.#
4.# 8.#
5.#
10.#
3.# 1.#
6.# 6.#
2.#
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Parallel#Control#Flow#(EX1_PCF)#
Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac2vi2$Ranks$1.#to#14.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
87
1.3.5 Parallel_R1R2R3R4
1.3.5 Start
Empty ST
1.3.5.1
Empty ST
1.3.5.2
Empty ST
1.3.5.3
Empty ST
1.3.5.4
Empty ST
1.3.5.5
1.3.5 End
IG 1.3.5.1
t1234
1.3.2 Parallel_R1R2R4
1.3.2 Start
Empty ST
1.3.2.1
Empty ST
1.3.2.2
Empty ST
1.3.2.3
Empty ST
1.3.2.4
Empty ST
1.3.2.5
PG 1.3.2.1
1.3.2 End
t124
Performance	
  Variability
Performance Variability
5.#
5.#
6.# 5.#
3.#
5.#
3.#
5.#
2.#
5.# 4.#
1.#
4.# 4.#
2.#
4.#
5.#
7.#
6.#
2.#
4.#
3.#
5.#
2.#
5.#
2.#
1.#
3.# 2.#
1.#
!8#
!7#
!6#
!5#
!4#
!3#
!2#
!1#
0#
1#
2#
t1# t2# t3# t4# t12# t13# t14# t23# t24# t34# t123# t124# t134# t234# t1234#
Acceptability#Index#
Exclusive#Control#Flow#(EX2_ECF)#
Trial#1#!#Ac4vi4# Trial#2#!#Ac4vi4# Trial#3#!#Ac4vi4# Trial#1#!#Camunda# Trial#2#!#Camunda# Trial#3#!#Camunda#
Ac4vi4#Ranks#1.#to#6.#
Camunda#Ranks#1.#to#7.#
Overlapping##
confidence#intervals#
88
Performance Variability
5.#
5.#
6.# 5.#
3.#
5.#
3.#
5.#
2.#
5.# 4.#
1.#
4.# 4.#
2.#
4.#
5.#
7.#
6.#
2.#
4.#
3.#
5.#
2.#
5.#
2.#
1.#
3.# 2.#
1.#
!8#
!7#
!6#
!5#
!4#
!3#
!2#
!1#
0#
1#
2#
t1# t2# t3# t4# t12# t13# t14# t23# t24# t34# t123# t124# t134# t234# t1234#
Acceptability#Index#
Exclusive#Control#Flow#(EX2_ECF)#
Trial#1#!#Ac4vi4# Trial#2#!#Ac4vi4# Trial#3#!#Ac4vi4# Trial#1#!#Camunda# Trial#2#!#Camunda# Trial#3#!#Camunda#
Ac4vi4#Ranks#1.#to#6.#
Camunda#Ranks#1.#to#7.#
Overlapping##
confidence#intervals#
89
3.3.2 Exclusive_R1R2R4
3.3.2 Start
Empty ST
3.3.2.2
Empty ST
3.3.2.5
EG 3.3.2.1
Empty ST
3.3.2.6
3.3.2 End
Empty ST
3.3.2.3
Empty ST
3.3.2.4
Generate
ST 3.3.2.1
a==3a==0
a == 1
a == 2
t124
Performance Variability
5.#
5.#
6.# 5.#
3.#
5.#
3.#
5.#
2.#
5.# 4.#
1.#
4.# 4.#
2.#
4.#
5.#
7.#
6.#
2.#
4.#
3.#
5.#
2.#
5.#
2.#
1.#
3.# 2.#
1.#
!8#
!7#
!6#
!5#
!4#
!3#
!2#
!1#
0#
1#
2#
t1# t2# t3# t4# t12# t13# t14# t23# t24# t34# t123# t124# t134# t234# t1234#
Acceptability#Index#
Exclusive#Control#Flow#(EX2_ECF)#
Trial#1#!#Ac4vi4# Trial#2#!#Ac4vi4# Trial#3#!#Ac4vi4# Trial#1#!#Camunda# Trial#2#!#Camunda# Trial#3#!#Camunda#
Ac4vi4#Ranks#1.#to#6.#
Camunda#Ranks#1.#to#7.#
Overlapping##
confidence#intervals#
90
3.3.3 Exclusive_R1R3R4
3.3.3 Start
Empty ST
3.3.3.2
Empty ST
3.3.3.5
Empty ST
3.3.3.6
3.3.3 End
Empty ST
3.3.3.3
Empty ST
3.3.3.4
Generate
ST 3.3.3.1
IG 3.3.3.1
IG 3.3.3.2
IG 3.3.3.3
a==1a==2a==3a==0
a == 0 || a == 1
a == 2 || a == 3
3.3.2 Exclusive_R1R2R4
3.3.2 Start
Empty ST
3.3.2.2
Empty ST
3.3.2.5
EG 3.3.2.1
Empty ST
3.3.2.6
3.3.2 End
Empty ST
3.3.2.3
Empty ST
3.3.2.4
Generate
ST 3.3.2.1
a==3a==0
a == 1
a == 2
t124
t1234
Performance	
  Variability
9.#
10.#
4.#
11.#
6.#
3.#
7.#
2.#
8.#
3.#
1.#
5.#
3.# 2.#
1.#
9.# 10.#
6.#
11.# 8.#
4.#
9.#
4.#
9.#
5.#
2.#
7.#
3.# 3.#
1.#
!50$
!48$
!46$
!44$
!42$
!40$
!38$
!36$
!34$
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Inclusive#Control#Flow#(EX3_ICF)#
Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac3vi3$Ranks$1.#to#11.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
91
Performance	
  Variability
9.#
10.#
4.#
11.#
6.#
3.#
7.#
2.#
8.#
3.#
1.#
5.#
3.# 2.#
1.#
9.# 10.#
6.#
11.# 8.#
4.#
9.#
4.#
9.#
5.#
2.#
7.#
3.# 3.#
1.#
!50$
!48$
!46$
!44$
!42$
!40$
!38$
!36$
!34$
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Inclusive#Control#Flow#(EX3_ICF)#
Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac3vi3$Ranks$1.#to#11.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
92
Performance	
  Variability
9.#
10.#
4.#
11.#
6.#
3.#
7.#
2.#
8.#
3.#
1.#
5.#
3.# 2.#
1.#
9.# 10.#
6.#
11.# 8.#
4.#
9.#
4.#
9.#
5.#
2.#
7.#
3.# 3.#
1.#
!50$
!48$
!46$
!44$
!42$
!40$
!38$
!36$
!34$
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Inclusive#Control#Flow#(EX3_ICF)#
Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac3vi3$Ranks$1.#to#11.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
93
Performance	
  Variability
9.#
10.#
4.#
11.#
6.#
3.#
7.#
2.#
8.#
3.#
1.#
5.#
3.# 2.#
1.#
9.# 10.#
6.#
11.# 8.#
4.#
9.#
4.#
9.#
5.#
2.#
7.#
3.# 3.#
1.#
!50$
!48$
!46$
!44$
!42$
!40$
!38$
!36$
!34$
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Inclusive#Control#Flow#(EX3_ICF)#
Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac3vi3$Ranks$1.#to#11.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
94
Performance	
  Variability
9.#
10.#
4.#
11.#
6.#
3.#
7.#
2.#
8.#
3.#
1.#
5.#
3.# 2.#
1.#
9.# 10.#
6.#
11.# 8.#
4.#
9.#
4.#
9.#
5.#
2.#
7.#
3.# 3.#
1.#
!50$
!48$
!46$
!44$
!42$
!40$
!38$
!36$
!34$
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Inclusive#Control#Flow#(EX3_ICF)#
Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac3vi3$Ranks$1.#to#11.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
95
2.3.2 Inclusive_R1R2R4 (Copy)
2.3.2 Start
Empty ST
2.3.2.2
Empty ST
2.3.2.5
2.3.2 End
Empty ST
2.3.2.3
Empty ST
2.3.2.4
Generate
ST 2.3.2.1
IG 2.3.2.1
a==0
b == 0
d==0
c == 0
t1234
Performance	
  Variability
9.#
10.#
4.#
11.#
6.#
3.#
7.#
2.#
8.#
3.#
1.#
5.#
3.# 2.#
1.#
9.# 10.#
6.#
11.# 8.#
4.#
9.#
4.#
9.#
5.#
2.#
7.#
3.# 3.#
1.#
!50$
!48$
!46$
!44$
!42$
!40$
!38$
!36$
!34$
!32$
!30$
!28$
!26$
!24$
!22$
!20$
!18$
!16$
!14$
!12$
!10$
!8$
!6$
!4$
!2$
0$
2$
t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$
Acceptability#Index#
Inclusive#Control#Flow#(EX3_ICF)#
Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$
Ac3vi3$Ranks$1.#to#11.#
Camunda$Ranks$1.#to#12.#
Overlapping$$
confidence$intervals$
96
2.3.2 Inclusive_R1R2R4 (Copy)
2.3.2 Start
Empty ST
2.3.2.2
Empty ST
2.3.2.5
2.3.2 End
Empty ST
2.3.2.3
Empty ST
2.3.2.4
Generate
ST 2.3.2.1
IG 2.3.2.1
a==0
b == 0
d==0
c == 0
2.2.1 Inclusive_R1R2 (Copy)
2.2.1 Start
Empty ST
2.2.1.2
Empty ST
2.2.1.5
2.2.1 End
Empty ST
2.2.1.3
Empty ST
2.2.1.4
Generate
ST 2.2.1.1
IG 2.2.1.1 IG 2.2.1.2
a==0d==0
b == 0
c == 0
t123 t1234
Avoid	
  Inclusive	
  Gateways	
  
97
Modeling	
  practices	
  and	
  performance
Avoid	
  Inclusive	
  Gateways	
  
98
Modeling	
  practices	
  and	
  performance
EX3_ICFECF
2.2
2.5
Empty ST 2.6
2 End
2.3
2.4
G 2.3
G 2.5
EG 2.6
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Avoid	
  Inclusive	
  Gateways	
  
99
Modeling	
  practices	
  and	
  performance
Use	
  inclusive	
  gateways
EX3_ICFECF
2.2
2.5
Empty ST 2.6
2 End
2.3
2.4
G 2.3
G 2.5
EG 2.6
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Avoid	
  Inclusive	
  Gateways	
  
100
Modeling	
  practices	
  and	
  performance
Use	
  inclusive	
  gateways
EX3_ICFECF
2.2
2.5
Empty ST 2.6
2 End
2.3
2.4
G 2.3
G 2.5
EG 2.6
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
2.1.Inclusive_Multiple
2.1 Start
Empty ST 2.1.2
Empty ST 2.1.5
2.1 End
Empty ST 2.1.3
Empty ST 2.1.4
Generate
ST 2.1.1
IG 2.1.1
IG 2.1.2
IG 2.1.4
IG 2.1.3
IG 2.1.5
IG 2.1.6
a==0||b==0c==0||d==0
a==0b==0c==0d==0
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Avoid	
  Inclusive	
  Gateways	
  
101
Modeling	
  practices	
  and	
  performance
Use	
  inclusive	
  gateways
EX3_ICFECF
2.2
2.5
Empty ST 2.6
2 End
2.3
2.4
G 2.3
G 2.5
EG 2.6
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
2.1.Inclusive_Multiple
2.1 Start
Empty ST 2.1.2
Empty ST 2.1.5
2.1 End
Empty ST 2.1.3
Empty ST 2.1.4
Generate
ST 2.1.1
IG 2.1.1
IG 2.1.2
IG 2.1.4
IG 2.1.3
IG 2.1.5
IG 2.1.6
a==0||b==0c==0||d==0
a==0b==0c==0d==0
Camunda 2.76	
  ms ± 0.08	
  ms Camunda 2.02	
  ms ± 0.03	
  msFirst models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Avoid	
  Inclusive	
  Gateways	
  
102
Modeling	
  practices	
  and	
  performance
Use	
  inclusive	
  gateways
EX3_ICFECF
2.2
2.5
Empty ST 2.6
2 End
2.3
2.4
G 2.3
G 2.5
EG 2.6
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
2.1.Inclusive_Multiple
2.1 Start
Empty ST 2.1.2
Empty ST 2.1.5
2.1 End
Empty ST 2.1.3
Empty ST 2.1.4
Generate
ST 2.1.1
IG 2.1.1
IG 2.1.2
IG 2.1.4
IG 2.1.3
IG 2.1.5
IG 2.1.6
a==0||b==0c==0||d==0
a==0b==0c==0d==0
Camunda 2.76	
  ms ± 0.08	
  ms Camunda 2.02	
  ms ± 0.03	
  msFirst models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Activiti	
   29.87ms	
  ± 0.30	
  ms Activiti	
   11.66	
  ms ± 0.16	
  ms
Avoid	
  Inclusive	
  Gateways	
  
103
Modeling	
  practices	
  and	
  performance
Use	
  inclusive	
  gateways
EX3_ICFECF
2.2
2.5
Empty ST 2.6
2 End
2.3
2.4
G 2.3
G 2.5
EG 2.6
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
2.1.Inclusive_Multiple
2.1 Start
Empty ST 2.1.2
Empty ST 2.1.5
2.1 End
Empty ST 2.1.3
Empty ST 2.1.4
Generate
ST 2.1.1
IG 2.1.1
IG 2.1.2
IG 2.1.4
IG 2.1.3
IG 2.1.5
IG 2.1.6
a==0||b==0c==0||d==0
a==0b==0c==0d==0
Camunda 2.76	
  ms ± 0.08	
  ms Camunda 2.02	
  ms ± 0.03	
  msFirst models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
R3_Parallel_Alternative
R3.PG Start
Empty ST R3.PG.1
Empty ST R3.PG.2
Empty ST R3.PG.3
Empty ST R3.PG.4
Empty ST R3.PG.5
R3.PG EndIG R3.PG.1
IG R3.PG.2
IG R3.PG.4
IG R3.PG.3
IG R3.PG.5
IG R3.PG.6
Activiti	
   29.87ms	
  ± 0.30	
  ms Activiti	
   11.66	
  ms ± 0.16	
  ms
Activiti	
   26.04	
  ms ± 0.21	
  ms Activiti	
   19.57	
  ms ± 0.18	
  ms
Avoid	
  Inclusive	
  Gateways	
  
104
Modeling	
  practices	
  and	
  performance
Use	
  inclusive	
  gateways
EX3_ICFECF
2.2
2.5
Empty ST 2.6
2 End
2.3
2.4
G 2.3
G 2.5
EG 2.6
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
2.1.Inclusive_Multiple
2.1 Start
Empty ST 2.1.2
Empty ST 2.1.5
2.1 End
Empty ST 2.1.3
Empty ST 2.1.4
Generate
ST 2.1.1
IG 2.1.1
IG 2.1.2
IG 2.1.4
IG 2.1.3
IG 2.1.5
IG 2.1.6
a==0||b==0c==0||d==0
a==0b==0c==0d==0
Camunda 2.76	
  ms ± 0.08	
  ms Camunda 2.02	
  ms ± 0.03	
  msFirst models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Camunda 2.51	
  ms ± 0.05	
  ms Camunda 2.58	
  ms ± 0.05	
  ms
R3_Parallel_Alternative
R3.PG Start
Empty ST R3.PG.1
Empty ST R3.PG.2
Empty ST R3.PG.3
Empty ST R3.PG.4
Empty ST R3.PG.5
R3.PG EndIG R3.PG.1
IG R3.PG.2
IG R3.PG.4
IG R3.PG.3
IG R3.PG.5
IG R3.PG.6
Activiti	
   29.87ms	
  ± 0.30	
  ms Activiti	
   11.66	
  ms ± 0.16	
  ms
Activiti	
   26.04	
  ms ± 0.21	
  ms Activiti	
   19.57	
  ms ± 0.18	
  ms
Use	
  as	
  Few	
  Elements	
  as	
  Possibile
105
Modeling	
  practices	
  and	
  performance
Use	
  as	
  Few	
  Elements	
  as	
  Possible
106
Modeling	
  practices	
  and	
  performance
Use	
  as	
  Few	
  Elements	
  as	
  Possible
107
Modeling	
  practices	
  and	
  performance
Use	
  as	
  Few	
  Elements	
  as	
  Possible
108
Modeling	
  practices	
  and	
  performance
Minimize	
  the	
  routing	
  paths	
  per	
  element
Model	
  as	
  structured	
  as	
  possible
109
Modeling	
  practices	
  and	
  performance
Minimize	
  the	
  routing	
  paths	
  per	
  element
Model	
  as	
  structured	
  as	
  possible
110
1.3.5 Parallel_R1R2R3R4
1.3.5 Start
Empty ST
1.3.5.1
Empty ST
1.3.5.2
Empty ST
1.3.5.3
Empty ST
1.3.5.4
Empty ST
1.3.5.5
1.3.5 End
IG 1.3.5.1
t124 t1234
Best	
  performing	
  models
Modeling	
  practices	
  and	
  performance
1.3.2 Start
Empty ST
1.3.2.1
Empty ST
1.3.2.2
Empty ST
1.3.2.3
Empty ST
1.3.2.4
Empty ST
1.3.2.5
PG 1.3.2.1
1.3.2 End
Conclusions
111
Modeling	
  is	
  a	
  discretional	
  decision	
  of	
  the	
  modeler!!!
Conclusions
112
Our	
  ultimate	
  goal:	
  
Take	
  the	
  model	
  and	
  transform	
  it	
  to	
  a	
  better	
  performing	
  but	
  semantically	
  
equivalent	
  model
Modeling	
  is	
  a	
  discretional	
  decision	
  of	
  the	
  modeler!!!
Conclusions
113
Our	
  ultimate	
  goal:	
  
Take	
  the	
  model	
  and	
  transform	
  it	
  to	
  a	
  better	
  performing	
  but	
  semantically	
  
equivalent	
  model
Modeling	
  is	
  a	
  discretional	
  decision	
  of	
  the	
  modeler!!!
Our	
  challenge:	
  
Define	
  optimization	
  rules	
  to	
  obtain	
  the	
  better	
  performing	
  model	
  
Conclusions
114
in	
  milliseconds
in	
  milliseconds
Conclusions
115
~𝟏𝟕% ~𝟏𝟓% ~𝟑𝟔%
~𝟒𝟎% ~𝟑𝟓% ~𝟔𝟕%
New	
  automatic	
  optimization	
  opportunity?
in	
  milliseconds
in	
  milliseconds
On  the  
Performance  Overhead of
BPMN  Modeling  Practices  
ana.ivanchikj@usi.ch
Back-­‐up  slides
ana.ivanchikj@usi.ch
118
empty	
  tasks
script	
  task
script	
  task
FULLY	
  AUTOMATED
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
1. Design the
Initial
BP Model
Modelling
guidelines /
practices /
conventions
Initial
BP model
(mi)
First models v4
EX1_PCF EX2_E
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2
Empty ST 2
EG 2.1
Empty ST 2
Empty ST 2
EG 2.2
EG 2.4
EG
EG
Generate
ST 2.1
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
Parallel
First models v4
EX1_PCF EX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
3
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
First models v4
EX1_PCF EX3_ICFEX2_ECF
1 Start
Empty ST 1.1 PG 1.1
PG 1.2
PG 1.4
Empty ST 1.2
Empty ST 1.3
Empty ST 1.4
Empty ST 1.5
PG 1.3
PG 1.5
PG 1.6
1 End 2 Start
Empty ST 2.2
Empty ST 2.5
EG 2.1 Empty ST 2.6
2 End
Empty ST 2.3
Empty ST 2.4
EG 2.2
EG 2.4
EG 2.3
EG 2.5
EG 2.6Generate
ST 2.1
PG 3.4
EG 3.1
Empty 3.2
EG 3.2
EG 3.3
Empty ST 3.3
EG 3.4
PG 3.3
3 End
Generate
ST 3.1
3 Start
EG 3.5
Empty ST 3.4
EG 3.6
EG 3.7
Empty ST 3.5
EG 3.8
PG 3.1
PG 3.2
PG 3.6
PG 3.5
a==1a==3
a==2||a==3a==0||a==1
a==0a==2
b==0
a == 0
c == 0
b == 1
a==1
c == 1
d == 1
d == 0
Exclusive
Inclusive
119
Model	
  ranking
Dunn’s	
  test	
  -­‐ the	
  H0 is	
  that	
  the	
  probability	
  of	
  observing	
  a	
  randomly	
  selected	
  value	
  from	
  the	
  
first	
  sample	
  that	
  is	
  larger	
  than	
  a	
  randomly	
  selected	
  value	
  from	
  the	
  second	
  sample	
  equals	
  
one	
  half,	
  i.e.,	
  no	
  sample	
  dominates	
  the	
  other =>	
  we	
  assign	
  the	
  same	
  rank.
Rejecting	
  the	
  H0,	
  implies	
  that	
  the	
  first	
  sample	
  is	
  dominated	
  by	
  the	
  second	
  sample =>	
  we	
  
assign	
  different	
  ranks.
Base-­‐case	
  rank	
  -­‐ the	
  sum of	
  the	
  assigned	
  ranks	
  in	
  each performed	
  trial (what	
  we	
  show	
  in	
  
the	
  table).
Sensitivity	
  analysis	
  -­‐ we	
  test	
  the	
  sensitivity	
  of	
  the	
  order	
  of	
  the	
  performance	
  of	
  the	
  executed	
  
models	
  as	
  per	
  the	
  base-­‐case	
  rank	
  on	
  the	
  the	
  ranks	
  from	
  the	
  individual	
  trials.	
  We	
  use	
  a	
  
deterministic	
  one-­‐at-­‐a-­‐time,	
  also	
  known	
  as	
  one-­‐side,	
  sensitivity	
  analysis.
120
-­‐ the	
  WfMS,	
  the	
  DB	
  and	
  Faban,	
  are	
  all	
  deployed	
  in	
  Docker	
  images	
  on	
  dedicated	
  servers	
  
using	
  the	
  Docker	
  Engine	
  1.9.1	
  and	
  Ubuntu 14.04.3	
  LTS	
  (GNU/Linux	
  3.13.0-­‐40-­‐generic	
  
x86	
  64)	
  as	
  OS.	
  
-­‐ they	
  interact	
  through	
  two	
  networks of	
  10Gbit/s	
  each,	
  one	
  dedicated	
  to	
  the	
  
communication	
  between	
  the	
  WfMS and	
  the	
  DB	
  and	
  the	
  other	
  one	
  dedicated	
  to	
  other	
  
interactions	
  (e.g.,	
  issuing	
  the	
  load).	
  
-­‐ The	
  WfMS runs	
  on	
  a	
  server with	
  64	
  Cores	
  (2	
  threads)	
  and	
  a	
  clock	
  speed	
  of	
  1’400MHz	
  
mounting	
  128GB	
  of	
  RAM	
  and	
  a	
  magnetic	
  disk	
  with	
  15’000	
  rpm.	
  
-­‐ The	
  DB runs	
  on	
  a	
  server with	
  64	
  Cores	
  (2	
  threads)	
  and	
  a	
  clock	
  speed	
  of	
  2’300MHz	
  
mounting	
  128GB	
  of	
  RAM	
  and	
  a	
  SSD	
  SATA	
  disk.	
  
-­‐ Faban’s Load	
  Drivers	
  are	
  placed	
  on	
  three	
  servers:	
  one	
  with	
  64	
  Cores	
  (2	
  threads)	
  and	
  a	
  
clock	
  speed	
  of	
  2’300MHz	
  mounting	
  128GB	
  of	
  RAM,	
  the	
  second	
  with	
  48	
  Cores	
  (2	
  
threads)	
  and	
  a	
  clock	
  speed	
  of	
  2’000MHz	
  mounting	
  128GB	
  of	
  RAM,	
  and	
  the	
  third	
  with	
  
12	
  Cores	
  (1	
  thread)	
  at	
  800MHz	
  mounting	
  64GB	
  of	
  RAM.	
  
Benchflow Environment	
  Setup

More Related Content

Similar to On the Performance Overhead of BPMN Modeling Practices

Descriptionsordernametypeformatvallabvarlab1location_idint8.0gNum.docx
Descriptionsordernametypeformatvallabvarlab1location_idint8.0gNum.docxDescriptionsordernametypeformatvallabvarlab1location_idint8.0gNum.docx
Descriptionsordernametypeformatvallabvarlab1location_idint8.0gNum.docx
cuddietheresa
 
Stil test pattern generation enhancement in mixed signal design
Stil test pattern generation enhancement in mixed signal designStil test pattern generation enhancement in mixed signal design
Stil test pattern generation enhancement in mixed signal design
Conference Papers
 
QM0012- STATISTICAL PROCESS CONTROL AND PROCESS CAPABILITY
QM0012- STATISTICAL PROCESS CONTROL AND PROCESS CAPABILITYQM0012- STATISTICAL PROCESS CONTROL AND PROCESS CAPABILITY
QM0012- STATISTICAL PROCESS CONTROL AND PROCESS CAPABILITY
smumbahelp
 
Om 0013 advanced production
Om 0013   advanced productionOm 0013   advanced production
Om 0013 advanced production
smumbahelp
 

Similar to On the Performance Overhead of BPMN Modeling Practices (20)

Descriptionsordernametypeformatvallabvarlab1location_idint8.0gNum.docx
Descriptionsordernametypeformatvallabvarlab1location_idint8.0gNum.docxDescriptionsordernametypeformatvallabvarlab1location_idint8.0gNum.docx
Descriptionsordernametypeformatvallabvarlab1location_idint8.0gNum.docx
 
Mb0040
Mb0040Mb0040
Mb0040
 
A practitioners guide to stochastic frontier analysis using stata-kumbhakar
A practitioners guide to stochastic frontier analysis using stata-kumbhakarA practitioners guide to stochastic frontier analysis using stata-kumbhakar
A practitioners guide to stochastic frontier analysis using stata-kumbhakar
 
Me2036 PRODUCTION PLANNING AND CONTROL
Me2036 PRODUCTION PLANNING AND CONTROLMe2036 PRODUCTION PLANNING AND CONTROL
Me2036 PRODUCTION PLANNING AND CONTROL
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016
 
Cs8251 faq1
Cs8251 faq1Cs8251 faq1
Cs8251 faq1
 
Mb0049
Mb0049Mb0049
Mb0049
 
Stil test pattern generation enhancement in mixed signal design
Stil test pattern generation enhancement in mixed signal designStil test pattern generation enhancement in mixed signal design
Stil test pattern generation enhancement in mixed signal design
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
 
QM0012- STATISTICAL PROCESS CONTROL AND PROCESS CAPABILITY
QM0012- STATISTICAL PROCESS CONTROL AND PROCESS CAPABILITYQM0012- STATISTICAL PROCESS CONTROL AND PROCESS CAPABILITY
QM0012- STATISTICAL PROCESS CONTROL AND PROCESS CAPABILITY
 
Speeding Up Vectorized Benchmarking of Optimization Algorithms
Speeding Up Vectorized Benchmarking of Optimization AlgorithmsSpeeding Up Vectorized Benchmarking of Optimization Algorithms
Speeding Up Vectorized Benchmarking of Optimization Algorithms
 
Om 0013 advanced production
Om 0013   advanced productionOm 0013   advanced production
Om 0013 advanced production
 
Use of Definitive Screening Designs to Optimize an Analytical Method
Use of Definitive Screening Designs to Optimize an Analytical MethodUse of Definitive Screening Designs to Optimize an Analytical Method
Use of Definitive Screening Designs to Optimize an Analytical Method
 
publication lamghabbar
publication lamghabbarpublication lamghabbar
publication lamghabbar
 
Pm0010
Pm0010Pm0010
Pm0010
 
Control term proj3012
Control term proj3012Control term proj3012
Control term proj3012
 
Smu mba sem 2 spring 2016 assignments
Smu mba sem 2 spring 2016 assignmentsSmu mba sem 2 spring 2016 assignments
Smu mba sem 2 spring 2016 assignments
 
Concepts of predictive control
Concepts of predictive controlConcepts of predictive control
Concepts of predictive control
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

On the Performance Overhead of BPMN Modeling Practices

  • 1. On  the   Performance  Overhead  of BPMN  Modeling  Practices   Ana  Ivanchikj Vincenzo  Ferme Cesare  Pautasso University  of  Lugano  (USI) Switzerland
  • 5. 5 BPMN  Expressiveness BPMN  Standard Model’s  Semantics Model’s  Understandability
  • 9. 9 Structural  Differences B A C B A C Semantical  Equivalence case  id trace 1 ABC 2 ACB 3 ABC …. ….
  • 10. 10 Structural  Differences B A C B A C Semantical  Equivalence case  id trace 1 ABC 2 ACB 3 ABC …. …. Performance  Equivalence
  • 11. 11 Structural  Differences B A C B A C Semantical  Equivalence case  id trace 1 ABC 2 ACB 3 ABC …. …. Performance  Equivalence
  • 12. 12 Research  Questions RQ1: Does  the  application  of  different  modeling  practices  have  a   significant  impact  on  the  duration  of  a  BP  instance  execution?  
  • 13. 13 Research  Questions RQ1: Does  the  application  of  different  modeling  practices  have  a   significant  impact  on  the  duration  of  a  BP  instance  execution?  
  • 14. 14 Research  Questions RQ1: Does  the  application  of  different  modeling  practices  have  a   significant  impact  on  the  duration  of  a  BP  instance  execution?  
  • 15. 15 Research  Questions RQ1: Does  the  application  of  different  modeling  practices  have  a   significant  impact  on  the  duration  of  a  BP  instance  execution?  
  • 16. 16 Research  Questions RQ1: Does  the  application  of  different  modeling  practices  have  a   significant  impact  on  the  duration  of  a  BP  instance  execution?   RQ2: Is  there  a  total  order  between  semantically  equivalent  but   structurally  different  models,  when  ranked  according  to  their   performance?  
  • 17. RQ2: Is  there  a  total  order  between  semantically  equivalent  but   structurally  different  models,  when  ranked  according  to  their   performance?   17 Research  Questions RQ1: Does  the  application  of  different  modeling  practices  have  a   significant  impact  on  the  duration  of  a  BP  instance  execution?  
  • 19. 19 Methodology 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 4. Execute the BPs in EM and Measure Performance 2. Determine Applicable Transformation Rules Transformation rules (R) Applicable combinations of rules (RA) Load function / WfMS Semantically equivalent BP models (TMi) 3. Generate Transformed BP Models i <= z i>z Unsaved diagram Performance metrics 5. Test Statistical Significance of Differences 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ1 RQ2
  • 20. 20 Methodology 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 4. Execute the BPs in EM and Measure Performance 2. Determine Applicable Transformation Rules Transformation rules (R) Applicable combinations of rules (RA) Load function / WfMS Semantically equivalent BP models (TMi) 3. Generate Transformed BP Models i <= z i>z Unsaved diagram Performance metrics 5. Test Statistical Significance of Differences 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ1 RQ2 Experiment  definition  and  execution
  • 21. 21 Methodologym 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 4. Execute the BPs in EM and Measure Performance 2. Determine Applicable Transformation Rules Transformation rules (R) Applicable combinations of rules (RA) Load function / WfMS Semantically equivalent BP models (TMi) 3. Generate Transformed BP Models i <= z i>z Experiment  definition  and  execution
  • 22. 22 Methodology 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 4. Execute the BPs in EM and Measure Performance 2. Determine Applicable Transformation Rules Transformation rules (R) Applicable combinations of rules (RA) Load function / WfMS Semantically equivalent BP models (TMi) 3. Generate Transformed BP Models i <= z i>z Unsaved diagram Performance metrics 5. Test Statistical Significance of Differences 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ1 RQ2 Experiment  definition  and  execution
  • 23. 23 Methodology 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 4. Execute the BPs in EM and Measure Performance 2. Determine Applicable Transformation Rules Transformation rules (R) Applicable combinations of rules (RA) Load function / WfMS Semantically equivalent BP models (TMi) 3. Generate Transformed BP Models i <= z i>z Unsaved diagram Performance metrics 5. Test Statistical Significance of Differences 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ1 RQ2 Experiment  definition  and  execution Results  analysis  and  ranking
  • 24. 24 Methodology Results  analysis  and  ranking Performance metrics 5. Test Statistical Significance of Differences 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ1 RQ2
  • 25. 25 Methodology 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 4. Execute the BPs in EM and Measure Performance 2. Determine Applicable Transformation Rules Transformation rules (R) Applicable combinations of rules (RA) Load function / WfMS Semantically equivalent BP models (TMi) 3. Generate Transformed BP Models i <= z i>z Unsaved diagram Performance metrics 5. Test Statistical Significance of Differences 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ1 RQ2 Experiment  definition  and  execution Results  analysis  and  ranking
  • 26. 26 First models v4 EX1_PCF EX2_E 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2 Empty ST 2 EG 2.1 Empty ST 2 Empty ST 2 EG 2.2 EG 2.4 EG EG Generate ST 2.1 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi)
  • 27. 27 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) First models v4 EX1_PCF EX2_E 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2 Empty ST 2 EG 2.1 Empty ST 2 Empty ST 2 EG 2.2 EG 2.4 EG EG Generate ST 2.1 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 minimize  the  routing   paths  per  element match  every  split  with  a   join  of  the  same  type   1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) use  one  start  and   one  end  event  
  • 28. 28 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) First models v4 EX1_PCF EX2_E 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2 Empty ST 2 EG 2.1 Empty ST 2 Empty ST 2 EG 2.2 EG 2.4 EG EG Generate ST 2.1 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 minimize  the  routing   paths  per  element match  every  split  with  a   join  of  the  same  type   1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) use  one  start  and   one  end  event   1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi)
  • 29. 29 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) First models v4 EX1_PCF EX2_E 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2 Empty ST 2 EG 2.1 Empty ST 2 Empty ST 2 EG 2.2 EG 2.4 EG EG Generate ST 2.1 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 minimize  the  routing   paths  per  element match  every  split  with  a   join  of  the  same  type   1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) use  one  start  and   one  end  event   Parallel
  • 30. 30 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) First models v4 EX1_PCF EX2_E 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2 Empty ST 2 EG 2.1 Empty ST 2 Empty ST 2 EG 2.2 EG 2.4 EG EG Generate ST 2.1 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 First models v4 EX1_PCF EX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 3 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 minimize  the  routing   paths  per  element match  every  split  with  a   join  of  the  same  type   1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) use  one  start  and   one  end  event   Parallel Exclusive
  • 31. 31 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) First models v4 EX1_PCF EX2_E 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2 Empty ST 2 EG 2.1 Empty ST 2 Empty ST 2 EG 2.2 EG 2.4 EG EG Generate ST 2.1 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 First models v4 EX1_PCF EX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 3 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 minimize  the  routing   paths  per  element match  every  split  with  a   join  of  the  same  type   1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) use  one  start  and   one  end  event   avoid  OR   gateways   Parallel Exclusive Inclusive
  • 32. 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) r2    Coalesce  Splitsr1 Coalesce  Joins r3    Use  Inclusive  Gateway r4 Use  Implicit  Gateway 32
  • 33. 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) r2    Coalesce  Splitsr1 Coalesce  Joins r3    Use  Inclusive  Gateway r4 Use  Implicit  Gateway 33 Semantics Preserving Transformation Rules!
  • 34. 34 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) r1 Coalesce  Joins
  • 35. r2    Coalesce  Splits 35 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA)
  • 36. r3    Use  Inclusive  Gateway 36 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA)
  • 37. r4 Use  Implicit  Gateway 37 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA)
  • 38. 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) r2    Coalesce  Splitsr1 Coalesce  Joins r3    Use  Inclusive  Gateway r4 Use  Implicit  Gateway 38 Semantics Preserving Transformation Rules!
  • 39. 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) r2    Coalesce  Splitsr1 Coalesce  Joins r3    Use  Inclusive  Gateway r4 Use  Implicit  Gateway 39 Semantics Preserving Transformation Rules! 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA)
  • 40. 1.1.Parallel_Multiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End Initial   Model 40
  • 41. 1.1.Parallel_Multiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End Initial   Model 41 coalesce   joinst1 t2 t3 use   inclusive   gateway use   implicit gateway t4 coalesce   splits 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA)
  • 42. 1.1.Parallel_Multiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End Initial   Model 42 coalesce   joinst1 t2 t3 use   inclusive   gateway use   implicit gateway t4 coalesce   splits 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA)
  • 43. tiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End Initial   Model 43 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) R1_Parallel_Coalesce_Joins R1.PG Start Empty ST R1.PG.1 PG R1.PG.1 PG R1.PG.2 PG R1.PG.3 Empty ST R1.PG.2 Empty ST R1.PG.3 Empty ST R1.PG.4 Empty ST R1.PG.5 PG R1.PG.4 R1.PG End t1 coalesce   joins
  • 44. 44 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) R2_Parallel_Coalesce_Splits R2.PG Start Empty ST R2.PG.1 PG R2.PG.1 Empty ST R2.PG.2 Empty ST R2.PG.3 Empty ST R2.PG.4 Empty ST R2.PG.5 PG R2.PG.2 PG R2.PG.3 PG 1.1.6 R2.PG End tiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End Initial   Model t2 coalesce   splits
  • 45. 45 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) R3_Parallel_Alternative R3.PG Start Empty ST R3.PG.1 Empty ST R3.PG.2 Empty ST R3.PG.3 Empty ST R3.PG.4 Empty ST R3.PG.5 R3.PG EndIG R3.PG.1 IG R3.PG.2 IG R3.PG.4 IG R3.PG.3 IG R3.PG.5 IG R3.PG.6 tiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End Initial   Model t3 use   inclusive   gateway
  • 46. 46 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) tiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End Initial   Model t4 use   implicit gateway R4_Parallel_Activity_Form R4.PG Start Empty ST R4.PG.1 PG R4.PG.1 PG R4.PG.3 Empty ST R4.PG.2 Empty ST R4.PG.3 Empty ST R4.PG.4 Empty ST R4.PG.5 PG R4.PG.2 PG R4.PG.4 PG R4.PG.5 R4.PG End
  • 47. use   implicit gateway t3 use   inclusive   gateway coalesce   joins 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) t4 1.1.Parallel_Multiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End R1_Parallel_Coalesce_Joins R1.PG Start Empty ST R1.PG.1 PG R1.PG.1 PG R1.PG.2 PG R1.PG.3 Empty ST R1.PG.2 Empty ST R1.PG.3 Empty ST R1.PG.4 Empty ST R1.PG.5 PG R1.PG.4 R1.PG End t1 Initial   Model R2_Parallel_Coalesce_Splits R2.PG Start Empty ST R2.PG.1 PG R2.PG.1 Empty ST R2.PG.2 Empty ST R2.PG.3 Empty ST R2.PG.4 Empty ST R2.PG.5 PG R2.PG.2 PG R2.PG.3 PG 1.1.6 R2.PG End t2 coalesce   splits R3_Parallel_Alternative R3.PG Start Empty ST R3.PG.1 Empty ST R3.PG.2 Empty ST R3.PG.3 Empty ST R3.PG.4 Empty ST R3.PG.5 R3.PG EndIG R3.PG.1 IG R3.PG.2 IG R3.PG.4 IG R3.PG.3 IG R3.PG.5 IG R3.PG.6 ctivity_Form R4.PG Start Empty ST R4.PG.1 PG R4.PG.1 PG R4.PG.3 Empty ST R4.PG.2 Empty ST R4.PG.3 Empty ST R4.PG.4 Empty ST R4.PG.5 PG R4.PG.2 PG R4.PG.4 PG R4.PG.5 R4.PG End 47
  • 48. use   implicit gateway t3 use   inclusive   gateway 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) t4 1.1.Parallel_Multiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End R1_Parallel_Coalesce_Joins R1.PG Start Empty ST R1.PG.1 PG R1.PG.1 PG R1.PG.2 PG R1.PG.3 Empty ST R1.PG.2 Empty ST R1.PG.3 Empty ST R1.PG.4 Empty ST R1.PG.5 PG R1.PG.4 R1.PG End t1 Initial   Model R2_Parallel_Coalesce_Splits R2.PG Start Empty ST R2.PG.1 PG R2.PG.1 Empty ST R2.PG.2 Empty ST R2.PG.3 Empty ST R2.PG.4 Empty ST R2.PG.5 PG R2.PG.2 PG R2.PG.3 PG 1.1.6 R2.PG End t2 coalesce   splits R3_Parallel_Alternative R3.PG Start Empty ST R3.PG.1 Empty ST R3.PG.2 Empty ST R3.PG.3 Empty ST R3.PG.4 Empty ST R3.PG.5 R3.PG EndIG R3.PG.1 IG R3.PG.2 IG R3.PG.4 IG R3.PG.3 IG R3.PG.5 IG R3.PG.6 ctivity_Form R4.PG Start Empty ST R4.PG.1 PG R4.PG.1 PG R4.PG.3 Empty ST R4.PG.2 Empty ST R4.PG.3 Empty ST R4.PG.4 Empty ST R4.PG.5 PG R4.PG.2 PG R4.PG.4 PG R4.PG.5 R4.PG End 48 coalesce   joins
  • 49. use   implicit gateway t3 use   inclusive   gateway t4 1.1.Parallel_Multiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End R1_Parallel_Coalesce_Joins R1.PG Start Empty ST R1.PG.1 PG R1.PG.1 PG R1.PG.2 PG R1.PG.3 Empty ST R1.PG.2 Empty ST R1.PG.3 Empty ST R1.PG.4 Empty ST R1.PG.5 PG R1.PG.4 R1.PG End t1 Initial   Model R2_Parallel_Coalesce_Splits R2.PG Start Empty ST R2.PG.1 PG R2.PG.1 Empty ST R2.PG.2 Empty ST R2.PG.3 Empty ST R2.PG.4 Empty ST R2.PG.5 PG R2.PG.2 PG R2.PG.3 PG 1.1.6 R2.PG End t2 coalesce   splits R3_Parallel_Alternative R3.PG Start Empty ST R3.PG.1 Empty ST R3.PG.2 Empty ST R3.PG.3 Empty ST R3.PG.4 Empty ST R3.PG.5 R3.PG EndIG R3.PG.1 IG R3.PG.2 IG R3.PG.4 IG R3.PG.3 IG R3.PG.5 IG R3.PG.6 ctivity_Form R4.PG Start Empty ST R4.PG.1 PG R4.PG.1 PG R4.PG.3 Empty ST R4.PG.2 Empty ST R4.PG.3 Empty ST R4.PG.4 Empty ST R4.PG.5 PG R4.PG.2 PG R4.PG.4 PG R4.PG.5 R4.PG End 49 coalesce   joins 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA)
  • 50. R3R4 1.2.8 Start Empty ST 1.2.8.1 Empty ST 1.2.8.2 Empty ST 1.2.8.3 Empty ST 1.2.8.4 Empty ST 1.2.8.5 1.2.8 End IG 1.2.8.2 IG 1.2.8.4 IG 1.2.8.5 IG 1.2.8.1 IG 1.2.8.3 use   implicit gateway t3 use   inclusive   gateway 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) t4 1.1.Parallel_Multiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End R1_Parallel_Coalesce_Joins R1.PG Start Empty ST R1.PG.1 PG R1.PG.1 PG R1.PG.2 PG R1.PG.3 Empty ST R1.PG.2 Empty ST R1.PG.3 Empty ST R1.PG.4 Empty ST R1.PG.5 PG R1.PG.4 R1.PG End t1 Initial   Model R2_Parallel_Coalesce_Splits R2.PG Start Empty ST R2.PG.1 PG R2.PG.1 Empty ST R2.PG.2 Empty ST R2.PG.3 Empty ST R2.PG.4 Empty ST R2.PG.5 PG R2.PG.2 PG R2.PG.3 PG 1.1.6 R2.PG End t2 coalesce   splits R3_Parallel_Alternative R3.PG Start Empty ST R3.PG.1 Empty ST R3.PG.2 Empty ST R3.PG.3 Empty ST R3.PG.4 Empty ST R3.PG.5 R3.PG EndIG R3.PG.1 IG R3.PG.2 IG R3.PG.4 IG R3.PG.3 IG R3.PG.5 IG R3.PG.6 ctivity_Form R4.PG Start Empty ST R4.PG.1 PG R4.PG.1 PG R4.PG.3 Empty ST R4.PG.2 Empty ST R4.PG.3 Empty ST R4.PG.4 Empty ST R4.PG.5 PG R4.PG.2 PG R4.PG.4 PG R4.PG.5 R4.PG End 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End R4 1.2.3 Start Empty ST 1.2.3.1 PG 1.2.3.1 PG 1.2.3.2 Empty ST 1.2.3.2 Empty ST 1.2.3.3 Empty ST 1.2.3.4 Empty ST 1.2.3.5 PG 1.2.3.3 1.2.3 End 1.2.5 Parallel_R2R3 1.2.5 Start Empty ST 1.2.5.1 Empty ST 1.2.5.2 Empty ST 1.2.5.3 Empty ST 1.2.5.4 Empty ST 1.2.5.5 1.2.5 EndIG 1.2.5.1 IG 1.2.5.2 IG 1.2.5.3 IG 1.2.5.4 50 3. Generate Transformed BP Models Applicable combinations of rules (RA) Semantically equivalent BP models (TMi) coalesce   joins
  • 51. R3R4 1.2.8 Start Empty ST 1.2.8.1 Empty ST 1.2.8.2 Empty ST 1.2.8.3 Empty ST 1.2.8.4 Empty ST 1.2.8.5 1.2.8 End IG 1.2.8.2 IG 1.2.8.4 IG 1.2.8.5 IG 1.2.8.1 IG 1.2.8.3 use   implicit gateway t3 use   inclusive   gateway 2. Determine Applicable Transformati on Rules Transformat ion rules (R) Applicable combinations of rules (RA) t4 1.1.Parallel_Multiple 1.1 Start Empty ST 1.1.1 PG 1.1.1 PG 1.1.2 PG 1.1.4 Empty ST 1.1.2 Empty ST 1.1.3 Empty ST 1.1.4 Empty ST 1.1.5 PG 1.1.3 PG 1.1.5 PG 1.1.6 1.1 End R1_Parallel_Coalesce_Joins R1.PG Start Empty ST R1.PG.1 PG R1.PG.1 PG R1.PG.2 PG R1.PG.3 Empty ST R1.PG.2 Empty ST R1.PG.3 Empty ST R1.PG.4 Empty ST R1.PG.5 PG R1.PG.4 R1.PG End t1 Initial   Model R2_Parallel_Coalesce_Splits R2.PG Start Empty ST R2.PG.1 PG R2.PG.1 Empty ST R2.PG.2 Empty ST R2.PG.3 Empty ST R2.PG.4 Empty ST R2.PG.5 PG R2.PG.2 PG R2.PG.3 PG 1.1.6 R2.PG End t2 coalesce   splits R3_Parallel_Alternative R3.PG Start Empty ST R3.PG.1 Empty ST R3.PG.2 Empty ST R3.PG.3 Empty ST R3.PG.4 Empty ST R3.PG.5 R3.PG EndIG R3.PG.1 IG R3.PG.2 IG R3.PG.4 IG R3.PG.3 IG R3.PG.5 IG R3.PG.6 ctivity_Form R4.PG Start Empty ST R4.PG.1 PG R4.PG.1 PG R4.PG.3 Empty ST R4.PG.2 Empty ST R4.PG.3 Empty ST R4.PG.4 Empty ST R4.PG.5 PG R4.PG.2 PG R4.PG.4 PG R4.PG.5 R4.PG End 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End R4 1.2.3 Start Empty ST 1.2.3.1 PG 1.2.3.1 PG 1.2.3.2 Empty ST 1.2.3.2 Empty ST 1.2.3.3 Empty ST 1.2.3.4 Empty ST 1.2.3.5 PG 1.2.3.3 1.2.3 End 1.2.5 Parallel_R2R3 1.2.5 Start Empty ST 1.2.5.1 Empty ST 1.2.5.2 Empty ST 1.2.5.3 Empty ST 1.2.5.4 Empty ST 1.2.5.5 1.2.5 EndIG 1.2.5.1 IG 1.2.5.2 IG 1.2.5.3 IG 1.2.5.4 mi t1 t2 t3 t4 t12 t13 t14 t23 t24 t34 t123 t124 t134 t234 t1234 51 3. Generate Transformed BP Models Applicable combinations of rules (RA) Semantically equivalent BP models (TMi) 3. Generate Transformed BP Models Applicable combinations of rules (RA) Semantically equivalent BP models (TMi) coalesce   joins
  • 52. 52 First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Workload benchflow [ICPE  ’16][BPM  ’15]
  • 53. 53 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Workload benchflow [ICPE  ’16][BPM  ’15]
  • 54. 54 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics WfMS First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Workload Load  function benchflow [ICPE  ’16][BPM  ’15]
  • 55. 55 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics WfMS First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Workload Load  function benchflow [ICPE  ’16][BPM  ’15]
  • 56. 56 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics WfMS First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Workload Load  function benchflow [ICPE  ’16][BPM  ’15]
  • 57. 57 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics WfMS First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Workload Load  function Metrics benchflow [ICPE  ’16][BPM  ’15]
  • 58. 58 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics WfMS First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 1.2.1 Parallel_R1R2 1.2.1 Start Empty ST 1.2.1.1 PG 1.2.1.1 Empty ST 1.2.1.2 Empty ST 1.2.1.5 Empty ST 1.2.1.4 Empty ST 1.2.1.3 PG 1.2.1.2 1.2.1 End First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Workload Load  function Metrics benchflow [ICPE  ’16][BPM  ’15] instance  duration  in   milliseconds  (ms)  
  • 59. 59 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 0 100 200 300 400 500 Users Time  (min:sec) 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics v 7.5
  • 60. 60 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics Vincenzo  Ferme 0 100 200 300 400 500 Users Time  (min:sec) 0 10 20 30 40 50 Users Time  (min:sec) 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics v 7.5 v 5.21
  • 61. 61 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 1 second think time Vincenzo  Ferme 0 100 200 300 400 500 Users Time  (min:sec) 0 10 20 30 40 50 Users Time  (min:sec) 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics v 7.5 v 5.21
  • 63. 63 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics 4. Execute the BPs in EM and Measure Performance Load function / WfMS Performance metrics Instance  duration (ms) Parallel mi t124 2.59  ms ± 0.05  ms 2.16  ms ± 0.03  ms Exclusive t3 t124 1.57  ms ± 0.02  ms 1.32  ms ± 0.02  ms Inclusive mi t1234 2.76  ms ± 0.08  ms 1.78  ms ± 0.02  ms Parallel mi t23 26.04  ms ± 0.01  ms 15.62  ms ± 0.12  ms Exclusive mi t124 2.14  ms ± 0.07  ms 1.39  ms ± 0.02  ms Inclusive mi t1234 29.87  ms ± 0.30  ms 9.93  ms ± 0.14  ms
  • 64. 64 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences *http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test Population One  sample Two  samples Three  or  more   samples Drawn  from   a  normal   distribution? Drawn  from   a  normal   distribution? Drawn  from   a  normal   distribution? One sample t-­‐test Wilcoxon rank  sum test Paired   samples? Equal variance? Paired t-­‐test Unaired t-­‐test Welch’s corrected unpaired  test Wilcoxon’s matched pairs  test Mann-­‐Whitney test Paired   samples? Paired   samples? Repeated measures one-­‐way  ANOVA Paired   samples? One-­‐way   ANOVA Friedman test Kruskal-­‐Wallis test Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
  • 65. 65 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences *http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test mi      t1      t2 t3 t4 t12 t13 t14      t23      t24      t34      t123      t124      t134      t234      t1234 One  sample Two  samples Three  or  more   samples Drawn  from   a  normal   distribution? Drawn  from   a  normal   distribution? Drawn  from   a  normal   distribution? One sample t-­‐test Wilcoxon rank  sum test Paired   samples? Equal variance? Paired t-­‐test Unaired t-­‐test Welch’s corrected unpaired  test Wilcoxon’s matched pairs  test Mann-­‐Whitney test Paired   samples? Paired   samples? Repeated measures one-­‐way  ANOVA Paired   samples? One-­‐way   ANOVA Friedman test Kruskal-­‐Wallis test Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Population
  • 66. 66 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences *http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test mi      t1      t2 t3 t4 t12 t13 t14      t23      t24      t34      t123      t124      t134      t234      t1234 Population One  sample Two  samples Three  or  more   samples Drawn  from   a  normal   distribution? Drawn  from   a  normal   distribution? Drawn  from   a  normal   distribution? One sample t-­‐test Wilcoxon rank  sum test Paired   samples? Equal variance? Paired t-­‐test Unaired t-­‐test Welch’s corrected unpaired  test Wilcoxon’s matched pairs  test Mann-­‐Whitney test Paired   samples? Paired   samples? Repeated measures one-­‐way  ANOVA Paired   samples? One-­‐way   ANOVA Friedman test Kruskal-­‐Wallis test Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No
  • 67. 67 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences *http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test mi      t1      t2 t3 t4 t12 t13 t14      t23      t24      t34      t123      t124      t134      t234      t1234 Three  or  more   samples Drawn  from   a  normal   distribution? Paired   samples? Paired   samples? Repeated measures one-­‐way  ANOVA One-­‐way   ANOVA Friedman test Kruskal-­‐Wallis test Yes Yes Yes No No No
  • 68. 68 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences *http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test mi      t1      t2 t3 t4 t12 t13 t14      t23      t24      t34      t123      t124      t134      t234      t1234 Three  or  more   samples Drawn  from   a  normal   distribution? Paired   samples? Paired   samples? Repeated measures one-­‐way  ANOVA One-­‐way   ANOVA Friedman test Kruskal-­‐Wallis test Yes Yes Yes No No No
  • 69. 69 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences *http://www.biochemia-­‐medica.com/content/comparing-­‐groups-­‐statistical-­‐differences-­‐how-­‐choose-­‐right-­‐statistical-­‐test mi      t1      t2 t3 t4 t12 t13 t14      t23      t24      t34      t123      t124      t134      t234      t1234 Three  or  more   samples Drawn  from   a  normal   distribution? Paired   samples? Paired   samples? Repeated measures one-­‐way  ANOVA One-­‐way   ANOVA Friedman test Kruskal-­‐Wallis test Yes Yes Yes No No No
  • 70. 70 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences RQ1:  Does  the  application  of  different  modeling  practices  have  significant  impact  on  the   duration of  a  BP  instance  execution?  
  • 71. 71 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences RQ1:  Does  the  application  of  different  modeling  practices  have  significant  impact  on  the   duration of  a  BP  instance  execution?  
  • 72. 72 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences RQ1:  Does  the  application  of  different  modeling  practices  have  significant  impact  on  the   duration of  a  BP  instance  execution?   YES!
  • 73. 73 5. Test Statistical Significance of Differences Performance metrics Statistical significance of the performance differences RQ1:  Does  the  application  of  different  modeling  practices  have  significant  impact  on  the   duration of  a  BP  instance  execution?   YES! improvement  possibilities  to  BPMS  vendors
  • 74. 74 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ2:  Is  there  a  total  order between  semantically  equivalent  but  structurally  different   models,  when  ranked  according  to  their  performance?  
  • 75. 75 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ2:  Is  there  a  total  order between  semantically  equivalent  but  structurally  different   models,  when  ranked  according  to  their  performance?   NO!
  • 76. 76 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ2:  Is  there  a  total  order between  semantically  equivalent  but  structurally  different   models,  when  ranked  according  to  their  performance?   NO! opportunity  to  identify  optimization  rules  
  • 77. 78 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ2:  Is  there  a  total  order between  semantically  equivalent  but  structurally  different   models,  when  ranked  according  to  their  performance?   NO! opportunity  to  identify  optimization  rules  
  • 78. 78 6. Rank the Performance of Transformed Models Statistical significance of the performance differences RQ2:  Is  there  a  total  order between  semantically  equivalent  but  structurally  different   models,  when  ranked  according  to  their  performance?   NO! opportunity  to  identify  optimization  rules  
  • 79. 79 Performance  Variability Acceptability  index 𝑨𝑰 𝑨, 𝑩 =   𝒎 𝑩 − 𝒎(𝑨) 𝒘 𝑩 + 𝒘(𝑨) *Sengupta,  A.,  Pal,  T.K.:  On  comparing  interval  numbers.  European  Journal  of  Operational  Research  127(1),  28–43  (2000)   𝐴 = [𝑎𝑙, 𝑎𝑟] 𝐵 = [𝑏𝑙, 𝑏𝑟] 95%  confidence  interval of  the  duration 𝑚 𝐴 𝑚 𝐵 average  duration  of model’s  instances w 𝐴 w 𝐵 half-­‐width  of  the confidence  interval 𝐴 𝐵 initial  model  (mi) transformed  model  (t)
  • 80. 80 Performance  Variability Acceptability  index 𝑨𝑰 𝑨, 𝑩 =   𝒎 𝑩 − 𝒎(𝑨) 𝒘 𝑩 + 𝒘(𝑨) *Sengupta,  A.,  Pal,  T.K.:  On  comparing  interval  numbers.  European  Journal  of  Operational  Research  127(1),  28–43  (2000)   𝐴 = [𝑎𝑙, 𝑎𝑟] 𝐵 = [𝑏𝑙, 𝑏𝑟] 95%  confidence  interval of  the  duration 𝑚 𝐴 𝑚 𝐵 average  duration  of model’s  instances w 𝐴 w 𝐵 half-­‐width  of  the confidence  interval 𝐴 𝐵 initial  model  (mi) transformed  model  (t) -­‐1 1𝐴𝐼 overlapping intervals
  • 81. 81 Performance  Variability Acceptability  index 𝑨𝑰 𝑨, 𝑩 =   𝒎 𝑩 − 𝒎(𝑨) 𝒘 𝑩 + 𝒘(𝑨) *Sengupta,  A.,  Pal,  T.K.:  On  comparing  interval  numbers.  European  Journal  of  Operational  Research  127(1),  28–43  (2000)   𝐴 = [𝑎𝑙, 𝑎𝑟] 𝐵 = [𝑏𝑙, 𝑏𝑟] 95%  confidence  interval of  the  duration 𝑚 𝐴 𝑚 𝐵 average  duration  of model’s  instances w 𝐴 w 𝐵 half-­‐width  of  the confidence  interval 𝐴 𝐵 initial  model  (mi) transformed  model  (t) -­‐1 1𝐴𝐼 transformed  model is  faster overlapping intervals
  • 82. 82 Performance  Variability Acceptability  index 𝑨𝑰 𝑨, 𝑩 =   𝒎 𝑩 − 𝒎(𝑨) 𝒘 𝑩 + 𝒘(𝑨) *Sengupta,  A.,  Pal,  T.K.:  On  comparing  interval  numbers.  European  Journal  of  Operational  Research  127(1),  28–43  (2000)   𝐴 = [𝑎𝑙, 𝑎𝑟] 𝐵 = [𝑏𝑙, 𝑏𝑟] 95%  confidence  interval of  the  duration 𝑚 𝐴 𝑚 𝐵 average  duration  of model’s  instances w 𝐴 w 𝐵 half-­‐width  of  the confidence  interval 𝐴 𝐵 initial  model  (mi) transformed  model  (t) -­‐1 1𝐴𝐼 initial  model is  faster transformed  model is  faster overlapping intervals
  • 83. 11.# 12.# 8.# 13.# 9.# 5.# 10.# 2.# 12.# 7.# 3.# 9.# 6.# 4.# 1.# 7.# 7.# 12.# 8.# 3.# 9.# 4.# 8.# 5.# 10.# 3.# 1.# 6.# 6.# 2.# !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Parallel#Control#Flow#(EX1_PCF)# Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac2vi2$Ranks$1.#to#14.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 83 Performance  Variability
  • 84. 11.# 12.# 8.# 13.# 9.# 5.# 10.# 2.# 12.# 7.# 3.# 9.# 6.# 4.# 1.# 7.# 7.# 12.# 8.# 3.# 9.# 4.# 8.# 5.# 10.# 3.# 1.# 6.# 6.# 2.# !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Parallel#Control#Flow#(EX1_PCF)# Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac2vi2$Ranks$1.#to#14.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 84 Performance  Variability
  • 85. 11.# 12.# 8.# 13.# 9.# 5.# 10.# 2.# 12.# 7.# 3.# 9.# 6.# 4.# 1.# 7.# 7.# 12.# 8.# 3.# 9.# 4.# 8.# 5.# 10.# 3.# 1.# 6.# 6.# 2.# !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Parallel#Control#Flow#(EX1_PCF)# Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac2vi2$Ranks$1.#to#14.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 85 Performance  Variability
  • 86. 11.# 12.# 8.# 13.# 9.# 5.# 10.# 2.# 12.# 7.# 3.# 9.# 6.# 4.# 1.# 7.# 7.# 12.# 8.# 3.# 9.# 4.# 8.# 5.# 10.# 3.# 1.# 6.# 6.# 2.# !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Parallel#Control#Flow#(EX1_PCF)# Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac2vi2$Ranks$1.#to#14.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 86 1.3.5 Parallel_R1R2R3R4 1.3.5 Start Empty ST 1.3.5.1 Empty ST 1.3.5.2 Empty ST 1.3.5.3 Empty ST 1.3.5.4 Empty ST 1.3.5.5 1.3.5 End IG 1.3.5.1 t1234 Performance  Variability
  • 87. 11.# 12.# 8.# 13.# 9.# 5.# 10.# 2.# 12.# 7.# 3.# 9.# 6.# 4.# 1.# 7.# 7.# 12.# 8.# 3.# 9.# 4.# 8.# 5.# 10.# 3.# 1.# 6.# 6.# 2.# !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Parallel#Control#Flow#(EX1_PCF)# Trial$1$!$Ac2vi2$ Trial$2$!$Ac2vi2$ Trial$3$!$Ac2vi2$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac2vi2$Ranks$1.#to#14.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 87 1.3.5 Parallel_R1R2R3R4 1.3.5 Start Empty ST 1.3.5.1 Empty ST 1.3.5.2 Empty ST 1.3.5.3 Empty ST 1.3.5.4 Empty ST 1.3.5.5 1.3.5 End IG 1.3.5.1 t1234 1.3.2 Parallel_R1R2R4 1.3.2 Start Empty ST 1.3.2.1 Empty ST 1.3.2.2 Empty ST 1.3.2.3 Empty ST 1.3.2.4 Empty ST 1.3.2.5 PG 1.3.2.1 1.3.2 End t124 Performance  Variability
  • 88. Performance Variability 5.# 5.# 6.# 5.# 3.# 5.# 3.# 5.# 2.# 5.# 4.# 1.# 4.# 4.# 2.# 4.# 5.# 7.# 6.# 2.# 4.# 3.# 5.# 2.# 5.# 2.# 1.# 3.# 2.# 1.# !8# !7# !6# !5# !4# !3# !2# !1# 0# 1# 2# t1# t2# t3# t4# t12# t13# t14# t23# t24# t34# t123# t124# t134# t234# t1234# Acceptability#Index# Exclusive#Control#Flow#(EX2_ECF)# Trial#1#!#Ac4vi4# Trial#2#!#Ac4vi4# Trial#3#!#Ac4vi4# Trial#1#!#Camunda# Trial#2#!#Camunda# Trial#3#!#Camunda# Ac4vi4#Ranks#1.#to#6.# Camunda#Ranks#1.#to#7.# Overlapping## confidence#intervals# 88
  • 89. Performance Variability 5.# 5.# 6.# 5.# 3.# 5.# 3.# 5.# 2.# 5.# 4.# 1.# 4.# 4.# 2.# 4.# 5.# 7.# 6.# 2.# 4.# 3.# 5.# 2.# 5.# 2.# 1.# 3.# 2.# 1.# !8# !7# !6# !5# !4# !3# !2# !1# 0# 1# 2# t1# t2# t3# t4# t12# t13# t14# t23# t24# t34# t123# t124# t134# t234# t1234# Acceptability#Index# Exclusive#Control#Flow#(EX2_ECF)# Trial#1#!#Ac4vi4# Trial#2#!#Ac4vi4# Trial#3#!#Ac4vi4# Trial#1#!#Camunda# Trial#2#!#Camunda# Trial#3#!#Camunda# Ac4vi4#Ranks#1.#to#6.# Camunda#Ranks#1.#to#7.# Overlapping## confidence#intervals# 89 3.3.2 Exclusive_R1R2R4 3.3.2 Start Empty ST 3.3.2.2 Empty ST 3.3.2.5 EG 3.3.2.1 Empty ST 3.3.2.6 3.3.2 End Empty ST 3.3.2.3 Empty ST 3.3.2.4 Generate ST 3.3.2.1 a==3a==0 a == 1 a == 2 t124
  • 90. Performance Variability 5.# 5.# 6.# 5.# 3.# 5.# 3.# 5.# 2.# 5.# 4.# 1.# 4.# 4.# 2.# 4.# 5.# 7.# 6.# 2.# 4.# 3.# 5.# 2.# 5.# 2.# 1.# 3.# 2.# 1.# !8# !7# !6# !5# !4# !3# !2# !1# 0# 1# 2# t1# t2# t3# t4# t12# t13# t14# t23# t24# t34# t123# t124# t134# t234# t1234# Acceptability#Index# Exclusive#Control#Flow#(EX2_ECF)# Trial#1#!#Ac4vi4# Trial#2#!#Ac4vi4# Trial#3#!#Ac4vi4# Trial#1#!#Camunda# Trial#2#!#Camunda# Trial#3#!#Camunda# Ac4vi4#Ranks#1.#to#6.# Camunda#Ranks#1.#to#7.# Overlapping## confidence#intervals# 90 3.3.3 Exclusive_R1R3R4 3.3.3 Start Empty ST 3.3.3.2 Empty ST 3.3.3.5 Empty ST 3.3.3.6 3.3.3 End Empty ST 3.3.3.3 Empty ST 3.3.3.4 Generate ST 3.3.3.1 IG 3.3.3.1 IG 3.3.3.2 IG 3.3.3.3 a==1a==2a==3a==0 a == 0 || a == 1 a == 2 || a == 3 3.3.2 Exclusive_R1R2R4 3.3.2 Start Empty ST 3.3.2.2 Empty ST 3.3.2.5 EG 3.3.2.1 Empty ST 3.3.2.6 3.3.2 End Empty ST 3.3.2.3 Empty ST 3.3.2.4 Generate ST 3.3.2.1 a==3a==0 a == 1 a == 2 t124 t1234
  • 91. Performance  Variability 9.# 10.# 4.# 11.# 6.# 3.# 7.# 2.# 8.# 3.# 1.# 5.# 3.# 2.# 1.# 9.# 10.# 6.# 11.# 8.# 4.# 9.# 4.# 9.# 5.# 2.# 7.# 3.# 3.# 1.# !50$ !48$ !46$ !44$ !42$ !40$ !38$ !36$ !34$ !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Inclusive#Control#Flow#(EX3_ICF)# Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac3vi3$Ranks$1.#to#11.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 91
  • 92. Performance  Variability 9.# 10.# 4.# 11.# 6.# 3.# 7.# 2.# 8.# 3.# 1.# 5.# 3.# 2.# 1.# 9.# 10.# 6.# 11.# 8.# 4.# 9.# 4.# 9.# 5.# 2.# 7.# 3.# 3.# 1.# !50$ !48$ !46$ !44$ !42$ !40$ !38$ !36$ !34$ !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Inclusive#Control#Flow#(EX3_ICF)# Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac3vi3$Ranks$1.#to#11.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 92
  • 93. Performance  Variability 9.# 10.# 4.# 11.# 6.# 3.# 7.# 2.# 8.# 3.# 1.# 5.# 3.# 2.# 1.# 9.# 10.# 6.# 11.# 8.# 4.# 9.# 4.# 9.# 5.# 2.# 7.# 3.# 3.# 1.# !50$ !48$ !46$ !44$ !42$ !40$ !38$ !36$ !34$ !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Inclusive#Control#Flow#(EX3_ICF)# Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac3vi3$Ranks$1.#to#11.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 93
  • 94. Performance  Variability 9.# 10.# 4.# 11.# 6.# 3.# 7.# 2.# 8.# 3.# 1.# 5.# 3.# 2.# 1.# 9.# 10.# 6.# 11.# 8.# 4.# 9.# 4.# 9.# 5.# 2.# 7.# 3.# 3.# 1.# !50$ !48$ !46$ !44$ !42$ !40$ !38$ !36$ !34$ !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Inclusive#Control#Flow#(EX3_ICF)# Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac3vi3$Ranks$1.#to#11.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 94
  • 95. Performance  Variability 9.# 10.# 4.# 11.# 6.# 3.# 7.# 2.# 8.# 3.# 1.# 5.# 3.# 2.# 1.# 9.# 10.# 6.# 11.# 8.# 4.# 9.# 4.# 9.# 5.# 2.# 7.# 3.# 3.# 1.# !50$ !48$ !46$ !44$ !42$ !40$ !38$ !36$ !34$ !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Inclusive#Control#Flow#(EX3_ICF)# Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac3vi3$Ranks$1.#to#11.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 95 2.3.2 Inclusive_R1R2R4 (Copy) 2.3.2 Start Empty ST 2.3.2.2 Empty ST 2.3.2.5 2.3.2 End Empty ST 2.3.2.3 Empty ST 2.3.2.4 Generate ST 2.3.2.1 IG 2.3.2.1 a==0 b == 0 d==0 c == 0 t1234
  • 96. Performance  Variability 9.# 10.# 4.# 11.# 6.# 3.# 7.# 2.# 8.# 3.# 1.# 5.# 3.# 2.# 1.# 9.# 10.# 6.# 11.# 8.# 4.# 9.# 4.# 9.# 5.# 2.# 7.# 3.# 3.# 1.# !50$ !48$ !46$ !44$ !42$ !40$ !38$ !36$ !34$ !32$ !30$ !28$ !26$ !24$ !22$ !20$ !18$ !16$ !14$ !12$ !10$ !8$ !6$ !4$ !2$ 0$ 2$ t1$ t2$ t3$ t4$ t12$ t13$ t14$ t23$ t24$ t34$ t123$ t124$ t134$ t234$ t1234$ Acceptability#Index# Inclusive#Control#Flow#(EX3_ICF)# Trial$1$!$Ac3vi3$ Trial$2$!$Ac3vi3$ Trial$3$!$Ac3vi3$ Trial$1$!$Camunda$ Trial$2$!$Camunda$ Trial$3$!$Camunda$ Ac3vi3$Ranks$1.#to#11.# Camunda$Ranks$1.#to#12.# Overlapping$$ confidence$intervals$ 96 2.3.2 Inclusive_R1R2R4 (Copy) 2.3.2 Start Empty ST 2.3.2.2 Empty ST 2.3.2.5 2.3.2 End Empty ST 2.3.2.3 Empty ST 2.3.2.4 Generate ST 2.3.2.1 IG 2.3.2.1 a==0 b == 0 d==0 c == 0 2.2.1 Inclusive_R1R2 (Copy) 2.2.1 Start Empty ST 2.2.1.2 Empty ST 2.2.1.5 2.2.1 End Empty ST 2.2.1.3 Empty ST 2.2.1.4 Generate ST 2.2.1.1 IG 2.2.1.1 IG 2.2.1.2 a==0d==0 b == 0 c == 0 t123 t1234
  • 97. Avoid  Inclusive  Gateways   97 Modeling  practices  and  performance
  • 98. Avoid  Inclusive  Gateways   98 Modeling  practices  and  performance EX3_ICFECF 2.2 2.5 Empty ST 2.6 2 End 2.3 2.4 G 2.3 G 2.5 EG 2.6 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0
  • 99. Avoid  Inclusive  Gateways   99 Modeling  practices  and  performance Use  inclusive  gateways EX3_ICFECF 2.2 2.5 Empty ST 2.6 2 End 2.3 2.4 G 2.3 G 2.5 EG 2.6 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0
  • 100. Avoid  Inclusive  Gateways   100 Modeling  practices  and  performance Use  inclusive  gateways EX3_ICFECF 2.2 2.5 Empty ST 2.6 2 End 2.3 2.4 G 2.3 G 2.5 EG 2.6 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 2.1.Inclusive_Multiple 2.1 Start Empty ST 2.1.2 Empty ST 2.1.5 2.1 End Empty ST 2.1.3 Empty ST 2.1.4 Generate ST 2.1.1 IG 2.1.1 IG 2.1.2 IG 2.1.4 IG 2.1.3 IG 2.1.5 IG 2.1.6 a==0||b==0c==0||d==0 a==0b==0c==0d==0 First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0
  • 101. Avoid  Inclusive  Gateways   101 Modeling  practices  and  performance Use  inclusive  gateways EX3_ICFECF 2.2 2.5 Empty ST 2.6 2 End 2.3 2.4 G 2.3 G 2.5 EG 2.6 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 2.1.Inclusive_Multiple 2.1 Start Empty ST 2.1.2 Empty ST 2.1.5 2.1 End Empty ST 2.1.3 Empty ST 2.1.4 Generate ST 2.1.1 IG 2.1.1 IG 2.1.2 IG 2.1.4 IG 2.1.3 IG 2.1.5 IG 2.1.6 a==0||b==0c==0||d==0 a==0b==0c==0d==0 Camunda 2.76  ms ± 0.08  ms Camunda 2.02  ms ± 0.03  msFirst models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0
  • 102. Avoid  Inclusive  Gateways   102 Modeling  practices  and  performance Use  inclusive  gateways EX3_ICFECF 2.2 2.5 Empty ST 2.6 2 End 2.3 2.4 G 2.3 G 2.5 EG 2.6 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 2.1.Inclusive_Multiple 2.1 Start Empty ST 2.1.2 Empty ST 2.1.5 2.1 End Empty ST 2.1.3 Empty ST 2.1.4 Generate ST 2.1.1 IG 2.1.1 IG 2.1.2 IG 2.1.4 IG 2.1.3 IG 2.1.5 IG 2.1.6 a==0||b==0c==0||d==0 a==0b==0c==0d==0 Camunda 2.76  ms ± 0.08  ms Camunda 2.02  ms ± 0.03  msFirst models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Activiti   29.87ms  ± 0.30  ms Activiti   11.66  ms ± 0.16  ms
  • 103. Avoid  Inclusive  Gateways   103 Modeling  practices  and  performance Use  inclusive  gateways EX3_ICFECF 2.2 2.5 Empty ST 2.6 2 End 2.3 2.4 G 2.3 G 2.5 EG 2.6 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 2.1.Inclusive_Multiple 2.1 Start Empty ST 2.1.2 Empty ST 2.1.5 2.1 End Empty ST 2.1.3 Empty ST 2.1.4 Generate ST 2.1.1 IG 2.1.1 IG 2.1.2 IG 2.1.4 IG 2.1.3 IG 2.1.5 IG 2.1.6 a==0||b==0c==0||d==0 a==0b==0c==0d==0 Camunda 2.76  ms ± 0.08  ms Camunda 2.02  ms ± 0.03  msFirst models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 R3_Parallel_Alternative R3.PG Start Empty ST R3.PG.1 Empty ST R3.PG.2 Empty ST R3.PG.3 Empty ST R3.PG.4 Empty ST R3.PG.5 R3.PG EndIG R3.PG.1 IG R3.PG.2 IG R3.PG.4 IG R3.PG.3 IG R3.PG.5 IG R3.PG.6 Activiti   29.87ms  ± 0.30  ms Activiti   11.66  ms ± 0.16  ms Activiti   26.04  ms ± 0.21  ms Activiti   19.57  ms ± 0.18  ms
  • 104. Avoid  Inclusive  Gateways   104 Modeling  practices  and  performance Use  inclusive  gateways EX3_ICFECF 2.2 2.5 Empty ST 2.6 2 End 2.3 2.4 G 2.3 G 2.5 EG 2.6 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 2.1.Inclusive_Multiple 2.1 Start Empty ST 2.1.2 Empty ST 2.1.5 2.1 End Empty ST 2.1.3 Empty ST 2.1.4 Generate ST 2.1.1 IG 2.1.1 IG 2.1.2 IG 2.1.4 IG 2.1.3 IG 2.1.5 IG 2.1.6 a==0||b==0c==0||d==0 a==0b==0c==0d==0 Camunda 2.76  ms ± 0.08  ms Camunda 2.02  ms ± 0.03  msFirst models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Camunda 2.51  ms ± 0.05  ms Camunda 2.58  ms ± 0.05  ms R3_Parallel_Alternative R3.PG Start Empty ST R3.PG.1 Empty ST R3.PG.2 Empty ST R3.PG.3 Empty ST R3.PG.4 Empty ST R3.PG.5 R3.PG EndIG R3.PG.1 IG R3.PG.2 IG R3.PG.4 IG R3.PG.3 IG R3.PG.5 IG R3.PG.6 Activiti   29.87ms  ± 0.30  ms Activiti   11.66  ms ± 0.16  ms Activiti   26.04  ms ± 0.21  ms Activiti   19.57  ms ± 0.18  ms
  • 105. Use  as  Few  Elements  as  Possibile 105 Modeling  practices  and  performance
  • 106. Use  as  Few  Elements  as  Possible 106 Modeling  practices  and  performance
  • 107. Use  as  Few  Elements  as  Possible 107 Modeling  practices  and  performance
  • 108. Use  as  Few  Elements  as  Possible 108 Modeling  practices  and  performance
  • 109. Minimize  the  routing  paths  per  element Model  as  structured  as  possible 109 Modeling  practices  and  performance
  • 110. Minimize  the  routing  paths  per  element Model  as  structured  as  possible 110 1.3.5 Parallel_R1R2R3R4 1.3.5 Start Empty ST 1.3.5.1 Empty ST 1.3.5.2 Empty ST 1.3.5.3 Empty ST 1.3.5.4 Empty ST 1.3.5.5 1.3.5 End IG 1.3.5.1 t124 t1234 Best  performing  models Modeling  practices  and  performance 1.3.2 Start Empty ST 1.3.2.1 Empty ST 1.3.2.2 Empty ST 1.3.2.3 Empty ST 1.3.2.4 Empty ST 1.3.2.5 PG 1.3.2.1 1.3.2 End
  • 111. Conclusions 111 Modeling  is  a  discretional  decision  of  the  modeler!!!
  • 112. Conclusions 112 Our  ultimate  goal:   Take  the  model  and  transform  it  to  a  better  performing  but  semantically   equivalent  model Modeling  is  a  discretional  decision  of  the  modeler!!!
  • 113. Conclusions 113 Our  ultimate  goal:   Take  the  model  and  transform  it  to  a  better  performing  but  semantically   equivalent  model Modeling  is  a  discretional  decision  of  the  modeler!!! Our  challenge:   Define  optimization  rules  to  obtain  the  better  performing  model  
  • 115. Conclusions 115 ~𝟏𝟕% ~𝟏𝟓% ~𝟑𝟔% ~𝟒𝟎% ~𝟑𝟓% ~𝟔𝟕% New  automatic  optimization  opportunity? in  milliseconds in  milliseconds
  • 116. On  the   Performance  Overhead of BPMN  Modeling  Practices   ana.ivanchikj@usi.ch
  • 118. 118 empty  tasks script  task script  task FULLY  AUTOMATED 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) 1. Design the Initial BP Model Modelling guidelines / practices / conventions Initial BP model (mi) First models v4 EX1_PCF EX2_E 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2 Empty ST 2 EG 2.1 Empty ST 2 Empty ST 2 EG 2.2 EG 2.4 EG EG Generate ST 2.1 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 Parallel First models v4 EX1_PCF EX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 3 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 First models v4 EX1_PCF EX3_ICFEX2_ECF 1 Start Empty ST 1.1 PG 1.1 PG 1.2 PG 1.4 Empty ST 1.2 Empty ST 1.3 Empty ST 1.4 Empty ST 1.5 PG 1.3 PG 1.5 PG 1.6 1 End 2 Start Empty ST 2.2 Empty ST 2.5 EG 2.1 Empty ST 2.6 2 End Empty ST 2.3 Empty ST 2.4 EG 2.2 EG 2.4 EG 2.3 EG 2.5 EG 2.6Generate ST 2.1 PG 3.4 EG 3.1 Empty 3.2 EG 3.2 EG 3.3 Empty ST 3.3 EG 3.4 PG 3.3 3 End Generate ST 3.1 3 Start EG 3.5 Empty ST 3.4 EG 3.6 EG 3.7 Empty ST 3.5 EG 3.8 PG 3.1 PG 3.2 PG 3.6 PG 3.5 a==1a==3 a==2||a==3a==0||a==1 a==0a==2 b==0 a == 0 c == 0 b == 1 a==1 c == 1 d == 1 d == 0 Exclusive Inclusive
  • 119. 119 Model  ranking Dunn’s  test  -­‐ the  H0 is  that  the  probability  of  observing  a  randomly  selected  value  from  the   first  sample  that  is  larger  than  a  randomly  selected  value  from  the  second  sample  equals   one  half,  i.e.,  no  sample  dominates  the  other =>  we  assign  the  same  rank. Rejecting  the  H0,  implies  that  the  first  sample  is  dominated  by  the  second  sample =>  we   assign  different  ranks. Base-­‐case  rank  -­‐ the  sum of  the  assigned  ranks  in  each performed  trial (what  we  show  in   the  table). Sensitivity  analysis  -­‐ we  test  the  sensitivity  of  the  order  of  the  performance  of  the  executed   models  as  per  the  base-­‐case  rank  on  the  the  ranks  from  the  individual  trials.  We  use  a   deterministic  one-­‐at-­‐a-­‐time,  also  known  as  one-­‐side,  sensitivity  analysis.
  • 120. 120 -­‐ the  WfMS,  the  DB  and  Faban,  are  all  deployed  in  Docker  images  on  dedicated  servers   using  the  Docker  Engine  1.9.1  and  Ubuntu 14.04.3  LTS  (GNU/Linux  3.13.0-­‐40-­‐generic   x86  64)  as  OS.   -­‐ they  interact  through  two  networks of  10Gbit/s  each,  one  dedicated  to  the   communication  between  the  WfMS and  the  DB  and  the  other  one  dedicated  to  other   interactions  (e.g.,  issuing  the  load).   -­‐ The  WfMS runs  on  a  server with  64  Cores  (2  threads)  and  a  clock  speed  of  1’400MHz   mounting  128GB  of  RAM  and  a  magnetic  disk  with  15’000  rpm.   -­‐ The  DB runs  on  a  server with  64  Cores  (2  threads)  and  a  clock  speed  of  2’300MHz   mounting  128GB  of  RAM  and  a  SSD  SATA  disk.   -­‐ Faban’s Load  Drivers  are  placed  on  three  servers:  one  with  64  Cores  (2  threads)  and  a   clock  speed  of  2’300MHz  mounting  128GB  of  RAM,  the  second  with  48  Cores  (2   threads)  and  a  clock  speed  of  2’000MHz  mounting  128GB  of  RAM,  and  the  third  with   12  Cores  (1  thread)  at  800MHz  mounting  64GB  of  RAM.   Benchflow Environment  Setup