SlideShare a Scribd company logo
Resolving Inconsistencies and Redundancies in
Declarative Process Models
Claudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling
8th International Workshop on Enterprise Modeling and
Information Systems Architectures (EMISA 2017)
Essen, Germany
claudio.di.ciccio@wu.ac.at
Di Ciccio, C., Maggi, F. M., Montali, M.,
Mendling, J. (2017). Resolving inconsistencies
and redundancies in declarative process
models. Information Systems, 64, 425–446.
https://doi.org/10.1016/j.is.2016.09.005
Foreword
(Declarative) process discovery
Declarative constraints as automata
SEITE 2
Process discovery
SEITE 3
?
Event log Process model
Mining flexible processes
Declarative process discovery
SEITE 5
?
Objective: understanding the
constraints that best define
the allowed behaviour of the
process behind the event log
Declarative modelling of
processes
 Init(c)
 c is always the first executed activity
 End(d)
 d is always the last executed activity
 RespondedExistence(a,b)
 If a is executed, b has to be executed
 Response(a,b)
 If a is executed, b has to be executed
afterwards
 ChainResponse(a,b)
 If a is executed, b has to be executed
immediately afterwards
 Precedence(a,b)
 If b is executed, a must have been executed
beforehand
 ChainPrecedence(a,b)
 If b is executed, a has to be executed
immediately beforehand
 NotChainSuccession(a,b)
 If a is executed, b cannot be executed
immediately afterwards
SEITE 6
 Usage of constraints
 “Open model”
 Declare
 state-of-the-art language
Subsumption hierarchy of
relation Declare templates
SEITE 7
Mining declarative processes:
ingredients
“Submit draft”,
“Write deliverable”,
“Organise agenda”,
…
SEITE 8
a,
b,
c,
…
Activities Process alphabet
Event log Declarative constraint templates
Mining declarative processes
RespondedExistence(a,b) ?
RespondedExistence(a,c) ?
…
Response(a,b) ?
Response(a,c) ?
…
SEITE 9
• Support:
fraction of cases fulfilling the constraint
• Confidence:
support scaled by fraction of traces in
which the activation occurs
• Interest factor:
confidence scaled by fraction of traces in
which the target occurs
Support Conf. I.F.
Mining declarative processes
RespondedExistence(a,b) ?
RespondedExistence(a,c) ?
…
Response(a,b) ?
Response(a,c) ?
…
SEITE 10
Support Conf. I.F.
Mining declarative processes
RespondedExistence(a,b) 
RespondedExistence(a,c) ?
…
Response(a,b) ?
Response(a,c) 
…
SEITE 11
Support Conf. I.F.
Mining declarative processes
RespondedExistence(a,b) 
RespondedExistence(a,c) ?
…
Response(a,b) 
Response(a,c) 
…
SEITE 12
Support Conf. I.F.
Mining declarative processes
RespondedExistence(a,b) 
RespondedExistence(a,c) ?
…
Response(a,b) 
Response(a,c) 
…
SEITE 13
Support Conf. I.F.
Mining declarative processes
RespondedExistence(a,b) 
RespondedExistence(a,c) 
…
Response(a,b) 
Response(a,c) 
…
SEITE 14
Support Conf. I.F.
Mining declarative processes
RespondedExistence(a,b)
RespondedExistence(a,c) 
and
Response(a,b) 
Response(a,c)
and
…
SEITE 15
From constraints-based model
to FSA
RespondedExistence(a,b)
RespondedExistence(a,c) 
and
Response(a,b) 
Response(a,c)
and
…
SEITE 16
[^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*

Regular
Expression
Deterministic
Finite
State
Automaton
To be kept in mind
RespondedExistence(a,b)
RespondedExistence(a,c) 
and
Response(a,b) 
Response(a,c)
and
…
SEITE 17
[^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*

Regular
Expression
Deterministic
Finite
State
Automaton
So far, so good
What is the problem?
SEITE 18
While mining a real-life log…
 Support threshold: 0.85
 Confidence threshold: 0.25
 Interest factor threshold: 0.25
SEITE 19
While mining a real-life log…
SEITE 20
Time to challenge the X
SEITE 21

Time to challenge the X
Loading…
SEITE 22
The result
SEITE 23
The problems
1) inconsistency
 When support threshold is lower than 100%,
constraints can be valid through most of the log, though being in conflict
 Example: an event log consists of two traces:
1. <a, b, a, b, a, b, c>
2. <a, b, a, b, a, c>
 Support threshold: 0.7
• a is always the first
 Init(a)
• c is always the last
 End(c)
• In 6 cases over 8 (75%), a and c do not directly follow each other
 NotChainSuccession(a,c)
• In 5 cases over 7 (71.143%), b and c do not directly follow each other
 NotChainSuccession(b,c)
SEITE 24
The problems
1) inconsistency
 When support threshold is lower than 100%,
