ensuring model consistency in declarative process discovery

63
Ensuring Model Consistency in Declarative Process Discovery Claudio Di Ciccio , Fabrizio Maria Maggi, Marco Montali and Jan Mendling 13th International Conference on Business Process Management Innsbruck, Austria [email protected]

Upload: claudio-di-ciccio

Post on 16-Jan-2017

208 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Ensuring Model Consistency in Declarative Process Discovery

Ensuring Model Consistency in Declarative Process DiscoveryClaudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling

13th International Conference on Business Process ManagementInnsbruck, Austria

[email protected]

Page 2: Ensuring Model Consistency in Declarative Process Discovery

Foreword

Event logsProcess discovery

Declarative process discovery

SEITE 2

Page 3: Ensuring Model Consistency in Declarative Process Discovery

The event log

Process model

SEITE 3

Page 4: Ensuring Model Consistency in Declarative Process Discovery

The event log

Process instance Event log

Trace

SEITE 4

Page 5: Ensuring Model Consistency in Declarative Process Discovery

The event log

EventTask

Process instance Event log

Trace

SEITE 5

Page 6: Ensuring Model Consistency in Declarative Process Discovery

The event log

SEITE 6

Event

Page 7: Ensuring Model Consistency in Declarative Process Discovery

The event log

SEITE 7

Event

Page 8: Ensuring Model Consistency in Declarative Process Discovery

The event log

SEITE 8

Event

Page 9: Ensuring Model Consistency in Declarative Process Discovery

The event log

Process instance Event log

Trace

SEITE 9

Page 10: Ensuring Model Consistency in Declarative Process Discovery

The event log

SEITE 10

Event

Page 11: Ensuring Model Consistency in Declarative Process Discovery

The event log

SEITE 11

Event

Page 12: Ensuring Model Consistency in Declarative Process Discovery

The event log

SEITE 12

Event

Page 13: Ensuring Model Consistency in Declarative Process Discovery

The event log

SEITE 13

Event

Page 14: Ensuring Model Consistency in Declarative Process Discovery

Process discovery

SEITE 14

Page 15: Ensuring Model Consistency in Declarative Process Discovery

Process discovery

SEITE 15

?

Page 16: Ensuring Model Consistency in Declarative Process Discovery

Mining flexible processes

Page 17: Ensuring Model Consistency in Declarative Process Discovery

Declarative process discovery

SEITE 17

?

Objective: understanding the constraints that best define the allowed behaviour of the process behind the event log

Page 18: Ensuring Model Consistency in Declarative Process Discovery

Declarative modelling ofprocesses

Usage of constraints “Open model”

Declare state-of-the-art language

If A is performed,B must be performed,

no matter if before or afterwards(responded existence)

Whenever B is performed,C must be performed afterwards

and B can not be repeateduntil C is done

(alternate response)SEITE 18

Page 19: Ensuring Model Consistency in Declarative Process Discovery

Declare:existence templates

SEITE 19

Existence(n, A)Activity A occurs at least n times in the process instanceBCAAC ✓ BCAAAC ✓ BCAC ✗ (for n = 2)

Absence(A)Activity A does not occur in the process instanceBCC ✓ BCAC ✗

Absence(n+1, A)Activity A occurs at most n+1 times in the process instanceBCAAC ✗ BCAC ✓ BCC ✓ (for n = 2)

Exactly(n, A)Activity A occurs exactly n times in the process instanceBCAAC ✗ BCAAAC ✗ BCAC ✗ (for n = 2)

Init(A)Activity A is the first to occur in each process instanceBCAAC ✗ ACAAAC ✓ BCC ✗

Absence(2, A) AtMostOne(A)

Existence(1, A) Participation(A)

Page 20: Ensuring Model Consistency in Declarative Process Discovery

Subsumption hierarchy ofrelation Declare templates

SEITE 20

Page 21: Ensuring Model Consistency in Declarative Process Discovery

Declare: Forward-unidirectionalrelation constraint templates

RespondedExistence(A, B)If A occurs in the process instance, then B occurs as wellCAC ✗ CAACB ✓BCAC ✓ BCC ✓

Response(A, B)If A occurs in the process instance, then B occurs after ABCAAC ✗ CAACB ✓CAC ✗ BCC ✓

AlternateResponse(A, B)Each time A occurs in the process instance, then B occurs afterwards, before A recursBCAAC ✗ CAACB ✗ CACB ✓CABCA ✗ BCC ✓ CACBBAB ✓

ChainResponse(A, B)Each time A occurs in the process instance, then B occurs immediately afterwardsBCAAC ✗ BCAABC ✗ BCABABC ✓

Activation Target

Page 22: Ensuring Model Consistency in Declarative Process Discovery

Declare: Backward-unidirectionalrelation constraint templates

