Semantical Vacuity Detection in Declarative Process Mining

Post on 16-Jan-2017

20 Views

Category:

Data & Analytics

0 Downloads

Preview:

Click to see full reader

Transcript

Semantical Vacuity Detection in Declarative Process MiningFabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio and Jan Mendling

14th International Conference on Business Process ManagementRio de Janeiro, Brazil

claudio.di.ciccio@wu.ac.at

Prelude

Every unicorn is green

SEITE 2

)(. xxUnicorn

Prelude

Every unicorn is green

SEITE 3

)(. xxUnicorn )(xGreen

It is true. After all, have you ever seen a unicorn?We thank Prof. M. Lenzerini for inspiring this example

Declarative process modellingDECLARE

Declarative process modelling

“Open model” Specify constraints for

permitted behaviour Every execution that

complies with them is acceptable

Works best with flexible processes

The set of DECLARE templates is extendible

SEITE 5

A fragment of declarative process model If an abstract is submitted, a new paper

had been written or will be written

After the paper submission, a confirmation email is sent

After the paper submission, the paper will be reviewed;there can be no review without a preceding submission

A paper can be accepted only after it has been reviewed

After the rejection, no further submission follows

Paper cannot be both accepted and rejected

SEITE 6

Submit abstract Write new paper

Submit paper Send confirmation email

Submit paper Review paper

Review paper Accept paper

Reject paper Submit paper

Accept paper Reject paper

= activation task

Responded existence(Submit abstract, Write new paper)

Response(Submit paper, Send confirmation email)

Succession(Submit paper, Review paper)

Precedence(Review paper, Accept paper)

Not succession(Reject paper, Submit paper)

Not co-existence(Accept paper, Reject paper)

Template Tasks

A fragment of declarative process model

SEITE 7

Submit abstract

Write new paper Submit paper

Send confirmation email

Review paper Accept paper

Reject paper

Every DECLARE constraintcan be abstracted as an FSA

SEITE 8

Accepting state

Any task but ‘a’ or ‘b’

Any task but ‘b’Any task

State

FSA: Deterministic Finite State Automaton

Task ‘a’Init

Declarative process miningProcess discovery with DECLARE

Declarative process discovery

SEITE 10

?

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

Mining declarative processes:ingredients

“Submit paper”,“Write new paper”,“Accept paper”,…

SEITE 11

s,w,y,…

Activities Process alphabet

Declarative process discovery

SEITE 12

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

R.Ex.(s,y)

SEITE 13

Res.(w,y)

Res.(s,e)

Support: 50% 70% 100%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

R.Ex.(s,y)

SEITE 14

Res.(w,y)

Res.(s,e)

Support: 50% 70% 100%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

R.Ex.(s,y)

SEITE 15

Res.(w,y)

Res.(s,e)

Support: 50% 70% 100%

A fragment of declarative process model

SEITE 16

Submit abstract(a)

Write new paper(w)

Submit paper(s)

Send conf. email(e)

Review paper(r)

Accept paper(y)

Reject paper(x)

?

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

R.Ex.(s,y)

SEITE 17

Res.(w,y)

Res.( ,y)

Support: 50% 70% 100%

A fragment of declarative process model

SEITE 18

Submit abstract(a)

Write new paper(w)

Submit paper(s)

Send conf. email(e)

Review paper(r)

Accept paper(y)

Reject paper(x)

?

Vacuity detection

A constraint is vacuously satisfied by a trace if it is verified yet never “triggered” E.g., Response(w,y) is vacuously satisfied in

s e r x e a s e r r y e s e s e

For standard DECLARE templates, techniques exist that detect the vacuous satisfaction of constraints

SEITE 19

Discovering a DECLARE model:example with vacuity check (~)Example event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

R.Ex.(s,y)

SEITE 20

Res.(w,y) ~ ~ ~

Res.( ,y) ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Support: 50% 70% 100%

Discovering a DECLARE model:example with vacuity check (~)Example event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

R.Ex.(s,y)

SEITE 21

Res.(w,y) ~ ~ ~

Res.( ,y) ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Support: 50% 70% 100%

Res.(w,y) ~ ~ ~

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

R.Ex.(s,y)

SEITE 22

Res.(s,e)

Support: 50% 70% 100%

Summary of the status quo

DECLARE mining techniques return a model made of those constraints that have a sufficient fraction of fulfilling traces

Vacuity check already works for standard DECLARE templates with ad-hoc procedures

DECLARE is extendible

What happens with non-standard DECLARE templates?

SEITE 23

Declarative process miningWhat happens with non-standard DECLARE templates?

The problem

A general framework for the vacuity detection in the context of declarative process mining is missing. Existing techniques are either syntax-based…

Different formulations of the same constraints lead to different results

... Or ad-hoc Not extendible

Result: Mining non-standard Declare constraints can lead to

loads of vacuously satisfied constraints returned as if they were interesting discovery results

SEITE 25

An example of new template:“Progression response 3:2”

SEITE 26

Prog.resp3:2(u1,u2,u3, v1,v2)

Prog.resp3:2(Write paper,Submit abstract,Submit paper,Send notification email,Accept paper)

Example:

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 27 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 28 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 29 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 30 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 31 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 32 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 33 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 34 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 35 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 36 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y)

