SlideShare a Scribd company logo
The Automated Discovery of Declarative Process
Models
Claudio Di Ciccio
claudio.di.ciccio@wu.ac.at
Humboldt-Universität zu Berlin, 7 December 2016
www.wu.ac.at
www.wu.ac.at/infobiz
www.wu.ac.at/infobiz/team/diciccio
Control-flow discovery
?
Objective: understanding the
temporal structure that best
describes the process behind
the event log
SEITE 3
Knowledge-intensive
Processes
SEITE 4
Knowledge-intensive
Processes
SEITE 5
Mining flexible processes
SEITE 6
Declarative modelling of
processes
 Usage of constraints
 “Open model”
 Declare
 state-of-the-art language
If A is performed,
B must be performed,
no matter if before or afterwards
(responded existence)
Whenever B is performed,
C must be performed afterwards
and B can not be repeated
until C is done
(alternate response)
SEITE 7
Workflow Nets
as process models
SEITE 8
Imperative v declarative
SEITE 9
SEITE 9
Declarative processes
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 11
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 12
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 13
Submit abstract
Write new paper Submit paper
Send
confirmation
email
Review paper Accept paper
Reject paper
Declare:
Existence Constraint Templates
Existence(n, A)
Activity A occurs at least n times in the process instance
BCAAC ✓ BCAAAC ✓ BCAC ✗ (for n = 2)
Absence(A)
Activity A does not occur in the process instance
BCC ✓ BCAC ✗
Absence(n+1, A)
Activity A occurs at most n-1 times in the process instance
BCAAC ✗ BCAC ✓ BCC ✓ (for n = 2)
Exactly(n, A)
Activity A occurs exactly n times in the process instance
BCAAC ✓ BCAAAC ✗ BCAC ✗ (for n = 2)
Init(A)
Activity A is the first to occur in each process instance
BCAAC ✗ ACAAAC ✓ BCC ✗
Absence(2, A) ≡ AtMostOne(A)
Existence(1, A) ≡ Participation(A)
SEITE 14
Declare:
Relation Constraint Templates
RespondedExistence(A, B)
If A occurs in the process instance, then B occurs as well
CAC ✗ CAACB ✓
BCAC ✓ BCC ✓
SEITE 15
Declare:
Relation Constraint Templates
RespondedExistence(A, B)
If A occurs in the process instance, then B occurs as well
CAC ✗ CAACB ✓
BCAC ✓ BCC ✓
Response(A, B)
If A occurs in the process instance, then B occurs after A
BCAAC ✗ CAACB ✓
CAC ✗ BCC ✓
SEITE 16
Declare:
Relation Constraint Templates
RespondedExistence(A, B)
If A occurs in the process instance, then B occurs as well
CAC ✗ CAACB ✓
BCAC ✓ BCC ✓
Response(A, B)
If A occurs in the process instance, then B occurs after A
BCAAC ✗ CAACB ✓
CAC ✗ BCC ✓
AlternateResponse(A, B)
Each time A occurs in the process instance, then B occurs
afterwards, before A recurs
BCAAC ✗ CAACB ✗ CACB ✓
CABCA ✗ BCC ✓ CACBBAB ✓
SEITE 17
Declare:
Relation Constraint Templates
RespondedExistence(A, B)
If A occurs in the process instance, then B occurs as well
CAC ✗ CAACB ✓
BCAC ✓ BCC ✓
Response(A, B)
If A occurs in the process instance, then B occurs after A
BCAAC ✗ CAACB ✓
CAC ✗ BCC ✓
AlternateResponse(A, B)
Each time A occurs in the process instance, then B occurs
afterwards, before A recurs
BCAAC ✗ CAACB ✗ CACB ✓
CABCA ✗ BCC ✓ CACBBAB ✓
ChainResponse(A, B)
Each time A occurs in the process instance, then B occurs
immediately afterwards
BCAAC ✗ BCAABC ✗ BCABABC ✓
Activation Target
Declare:
Relation Constraint Templates
RespondedExistence(B, A)
If B occurs in the process instance, then A occurs as well
CAC ✓ CAACB ✓
BCAC ✓ BCC ✗
Precedence(A, B)
B occurs in the process instance only if preceded by A
BCAAC ✗ CAACB ✓
CAC ✓ BCC ✓
AlternatePrecedence(A, B)
Each time B occurs in the process instance, it is preceded by A
and no other B can recur in between
BCAAC ✗ CAACB ✓ CACB ✓
CABCA ✓ BCC ✗ CACBAB ✓
ChainPrecedence(A, B)
Each time B occurs in the process instance, then B occurs
immediately beforehand
BCAAC ✗ BCAABC ✗ CABABCA ✓
Target Activation
Declare:
Relation Constraint Templates
CoExistence(A, B) ≡ Resp’dEx.(A, B) ∧ Resp’dEx.(B, A)
If B occurs in the process instance, then A occurs, and viceversa
CAC ✗ CAACB ✓
BCAC ✓ BCC ✗
Succession(A, B) ≡ Response(A, B) ∧ Precedence(A, B)
A occurs if and only if it is followed by B in the process instance
BCAAC ✗ CAACB ✓
CAC ✗ BCC ✗
AlternateSuccession(A, B) ≡ Alt.Resp.(A, B) ∧ Alt.Prec.(A, B)
A and B occur in the process instance if and only if the latter
follows the former, and they alternate each other in the trace
BCAAC ✗ CAACB ✗ CACB ✓
CABCA ✗ BCC ✗ CACBAB ✓
ChainSuccession(A, B) ≡ ChainResp.(A, B) ∧ ChainPrec.(A, B)
A and B occur in the process instance if and only if the latter
immediately follows the former
BCAAC ✗ BCAABC ✗ CABABC ✓
Activation Target
Target Activation
Declare: Negative
Relation Constraint Templates
NotCoExistence(A, B)
A and B never occur together in the process instance
CAC ✓ CAACB ✗
BCAC ✗ BCC ✓
NotSuccession(A, B)
A can never occur before B in the process instance
BCAAC ✓ CAACB ✗
CAC ✓ BCC ✓
NotChainSuccession(A, B)
A and B occur in the process instance if and only if the latter
does not immediately follows the former
BCAAC ✓ BCAABC ✗ CBACBA ✓
Activation Target
Target Activation
Subsumption hierarchy
of constraint templates
SEITE 22
Declarative processes
Discovery of DECLARE models
Constraints mining
?
Objective: understanding the
constraints that best define
the allowed behaviour of the
process behind the event log
SEITE 24
Mining declarative processes:
ingredients
“Submit abstract”,
“Submit paper”,
“Accept paper”,
…
SEITE 25
A,
B,
C,
…
Activities Process alphabet
Mining declarative processes
RespondedExistence(A, B) ?
RespondedExistence(A, C) ?
…
Response(A, B) ?
Response(A, C) ?
…
SEITE 26
• Support:
fraction of cases fulfilling the constraint
• Confidence:
support scaled by fraction of traces in
which the activation occurs
• Interest factor:
confidence scaled by fraction of traces in
which the target occurs
Support Conf. I.F.
Mining declarative processes
RespondedExistence(A, B) ?
RespondedExistence(A, C) ?
…
Response(A, B) ?
Response(A, C) ?
…
SEITE 27
Support Conf. I.F.
• 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
Mining declarative processes
RespondedExistence(A, B) 
RespondedExistence(A, C) 
…
Response(A, B) ?
Response(A, C) 
…
SEITE 28
Support Conf. I.F.
• 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
Mining declarative processes
RespondedExistence(A, B) 
RespondedExistence(A, C) 
…
Response(A, B) 
Response(A, C) 
…
SEITE 29
Support Conf. I.F.
• 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
Constraints mining
An example
SEITE 30
A A B C A B C A C B C D
A C C A B B C B C A C B B D
C C C C C A A B C A A B A A B
A B B B D
C B A B D
A B B D
A A A C A C B D
A B C D
C A B A A C C B B D
B C C D
C A A C C C A A B C B C C B D
The role of Support
(event-based)
A A B C A B C A C B C D
A C C A B B C B C A C B B D
C C C C C A A B C A A B A A B
A B B B D
C B A B D
A B B D
A A A C A C B D
A B C D
C A B A A C C B B D
B C C D
C A A C C C A A B C B C C B D
 Support for
 Response(A, B)
 1.0
 Precedence(A, B)
 0.926 (25/27)
 Pruning on the basis of a
