Sose2015 presentation

60
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

Transcript of Sose2015 presentation

Page 1: Sose2015 presentation

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: Sose2015 presentation

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: Sose2015 presentation

3 3

Re

sea

rch

© Marigianna Skouradaki

Agenda

Process Model Matching

Basic Concepts

Algorithm

Evaluation & Validation

Conclusions & Outlook

Page 4: Sose2015 presentation

4

Process Matching

Page 5: Sose2015 presentation

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: Sose2015 presentation

6 6

Re

sea

rch

© Marigianna Skouradaki

Text Matching

Cannot be applied to anonymized models

Page 7: Sose2015 presentation

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: Sose2015 presentation

9 9

Re

sea

rch

© Marigianna Skouradaki

Structural Matching

Page 9: Sose2015 presentation

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: Sose2015 presentation

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: Sose2015 presentation

12

Basic Concepts

Page 12: Sose2015 presentation

13 13

Re

sea

rch

© Marigianna Skouradaki

Exiting Attributes: Nested

Page 13: Sose2015 presentation

14 14

Re

sea

rch

© Marigianna Skouradaki

Exiting Attributes: Different Positions

Page 14: Sose2015 presentation

15 15

Re

sea

rch

© Marigianna Skouradaki

Exiting Attributes: Partially Similar

Page 15: Sose2015 presentation

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: Sose2015 presentation

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: Sose2015 presentation

18 18

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 18: Sose2015 presentation

19 19

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 19: Sose2015 presentation

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: Sose2015 presentation

21 21

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 21: Sose2015 presentation

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: Sose2015 presentation

23 23

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 23: Sose2015 presentation

24 24

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

RPF

Page 24: Sose2015 presentation

25

Algorithm

Page 25: Sose2015 presentation

26 26

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 26: Sose2015 presentation

27 27

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 27: Sose2015 presentation

28 28

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 28: Sose2015 presentation

29 29

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 29: Sose2015 presentation

30 30

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 30: Sose2015 presentation

31 31

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 31: Sose2015 presentation

32 32

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 32: Sose2015 presentation

33 33

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 33: Sose2015 presentation

34 34

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 34: Sose2015 presentation

35 35

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 35: Sose2015 presentation

36 36

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 36: Sose2015 presentation

37 37

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 37: Sose2015 presentation

38 38

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 38: Sose2015 presentation

39 39

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 39: Sose2015 presentation

40 40

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 40: Sose2015 presentation

41 41

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 41: Sose2015 presentation

42 42

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 42: Sose2015 presentation

43 43

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 43: Sose2015 presentation

44 44

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 44: Sose2015 presentation

45 45

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 45: Sose2015 presentation

46 46

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 46: Sose2015 presentation

47 47

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 47: Sose2015 presentation

48 48

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 48: Sose2015 presentation

49 49

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 49: Sose2015 presentation

50 50

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 50: Sose2015 presentation

51 51

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 51: Sose2015 presentation

52 52

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 52: Sose2015 presentation

53 53

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

K = 2 Process Models Checkpoints: Events, Gateways N = 3 Nodes

Page 53: Sose2015 presentation

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: Sose2015 presentation

55

Evaluation and Validation

Page 55: Sose2015 presentation

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: Sose2015 presentation

57 57

Re

sea

rch

© Marigianna Skouradaki

Validation: Process Models Used as Input

Page 57: Sose2015 presentation

58 58

Re

sea

rch

© Marigianna Skouradaki

Validation: Discovered RPFs

Page 58: Sose2015 presentation

59 59

Re

sea

rch

© Marigianna Skouradaki

Comparison Complexity:

Number of totally

compared checkpoint flows

Execution Times vs. Comparison Complexities

Page 59: Sose2015 presentation

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: Sose2015 presentation

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?