SEITE 37 Support: 90%

An example of new template:“Progression response 3:2”

SEITE 38

Prog.resp3:2(u1,u2,u3, v1,v2)

Prog.resp3:2(Submit paper,Write paper,Submit abstract,Reject paper,Accept paper)

Example:

It makes no sense. Yet…

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(s,w,a, x,y)

SEITE 39 Support: 100%

“Impossible” activations make for a support of 100%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,s, , y,e)

SEITE 40 Support: 100%

Summary of the status quo

DECLARE mining techniques return a model made of those constraints that have a sufficient count of fulfilling traces

Vacuity check already works for standard DECLARE templates with ad-hoc procedures

DECLARE is extendible

With non-standard DECLARE templates, should unicorns hold the truth?

SEITE 41

ProblemHow to return only interesting constraints when looking for any template?

The solution: sketch (1)

SEITE 43

For every constraint FSA, activation-aware automata are built, i.e., states get labelled with:1. the satisfaction status reached so far

1. temporarily/permanently satisfied/violated: ts, ps, tv, pv2. the allowed tasks for the future moves

Satisfaction

Allowed tasksSatisfaction

The solution: sketch (1)

SEITE 44 Satisfaction

Allowed tasksSatisfaction

Activation-aware automata:Standard DECLARE

SEITE 45

The solution: sketch (2)

SEITE 46

Task executions are marked as relevant when they make the satisfaction status change, or they make the allowed tasks change

Irrelevant

Relevant

Allowed tasksSatisfaction

Irrelevant

Relevant

The solution: sketch (3)

SEITE 47

A trace is an interesting witness when a relevant task execution is performed

A trace satisfies a constraint when its replay terminates in an accepting state

We look for interesting traces that satisfy the constraints

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y) ~ ~ ~ ~ ~

SEITE 48 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,a,s, e,y) ~ ~ ~ ~ ~

SEITE 49 Support: 90%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,s, , y,e) ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

SEITE 50 Support: 100%

Discovering a DECLARE model:exampleExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

Prog.resp3:2(w,s, , y,e) ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

SEITE 51 Support: 100%

Discovering a DECLARE model:example with relevance checkExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

SEITE 52 Support: 70%

Res.(w,y) ~ ~ ~

Discovering a DECLARE model:example with relevance checkExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

SEITE 53 Support: 70%

Res.(w,y) ~ ~ ~

Discovering a DECLARE model:example with vacuity check (~)Example event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

SEITE 54 Support:

Res.( ,y) ~ ~ ~ ~ ~ ~ ~ ~ ~ ~100%