support threshold
 E.g., 0.95
 A threshold equal to 1.0
for a constraint means
“always valid in the log”
Activation
Target
Target
Activation
SEITE 31
http://github.com/cdc08x/minerful
Prom Nightly Builds > “Declare MINERful” plug-in
The role of Support
(trace-based)
A A B C A B C A C B C D
A C C A B B C B C A C B B D
C C C C C A A B C A A B A A B
A B B B D
C B A B D
A B B D
A A A C A C B D
A B C D
C A B A A C C B B D
B C C D
C A A C C C A A B C B C C B D
 Support for
 Response(A, B)
 1.0
 Precedence(A, B)
 0.818 (9/11)
 Pruning on the basis of a
support threshold
 E.g., 0.95
 A threshold equal to 1.0
for a constraint means
“always valid in the log”
SEITE 32 http://sourceforge.net/projects/prom/files/ProM/6.3
Declarative processes
Challenges
SEITE 34
Objective
SEITE 35
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Increase the expressiveness of discovered
models
 Specify templates
SEITE 36
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Increase the expressiveness of discovered
models
 Specify templates
SEITE 37
© Granger, NYC, source: https://www.granger.com/
Redundancies in discovered
constraints
 E.g.,
 A trace like
A B A B C A B C C
satisfies (w.r.t. A and B):
 RespondedExistence(A, B), RespondedExistence(B, A),
Response(A, B), AlternateResponse(A, B), ChainResponse(A, B),
Precedence(A, B), AlternatePrecedence(A, B), ChainPrecedence(A, B),
CoExistence(A, B), CoExistence(B, A),
Succession(A, B), AlternateSuccession(A, B), ChainSuccession(A, B)
 Among them, the mining algorithm should return only
the most restricting constraint – i.e., ChainSuccession(A, B)
 In order to face this issue, returned constraints
are pruned on the basis of the subsumption
hierarchy of constraints
SEITE 38
Pruning redundant constraints
1.0
1.0
1.0
1.01.0
1.0
1.0
1.0
1.0
1.0
1.0
✖
✖
✖
✖
✖
✖✖
✖✖
✖
SEITE 39
Pruning redundant constraints
0.8
0.8
0.9
0.90.9
0.9
0.7
0.7
0.9
0.9
0.9
✖ ✖
?
?
✖
✖
✖
?
?
S
u
p
p
o
r
t
✖
✖
✖
✖
SEITE 40
Mining declarative processes
RespondedExistence(A, B) 
RespondedExistence(A, C) ?
…
Response(A, B) 
Response(A, C) 
…
SEITE 41
Support Conf. I.F.
Mining declarative processes
RespondedExistence(A, B) 
RespondedExistence(A, C) ?
…
Response(A, B) 
Response(A, C) 
…
SEITE 42
Support Conf. I.F.
Mining declarative processes
RespondedExistence(A, B) 
RespondedExistence(A, C) 
…
Response(A, B) 
Response(A, C) 
…
SEITE 43
Support Conf. I.F.
http://github.com/cdc08x/minerful
Prom Nightly Builds > “Declare MINERful” plug-in
http://sourceforge.net/projects/prom/files/ProM/6.3
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Increase the expressiveness of discovered
models
 Specify templates
SEITE 44
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Increase the expressiveness of discovered
models
 Specify templates
