Aligning Event Logs And
Declare Models for
Conformance Checking
Massimiliano de Leoni,
Fabrizio Maggi
Wil van der Aalst
Conformance Checking of Declare Models
• A large stream of research about conformance checking
of procedural models
• For declarative models, existing approach tends to
provide poor diagnostics.
• Impossible to determine to which extent traces are
conforming
− Only yes/no answers are provided
− Only capable to determine whether single constraints are
violated
• No way to pinpoint where deviations mostly occur and how
they can be fixed
PAGE 1
Contribution
• Aligning Event Logs And Declare Models for
Conformance Checking, thus
• Pinpointing where deviations occur for each trace
• Highlighting which Declare constraints and activities are
more subject to misconformances.
• For Declarative model, everything is allowed unless
explicitly forbidden.
• The set of behaviours is far larger, compared with
procedural models
• Essential to prevent from visiting large portions of the
search space
PAGE 2
Example / 1
• Declare model D = (A,Π) where
• A is a set of activities
• Π is a set of Declare constraints over A.
PAGE 3
Log Preprocessing
• The activity set in the log may include all model activities and more
• Every activity in the log is mapped to √ if it does not have counterpart in
the model
• Not possible to simply ignore log activities with no counterpart, due to the
«next» operator!
L = < Register; Low Insurance Check; Create Questionnaire; Prepare Notification
Content; Create Questionnaire; Send Notification by e-mail; Send Notification by
Post; Archive >
L = < √; Low Insurance Check; Create Questionnaire; √; Create Questionnaire;
√; √; √ >
PAGE 4
Process Behaviour Set
• For each constraint, an automaton is created.
• All automata are defined over the input alphabet ∑ = A ⋃ { √ }
• The process behaviour set PD= ∑* is the set of sequences
accepted by all automata π ϵ Π
PAGE 5
Aligning Declare Models and Logs
“Complete”
Not a “complete”
L = < √;alignment!
Low Insurance Check; Create Questionnaire;
√; Create Questionnaire;
alignment!
√; √; √ >
PAGE 6
Alignment cost
• The cost of each alignment step is given by a function:
• k : ∑A N0 where ∑A =( ∑ ⋃ { } ) x ( ∑ ⋃ { } ) / {(, )}
• The cost of an alignment γ ϵ ∑A* is:
• K(γ) = ∑(a’,a’’) ϵ γ k(a’,a’’)
<x>
2
3
√
2
2
3
1
1
2
3
2
3
1
2
2
2
1
2
<y>
1
: Cost of “move
on model”
: Cost of “move
on log”
PAGE 7
Optimal alignment
• Given a log trace σL and a declare model D, we aim at
find an optimal alignment μ’ between σL and D
− Optimal alignment only if complete alignment
− For all possible complete alignments μ’ between σL and D,
K(γ) >= K(γ’)
• In order to find an optimal alignment, we use the A*
algorithm.
• SEARCH-SPACE NODES: alignments
• SUCCESSORS OF A NODE: alignments extended with a
move in both or, else, with a move only in log/process
• GOAL NODES: complete alignments
PAGE 8
Strategy: Best First Search based on
heuristics (A*)
Search Space Tree
…
2
Cost
…
3
Cost
…
5
Cost
1
…
6
Cost
Cost
…
7
4
Cost
Cost
• Expand a state with the least
cost until the state with the
least cost is also a goal state
• The cost of a certain state is
determined as the sum of two
parts:
1. The actual cost undertaken
to reach the current state
from the initial state
2. The estimated cost to reach
a final state from the current
state
PAGE 9
Pruning of the search space
• Declare models allow for more flexibility.
• The search space in the A* algorithm may be extremely
large.
• Important to prune the search space for «useless»
nodes, i.e. certaintly yielding no optimal solutions.
PAGE 10
Pruning: Alignment Equivalence
• Alignments can be divided in
equivalence classes
• Two alignments are equivalent:
•
•
All automata are in the same
state, after giving the aligned
process as input
They align the same sequence
prefix of the log trace
PAGE 11
Alignment Equivalence & Pruning
• Equivalent alignment can
be extended with the same
alignment steps
𝛾0
𝐾(𝛾𝐵 ∙ < (𝐴′1 , 𝐴′′1 ); … ; (𝐴′𝑁 , 𝐴′′𝑁 ) >) =
𝐾(𝛾𝐵 ) + 𝐾(< (𝐴′1 , 𝐴′′1 ); … ; (𝐴′𝑁 , 𝐴′′𝑁 ) >)
𝛾𝐴
𝛾𝐴 ~ 𝛾𝐵
𝐾(𝛾𝐴 ) ≤ 𝐾(𝛾𝐵 )
𝛾𝐵
which is greater than (or equals to)
𝐾(𝛾𝐴 ) + 𝐾(< (𝐴′1 , 𝐴′′1 ); … ; (𝐴′𝑁 , 𝐴′′𝑁 ) >)
𝛾𝐵 ∙ < (𝐴′1 , 𝐴′′1 ); … ; (𝐴′𝑁 , 𝐴′′𝑁 ) >
𝛾𝐴 ∙ < (𝐴′1 , 𝐴′′1 ); … ; (𝐴′𝑁 , 𝐴′′𝑁 ) >
PAGE 12
Performance Experiments on Synthetic
Logs
• Generated a set of synthetic logs using CPNTools with
various degrees of non-conformance: 0% till 90% of
constraints are violated.
PAGE 13
Performances on the WABO Log
• Used 2 logs from the «WABO» Logs.
• We have mined a Declare Model from the first log
• We have checked the conformance of the mined model
again the second log.
PAGE 14
Why do I need this move?
• Our technique is capable to indicate the constraint(s)
which are solved by a move only in log/model
Replaying on all
automata
to check
acceptance
√ LIC CQ √ CQ SQ √ √ √
√ CQ √ CQ SQ √ √ √
NOT ACCEPTED
BY THE
RESPONSE
AUTOMATON
Replaying on all automata
to check acceptance
NOT ACCEPTED
BY THE
CO-EXISTENCE
AUTOMATON
PAGE 15
A Screenshot
PAGE 16
Diagnostics at Log Level
• Not easy to sum up where deviations mostly occurrence
by looking at the simple alignments.
of Constraint
Conform.
• Degree
Computation
of the «Degree
of Conformance» of activities
and constraints and projection on the model
Degree of Activity Conform.
PAGE 17
Conclusion
• Many conformance checking approaches defined for
procedural models not applicable to declarative models
• Many approaches tend to provide poor diagnostics
• We adapted alignment-based approach to declarative
models
• To deal with large search space due to the high flexibility
• The approach seems practically feasible as it prevents from
visiting large portion of the search space.
• We provide a number of diagnostics both at trace level
and at log level
PAGE 18
© Copyright 2025 Paperzz