SlideShare a Scribd company logo
Semantical Vacuity Detection in
Declarative Process Mining
Fabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio and Jan Mendling
14th International Conference on Business Process Management
Rio 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 modelling
DECLARE
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 constraint
can 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 mining
Process 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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 log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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 log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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 mining
What 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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
Problem
How 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, pv
2. 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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:
example
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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 check
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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 check
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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 log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w 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 log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w a e s e r r r e y e s e
SEITE 55 Support:
Res.( ,y)
 ~
 ~
 ~
 ~
 ~
 ~
 ~
 ~
 ~
 ~
100%
The algorithm: recap
SEITE 56
Response(a,b)
Responded existence(a,b)
…
Prog.resp3:2(u1,u2,u3,v1,v2)











~

~



~


~
~
~
~
~
~
~
~
~
~
…
Ending
Evaluation, 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 Mining
Fabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio and Jan Mendling
14th International Conference on Business Process Management
Rio de Janeiro, Brazil
No unicorns were harmed in the making of this paper
Semantical Vacuity Detection in
Declarative Process Mining
Fabrizio 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 check
Example event log
w a s e s e r r r y e s e
a s e r r y e s e s e
w w w s e r r r r x e
s e r x e
w a s e r r r y e s e
w a s e r r r y e s e
w a s e r r r x e
s e s e s e r r r e x e
a w s e s e r r e x e
w a e s e r r r e y e s e
SEITE 75 Support:
Res.(s,e)










100%

More Related Content

More from Claudio Di Ciccio

Measurement of Rule-based LTLf Declarative Process Specifications
Measurement of Rule-based LTLf Declarative Process SpecificationsMeasurement of Rule-based LTLf Declarative Process Specifications
Measurement of Rule-based LTLf Declarative Process Specifications
Claudio Di Ciccio
 
Blockchain and smart contracts: infrastructure and platforms
Blockchain and smart contracts: infrastructure and platformsBlockchain and smart contracts: infrastructure and platforms
Blockchain and smart contracts: infrastructure and platforms
Claudio Di Ciccio
 
Discovering Target-Branched Declare Constraints
Discovering Target-Branched Declare ConstraintsDiscovering Target-Branched Declare Constraints
Discovering Target-Branched Declare Constraints
Claudio Di Ciccio
 
Introduction to the declarative specification of processes
Introduction to the declarative specification of processesIntroduction to the declarative specification of processes
Introduction to the declarative specification of processes
Claudio Di Ciccio
 
Declarative Specification of Processes: Discovery and Reasoning
Declarative Specification of Processes: Discovery and ReasoningDeclarative Specification of Processes: Discovery and Reasoning
Declarative Specification of Processes: Discovery and Reasoning
Claudio Di Ciccio
 
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Extracting Event Logs for Process Mining from Data Stored on the BlockchainExtracting Event Logs for Process Mining from Data Stored on the Blockchain
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Claudio Di Ciccio
 
Execution of business processes on the blockchain
Execution of business processes on the blockchainExecution of business processes on the blockchain
Execution of business processes on the blockchain
Claudio Di Ciccio
 
Blockchain based traceability of inter-organisational business processes
Blockchain based traceability of inter-organisational business processesBlockchain based traceability of inter-organisational business processes
Blockchain based traceability of inter-organisational business processes
Claudio Di Ciccio
 
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Claudio Di Ciccio
 
Resolving Inconsistencies and Redundancies in Declarative Process Models
Resolving Inconsistencies and Redundancies in Declarative Process ModelsResolving Inconsistencies and Redundancies in Declarative Process Models
Resolving Inconsistencies and Redundancies in Declarative Process Models
Claudio Di Ciccio
 
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Claudio Di Ciccio
 
Ensuring Model Consistency in Declarative Process Discovery
Ensuring Model Consistency in Declarative Process DiscoveryEnsuring Model Consistency in Declarative Process Discovery
Ensuring Model Consistency in Declarative Process Discovery
Claudio Di Ciccio
 

More from Claudio Di Ciccio (12)

Measurement of Rule-based LTLf Declarative Process Specifications
Measurement of Rule-based LTLf Declarative Process SpecificationsMeasurement of Rule-based LTLf Declarative Process Specifications
Measurement of Rule-based LTLf Declarative Process Specifications
 
Blockchain and smart contracts: infrastructure and platforms
Blockchain and smart contracts: infrastructure and platformsBlockchain and smart contracts: infrastructure and platforms
Blockchain and smart contracts: infrastructure and platforms
 
Discovering Target-Branched Declare Constraints
Discovering Target-Branched Declare ConstraintsDiscovering Target-Branched Declare Constraints
Discovering Target-Branched Declare Constraints
 
Introduction to the declarative specification of processes
Introduction to the declarative specification of processesIntroduction to the declarative specification of processes
Introduction to the declarative specification of processes
 
Declarative Specification of Processes: Discovery and Reasoning
Declarative Specification of Processes: Discovery and ReasoningDeclarative Specification of Processes: Discovery and Reasoning
Declarative Specification of Processes: Discovery and Reasoning
 
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Extracting Event Logs for Process Mining from Data Stored on the BlockchainExtracting Event Logs for Process Mining from Data Stored on the Blockchain
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
 
Execution of business processes on the blockchain
Execution of business processes on the blockchainExecution of business processes on the blockchain
Execution of business processes on the blockchain
 
Blockchain based traceability of inter-organisational business processes
Blockchain based traceability of inter-organisational business processesBlockchain based traceability of inter-organisational business processes
Blockchain based traceability of inter-organisational business processes
 
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
 