RespondedExistence(B, A)If B occurs in the process instance, then A occurs as wellCAC ✓ CAACB ✓BCAC ✓ BCC ✗

Precedence(A, B)B occurs in the process instance only if preceded by ABCAAC ✗ CAACB ✓CAC ✓ BCC ✓

AlternatePrecedence(A, B)Each time B occurs in the process instance, it is preceded by A and no other B can recur in betweenBCAAC ✗ CAACB ✓ CACB ✓CABCA ✓ BCC ✗ CACBAB ✓

ChainPrecedence(A, B)Each time B occurs in the process instance, then B occurs immediately beforehandBCAAC ✗ BCAABC ✗ CABABCA ✓

Target Activation

Page 23: Ensuring Model Consistency in Declarative Process Discovery

Declare:Coupling relation templates

CoExistence(A, B)If B occurs in the process instance, then A occurs, and viceversaCAC ✗ CAACB ✓BCAC ✓ BCC ✗

Succession(A, B)A occurs if and only if it is followed by B in the process instanceBCAAC ✗ CAACB ✓CAC ✗ BCC ✗

AlternateSuccession(A, B)A and B occur in the process instance if and only if the latter follows the former, and they alternate each other in the traceBCAAC ✗ CAACB ✗ CACB ✓CABCA ✗ BCC ✗ CACBAB ✓

ChainSuccession(A, B)A and B occur in the process instance if and only if the latter immediately follows the formerBCAAC ✗ BCAABC ✗ CABABC ✓

Target Activation

Activation Target

Page 24: Ensuring Model Consistency in Declarative Process Discovery

Declare:negative relation constraints

NotCoExistence(A, B)A and B never occur together in the process instanceCAC ✓ CAACB ✗BCAC ✗ BCC ✓

NotSuccession(A, B)A can never occur before B in the process instanceBCAAC ✓ CAACB ✗CAC ✓ BCC ✓

NotChainSuccession(A, B)A and B occur in the process instance if and only if the latter does not immediately follows the formerBCAAC ✓ BCAABC ✗ CBACBA ✓

Target Activation

Activation Target

Page 25: Ensuring Model Consistency in Declarative Process Discovery

Mining declarative processes:ingredients

“Submit draft”,“Write deliverable”,“Organise agenda”,…

SEITE 25

a,b,c,…

Activities Process alphabet

Page 26: Ensuring Model Consistency in Declarative Process Discovery

Mining declarative processes

RespondedExistence(a,b) ?RespondedExistence(a,c) ?…Response(a,b) ?Response(a,c) ?…

SEITE 26

• Support:fraction of cases fulfilling the constraint

• Confidence:support scaled by fraction of traces in which the activation occurs

• Interest factor:confidence scaled by fraction of traces in which the target occurs

Support Conf. I.F.

Threshold

Threshold

Threshold

Page 27: Ensuring Model Consistency in Declarative Process Discovery

Mining declarative processes

RespondedExistence(a,b) ?RespondedExistence(a,c) ?…Response(a,b) ?Response(a,c) ?…

SEITE 27

Support Conf. I.F.

Page 28: Ensuring Model Consistency in Declarative Process Discovery

Mining declarative processes

RespondedExistence(a,b) RespondedExistence(a,c) ?…Response(a,b) ?Response(a,c) …

SEITE 28

Support Conf. I.F.

Page 29: Ensuring Model Consistency in Declarative Process Discovery

Mining declarative processes

RespondedExistence(a,b) RespondedExistence(a,c) ?…Response(a,b) Response(a,c) …

SEITE 29

Support Conf. I.F.

Page 30: Ensuring Model Consistency in Declarative Process Discovery

Mining declarative processes

RespondedExistence(a,b) RespondedExistence(a,c) …Response(a,b) Response(a,c) …

SEITE 30

Support Conf. I.F.

Page 31: Ensuring Model Consistency in Declarative Process Discovery

Mining declarative processes

RespondedExistence(a,b)RespondedExistence(a,c) andResponse(a,b) Response(a,c)and…

SEITE 31

Page 32: Ensuring Model Consistency in Declarative Process Discovery

From constraints-based model to FSA

RespondedExistence(a,b)RespondedExistence(a,c) andResponse(a,b) Response(a,c)and…

SEITE 32