Discovering a DECLARE model:example with vacuity check (~)Example event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

SEITE 55 Support:

Res.( ,y) ~ ~ ~ ~ ~ ~ ~ ~ ~ ~100%

The algorithm: recap

SEITE 56

Event logreplay

Candidate

templates

Activation-awareautomata

Response(a,b)Responded existence(a,b)…

Prog.resp3:2(u1,u2,u3,v1,v2)

~~~

~~~~~~~~~~

Responded existence(a,w)

Response(s,y)

Prog.resp3:2(s,w,a,x,y)

Evaluation

Interesting

constraints

EndingEvaluation, conclusion and future work

Evaluation

SEITE 58

Implemented in Java Extension of MINERful

Real-world logs BPIC 2013:

9,442 msec 426 for the automata 9,016 for the checking

Conclusion

Contribution: A generalised approach for the discovery of

interesting declarative constraints Check based on the relevance of task executions w.r.t.

the semantics of the constraints

Future work: Differentiation of positive and negative interestingness Extended declarative mining integrating general

vacuity detection Data-awareness

SEITE 59

Semantical Vacuity Detection in Declarative Process MiningFabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio and Jan Mendling

14th International Conference on Business Process ManagementRio de Janeiro, Brazil

No unicorns were harmed in the making of this paper

Semantical Vacuity Detection in Declarative Process MiningFabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio and Jan Mendling

Extra slides

A fragment of declarative process model

SEITE 62

Submit abstract Write new paper

Submit paper Send confirmation email

Submit paper Review paper

Review paper Accept paper

Reject paper Submit paper

Accept paper Reject paper

Responded existence(Submit abstract, Write new paper)

Response(Submit paper, Send confirmation email)

Succession(Submit paper, Review paper)

Precedence(Review paper, Accept paper)

Not succession(Reject paper, Submit paper)

Not co-existence(Accept paper, Reject paper)

Template Tasks = activation task

A fragment of declarative process model

SEITE 63

Submit abstract(a)

Write new paper(w)

Submit paper(s)

Send conf. email(e)

Review paper(r)

Accept paper(y)

Reject paper(x)

Semantics of Declare:LTL and LTLf

Linear Temporal Logic (LTL) initially was a specification language for the execution of (endless) concurrent programs (Pnueli, 1977) Syntax (let A be a propositional symbol):

DECLARE was initially based on LTL

SEITE 64

“Until”

“Eventually”“Always”

“Next”

Semantics of Declare:LTL

SEITE 65

Declarative process modelling

“Open model” Specify constraints for

permitted behaviour Every execution that

complies with them is acceptable

Works best with flexible processes

The set of DECLARE templates is extendible

SEITE 66

Extendibility of DECLARE:A clear business impact

SEITE 67

Semantics of Declare:LTL and LTLf

Linear Temporal Logic (LTL) initially was a specification language for the execution of (endless) concurrent programs (Pnueli, 1977) Syntax (let A be a propositional symbol):

Interpretation over infinite traces,i.e., an infinite sequence of consecutive instants of time

LTLf formulae are meant to be interpreted over finite traces

“Until”

“Eventually”“Always”

“Next”

SEITE 68

Semantics of Declare:LTLf

SEITE 69

Semantics of Declare:SCIFF

SEITE 70

Semantics of Declare:R/I-nets

SEITE 71

Semantics of Declare:FOL over finite traces

SEITE 72

Semantics of Declare:Regular expressions

SEITE 73

More alternatives for DECLARE spec.: A clear business impact

SEITE 74

Discovering a DECLARE model:example with relevance checkExample event logw a s e s e r r r y e s ea s e r r y e s e s ew w w s e r r r r x es e r x ew a s e r r r y e s ew a s e r r r y e s ew a s e r r r x e s e s e s e r r r e x ea w s e s e r r e x ew a e s e r r r e y e s e

SEITE 75 Support:

Res.(s,e)100%

top related