Resolving Inconsistencies and Redundancies in Declarative Process Models
Resolving Inconsistencies and Redundancies in Declarative Process ModelsResolving Inconsistencies and Redundancies in Declarative Process Models
Resolving Inconsistencies and Redundancies in Declarative Process Models
 
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
 
Ensuring Model Consistency in Declarative Process Discovery
Ensuring Model Consistency in Declarative Process DiscoveryEnsuring Model Consistency in Declarative Process Discovery
Ensuring Model Consistency in Declarative Process Discovery
 

Recently uploaded

Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Linda486226
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
vcaxypu
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
jerlynmaetalle
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
oz8q3jxlp
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
NABLAS株式会社
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
ewymefz
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
benishzehra469
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
ewymefz
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
pchutichetpong
 

Recently uploaded (20)

Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
 

Semantical Vacuity Detection in Declarative Process Mining

  • 1. Semantical Vacuity Detection in Declarative Process Mining Fabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio and Jan Mendling 14th International Conference on Business Process Management Rio de Janeiro, Brazil claudio.di.ciccio@wu.ac.at
  • 2. Prelude Every unicorn is green SEITE 2 )(. xxUnicorn
  • 3. 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
  • 5. 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
  • 6. 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
  • 7. A fragment of declarative process model SEITE 7 Submit abstract Write new paper Submit paper Send confirmation email Review paper Accept paper Reject paper
  • 8. Every DECLARE constraint can 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
  • 9. Declarative process mining Process discovery with DECLARE
  • 10. Declarative process discovery SEITE 10 ? Objective: understanding the constraints that best define the allowed behaviour of the process behind the event log
  • 11. Mining declarative processes: ingredients “Submit paper”, “Write new paper”, “Accept paper”, … SEITE 11 s, w, y, … Activities Process alphabet
  • 13. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w 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%
  • 14. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w 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%
  • 15. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w 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%
  • 16. 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) ?
  • 17. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w 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%
  • 18. 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) ?
  • 19. 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
  • 20. Discovering a DECLARE model: example with vacuity check (~) Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w 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%
  • 21. Discovering a DECLARE model: example with vacuity check (~) Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w 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%
  • 22. Res.(w,y)   ~   ~     ~   Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w 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%
  • 23. 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
  • 24. Declarative process mining What happens with non-standard DECLARE templates?
  • 25. 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
  • 26. 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:
  • 27. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 27 Support: 90%
  • 28. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 28 Support: 90%
  • 29. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 29 Support: 90%
  • 30. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 30 Support: 90%
  • 31. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 31 Support: 90%
  • 32. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 32 Support: 90%
  • 33. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 33 Support: 90%
  • 34. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 34 Support: 90%
  • 35. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 35 Support: 90%
  • 36. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 36 Support: 90%
  • 37. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)           SEITE 37 Support: 90%
  • 38. 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…
  • 39. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w 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%
  • 40. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,s, , y,e)           SEITE 40 Support: 100%
  • 41. 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
  • 42. Problem How to return only interesting constraints when looking for any template?
  • 43. 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, pv 2. the allowed tasks for the future moves Satisfaction Allowed tasksSatisfaction
  • 44. The solution: sketch (1) SEITE 44 Satisfaction Allowed tasksSatisfaction
  • 46. 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
  • 47. 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
  • 48. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)   ~  ~  ~     ~  ~  SEITE 48 Support: 90%
  • 49. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,a,s, e,y)   ~  ~  ~     ~  ~  SEITE 49 Support: 90%
  • 50. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,s, , y,e)  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~ SEITE 50 Support: 100%
  • 51. Discovering a DECLARE model: example Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e Prog.resp3:2(w,s, , y,e)  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~ SEITE 51 Support: 100%
  • 52. Discovering a DECLARE model: example with relevance check Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e SEITE 52 Support: 70% Res.(w,y)   ~   ~     ~  
  • 53. Discovering a DECLARE model: example with relevance check Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e SEITE 53 Support: 70% Res.(w,y)   ~   ~     ~  
  • 54. Discovering a DECLARE model: example with vacuity check (~) Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e SEITE 54 Support: Res.( ,y)  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~ 100%
  • 55. Discovering a DECLARE model: example with vacuity check (~) Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e SEITE 55 Support: Res.( ,y)  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~ 100%
  • 56. The algorithm: recap SEITE 56 Response(a,b) Responded existence(a,b) … Prog.resp3:2(u1,u2,u3,v1,v2)            ~  ~    ~   ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ …
  • 58. 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
  • 59. 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
  • 60. Semantical Vacuity Detection in Declarative Process Mining Fabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio and Jan Mendling 14th International Conference on Business Process Management Rio de Janeiro, Brazil No unicorns were harmed in the making of this paper
  • 61. Semantical Vacuity Detection in Declarative Process Mining Fabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio and Jan Mendling Extra slides
  • 62. 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
  • 63. 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)
  • 64. 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”
  • 66. 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
  • 67. Extendibility of DECLARE: A clear business impact SEITE 67
  • 68. 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
  • 72. Semantics of Declare: FOL over finite traces SEITE 72
  • 73. Semantics of Declare: Regular expressions SEITE 73
  • 74. More alternatives for DECLARE spec.: A clear business impact SEITE 74
  • 75. Discovering a DECLARE model: example with relevance check Example event log w a s e s e r r r y e s e a s e r r y e s e s e w w w s e r r r r x e s e r x e w a s e r r r y e s e w a s e r r r y e s e w a s e r r r x e s e s e s e r r r e x e a w s e s e r r e x e w a e s e r r r e y e s e SEITE 75 Support: Res.(s,e)           100%