[^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*

RegularExpression

DeterministicFiniteState

Automaton

Page 33: Ensuring Model Consistency in Declarative Process Discovery

To be kept in mind

RespondedExistence(a,b)RespondedExistence(a,c) andResponse(a,b) Response(a,c)and…

SEITE 33

[^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*

RegularExpression

DeterministicFiniteState

Automaton

Page 34: Ensuring Model Consistency in Declarative Process Discovery

So far, so good

What is the problem?

SEITE 34

Page 35: Ensuring Model Consistency in Declarative Process Discovery

While mining a real-life log…

Support threshold: 0.85 Confidence threshold: 0.25 Interest factor threshold: 0.25

SEITE 35

Page 36: Ensuring Model Consistency in Declarative Process Discovery

While mining a real-life log…

SEITE 36

Submit

draft

Write

deliverableOrganise

agenda

Page 37: Ensuring Model Consistency in Declarative Process Discovery

Time to challenge the X

SEITE 37

Submit

draft

Write

deliverableOrganise

agenda

Page 38: Ensuring Model Consistency in Declarative Process Discovery

Time to challenge the X

Loading…SEITE 38

Page 39: Ensuring Model Consistency in Declarative Process Discovery

The result

SEITE 39

Page 40: Ensuring Model Consistency in Declarative Process Discovery

The problem

When support threshold is lower than 100%,constraints can be valid through most of the log, though being in conflict

Example: an event log consists of two traces:1. <a, b, a, b, a, b, c>2. <a, b, a, b, a, c>

Support threshold: 0.7• a is always the first

Init(a)• c is always the last

End(c)• In 6 cases over 8 (75%), a and c do not directly follow each

other NotChainSuccession(a,c)

• In 5 cases over 7 (71.143%), b and c do not directly follow each other

NotChainSuccession(b,c)

SEITE 40

Page 41: Ensuring Model Consistency in Declarative Process Discovery

The problem

When support threshold is lower than 100%,constraints can be valid through most of the log, though being in conflict

Example: an event log consists of two traces:1. <a, b, a, b, a, b, c>2. <a, b, a, b, a, c>

Support threshold: 0.7• a is always the first

Init(a)• c is always the last

End(c)• In 6 cases over 8 (75%), a and c do not directly follow each

other NotChainSuccession(a,c)

• In 5 cases over 7 (71.143%), a and b do not directly follow each other

NotChainSuccession(b,c)

Question: what can be done right before c? inconsistency!

SEITE 41

Page 42: Ensuring Model Consistency in Declarative Process Discovery

The problem

When support threshold is lower than 100%,constraints can be valid through most of the log, though being in conflict

How to trust a discovery algorithm that can return inconsistent models?

SEITE 42

Which

constraints

conflict?

How can we be

sure we found

all conflictin

g

constraints?

From whereshould westart?

Can we avoidto check the

same sets ofconstraints

more than once?

Page 43: Ensuring Model Consistency in Declarative Process Discovery

The solution

Cross-product of automata

SEITE 43

Page 44: Ensuring Model Consistency in Declarative Process Discovery

The solution

Rationale:1. How to find inconsistencies among constraints?

Use the automaton-based model for constraints Do cross-product automata recognise the empty

language?2. How to search the inconsistencies?

Exploit:a) The product operation between automatab) The hierarchy of Declare templates

Guideline: Preserve the most meaningful constraints

SEITE 44

Page 45: Ensuring Model Consistency in Declarative Process Discovery

The algorithm /1

1. Divide the constraints having a support of 100% from the rest

Those that have a support of 100% cannot contradict each other

In other words, we consider them “safe”

SEITE 45

NotChainSuccession(a, c) 0.75 0.75 0.75 Response(a, b) 0.83 0.83 0.83 ChainSuccession(b, a) 0.72 0.72 0.72 ChainResponse(b, a) 0.80 0.80 0.80 ChainSuccession(a, b) 0.91 0.91 0.91 NotChainSuccession(b, c) 0.71 0.71 0.71 …

Init(a) 1.00 1.00 1.00 Participation(b) 1.00 1.00 1.00 AtMostOne(c) 1.00 1.00 1.00 End(c) 1.00 1.00 1.00 ChainPrecedence(a, b) 1.00 1.00 1.00 CoExistence(a, b) 1.00 1.00 1.00 …

Page 46: Ensuring Model Consistency in Declarative Process Discovery

The algorithm /2

2. Sort constraints having a support of less than 100% (“unsafe”) by:

i. Support (desc.)ii. Confidence (desc.)iii. Interest Factor (desc.)

SEITE 46

Init(a) 1.00 1.00 1.00 Participation(b) 1.00 1.00 1.00 AtMostOne(c) 1.00 1.00 1.00 End(c) 1.00 1.00 1.00 ChainPrecedence(a, b) 1.00 1.00 1.00 CoExistence(a, b) 1.00 1.00 1.00 …

ChainSuccession(a, b) 0.91 0.91 0.91 Response(a, b) 0.83 0.83 0.83 ChainResponse(b, a) 0.80 0.80 0.80 NotChainSuccession(a, c) 0.75 0.75 0.75 ChainSuccession(b, a) 0.72 0.72 0.72 NotChainSuccession(b, c) 0.71 0.71 0.71 …

sort

Page 47: Ensuring Model Consistency in Declarative Process Discovery