Interlude
DECLARE & Regular Expressions
SEITE 45
Mining declarative processes
RespondedExistence(A, B)
RespondedExistence(A, C)
and
Response(A, B)
Response(A, C)
and
…
SEITE 46
Semantics of Declare:
Regular Expressions
SEITE 47
From constraints-based model
to FSA
SEITE 48
[^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*

Regular
Expression
Deterministic
Finite
State
Automaton
RespondedExistence(A, B)
RespondedExistence(A, C)
and
Response(A, B)
Response(A, C)
and
…
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Increase the expressiveness of discovered
models
Reprise
SEITE 49
While mining a real-life log…
SEITE 50
Time to challenge the X
SEITE 51

The result
SEITE 52
The problem
 When support threshold is lower than 100%,
constraints can be valid through most of the log, though being in conflict
 Example: an event log consists of two traces:
1. <A, B, A, B, A, B, C>
2. <A, B, A, B, A, C>
 Support threshold: 0.7
• a is always the first
 Init(A)
• c is always the last
 End(C)
• In 6 cases over 8 (75%), a and c do not directly follow
each other
 NotChainSuccession(A, C)
• In 5 cases over 7 (71.143%), b and c do not directly follow
each other
 NotChainSuccession(B, C)
SEITE 53
The problem
 When support threshold is lower than 100%,
constraints can be valid through most of the log, though being in conflict
 Example: an event log consists of two traces:
1. <A, B, A, B, A, B, C>
2. <A, B, A, B, A, C>
 Support threshold: 0.7
• a is always the first
 Init(A)
• c is always the last
 End(C)
• In 6 cases over 8 (75%), a and c do not directly follow
each other
 NotChainSuccession(A, C)
• In 5 cases over 7 (71.143%), a and b do not directly follow
each other
 NotChainSuccession(B, C)
 Question: what can be done right before C?
 inconsistency!
SEITE 54
The algorithm to detect
inconsistencies
SEITE 55

Init(a)
Participation(b)
AtMostOne(c)
End(c)
ChainPrecedence(a, b)
…
ChainSuccession(a, b)
Response(a, b)
ChainResponse(b, a)
NotChainSuccession(a, c)
ChainSuccession(b, a)
NotChainSuccession(b, c)
…
…
…
1
The algorithm to detect
inconsistencies

Init(a)
Participation(b)
AtMostOne(c)
End(c)
ChainPrecedence(a, b)
…
ChainSuccession(a, b)
Response(a, b)
ChainResponse(b, a)
NotChainSuccession(a, c) 
ChainSuccession(b, a)
NotChainSuccession(b, c)
…
…
…
1
2
SEITE 56 http://github.com/cdc08x/minerful
SEITE 57
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Increase the expressiveness of discovered
models
SEITE 58
© Granger, NYC, source: https://www.granger.com/
The application of the method
to minimise the model
 Rationale:
1. How to find redundancies among constraints?
 Use the automaton-model correspondence
 Same language recognised after the product?
 Main difference with the inconsistency-
checking algorithm
 Constraints having support 100% are checked for
redundancies
 More details in the paper
SEITE 59 http://github.com/cdc08x/minerful
The application of the method
to minimise the model
SEITE 60
BPIC 2012
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Inspect the imperative counterpart
 Simulate runs
 Increase the expressiveness of discovered
models
 Specify templates
SEITE 61
From declarative to imperative
models
SEITE 62
Response(Queued, Accepted)
NotChainSuccession(Queued, Completed)
Response(Queued, Completed)
NotChainSuccession(Queued, Unmatched)
Response(Accepted, Completed)
End(Completed)
NotSuccession(Completed, Unmatched)
AtMostOne(Unmatched)
RespondedExistence(Unmatched, Accepted)
AlternateResponse(Unmatched, Completed)



…
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Inspect the imperative counterpart
 Simulate runs
 Increase the expressiveness of discovered
models
 Specify templates
SEITE 63
Generation of logs
SEITE 64
http://github.com/cdc08x/minerful
http://github.com/processmining/synthetic-log-generator
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Inspect the imperative counterpart
 Simulate runs
 Increase the expressiveness of discovered
models
 Specify templates
SEITE 65
Target-Branched Declare
Support for
 Response(A, {B, C})
 1.0
B A A B A B C D
A A D B B A A D C
B A D D A D D A B E
C A B C
D A D B D
A E A C
A A A D B
D A D D B D
A A A D C D
A D D D A C
A A B
E D E B C E E C B E
SEITE 66
Activation
Target
Branching factor = 2
Objective
SEITE 67
+ Expressive Power
+ Conciseness
Evaluation:
constraints pruning
SEITE 68
BPI Challenge 2012
(0) 6,654,480 (1) 10,676 (2) 1446 (3) 12
Evaluation:
performance
SEITE 69
BPI Challenge 2012
(KB) 00:07.274 (Const’s) 25:51.678 (Total) 26:11.380
http://github.com/cdc08x/minerful
Make mined models
intelligible
 Prune irrelevant/redundant information
 Detect inconsistencies (yes, it happens)
 Picture what the model tells
 Inspect the imperative counterpart
 Simulate runs
 Increase the expressiveness of discovered
models
 Specify templates
SEITE 70
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 71
“Until”
“Eventually”“Always”
“Next”
Semantics of Declare:
LTL
SEITE 72
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 73
Extendibility of DECLARE:
A clear business impact
SEITE 74
Source: http://businessvalueexchange.com/
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 75
Semantics of Declare:
LTLf
SEITE 76
Semantics of Declare:
SCIFF
SEITE 77
Semantics of Declare:
R/I-nets
SEITE 78
Semantics of Declare:
FOL over finite traces
SEITE 79
Semantics of Declare:
Regular expressions
SEITE 80
More alternatives for DECLARE
spec.: A clear business impact
SEITE 81
Source: http://businessconsultantsnewyork.blogspot.co.at/
My long-term objective
 Establish an algebra of constraint templates,
built on a basis of behavioural relations that
are:
 orthogonal to one another (no entailments,
subsumptions…)
 covering multiple trace-based behavioural relations
definition languages by linear composition
 have clear semantics (last but for sure NOT least)
 ...
SEITE 82
Further reading
 Presented:
 About MINERful:
 Claudio Di Ciccio, Massimo Mecella: On the Discovery of Declarative Control Flows for Artful Processes. ACM Trans.
Management Inf. Syst. 5(4): 24:1-24:37 (2015)
 Simulation of DECLARE models:
 Claudio Di Ciccio, Mario Luca Bernardi, Marta Cimitile, Fabrizio Maria Maggi: Generating Event Logs Through the
Simulation of Declare Models. EOMAS@CAiSE 2015: 20-36
 Discovery of target-branched DECLARE models:
 Claudio Di Ciccio, Fabrizio Maria Maggi, Jan Mendling: Efficient discovery of Target-Branched Declare constraints. Inf.
Syst. 56: 258-283 (2016)
 Getting rid of redundancies and inconsistencies:
 Claudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali, Jan Mendling: Ensuring Model Consistency in Declarative
Process Discovery. BPM 2015: 144-159
 From DECLARE to Petri nets:
 Johannes Prescher, Claudio Di Ciccio, Jan Mendling: From Declarative Processes to Imperative Models. SIMPDA 2014:
162-173
 More:
 First steps towards data awareness of discovered DECLARE models:
 Stefan Schönig, Claudio Di Ciccio, Fabrizio Maria Maggi, Jan Mendling: Discovery of Multi-perspective Declarative
Process Models. ICSOC 2016: 87-103
 Against the little learnibility of DECLARE:
 Michael Hanser, Claudio Di Ciccio, Jan Mendling: A New Notational Framework for Declarative Process Modeling.
Softwaretechnik-Trends 36(2) (2016)
 Guarantee of the significance of discovered DECLARE models:
 Fabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio, Jan Mendling: Semantical Vacuity Detection in Declarative
Process Mining. BPM 2016: 158-175
SEITE 83

More Related Content

What's hot (20)

PPTX
テスト観点に関する取り組み事例
NaokiKashiwagura
 
PDF
“SharePoint Online Management Shell” をプログラムから実行する
Kosuke Kuromiya
 
PPTX
Spring と TDD
Takeshi Ogawa
 
PDF
Machine learning CI/CD with OSS
yusuke shibui
 
PDF
NoSQLデータベースと位置情報
Koji Ichiwaki
 
PPTX
7 Steps to a Successful ITSM Tool Implementation
Navvia
 
PDF
商流物流金流.pdf
Zenji Kanzaki
 
PPTX
レガシーコード改善のススメ
Akira Hirasawa
 
PDF
GUI自動テストの保守性を高めるには
Nozomi Ito
 
PPTX
Reactの全体像と新しい情報を収集する方法
プログラミングをする パンダ
 
PDF
Process Mining - Chapter 11 - Analyzing Lasagna Processes
Wil van der Aalst
 
PPTX
Process Mining Introduction
Vala Ali Rohani
 
PDF
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
SEGADevTech
 
PPTX
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
 
PDF
データとQC7つ道具を利用したDEVOPSプラクティスによる生産性改善
Rakuten Group, Inc.
 
PPTX
Architecting Microservices in .Net
Richard Banks
 
PPTX
テスト自動化とアーキテクチャ
Toru Koido
 
PDF
Apresentação Conceitual de RPA com Automation Anywhere
Eduardo Britto
 
PPTX
6 Ways to Measure the ROI of Automated Testing
SmartBear
 
PDF
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Intel® Software
 
テスト観点に関する取り組み事例
NaokiKashiwagura
 
“SharePoint Online Management Shell” をプログラムから実行する
Kosuke Kuromiya
 
Spring と TDD
Takeshi Ogawa
 
Machine learning CI/CD with OSS
yusuke shibui
 
NoSQLデータベースと位置情報
Koji Ichiwaki
 
7 Steps to a Successful ITSM Tool Implementation
Navvia
 
商流物流金流.pdf
Zenji Kanzaki
 
レガシーコード改善のススメ
Akira Hirasawa
 
GUI自動テストの保守性を高めるには
Nozomi Ito
 
Reactの全体像と新しい情報を収集する方法
プログラミングをする パンダ
 
Process Mining - Chapter 11 - Analyzing Lasagna Processes
Wil van der Aalst
 
Process Mining Introduction
Vala Ali Rohani
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
SEGADevTech
 
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
 
データとQC7つ道具を利用したDEVOPSプラクティスによる生産性改善
Rakuten Group, Inc.
 
Architecting Microservices in .Net
Richard Banks
 
テスト自動化とアーキテクチャ
Toru Koido
 
Apresentação Conceitual de RPA com Automation Anywhere
Eduardo Britto
 
6 Ways to Measure the ROI of Automated Testing
SmartBear
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Intel® Software
 

Viewers also liked (20)

PDF
IPAC Brochure
splitt1224
 
PPTX
Diaposotivas proyecto futuro I Oscar David G.M
Oscar David Gonzalez Montoya
 
PPTX
Del mito al logo
naxo luz
 
PPT
Jakou učebnici fyziky pro 21. století?
Faculty of Science, Palacký University
 
DOCX
Lesson plan 8 octavo basico question words in the present
Rafael Alejandro
 
PDF
WSI Video Marketing Packages 2016
EworksWSI Cyprus
 
PPTX
Agenda networker
Wilhelm Lappe
 
PPTX
Vivienda jacal
Leonardo Lira Tovar
 
PPS
Cesar vallejo
Juan F.Guevara
 
DOCX
Laboratorio de física II Ley de Ohm
Jeimy Johanna Itaz Papamija
 
PPT
Ritmos circadianos
jruizmed
 
PPT
Memorias Usb y Aplicaciones Portables
Carlos Soler
 
PPTX
Semantical Vacuity Detection in Declarative Process Mining
Claudio Di Ciccio
 
PPTX
TEDxGhent 2016 PhD Contest
Jan Claes
 
PPTX
Hoe business intelligence zich verhoudt tot process mining
O&i Management Consultants
 
PDF
Informe final metodología de la Investigación 2
Jorge Fernando Noriega Padilla
 
PPT
Travesías entre refugios
guiandosentidos
 
PDF
2015-Polyform Catalog
Polyform Products
 
DOCX
Un largo bertedero con barquitos de papel
Daniel Dagna
 
IPAC Brochure
splitt1224
 
Diaposotivas proyecto futuro I Oscar David G.M
Oscar David Gonzalez Montoya
 
Del mito al logo
naxo luz
 
Jakou učebnici fyziky pro 21. století?
Faculty of Science, Palacký University
 
Lesson plan 8 octavo basico question words in the present
Rafael Alejandro
 
WSI Video Marketing Packages 2016
EworksWSI Cyprus
 
Agenda networker
Wilhelm Lappe
 
Vivienda jacal
Leonardo Lira Tovar
 
Cesar vallejo
Juan F.Guevara
 
Laboratorio de física II Ley de Ohm
Jeimy Johanna Itaz Papamija
 
Ritmos circadianos
jruizmed
 
Memorias Usb y Aplicaciones Portables
Carlos Soler
 
Semantical Vacuity Detection in Declarative Process Mining
Claudio Di Ciccio
 
TEDxGhent 2016 PhD Contest
Jan Claes
 
Hoe business intelligence zich verhoudt tot process mining
O&i Management Consultants
 
Informe final metodología de la Investigación 2
Jorge Fernando Noriega Padilla
 
Travesías entre refugios
guiandosentidos
 
2015-Polyform Catalog
Polyform Products
 
Un largo bertedero con barquitos de papel
Daniel Dagna
 
Ad

Similar to Automated Discovery of Declarative Process Models (20)

PPTX
Ensuring Model Consistency in Declarative Process Discovery
Claudio Di Ciccio
 
PPTX
Resolving Inconsistencies and Redundancies in Declarative Process Models
Claudio Di Ciccio
 
PDF
Compliance monitoring of multi-perspective declarative process models
Faculty of Computer Science - Free University of Bozen-Bolzano
 
PPTX
Introduction to the declarative specification of processes
Claudio Di Ciccio
 
PPTX
Declarative Specification of Processes: Discovery and Reasoning
Claudio Di Ciccio
 
PPTX
Discovering Target-Branched Declare Constraints
Claudio Di Ciccio
 
PPT
BPMN process views construction
Dr. Sira Yongchareon
 
PPT
Process Mining: Data Science in Action - Wil van der Aalst, TU/e, DSC/e, HSE
Yandex
 
PPT
User guided discovery of declarative process models
fmaggi
 
PPT
Process Mining Reloaded: Event Structures as a Unified Representation of Proc...
Marlon Dumas
 
PDF
A Model-Driven Approach to Trace Checking of Pattern-based Temporal Properties
Lionel Briand
 
PDF
A constraint programming based approach to
abirISECS
 
PPTX
Wrokflow programming and provenance query model
Rayhan Ferdous
 
PPT
Debs 2011 pattern rewritingforeventprocessingoptimization
Opher Etzion
 
PDF
The Power Of Event Chapter 6
Woojin Joe
 
PDF
ILIKS2010 - Montali - Monitoring Time-Aware Commitments
Faculty of Computer Science - Free University of Bozen-Bolzano
 
PDF
Invited Seminar@KRDB 2010 - Montali - Specification and Verification of Decla...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
PPTX
An Event Calculus for Event Recognition in Symbolic Artificial Intelligence
amratzubair
 
PPTX
Complete and Interpretable Conformance Checking of Business Processes
Marlon Dumas
 
PDF
Discovering Concurrency: Learning (Business) Process Models from Examples
Wil van der Aalst
 
Ensuring Model Consistency in Declarative Process Discovery
Claudio Di Ciccio
 
Resolving Inconsistencies and Redundancies in Declarative Process Models
Claudio Di Ciccio
 
Compliance monitoring of multi-perspective declarative process models
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Introduction to the declarative specification of processes
Claudio Di Ciccio
 
Declarative Specification of Processes: Discovery and Reasoning
Claudio Di Ciccio
 
Discovering Target-Branched Declare Constraints
Claudio Di Ciccio
 
BPMN process views construction
Dr. Sira Yongchareon
 
Process Mining: Data Science in Action - Wil van der Aalst, TU/e, DSC/e, HSE
Yandex
 
User guided discovery of declarative process models
fmaggi
 
Process Mining Reloaded: Event Structures as a Unified Representation of Proc...
Marlon Dumas
 
A Model-Driven Approach to Trace Checking of Pattern-based Temporal Properties
Lionel Briand
 
A constraint programming based approach to
abirISECS
 
Wrokflow programming and provenance query model
Rayhan Ferdous
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Opher Etzion
 
The Power Of Event Chapter 6
Woojin Joe
 
ILIKS2010 - Montali - Monitoring Time-Aware Commitments
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Invited Seminar@KRDB 2010 - Montali - Specification and Verification of Decla...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
An Event Calculus for Event Recognition in Symbolic Artificial Intelligence
amratzubair
 
Complete and Interpretable Conformance Checking of Business Processes
Marlon Dumas
 
Discovering Concurrency: Learning (Business) Process Models from Examples
Wil van der Aalst
 
Ad

More from Claudio Di Ciccio (10)

PDF
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
PDF
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
PDF
Look but don’t touch: On the impalpable bond between blockchain and process
Claudio Di Ciccio
 
PPTX
Measurement of Rule-based LTLf Declarative Process Specifications
Claudio Di Ciccio
 
PDF
Blockchain and smart contracts: infrastructure and platforms
Claudio Di Ciccio
 
PPTX
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Claudio Di Ciccio
 
PDF
Execution of business processes on the blockchain
Claudio Di Ciccio
 
PPTX
Blockchain based traceability of inter-organisational business processes
Claudio Di Ciccio
 
PPTX
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Claudio Di Ciccio
 
PPTX
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Claudio Di Ciccio
 
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
“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
Claudio Di Ciccio
 
Measurement of Rule-based LTLf Declarative Process Specifications
Claudio Di Ciccio
 
Blockchain and smart contracts: infrastructure and platforms
Claudio Di Ciccio
 
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Claudio Di Ciccio
 
Execution of business processes on the blockchain
Claudio Di Ciccio
 
Blockchain based traceability of inter-organisational business processes
Claudio Di Ciccio
 
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Claudio Di Ciccio
 
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Claudio Di Ciccio
 

Recently uploaded (20)

PPT
DATALINK CONTROL and it's functional programming
karunanidhilithesh
 
PDF
Incident Response and Digital Forensics Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
List of all the AI prompt cheat codes.pdf
Avijit Kumar Roy
 
PPT
Lecture 2-1.ppt at a higher learning institution such as the university of Za...
rachealhantukumane52
 
PDF
Dr. Robert Krug - Chief Data Scientist At DataInnovate Solutions
Dr. Robert Krug
 
PDF
Context Engineering vs. Prompt Engineering, A Comprehensive Guide.pdf
Tamanna
 
PDF
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
DOC
MATRIX_AMAN IRAWAN_20227479046.docbbbnnb
vanitafiani1
 
PDF
AUDITABILITY & COMPLIANCE OF AI SYSTEMS IN HEALTHCARE
GAHI Youssef
 
PDF
NRRM 200 Statistics on Bycatch's Effects on Marine Mammals Slideshow.pdf
Rowan Sales
 
PDF
T2_01 Apuntes La Materia.pdfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxskksk
mathiasdasilvabarcia
 
PPTX
Resmed Rady Landis May 4th - analytics.pptx
Adrian Limanto
 
PPTX
Exploring Multilingual Embeddings for Italian Semantic Search: A Pretrained a...
Sease
 
PDF
The X-Press God-WPS Office.pdf hdhdhdhdhd
ramifatoh4
 
PPT
dsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasassas2.ppt
UzairAfzal13
 
PPTX
AI Project Cycle and Ethical Frameworks.pptx
RiddhimaVarshney1
 
PPTX
Slide studies GC- CRC - PC - HNC baru.pptx
LLen8
 
PPTX
加拿大尼亚加拉学院毕业证书{Niagara在读证明信Niagara成绩单修改}复刻
Taqyea
 
PPTX
fashion industry boom.pptx an economics project
TGMPandeyji
 
PDF
Responsibilities of a Certified Data Engineer | IABAC
Seenivasan
 
DATALINK CONTROL and it's functional programming
karunanidhilithesh
 
Incident Response and Digital Forensics Certificate
VICTOR MAESTRE RAMIREZ
 
List of all the AI prompt cheat codes.pdf
Avijit Kumar Roy
 
Lecture 2-1.ppt at a higher learning institution such as the university of Za...
rachealhantukumane52
 
Dr. Robert Krug - Chief Data Scientist At DataInnovate Solutions
Dr. Robert Krug
 
Context Engineering vs. Prompt Engineering, A Comprehensive Guide.pdf
Tamanna
 
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
MATRIX_AMAN IRAWAN_20227479046.docbbbnnb
vanitafiani1
 
AUDITABILITY & COMPLIANCE OF AI SYSTEMS IN HEALTHCARE
GAHI Youssef
 
NRRM 200 Statistics on Bycatch's Effects on Marine Mammals Slideshow.pdf
Rowan Sales
 
T2_01 Apuntes La Materia.pdfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxskksk
mathiasdasilvabarcia
 
Resmed Rady Landis May 4th - analytics.pptx
Adrian Limanto
 
Exploring Multilingual Embeddings for Italian Semantic Search: A Pretrained a...
Sease
 
The X-Press God-WPS Office.pdf hdhdhdhdhd
ramifatoh4
 
dsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasassas2.ppt
UzairAfzal13
 
AI Project Cycle and Ethical Frameworks.pptx
RiddhimaVarshney1
 
Slide studies GC- CRC - PC - HNC baru.pptx
LLen8
 
加拿大尼亚加拉学院毕业证书{Niagara在读证明信Niagara成绩单修改}复刻
Taqyea
 
fashion industry boom.pptx an economics project
TGMPandeyji
 
Responsibilities of a Certified Data Engineer | IABAC
Seenivasan
 

Automated Discovery of Declarative Process Models

  • 1. The Automated Discovery of Declarative Process Models Claudio Di Ciccio [email protected] Humboldt-Universität zu Berlin, 7 December 2016
  • 3. Control-flow discovery ? Objective: understanding the temporal structure that best describes the process behind the event log SEITE 3
  • 7. Declarative modelling of processes  Usage of constraints  “Open model”  Declare  state-of-the-art language If A is performed, B must be performed, no matter if before or afterwards (responded existence) Whenever B is performed, C must be performed afterwards and B can not be repeated until C is done (alternate response) SEITE 7
  • 8. Workflow Nets as process models SEITE 8
  • 11. 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 11
  • 12. 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 12 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
  • 13. A fragment of declarative process model SEITE 13 Submit abstract Write new paper Submit paper Send confirmation email Review paper Accept paper Reject paper
  • 14. Declare: Existence Constraint Templates Existence(n, A) Activity A occurs at least n times in the process instance BCAAC ✓ BCAAAC ✓ BCAC ✗ (for n = 2) Absence(A) Activity A does not occur in the process instance BCC ✓ BCAC ✗ Absence(n+1, A) Activity A occurs at most n-1 times in the process instance BCAAC ✗ BCAC ✓ BCC ✓ (for n = 2) Exactly(n, A) Activity A occurs exactly n times in the process instance BCAAC ✓ BCAAAC ✗ BCAC ✗ (for n = 2) Init(A) Activity A is the first to occur in each process instance BCAAC ✗ ACAAAC ✓ BCC ✗ Absence(2, A) ≡ AtMostOne(A) Existence(1, A) ≡ Participation(A) SEITE 14
  • 15. Declare: Relation Constraint Templates RespondedExistence(A, B) If A occurs in the process instance, then B occurs as well CAC ✗ CAACB ✓ BCAC ✓ BCC ✓ SEITE 15
  • 16. Declare: Relation Constraint Templates RespondedExistence(A, B) If A occurs in the process instance, then B occurs as well CAC ✗ CAACB ✓ BCAC ✓ BCC ✓ Response(A, B) If A occurs in the process instance, then B occurs after A BCAAC ✗ CAACB ✓ CAC ✗ BCC ✓ SEITE 16
  • 17. Declare: Relation Constraint Templates RespondedExistence(A, B) If A occurs in the process instance, then B occurs as well CAC ✗ CAACB ✓ BCAC ✓ BCC ✓ Response(A, B) If A occurs in the process instance, then B occurs after A BCAAC ✗ CAACB ✓ CAC ✗ BCC ✓ AlternateResponse(A, B) Each time A occurs in the process instance, then B occurs afterwards, before A recurs BCAAC ✗ CAACB ✗ CACB ✓ CABCA ✗ BCC ✓ CACBBAB ✓ SEITE 17
  • 18. Declare: Relation Constraint Templates RespondedExistence(A, B) If A occurs in the process instance, then B occurs as well CAC ✗ CAACB ✓ BCAC ✓ BCC ✓ Response(A, B) If A occurs in the process instance, then B occurs after A BCAAC ✗ CAACB ✓ CAC ✗ BCC ✓ AlternateResponse(A, B) Each time A occurs in the process instance, then B occurs afterwards, before A recurs BCAAC ✗ CAACB ✗ CACB ✓ CABCA ✗ BCC ✓ CACBBAB ✓ ChainResponse(A, B) Each time A occurs in the process instance, then B occurs immediately afterwards BCAAC ✗ BCAABC ✗ BCABABC ✓ Activation Target
  • 19. Declare: Relation Constraint Templates RespondedExistence(B, A) If B occurs in the process instance, then A occurs as well CAC ✓ CAACB ✓ BCAC ✓ BCC ✗ Precedence(A, B) B occurs in the process instance only if preceded by A BCAAC ✗ CAACB ✓ CAC ✓ BCC ✓ AlternatePrecedence(A, B) Each time B occurs in the process instance, it is preceded by A and no other B can recur in between BCAAC ✗ CAACB ✓ CACB ✓ CABCA ✓ BCC ✗ CACBAB ✓ ChainPrecedence(A, B) Each time B occurs in the process instance, then B occurs immediately beforehand BCAAC ✗ BCAABC ✗ CABABCA ✓ Target Activation
  • 20. Declare: Relation Constraint Templates CoExistence(A, B) ≡ Resp’dEx.(A, B) ∧ Resp’dEx.(B, A) If B occurs in the process instance, then A occurs, and viceversa CAC ✗ CAACB ✓ BCAC ✓ BCC ✗ Succession(A, B) ≡ Response(A, B) ∧ Precedence(A, B) A occurs if and only if it is followed by B in the process instance BCAAC ✗ CAACB ✓ CAC ✗ BCC ✗ AlternateSuccession(A, B) ≡ Alt.Resp.(A, B) ∧ Alt.Prec.(A, B) A and B occur in the process instance if and only if the latter follows the former, and they alternate each other in the trace BCAAC ✗ CAACB ✗ CACB ✓ CABCA ✗ BCC ✗ CACBAB ✓ ChainSuccession(A, B) ≡ ChainResp.(A, B) ∧ ChainPrec.(A, B) A and B occur in the process instance if and only if the latter immediately follows the former BCAAC ✗ BCAABC ✗ CABABC ✓ Activation Target Target Activation
  • 21. Declare: Negative Relation Constraint Templates NotCoExistence(A, B) A and B never occur together in the process instance CAC ✓ CAACB ✗ BCAC ✗ BCC ✓ NotSuccession(A, B) A can never occur before B in the process instance BCAAC ✓ CAACB ✗ CAC ✓ BCC ✓ NotChainSuccession(A, B) A and B occur in the process instance if and only if the latter does not immediately follows the former BCAAC ✓ BCAABC ✗ CBACBA ✓ Activation Target Target Activation
  • 24. Constraints mining ? Objective: understanding the constraints that best define the allowed behaviour of the process behind the event log SEITE 24
  • 25. Mining declarative processes: ingredients “Submit abstract”, “Submit paper”, “Accept paper”, … SEITE 25 A, B, C, … Activities Process alphabet
  • 26. Mining declarative processes RespondedExistence(A, B) ? RespondedExistence(A, C) ? … Response(A, B) ? Response(A, C) ? … SEITE 26 • Support: fraction of cases fulfilling the constraint • Confidence: support scaled by fraction of traces in which the activation occurs • Interest factor: confidence scaled by fraction of traces in which the target occurs Support Conf. I.F.
  • 27. Mining declarative processes RespondedExistence(A, B) ? RespondedExistence(A, C) ? … Response(A, B) ? Response(A, C) ? … SEITE 27 Support Conf. I.F. • 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
  • 28. Mining declarative processes RespondedExistence(A, B)  RespondedExistence(A, C)  … Response(A, B) ? Response(A, C)  … SEITE 28 Support Conf. I.F. • 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
  • 29. Mining declarative processes RespondedExistence(A, B)  RespondedExistence(A, C)  … Response(A, B)  Response(A, C)  … SEITE 29 Support Conf. I.F. • 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
  • 30. Constraints mining An example SEITE 30 A A B C A B C A C B C D A C C A B B C B C A C B B D C C C C C A A B C A A B A A B A B B B D C B A B D A B B D A A A C A C B D A B C D C A B A A C C B B D B C C D C A A C C C A A B C B C C B D
  • 31. The role of Support (event-based) A A B C A B C A C B C D A C C A B B C B C A C B B D C C C C C A A B C A A B A A B A B B B D C B A B D A B B D A A A C A C B D A B C D C A B A A C C B B D B C C D C A A C C C A A B C B C C B D  Support for  Response(A, B)  1.0  Precedence(A, B)  0.926 (25/27)  Pruning on the basis of a support threshold  E.g., 0.95  A threshold equal to 1.0 for a constraint means “always valid in the log” Activation Target Target Activation SEITE 31 http://github.com/cdc08x/minerful Prom Nightly Builds > “Declare MINERful” plug-in
  • 32. The role of Support (trace-based) A A B C A B C A C B C D A C C A B B C B C A C B B D C C C C C A A B C A A B A A B A B B B D C B A B D A B B D A A A C A C B D A B C D C A B A A C C B B D B C C D C A A C C C A A B C B C C B D  Support for  Response(A, B)  1.0  Precedence(A, B)  0.818 (9/11)  Pruning on the basis of a support threshold  E.g., 0.95  A threshold equal to 1.0 for a constraint means “always valid in the log” SEITE 32 http://sourceforge.net/projects/prom/files/ProM/6.3
  • 36. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Increase the expressiveness of discovered models  Specify templates SEITE 36
  • 37. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Increase the expressiveness of discovered models  Specify templates SEITE 37 © Granger, NYC, source: https://www.granger.com/
  • 38. Redundancies in discovered constraints  E.g.,  A trace like A B A B C A B C C satisfies (w.r.t. A and B):  RespondedExistence(A, B), RespondedExistence(B, A), Response(A, B), AlternateResponse(A, B), ChainResponse(A, B), Precedence(A, B), AlternatePrecedence(A, B), ChainPrecedence(A, B), CoExistence(A, B), CoExistence(B, A), Succession(A, B), AlternateSuccession(A, B), ChainSuccession(A, B)  Among them, the mining algorithm should return only the most restricting constraint – i.e., ChainSuccession(A, B)  In order to face this issue, returned constraints are pruned on the basis of the subsumption hierarchy of constraints SEITE 38
  • 40. Pruning redundant constraints 0.8 0.8 0.9 0.90.9 0.9 0.7 0.7 0.9 0.9 0.9 ✖ ✖ ? ? ✖ ✖ ✖ ? ? S u p p o r t ✖ ✖ ✖ ✖ SEITE 40
  • 41. Mining declarative processes RespondedExistence(A, B)  RespondedExistence(A, C) ? … Response(A, B)  Response(A, C)  … SEITE 41 Support Conf. I.F.
  • 42. Mining declarative processes RespondedExistence(A, B)  RespondedExistence(A, C) ? … Response(A, B)  Response(A, C)  … SEITE 42 Support Conf. I.F.
  • 43. Mining declarative processes RespondedExistence(A, B)  RespondedExistence(A, C)  … Response(A, B)  Response(A, C)  … SEITE 43 Support Conf. I.F. http://github.com/cdc08x/minerful Prom Nightly Builds > “Declare MINERful” plug-in http://sourceforge.net/projects/prom/files/ProM/6.3
  • 44. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Increase the expressiveness of discovered models  Specify templates SEITE 44
  • 45. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Increase the expressiveness of discovered models  Specify templates Interlude DECLARE & Regular Expressions SEITE 45
  • 46. Mining declarative processes RespondedExistence(A, B) RespondedExistence(A, C) and Response(A, B) Response(A, C) and … SEITE 46
  • 47. Semantics of Declare: Regular Expressions SEITE 47
  • 48. From constraints-based model to FSA SEITE 48 [^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*  Regular Expression Deterministic Finite State Automaton RespondedExistence(A, B) RespondedExistence(A, C) and Response(A, B) Response(A, C) and …
  • 49. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Increase the expressiveness of discovered models Reprise SEITE 49
  • 50. While mining a real-life log… SEITE 50
  • 51. Time to challenge the X SEITE 51 
  • 53. The problem  When support threshold is lower than 100%, constraints can be valid through most of the log, though being in conflict  Example: an event log consists of two traces: 1. <A, B, A, B, A, B, C> 2. <A, B, A, B, A, C>  Support threshold: 0.7 • a is always the first  Init(A) • c is always the last  End(C) • In 6 cases over 8 (75%), a and c do not directly follow each other  NotChainSuccession(A, C) • In 5 cases over 7 (71.143%), b and c do not directly follow each other  NotChainSuccession(B, C) SEITE 53
  • 54. The problem  When support threshold is lower than 100%, constraints can be valid through most of the log, though being in conflict  Example: an event log consists of two traces: 1. <A, B, A, B, A, B, C> 2. <A, B, A, B, A, C>  Support threshold: 0.7 • a is always the first  Init(A) • c is always the last  End(C) • In 6 cases over 8 (75%), a and c do not directly follow each other  NotChainSuccession(A, C) • In 5 cases over 7 (71.143%), a and b do not directly follow each other  NotChainSuccession(B, C)  Question: what can be done right before C?  inconsistency! SEITE 54
  • 55. The algorithm to detect inconsistencies SEITE 55  Init(a) Participation(b) AtMostOne(c) End(c) ChainPrecedence(a, b) … ChainSuccession(a, b) Response(a, b) ChainResponse(b, a) NotChainSuccession(a, c) ChainSuccession(b, a) NotChainSuccession(b, c) … … … 1
  • 56. The algorithm to detect inconsistencies  Init(a) Participation(b) AtMostOne(c) End(c) ChainPrecedence(a, b) … ChainSuccession(a, b) Response(a, b) ChainResponse(b, a) NotChainSuccession(a, c)  ChainSuccession(b, a) NotChainSuccession(b, c) … … … 1 2 SEITE 56 http://github.com/cdc08x/minerful
  • 58. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Increase the expressiveness of discovered models SEITE 58 © Granger, NYC, source: https://www.granger.com/
  • 59. The application of the method to minimise the model  Rationale: 1. How to find redundancies among constraints?  Use the automaton-model correspondence  Same language recognised after the product?  Main difference with the inconsistency- checking algorithm  Constraints having support 100% are checked for redundancies  More details in the paper SEITE 59 http://github.com/cdc08x/minerful
  • 60. The application of the method to minimise the model SEITE 60 BPIC 2012
  • 61. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Inspect the imperative counterpart  Simulate runs  Increase the expressiveness of discovered models  Specify templates SEITE 61
  • 62. From declarative to imperative models SEITE 62 Response(Queued, Accepted) NotChainSuccession(Queued, Completed) Response(Queued, Completed) NotChainSuccession(Queued, Unmatched) Response(Accepted, Completed) End(Completed) NotSuccession(Completed, Unmatched) AtMostOne(Unmatched) RespondedExistence(Unmatched, Accepted) AlternateResponse(Unmatched, Completed)    …
  • 63. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Inspect the imperative counterpart  Simulate runs  Increase the expressiveness of discovered models  Specify templates SEITE 63
  • 64. Generation of logs SEITE 64 http://github.com/cdc08x/minerful http://github.com/processmining/synthetic-log-generator
  • 65. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Inspect the imperative counterpart  Simulate runs  Increase the expressiveness of discovered models  Specify templates SEITE 65
  • 66. Target-Branched Declare Support for  Response(A, {B, C})  1.0 B A A B A B C D A A D B B A A D C B A D D A D D A B E C A B C D A D B D A E A C A A A D B D A D D B D A A A D C D A D D D A C A A B E D E B C E E C B E SEITE 66 Activation Target Branching factor = 2
  • 67. Objective SEITE 67 + Expressive Power + Conciseness
  • 68. Evaluation: constraints pruning SEITE 68 BPI Challenge 2012 (0) 6,654,480 (1) 10,676 (2) 1446 (3) 12
  • 69. Evaluation: performance SEITE 69 BPI Challenge 2012 (KB) 00:07.274 (Const’s) 25:51.678 (Total) 26:11.380 http://github.com/cdc08x/minerful
  • 70. Make mined models intelligible  Prune irrelevant/redundant information  Detect inconsistencies (yes, it happens)  Picture what the model tells  Inspect the imperative counterpart  Simulate runs  Increase the expressiveness of discovered models  Specify templates SEITE 70
  • 71. 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 71 “Until” “Eventually”“Always” “Next”
  • 73. 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 73
  • 74. Extendibility of DECLARE: A clear business impact SEITE 74 Source: http://businessvalueexchange.com/
  • 75. 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 75
  • 79. Semantics of Declare: FOL over finite traces SEITE 79
  • 80. Semantics of Declare: Regular expressions SEITE 80
  • 81. More alternatives for DECLARE spec.: A clear business impact SEITE 81 Source: http://businessconsultantsnewyork.blogspot.co.at/
  • 82. My long-term objective  Establish an algebra of constraint templates, built on a basis of behavioural relations that are:  orthogonal to one another (no entailments, subsumptions…)  covering multiple trace-based behavioural relations definition languages by linear composition  have clear semantics (last but for sure NOT least)  ... SEITE 82
  • 83. Further reading  Presented:  About MINERful:  Claudio Di Ciccio, Massimo Mecella: On the Discovery of Declarative Control Flows for Artful Processes. ACM Trans. Management Inf. Syst. 5(4): 24:1-24:37 (2015)  Simulation of DECLARE models:  Claudio Di Ciccio, Mario Luca Bernardi, Marta Cimitile, Fabrizio Maria Maggi: Generating Event Logs Through the Simulation of Declare Models. EOMAS@CAiSE 2015: 20-36  Discovery of target-branched DECLARE models:  Claudio Di Ciccio, Fabrizio Maria Maggi, Jan Mendling: Efficient discovery of Target-Branched Declare constraints. Inf. Syst. 56: 258-283 (2016)  Getting rid of redundancies and inconsistencies:  Claudio Di Ciccio, Fabrizio Maria Maggi, Marco Montali, Jan Mendling: Ensuring Model Consistency in Declarative Process Discovery. BPM 2015: 144-159  From DECLARE to Petri nets:  Johannes Prescher, Claudio Di Ciccio, Jan Mendling: From Declarative Processes to Imperative Models. SIMPDA 2014: 162-173  More:  First steps towards data awareness of discovered DECLARE models:  Stefan Schönig, Claudio Di Ciccio, Fabrizio Maria Maggi, Jan Mendling: Discovery of Multi-perspective Declarative Process Models. ICSOC 2016: 87-103  Against the little learnibility of DECLARE:  Michael Hanser, Claudio Di Ciccio, Jan Mendling: A New Notational Framework for Declarative Process Modeling. Softwaretechnik-Trends 36(2) (2016)  Guarantee of the significance of discovered DECLARE models:  Fabrizio Maria Maggi, Marco Montali, Claudio Di Ciccio, Jan Mendling: Semantical Vacuity Detection in Declarative Process Mining. BPM 2016: 158-175 SEITE 83