constraints can be valid through most of the log, though being in conflict
 Example: an event log consists of two traces:
1. <a, b, a, b, a, b, c>
2. <a, b, a, b, a, c>
 Support threshold: 0.7
• a is always the first
 Init(a)
• c is always the last
 End(c)
• In 6 cases over 8 (75%), a and c do not directly follow each other
 NotChainSuccession(a,c)
• In 5 cases over 7 (71.143%), a and b do not directly follow each other
 NotChainSuccession(b,c)
 Question: what can be done right before c?
 inconsistency!
SEITE 25
The problems
1) inconsistency
 When support threshold is lower than 100%,
constraints can be valid through most of the log, though being in conflict
 How to trust a discovery algorithm that can return inconsistent models?
SEITE 26
The problems
2) redundancy
 Many constraints may be fulfilled 100% of times yet not add a bit of
information to other already discovered ones
 Example: an event log consists of two traces:
1. <a, b, a, b, a, b, c>
2. <a, b, a, b, a, c>
• a is always the first
 Init(a)
• c is always the last
 End(c)
• Before c, a precedes
 Precedence(a,c)
• Before b, a precedes
 Precedence(a,b)
• After a, c eventually follows
 Response(a,c)
• After b, c eventually follows
 Response(b,c)
SEITE 27
The problems
2) redundancy
 Many constraints may be fulfilled 100% of times yet not add a bit of
information to other already discovered ones
 Example: an event log consists of two traces:
1. <a, b, a, b, a, b, c>
2. <a, b, a, b, a, c>
• a is always the first
 Init(a)
• c is always the last
 End(c)
• Before c, a precedes
 Precedence(a,c)
• Before b, a precedes
 Precedence(a,b)
• After a, c eventually follows
 Response(a,c)
• After b, c eventually follows
 Response(b,c)
SEITE 28
Of course! a is always the first
The problems
2) redundancy
 Many constraints may be fulfilled 100% of times yet not add a bit of
information to other already discovered ones
 Example: an event log consists of two traces:
1. <a, b, a, b, a, b, c>
2. <a, b, a, b, a, c>
• a is always the first
 Init(a)
• c is always the last
 End(c)
• Before c, a precedes
 Precedence(a,c)
• Before b, a precedes
 Precedence(a,b)
• After a, c eventually follows
 Response(a,c)
• After b, c eventually follows
 Response(b,c)
SEITE 29
Of course! a is always the first
Of course! c is always the last
 Question: can't we avoid stating the obvious?
 redundancy!
The problems
2) redundancy
 Many constraints may be fulfilled 100% of times yet not add a bit of
information to other already discovered ones
 How to reduce the number of unnecessary returned constraints?
SEITE 30
The solution
Automata-product monoid
SEITE 31
Algebraic structure with
composition operator ( )
holding the properties of
 commutativity
 associativity
and bearing
 identity element
 and absorbing element
The solution
Automata-product monoid
SEITE 32
Rules of the game
SEITE 33
 Intersect the product
automaton with the
newly visited constraints,
one at a time

Init(a) Participation(b)
=
Product automaton
Init(a)
Participation(b)
 Intersect the product
