Page 1
University of Stuttgart Universitätsstr. 38 70569 Stuttgart Germany
Phone +49-711-685 88477 Fax +49-711-685 88472
Research
Marigianna Skouradaki, Katharina Görlach, Michael Hahn, Frank Leymann
Institute of Architecture of Application Systems {firstname.lastname}@iaas.uni-stuttgart.de
Applying Subgraph Isomorphism to Extract Reoccurring Structures from BPMN 2.0 Process Models
Page 2
2 2
Re
sea
rch
© Marigianna Skouradaki
BPMN 2.0
Process Models
Collection
Fragments
Repository Workload
Mix
Graph
Matching
Selection
Criteria
Composition
Criteria
80%
20%
Motivation: Generation of Realistic Workload
Page 3
3 3
Re
sea
rch
© Marigianna Skouradaki
Agenda
Process Model Matching
Basic Concepts
Algorithm
Evaluation & Validation
Conclusions & Outlook
Page 4
4
Process Matching
Page 5
5 5
Re
sea
rch
© Marigianna Skouradaki
BPMN 2.0 Collection Characteristics
Detect the reoccurring structures on BPMN 2.0 process models which:
Might be anonymized (no text information available)
Might be mock-up models (non-executable)
Page 6
6 6
Re
sea
rch
© Marigianna Skouradaki
Text Matching
Cannot be applied to anonymized models
Page 7
8 8
Re
sea
rch
© Marigianna Skouradaki
Matching Executional Information
log
Comparing produced execution logs
Cannot be applied on mock-up models
log
2
Page 8
9 9
Re
sea
rch
© Marigianna Skouradaki
Structural Matching
Page 9
10 10
Re
sea
rch
© Marigianna Skouradaki
The Challenge of Graph Isomorphism
NonDeterministic Polynomial
Time
(NP – Complete)
The time required to solve the
problem using any currently
known algorithm increases very
quickly as the size of the
problem grows.
Page 10
11 11
Re
sea
rch
© Marigianna Skouradaki
Subgraph Isomorphism on BPMN 2.0 Process Models
BPMN 2.0 Process Models are special types of graphs
Subgraph isomorphism can be applied in lower complexity1
1 R. M Verma.; and S. W. Reyner; “An analysis of a good algorithm for the subtree problem, correlated,” SIAM J. Comput., vol. 18, no. 5,
pp. 906–908, Oct. 1989.
Page 11
12
Basic Concepts
Page 12
13 13
Re
sea
rch
© Marigianna Skouradaki
Exiting Attributes: Nested
Page 13
14 14
Re
sea
rch
© Marigianna Skouradaki
Exiting Attributes: Different Positions
Page 14
15 15
Re
sea
rch
© Marigianna Skouradaki
Exiting Attributes: Partially Similar
Page 15
16 16
Re
sea
rch
© Marigianna Skouradaki
Process Fragment
A Process Fragment is a piece of process model with loose completeness and consistency. The existence of process
graph elements (start, end, activities, context etc.) is possible but not imperative in a process fragment.
However, a process fragment must have at least one activity and there must be a way to convert it to an
executable process graph.2
1. It is not necessarily related with a complete process model
2. A starting point is not defined
3. Existence of split or merge node is optional
2D. Schumm, F. Leymann, Z. Ma, T. Scheibler, and S. Strauch, “Integrating Compliance into Business Processes: Process Fragments as
Reusable Compliance Controls” in MKWI’10, Göttingen, Germany, February 23-25, 2010, Ed., Conference Paper, pp. 2125–2137.
Page 16
17 17
Re
sea
rch
© Marigianna Skouradaki
Checkpoints & Relevant Process Fragments (RPFs)
Checkpoint (the starting points)
A pre-configured type of node that is used as start point of the “extended” process fragments
Relevant Process Fragment
Exists in at least K business processes
Starts with a checkpoint
Has at least N nodes including the checkpoint
Contains at least one activity
Page 17
18 18
Re
sea
rch
© Marigianna Skouradaki
Checkpoints & Relevant Process Fragments
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 18
19 19
Re
sea
rch
© Marigianna Skouradaki
Checkpoints & Relevant Process Fragments
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 19
20 20
Re
sea
rch
© Marigianna Skouradaki
Checkpoints & Relevant Process Fragments
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
RPF
RPF
Page 20
21 21
Re
sea
rch
© Marigianna Skouradaki
Checkpoints & Relevant Process Fragments
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 21
22 22
Re
sea
rch
© Marigianna Skouradaki
Checkpoints & Relevant Process Fragments
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
RPF
RPF
Page 22
23 23
Re
sea
rch
© Marigianna Skouradaki
Checkpoints & Relevant Process Fragments
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 23
24 24
Re
sea
rch
© Marigianna Skouradaki
Checkpoints & Relevant Process Fragments
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
RPF
Page 25
26 26
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 26
27 27
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 27
28 28
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 28
29 29
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 29
30 30
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 30
31 31
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 31
32 32
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 32
33 33
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 33
34 34
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 34
35 35
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 35
36 36
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 36
37 37
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 37
38 38
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 38
39 39
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 39
40 40
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 40
41 41
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 41
42 42
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 42
43 43
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 43
44 44
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 44
45 45
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 45
46 46
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 46
47 47
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 47
48 48
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 48
49 49
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 49
50 50
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 50
51 51
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 51
52 52
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 52
53 53
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
Page 53
54 54
Re
sea
rch
© Marigianna Skouradaki
Algorithm: Discovery of RPFs
K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes
…continue likewise..
Will not work for cycles
Page 54
55
Evaluation and Validation
Page 55
56 56
Re
sea
rch
© Marigianna Skouradaki
Validation & Evaluation
46 artificial BPMN 2.0 Process Models
BPMN 2.0 Standard Example Processes
Models used in Pietsch and Wenzel, 2012
2070 Comparisons
Scenario 1: {events,
gateways}
Scenario 2: {events,
gateways, tasks}
Page 56
57 57
Re
sea
rch
© Marigianna Skouradaki
Validation: Process Models Used as Input
Page 57
58 58
Re
sea
rch
© Marigianna Skouradaki
Validation: Discovered RPFs
Page 58
59 59
Re
sea
rch
© Marigianna Skouradaki
Comparison Complexity:
Number of totally
compared checkpoint flows
Execution Times vs. Comparison Complexities
Page 59
60 60
Re
sea
rch
© Marigianna Skouradaki
Average Execution Time vs. Average Comparison Complexity
0
5
10
15
20
25
30
35
40
45
0 200 400 600
Avera
ge E
xec
uti
on
Tim
es (
ms
)
Average Comparison Complexities
Scenario 1
Scenario 2
O(n log n)
Page 60
61 61
Re
sea
rch
© Marigianna Skouradaki
Conclusions & Outlook
Set the theoretical framework
Sub-graph isomorphism on BPMN 2.0 process models
The algorithm can run in logarithmic complexity (experimental)
Definition of checkpoints is not important for timing, but for filtering and clustering
Theoretical proof of the algorithm’s complexity
Apply filtering
Assign frequency values
Increase expressiveness of Comparison Complexity
Thank you!
Questions?