application of sub-graph isomorphism to extract reoccurring structures from bpmn 2.0 process models

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

Upload: marigianna-skouradaki

Post on 06-Aug-2015

23 views

Category:

Engineering


0 download

TRANSCRIPT

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

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

3 3

Re

sea

rch

© Marigianna Skouradaki

Agenda

Process Model Matching

Basic Concepts

Algorithm

Evaluation & Validation

Conclusions & Outlook

4

Process Matching

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)

6 6

Re

sea

rch

© Marigianna Skouradaki

Text Matching

Cannot be applied to anonymized models

8 8

Re

sea

rch

© Marigianna Skouradaki

Matching Executional Information

log

Comparing produced execution logs

Cannot be applied on mock-up models

log

2

9 9

Re

sea

rch

© Marigianna Skouradaki

Structural Matching

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.

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.

12

Basic Concepts

13 13

Re

sea

rch

© Marigianna Skouradaki

Exiting Attributes: Nested

14 14

Re

sea

rch

© Marigianna Skouradaki

Exiting Attributes: Different Positions

15 15

Re

sea

rch

© Marigianna Skouradaki

Exiting Attributes: Partially Similar

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.

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

18 18

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

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

19 19

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

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

20 20

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

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

RPF

RPF

21 21

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

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

22 22

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

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

RPF

RPF

23 23

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

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

24 24

Re

sea

rch

© Marigianna Skouradaki

Checkpoints & Relevant Process Fragments

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

RPF

25

Algorithm

26 26

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

27 27

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

28 28

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

29 29

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

30 30

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

31 31

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

32 32

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

33 33

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

34 34

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

35 35

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

36 36

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

37 37

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

38 38

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

39 39

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

40 40

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

41 41

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

42 42

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

43 43

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

44 44

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

45 45

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

46 46

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

47 47

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

48 48

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

49 49

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

50 50

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

51 51

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

52 52

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

53 53

Re

sea

rch

© Marigianna Skouradaki

Algorithm: Discovery of RPFs

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

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

55

Evaluation and Validation

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}

57 57

Re

sea

rch

© Marigianna Skouradaki

Validation: Process Models Used as Input

58 58

Re

sea

rch

© Marigianna Skouradaki

Validation: Discovered RPFs

59 59

Re

sea

rch

© Marigianna Skouradaki

Comparison Complexity:

Number of totally

compared checkpoint flows

Execution Times vs. Comparison Complexities

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)

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?