automaton with the
newly visited constraints,
one at a time
Rules of the game
SEITE 34
ChainPrecedence(a,b)
ChainPrecedence(a,b)
Init(a)
Participation(b)
Product automaton
Exploiting formal properties
 We take advantage of
1. associativity
 allows for "storage" of
results
SEITE 35 Product automaton

ChainPrecedence(a,b)
Old product automaton
=
Exploiting formal properties
 We take advantage of
1. associativity
 allows for "storage" of
results
2. commutativity
 allows for priority sorting
of constraints
SEITE 36 Product automaton
Exploiting formal properties
 We take advantage of
1. associativity
 allows for "storage" of
results
2. commutativity
 allows for priority sorting
of constraints
SEITE 37 Product automaton
Playing the game
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
SEITE 38 Product automaton
Playing the game
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
SEITE 39 Product automaton
Playing the game
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
SEITE 40 Product automaton
Inconsistency!
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
 Conflict:
SEITE 41 Product automaton
Inconsistency!
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
 Conflict:
 The product automaton
becomes
(empty language)
SEITE 42
Response(a,b)
Response(b,a)
Inconsistency!
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
 Conflict:
 The product automaton
becomes
(empty language)
SEITE 43
Inconsistency!
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
 Conflict:
 Remove the constraint, in
case
SEITE 44
Redundancy!
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
 Redundancy:
SEITE 45
Redundancy!
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
 Redundancy:
 The new product
automaton accepts the
same strings as before
(language inclusion)
SEITE 46
Response(a,c)
End(c)
Redundancy!
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
 Redundancy:
 The new product
automaton accepts the
same strings as before
(language inclusion)
SEITE 47
Redundancy!
 Newly visited constraints
add information to the
knowledge on the process
model if they reduce the
number of possible traces
(accepted strings)
 Redundancy:
 Remove the constraint, in
case
SEITE 48
Objectives
 Remove inconsistencies
 Minimise redundancies
 Analyse each constraint
once
SEITE 49
The solution:
Inconsistency detection
 Rationale:
1. How to find inconsistencies among constraints?
 Use the automaton-based model for constraints
 Does the cross-product automaton recognise the empty
language?
2. How to search the inconsistencies?
 Exploit:
a) The product operation between automata
b) The sorting of Declare templates
 Guideline:
 Preserve the most meaningful constraints
 The sorting prioritises constraints
SEITE 50
The solution:
Redundancy detection
 Rationale:
1. How to find redundancies among constraints?
 Use the automaton-based model for constraints
 Does the cross-product automata recognise the same
language as before?
2. How to search the inconsistencies?
 Exploit:
a) The product operation between automata
b) The sorting of Declare templates
 Guideline:
 Preserve the most meaningful constraints
 The sorting prioritises constraints
SEITE 51
Conclusion
Which were the conflicting constraints in the log?
How does the redundancy removal perform?
What is more in the paper?
Limitations and future work
SEITE 53
Which were the conflicting
constraints in the log?
1. NotSuccession(send meeting, organize agenda)
2. NotChainSuccession(send draft, send deliverable)
3. Succession(send draft, submit report)
SEITE 54
SEITE 55
Redundancy reduction
SEITE 56
Conclusions, limitations and
future work
We have presented an algorithm which automatically finds
inconsistencies and redundancies in mined Declare models
 The checks are purely based on operations over automata (remember: monoids)
 http://github.com/cdc08x/minerful
More in the paper:
 The order in which the constraints are checked deeply affects the returned result
 Comparative studies prove different sorting strategies to affect
 computation time
 fitness of the returned model
 size
Limitations:
 Performances are heavily affected by the interplay of constraints
Future work:
 Users/analysts involvement
 http://www.promtools.org/prom6/nightly
