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

PPTX
Automated Discovery of Declarative Process Models
PPTX
Object Oriented Software Development revision slide
PPTX
Ontologies and Similarity
PPTX
Liquid process model collections
PDF
Ark in Glass v3 Driving the Instance
PDF
Ark in Glass V2 Secant Wheel Applications
PDF
Ark in Glass (V4) Summary Concepts in Secant Wheel Construction
PDF
CAKE: Sharing Slices of Confidential Data on Blockchain
Automated Discovery of Declarative Process Models
Object Oriented Software Development revision slide
Ontologies and Similarity
Liquid process model collections
Ark in Glass v3 Driving the Instance
Ark in Glass V2 Secant Wheel Applications
Ark in Glass (V4) Summary Concepts in Secant Wheel Construction
CAKE: Sharing Slices of Confidential Data on Blockchain

More from Claudio Di Ciccio (14)

PDF
“I’m still / I’m still / Chaining from the Block”
PDF
Look but don’t touch: On the impalpable bond between blockchain and process
PPTX
Measurement of Rule-based LTLf Declarative Process Specifications
PDF
Blockchain and smart contracts: infrastructure and platforms
PPTX
Discovering Target-Branched Declare Constraints
PPTX
Introduction to the declarative specification of processes
PPTX
Declarative Specification of Processes: Discovery and Reasoning
PPTX
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
PDF
Execution of business processes on the blockchain
PPTX
Blockchain based traceability of inter-organisational business processes
PPTX
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
PPTX
Resolving Inconsistencies and Redundancies in Declarative Process Models
PPTX
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
PPTX
Ensuring Model Consistency in Declarative Process Discovery
“I’m still / I’m still / Chaining from the Block”
Look but don’t touch: On the impalpable bond between blockchain and process
Measurement of Rule-based LTLf Declarative Process Specifications
Blockchain and smart contracts: infrastructure and platforms
Discovering Target-Branched Declare Constraints
Introduction to the declarative specification of processes
Declarative Specification of Processes: Discovery and Reasoning
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Execution of business processes on the blockchain
Blockchain based traceability of inter-organisational business processes
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Resolving Inconsistencies and Redundancies in Declarative Process Models
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Ensuring Model Consistency in Declarative Process Discovery
Ad

Recently uploaded (20)

PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PPTX
Qualitative Qantitative and Mixed Methods.pptx
PDF
Lecture1 pattern recognition............
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PDF
Foundation of Data Science unit number two notes
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPT
Quality review (1)_presentation of this 21
PPTX
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
PPTX
IB Computer Science - Internal Assessment.pptx
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPTX
Database Infoormation System (DBIS).pptx
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
climate analysis of Dhaka ,Banglades.pptx
PDF
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
PPTX
Computer network topology notes for revision
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
Galatica Smart Energy Infrastructure Startup Pitch Deck
Qualitative Qantitative and Mixed Methods.pptx
Lecture1 pattern recognition............
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
oil_refinery_comprehensive_20250804084928 (1).pptx
Foundation of Data Science unit number two notes
Introduction-to-Cloud-ComputingFinal.pptx
Business Ppt On Nestle.pptx huunnnhhgfvu
Quality review (1)_presentation of this 21
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
IB Computer Science - Internal Assessment.pptx
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
Database Infoormation System (DBIS).pptx
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
climate analysis of Dhaka ,Banglades.pptx
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
Computer network topology notes for revision
Ad

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%