"On the Performance Overhead of BPMN Modeling Practices", work we have presented at Business Process Management (BPM) 2017 conference in Barcelona.
Abstract: Business process models can serve different purposes, from discussion and analysis among stakeholders, to simulation and execution. While work has been done on deriving modeling guidelines to improve understandability, it remains to be determined how different modeling practices impact the execution of the models. In this paper we observe how semantically equivalent, but syntactically different, models behave in order to assess the performance impact of different modeling prac- tices. To do so, we propose a methodology for systematically deriving semantically equivalent models by applying a set of model transforma- tion rules and for precisely measuring their execution performance. We apply the methodology on three scenarios to systematically explore the performance variability of 16 different versions of parallel, exclusive, and inclusive control flows. Our experiments with two open-source business process management systems measure the execution duration of each model’s instances. The results reveal statistically different execution per- formance when applying different modeling practices without total or- dering of performance ranks.
Full paper available at: https://link.springer.com/chapter/10.1007/978-3-319-65000-5_13
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
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
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
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
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
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