SEITE 57
Resolving Inconsistencies and Redundancies in
Declarative Process Models
Claudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling
8th International Workshop on Enterprise Modeling and
Information Systems Architectures (EMISA 2017)
Essen, Germany
claudio.di.ciccio@wu.ac.at
Di Ciccio, C., Maggi, F. M., Montali, M.,
Mendling, J. (2017). Resolving inconsistencies
and redundancies in declarative process
models. Information Systems, 64, 425–446.
https://doi.org/10.1016/j.is.2016.09.005
Extra slides deck
Resolving Inconsistencies and Redundancies in
Declarative Process Models
Claudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling
8th International Workshop on Enterprise Modeling and
Information Systems Architectures (EMISA 2017)
Essen, Germany
claudio.di.ciccio@wu.ac.at
Di Ciccio, C., Maggi, F. M., Montali, M.,
Mendling, J. (2017). Resolving inconsistencies
and redundancies in declarative process
models. Information Systems, 64, 425–446.
https://doi.org/10.1016/j.is.2016.09.005
Computational time complexity

More Related Content

Similar to Resolving Inconsistencies and Redundancies in Declarative Process Models

Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bayesian Autoencoders (BAE) & Honest Thoughts on research Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bang Xiang Yong
 
16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx
Abhik Roychoudhury
 
Data structures and algorithms unit i
Data structures and algorithms unit iData structures and algorithms unit i
Data structures and algorithms unit i
sonalisraisoni
 
Computer general questions
Computer  general questionsComputer  general questions
Computer general questions
Knowledge Center Computer
 
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUniteThe Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
Matt Lockyer
 
Bisection method
Bisection methodBisection method
Bisection method
Isaac Yowetu
 
MATLAB Questions and Answers.pdf
MATLAB Questions and Answers.pdfMATLAB Questions and Answers.pdf
MATLAB Questions and Answers.pdf
ahmed8651
 
Gate-Cs 1996
Gate-Cs 1996Gate-Cs 1996
Gate-Cs 1996
Ravi Rajput
 
Week2- Deep Learning Intuition.pptx
Week2- Deep Learning Intuition.pptxWeek2- Deep Learning Intuition.pptx
Week2- Deep Learning Intuition.pptx
fahmi324663
 
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Dongsun Kim
 
ExitExam Tutorial gfgfgfdfdfdfdf (1).pptx
ExitExam Tutorial gfgfgfdfdfdfdf (1).pptxExitExam Tutorial gfgfgfdfdfdfdf (1).pptx
ExitExam Tutorial gfgfgfdfdfdfdf (1).pptx
meharikiros2
 
Madaari : Ordering For The Monkeys
Madaari : Ordering For The MonkeysMadaari : Ordering For The Monkeys
Madaari : Ordering For The Monkeys
J On The Beach
 
Software testing quiz questions and answers
Software testing quiz questions and answersSoftware testing quiz questions and answers
Software testing quiz questions and answers
RajendraG
 
Support Vector Machines for Classification
Support Vector Machines for ClassificationSupport Vector Machines for Classification
Support Vector Machines for Classification
Prakash Pimpale
 
Java questions1
Java questions1Java questions1
Java questions1yash4884
 
From monolithic systems to microservices. a decomposition framework based on ...
From monolithic systems to microservices. a decomposition framework based on ...From monolithic systems to microservices. a decomposition framework based on ...
From monolithic systems to microservices. a decomposition framework based on ...
Davide Taibi
 
Computer programming mcqs
Computer programming mcqsComputer programming mcqs
Computer programming mcqs
saadkhan672
 
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairIt Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
Claire Le Goues
 
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java ProgramsTMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
Iosif Itkin
 
Blinkdb
BlinkdbBlinkdb
Blinkdb
Nitish Upreti
 

Similar to Resolving Inconsistencies and Redundancies in Declarative Process Models (20)

Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bayesian Autoencoders (BAE) & Honest Thoughts on research Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bayesian Autoencoders (BAE) & Honest Thoughts on research
 
16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx16May_ICSE_MIP_APR_2023.pptx
16May_ICSE_MIP_APR_2023.pptx
 
Data structures and algorithms unit i
Data structures and algorithms unit iData structures and algorithms unit i
Data structures and algorithms unit i
 