The algorithm /3

3. Create the automaton representing the safe constraints, as the product of the single constraints’ automata

Initialise the“product automaton”

SEITE 47

Init(a) Participation(b)

ChainPrecedence(a,b)

Page 48: Ensuring Model Consistency in Declarative Process Discovery

The algorithm /3

3. Create the automaton representing the safe constraints, as the product of the single constraints’ automata

Initialise the“product automaton”

SEITE 48

Page 49: Ensuring Model Consistency in Declarative Process Discovery

The algorithm /4

For every unsafe-constraint automaton, following the order of step 2:4. Intersect the product

automaton with the unsafe constraint

SEITE 49

NotChainSuccession(a,c)

Page 50: Ensuring Model Consistency in Declarative Process Discovery

The algorithm /4

4. (…cnt) If the result accepts only

an empty language: discard it if no constraint

is higher in the hierarchy relax the constraint

otherwise, and repeat step 4.

Else, include the unsafe-constraint in the list of returned constraints, and save the product automaton

SEITE 50

NotChainSuccession(b,c)

Page 51: Ensuring Model Consistency in Declarative Process Discovery

The algorithm /4

4. Return the process model made of:

safe constraints, and unsafe constraints not

leading to automata recognising empty languages

SEITE 51

Page 52: Ensuring Model Consistency in Declarative Process Discovery

The algorithm: recap

SEITE 52

Init(a)

Participation(b)AtMostOne(c)End(c) ChainPrecedence(a, b)…

ChainSuccession(a, b)Response(a, b)ChainResponse(b, a)NotChainSuccession(a, c) ChainSuccession(b, a)NotChainSuccession(b, c)…

sort

1

Event log

Declare constraints

Automata

Safe constraints

(support 100%)

Unsafe

constr

aints

Product

automaton

Page 53: Ensuring Model Consistency in Declarative Process Discovery

The algorithm: recap

SEITE 53

Init(a)

Participation(b)AtMostOne(c)End(c) ChainPrecedence(a, b)…

ChainSuccession(a, b)Response(a, b)ChainResponse(b, a)NotChainSuccession(a, c) ChainSuccession(b, a)NotChainSuccession(b, c)…

sort

1

2

Event log

Declare constraints

Automata

Safe constraints

Unsafe

constr

aints

Product

automaton

Page 54: Ensuring Model Consistency in Declarative Process Discovery

Conclusion

Which were the conflicting constraints in the log?What is more in the paper

Limitations and future work

Page 55: Ensuring Model Consistency in Declarative Process Discovery

SEITE 55

Page 56: Ensuring Model Consistency in Declarative Process Discovery

Which were the conflicting constraints in the log?

1. NotSuccession(send meeting, organize agenda)2. NotChainSuccession(send draft, send deliverable)3. Succession(send draft, submit report)

SEITE 56

Page 57: Ensuring Model Consistency in Declarative Process Discovery

SEITE 57

Page 58: Ensuring Model Consistency in Declarative Process Discovery

Conclusions, limitations and future work

We have presented an algorithm that automatically finds inconsistencies in a mined Declare model (more in the paper)

The checks are purely based on operations over automata Optimisations exploit Declare semantics http://github.com/cdc08x/minerful

Limitations: The order in which the constraints are checked deeply affects the returned result Performances are heavily affected by the interplay of constraints

Future work: Application of the technique over mixed declarative-imperative models User-defined criteria for constraints sorting/selection Heuristics for a more efficient exploration of the search space are currently under

investigation http://www.promtools.org/prom6/nightly

SEITE 58

Page 59: Ensuring Model Consistency in Declarative Process Discovery

Ensuring Model Consistency in Declarative Process DiscoveryClaudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling

13th International Conference on Business Process ManagementInnsbruck, Austria

[email protected]

Page 60: Ensuring Model Consistency in Declarative Process Discovery

Ensuring Model Consistency in Declarative Process DiscoveryClaudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling

13th International Conference on Business Process ManagementInnsbruck, Austria

Extra slides deck

Page 61: Ensuring Model Consistency in Declarative Process Discovery

The application of the method to minimise the model

Rationale:1. How to find redundancies among constraints?

Use the automaton-model correspondence Same language recognised after the product?

Main difference with the inconsistency-checking algorithm

Constraints having support 100% are checked for redundancies

More details in the paper

SEITE 61

Page 62: Ensuring Model Consistency in Declarative Process Discovery

The application of the method to minimise the model

SEITE 62

BPIC 2012

Page 63: Ensuring Model Consistency in Declarative Process Discovery

The algorithm /4

4. Return the process model made of:

safe constraints, and unsafe constraints not

leading to automata recognising empty languages

SEITE 63

<a, b, a, b, a, b, c><a, b, a, b, a, c>