Computer general questions
Computer  general questionsComputer  general questions
Computer general questions
 
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUniteThe Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
 
Bisection method
Bisection methodBisection method
Bisection method
 
MATLAB Questions and Answers.pdf
MATLAB Questions and Answers.pdfMATLAB Questions and Answers.pdf
MATLAB Questions and Answers.pdf
 
Gate-Cs 1996
Gate-Cs 1996Gate-Cs 1996
Gate-Cs 1996
 
Week2- Deep Learning Intuition.pptx
Week2- Deep Learning Intuition.pptxWeek2- Deep Learning Intuition.pptx
Week2- Deep Learning Intuition.pptx
 
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
Good Hunting: Locating, Prioritizing, and Fixing Bugs Automatically (Keynote,...
 
ExitExam Tutorial gfgfgfdfdfdfdf (1).pptx
ExitExam Tutorial gfgfgfdfdfdfdf (1).pptxExitExam Tutorial gfgfgfdfdfdfdf (1).pptx
ExitExam Tutorial gfgfgfdfdfdfdf (1).pptx
 
Madaari : Ordering For The Monkeys
Madaari : Ordering For The MonkeysMadaari : Ordering For The Monkeys
Madaari : Ordering For The Monkeys
 
Software testing quiz questions and answers
Software testing quiz questions and answersSoftware testing quiz questions and answers
Software testing quiz questions and answers
 
Support Vector Machines for Classification
Support Vector Machines for ClassificationSupport Vector Machines for Classification
Support Vector Machines for Classification
 
Java questions1
Java questions1Java questions1
Java questions1
 
From monolithic systems to microservices. a decomposition framework based on ...
From monolithic systems to microservices. a decomposition framework based on ...From monolithic systems to microservices. a decomposition framework based on ...
From monolithic systems to microservices. a decomposition framework based on ...
 
Computer programming mcqs
Computer programming mcqsComputer programming mcqs
Computer programming mcqs
 
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairIt Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
 
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java ProgramsTMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
 
Blinkdb
BlinkdbBlinkdb
Blinkdb
 

More from Claudio Di Ciccio

CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Look but don’t touch: On the impalpable bond between blockchain and process
Look but don’t touch: On the impalpable bond between blockchain and processLook but don’t touch: On the impalpable bond between blockchain and process
Look but don’t touch: On the impalpable bond between blockchain and process
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
 
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
 
Semantical Vacuity Detection in Declarative Process Mining
Semantical Vacuity Detection in Declarative Process MiningSemantical Vacuity Detection in Declarative Process Mining
Semantical Vacuity Detection in Declarative Process Mining
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
 

More from Claudio Di Ciccio (10)

CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Look but don’t touch: On the impalpable bond between blockchain and process
Look but don’t touch: On the impalpable bond between blockchain and processLook but don’t touch: On the impalpable bond between blockchain and process
Look but don’t touch: On the impalpable bond between blockchain and process
 
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
 
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
 
Semantical Vacuity Detection in Declarative Process Mining
Semantical Vacuity Detection in Declarative Process MiningSemantical Vacuity Detection in Declarative Process Mining
Semantical Vacuity Detection in Declarative Process Mining
 
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...
 

Recently uploaded

一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
ewymefz
 
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
vcaxypu
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
Tiktokethiodaily
 
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
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
nscud
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
ukgaet
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
benishzehra469
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
Opendatabay
 
一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单
ocavb
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
NABLAS株式会社
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
vcaxypu
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 

Recently uploaded (20)

一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单
 
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
一比一原版(RUG毕业证)格罗宁根大学毕业证成绩单
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
 
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...
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
 
一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单一比一原版(TWU毕业证)西三一大学毕业证成绩单
一比一原版(TWU毕业证)西三一大学毕业证成绩单
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 

Resolving Inconsistencies and Redundancies in Declarative Process Models

  • 1. Resolving Inconsistencies and Redundancies in Declarative Process Models Claudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling 8th International Workshop on Enterprise Modeling and Information Systems Architectures (EMISA 2017) Essen, Germany claudio.di.ciccio@wu.ac.at Di Ciccio, C., Maggi, F. M., Montali, M., Mendling, J. (2017). Resolving inconsistencies and redundancies in declarative process models. Information Systems, 64, 425–446. https://doi.org/10.1016/j.is.2016.09.005
  • 5. Declarative process discovery SEITE 5 ? Objective: understanding the constraints that best define the allowed behaviour of the process behind the event log
  • 6. Declarative modelling of processes  Init(c)  c is always the first executed activity  End(d)  d is always the last executed activity  RespondedExistence(a,b)  If a is executed, b has to be executed  Response(a,b)  If a is executed, b has to be executed afterwards  ChainResponse(a,b)  If a is executed, b has to be executed immediately afterwards  Precedence(a,b)  If b is executed, a must have been executed beforehand  ChainPrecedence(a,b)  If b is executed, a has to be executed immediately beforehand  NotChainSuccession(a,b)  If a is executed, b cannot be executed immediately afterwards SEITE 6  Usage of constraints  “Open model”  Declare  state-of-the-art language
  • 7. Subsumption hierarchy of relation Declare templates SEITE 7
  • 8. Mining declarative processes: ingredients “Submit draft”, “Write deliverable”, “Organise agenda”, … SEITE 8 a, b, c, … Activities Process alphabet Event log Declarative constraint templates
  • 9. Mining declarative processes RespondedExistence(a,b) ? RespondedExistence(a,c) ? … Response(a,b) ? Response(a,c) ? … SEITE 9 • Support: fraction of cases fulfilling the constraint • Confidence: support scaled by fraction of traces in which the activation occurs • Interest factor: confidence scaled by fraction of traces in which the target occurs Support Conf. I.F.
  • 10. Mining declarative processes RespondedExistence(a,b) ? RespondedExistence(a,c) ? … Response(a,b) ? Response(a,c) ? … SEITE 10 Support Conf. I.F.
  • 11. Mining declarative processes RespondedExistence(a,b)  RespondedExistence(a,c) ? … Response(a,b) ? Response(a,c)  … SEITE 11 Support Conf. I.F.
  • 12. Mining declarative processes RespondedExistence(a,b)  RespondedExistence(a,c) ? … Response(a,b)  Response(a,c)  … SEITE 12 Support Conf. I.F.
  • 13. Mining declarative processes RespondedExistence(a,b)  RespondedExistence(a,c) ? … Response(a,b)  Response(a,c)  … SEITE 13 Support Conf. I.F.
  • 14. Mining declarative processes RespondedExistence(a,b)  RespondedExistence(a,c)  … Response(a,b)  Response(a,c)  … SEITE 14 Support Conf. I.F.
  • 15. Mining declarative processes RespondedExistence(a,b) RespondedExistence(a,c)  and Response(a,b)  Response(a,c) and … SEITE 15
  • 16. From constraints-based model to FSA RespondedExistence(a,b) RespondedExistence(a,c)  and Response(a,b)  Response(a,c) and … SEITE 16 [^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*  Regular Expression Deterministic Finite State Automaton
  • 17. To be kept in mind RespondedExistence(a,b) RespondedExistence(a,c)  and Response(a,b)  Response(a,c) and … SEITE 17 [^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*  Regular Expression Deterministic Finite State Automaton
  • 18. So far, so good What is the problem? SEITE 18
  • 19. While mining a real-life log…  Support threshold: 0.85  Confidence threshold: 0.25  Interest factor threshold: 0.25 SEITE 19
  • 20. While mining a real-life log… SEITE 20
  • 21. Time to challenge the X SEITE 21 
  • 22. Time to challenge the X Loading… SEITE 22
  • 24. The problems 1) inconsistency  When support threshold is lower than 100%, constraints can be valid through most of the log, though being in conflict  Example: an event log consists of two traces: 1. <a, b, a, b, a, b, c> 2. <a, b, a, b, a, c>  Support threshold: 0.7 • a is always the first  Init(a) • c is always the last  End(c) • In 6 cases over 8 (75%), a and c do not directly follow each other  NotChainSuccession(a,c) • In 5 cases over 7 (71.143%), b and c do not directly follow each other  NotChainSuccession(b,c) SEITE 24
  • 25. The problems 1) inconsistency  When support threshold is lower than 100%, constraints can be valid through most of the log, though being in conflict  Example: an event log consists of two traces: 1. <a, b, a, b, a, b, c> 2. <a, b, a, b, a, c>  Support threshold: 0.7 • a is always the first  Init(a) • c is always the last  End(c) • In 6 cases over 8 (75%), a and c do not directly follow each other  NotChainSuccession(a,c) • In 5 cases over 7 (71.143%), a and b do not directly follow each other  NotChainSuccession(b,c)  Question: what can be done right before c?  inconsistency! SEITE 25
  • 26. The problems 1) inconsistency  When support threshold is lower than 100%, constraints can be valid through most of the log, though being in conflict  How to trust a discovery algorithm that can return inconsistent models? SEITE 26
  • 27. The problems 2) redundancy  Many constraints may be fulfilled 100% of times yet not add a bit of information to other already discovered ones  Example: an event log consists of two traces: 1. <a, b, a, b, a, b, c> 2. <a, b, a, b, a, c> • a is always the first  Init(a) • c is always the last  End(c) • Before c, a precedes  Precedence(a,c) • Before b, a precedes  Precedence(a,b) • After a, c eventually follows  Response(a,c) • After b, c eventually follows  Response(b,c) SEITE 27
  • 28. The problems 2) redundancy  Many constraints may be fulfilled 100% of times yet not add a bit of information to other already discovered ones  Example: an event log consists of two traces: 1. <a, b, a, b, a, b, c> 2. <a, b, a, b, a, c> • a is always the first  Init(a) • c is always the last  End(c) • Before c, a precedes  Precedence(a,c) • Before b, a precedes  Precedence(a,b) • After a, c eventually follows  Response(a,c) • After b, c eventually follows  Response(b,c) SEITE 28 Of course! a is always the first
  • 29. The problems 2) redundancy  Many constraints may be fulfilled 100% of times yet not add a bit of information to other already discovered ones  Example: an event log consists of two traces: 1. <a, b, a, b, a, b, c> 2. <a, b, a, b, a, c> • a is always the first  Init(a) • c is always the last  End(c) • Before c, a precedes  Precedence(a,c) • Before b, a precedes  Precedence(a,b) • After a, c eventually follows  Response(a,c) • After b, c eventually follows  Response(b,c) SEITE 29 Of course! a is always the first Of course! c is always the last  Question: can't we avoid stating the obvious?  redundancy!
  • 30. The problems 2) redundancy  Many constraints may be fulfilled 100% of times yet not add a bit of information to other already discovered ones  How to reduce the number of unnecessary returned constraints? SEITE 30
  • 31. The solution Automata-product monoid SEITE 31 Algebraic structure with composition operator ( ) holding the properties of  commutativity  associativity and bearing  identity element  and absorbing element
  • 33. Rules of the game SEITE 33  Intersect the product automaton with the newly visited constraints, one at a time  Init(a) Participation(b) = Product automaton Init(a) Participation(b)
  • 34.  Intersect the product automaton with the newly visited constraints, one at a time Rules of the game SEITE 34 ChainPrecedence(a,b) ChainPrecedence(a,b) Init(a) Participation(b) Product automaton
  • 35. Exploiting formal properties  We take advantage of 1. associativity  allows for "storage" of results SEITE 35 Product automaton  ChainPrecedence(a,b) Old product automaton =
  • 36. Exploiting formal properties  We take advantage of 1. associativity  allows for "storage" of results 2. commutativity  allows for priority sorting of constraints SEITE 36 Product automaton
  • 37. Exploiting formal properties  We take advantage of 1. associativity  allows for "storage" of results 2. commutativity  allows for priority sorting of constraints SEITE 37 Product automaton
  • 38. Playing the game  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) SEITE 38 Product automaton
  • 39. Playing the game  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) SEITE 39 Product automaton
  • 40. Playing the game  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) SEITE 40 Product automaton
  • 41. Inconsistency!  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings)  Conflict: SEITE 41 Product automaton
  • 42. Inconsistency!  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings)  Conflict:  The product automaton becomes (empty language) SEITE 42 Response(a,b) Response(b,a)
  • 43. Inconsistency!  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings)  Conflict:  The product automaton becomes (empty language) SEITE 43
  • 44. Inconsistency!  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings)  Conflict:  Remove the constraint, in case SEITE 44
  • 45. Redundancy!  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings)  Redundancy: SEITE 45
  • 46. Redundancy!  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings)  Redundancy:  The new product automaton accepts the same strings as before (language inclusion) SEITE 46 Response(a,c) End(c)
  • 47. Redundancy!  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings)  Redundancy:  The new product automaton accepts the same strings as before (language inclusion) SEITE 47
  • 48. Redundancy!  Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings)  Redundancy:  Remove the constraint, in case SEITE 48
  • 49. Objectives  Remove inconsistencies  Minimise redundancies  Analyse each constraint once SEITE 49
  • 50. The solution: Inconsistency detection  Rationale: 1. How to find inconsistencies among constraints?  Use the automaton-based model for constraints  Does the cross-product automaton recognise the empty language? 2. How to search the inconsistencies?  Exploit: a) The product operation between automata b) The sorting of Declare templates  Guideline:  Preserve the most meaningful constraints  The sorting prioritises constraints SEITE 50
  • 51. The solution: Redundancy detection  Rationale: 1. How to find redundancies among constraints?  Use the automaton-based model for constraints  Does the cross-product automata recognise the same language as before? 2. How to search the inconsistencies?  Exploit: a) The product operation between automata b) The sorting of Declare templates  Guideline:  Preserve the most meaningful constraints  The sorting prioritises constraints SEITE 51
  • 52. Conclusion Which were the conflicting constraints in the log? How does the redundancy removal perform? What is more in the paper? Limitations and future work
  • 54. Which were the conflicting constraints in the log? 1. NotSuccession(send meeting, organize agenda) 2. NotChainSuccession(send draft, send deliverable) 3. Succession(send draft, submit report) SEITE 54
  • 57. Conclusions, limitations and future work We have presented an algorithm which automatically finds inconsistencies and redundancies in mined Declare models  The checks are purely based on operations over automata (remember: monoids)  http://github.com/cdc08x/minerful More in the paper:  The order in which the constraints are checked deeply affects the returned result  Comparative studies prove different sorting strategies to affect  computation time  fitness of the returned model  size Limitations:  Performances are heavily affected by the interplay of constraints Future work:  Users/analysts involvement  http://www.promtools.org/prom6/nightly SEITE 57
  • 58. Resolving Inconsistencies and Redundancies in Declarative Process Models Claudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling 8th International Workshop on Enterprise Modeling and Information Systems Architectures (EMISA 2017) Essen, Germany claudio.di.ciccio@wu.ac.at Di Ciccio, C., Maggi, F. M., Montali, M., Mendling, J. (2017). Resolving inconsistencies and redundancies in declarative process models. Information Systems, 64, 425–446. https://doi.org/10.1016/j.is.2016.09.005
  • 59. Extra slides deck Resolving Inconsistencies and Redundancies in Declarative Process Models Claudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali and Jan Mendling 8th International Workshop on Enterprise Modeling and Information Systems Architectures (EMISA 2017) Essen, Germany claudio.di.ciccio@wu.ac.at Di Ciccio, C., Maggi, F. M., Montali, M., Mendling, J. (2017). Resolving inconsistencies and redundancies in declarative process models. Information Systems, 64, 425–446. https://doi.org/10.1016/j.is.2016.09.005