A Tree-Based Definition of Business Process Conformance (Talk @ EDOC 2024)

sylvainhalle 157 views 148 slides Sep 13, 2024
Slide 1
Slide 1 of 148
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106
Slide 107
107
Slide 108
108
Slide 109
109
Slide 110
110
Slide 111
111
Slide 112
112
Slide 113
113
Slide 114
114
Slide 115
115
Slide 116
116
Slide 117
117
Slide 118
118
Slide 119
119
Slide 120
120
Slide 121
121
Slide 122
122
Slide 123
123
Slide 124
124
Slide 125
125
Slide 126
126
Slide 127
127
Slide 128
128
Slide 129
129
Slide 130
130
Slide 131
131
Slide 132
132
Slide 133
133
Slide 134
134
Slide 135
135
Slide 136
136
Slide 137
137
Slide 138
138
Slide 139
139
Slide 140
140
Slide 141
141
Slide 142
142
Slide 143
143
Slide 144
144
Slide 145
145
Slide 146
146
Slide 147
147
Slide 148
148

About This Presentation

Conformance checking is a process that typically produces a binary pass/fail verdict. Yet, there exist situations where it is desirable to qualify the extent to which the execution of a process satisfies or violates a given condition. To this end, the paper proposes a relation on event traces that c...


Slide Content

A T�ee-Based
Defin�ion o�
Busines� P<>�ocess
Confo�mance_
A T�ee-Based
Defin�ion o�
Busines� P�ocess
Confo�mance_
Sylvain Hallé
Université du Québec à Chicoutimi, Canada
September 12th, 2024

PROLOGUE

Awards for players
Players are eligible for a trophy T if they
satisfy a specific condition φ
T

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
hit a minimum of 50 homeruns

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
HOMERUNS 3 70
hit a minimum of 50 homeruns

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
HOMERUNS 3 70
hit a minimum of 50 homeruns

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
HOMERUNS 3 70
hit a minimum of 50 homeruns

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
hit a minimum of 50 homeruns

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
hit a minimum of 50 homeruns
HOMERUNS51 70

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
hit a minimum of 50 homeruns
HOMERUNS51 70

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
hit a minimum of 50 homeruns
HOMERUNS51 70

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
won all games or threw a no-hitter

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
won all games or threw a no-hitter
ALL GAMES
NO-HITTER

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
won all games or threw a no-hitter
ALL GAMES
NO-HITTER

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
won all games or threw a no-hitter
ALL GAMES
NO-HITTER

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
won all games or threw a no-hitter

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
won all games or threw a no-hitter
ALL GAMES
NO-HITTER

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
won all games or threw a no-hitter
ALL GAMES
NO-HITTER

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
won all games or threw a no-hitter
ALL GAMES
NO-HITTER

Observations

Observations
It is easy to award the trophy when one player
satisfies the condition and the other does not

Observations
It is easy to award the trophy when one player
satisfies the condition and the other does not
Although both players satisfy the condition,
one may satisfy it in a "stronger way"
numerical condition
exceeded by a larger margin
"more components" of the condition are satisfied

Observations
It is easy to award the trophy when one player
satisfies the condition and the other does not
Although both players satisfy the condition,
one may satisfy it in a "stronger way"
numerical condition
exceeded by a larger margin
"more components" of the condition are satisfied
Sometimes the two players cannot be ranked

Awards for players
Players are eligible for a dunce hat H if they
violate a specific condition φ
H
DDD
Players are eligible for a trophy T if they
satisfy a specific condition φ
T

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
never dropped the ball

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
never dropped the ball
DROPS1 5 0

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
never dropped the ball
DROPS1 5 0

Awards for players
DDD
PLAYER APLAYER A PLAYER BPLAYER B
never dropped the ball
DROPS1 5 0

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
never dropped the ball

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
never dropped the ball
DROPS1 5 1

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
never dropped the ball
DROPS1 5 1

Awards for players
DDD
PLAYER APLAYER A PLAYER BPLAYER B
never dropped the ball
DROPS1 5 1

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
stole at least one base and scored at least one run

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
stole at least one base and scored at least one run
STOLE BASE
SCORED RUN

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
stole at least one base and scored at least one run
STOLE BASE
SCORED RUN

Awards for players
DDD
PLAYER APLAYER A PLAYER BPLAYER B
stole at least one base and scored at least one run
STOLE BASE
SCORED RUN

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
stole at least one base and scored at least one run

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
stole at least one base and scored at least one run
STOLE BASE
SCORED RUN

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
stole at least one base and scored at least one run
STOLE BASE
SCORED RUN

Awards for players
PLAYER APLAYER A PLAYER BPLAYER B
stole at least one base and scored at least one run
STOLE BASE
SCORED RUN

Observations (again)

Observations (again)
It is easy to award the dunce hat when one player
violates the condition and the other does not

Although both players violate the condition,
one may violate it in a "stronger way"
numerical condition
not met by a larger margin
more components of the condition are violated
Observations (again)
It is easy to award the dunce hat when one player
violates the condition and the other does not

Although both players violate the condition,
one may violate it in a "stronger way"
numerical condition
not met by a larger margin
more components of the condition are violated
Sometimes the two players cannot be ranked
Observations (again)
It is easy to award the dunce hat when one player
violates the condition and the other does not

Ranking players
For a given condition φ, we can define a relation
that ranks players
DDD
"bad" "good"

Ranking players
For a given condition φ, we can define a relation
that ranks players
DDD
"bad" "good"

Ranking players
For a given condition φ, we can define a relation
that ranks players
DDD
"bad" "good"

Ranking players
For a given condition φ, we can define a relation
that ranks players
DDD
"bad" "good"

One player satisfies the condition and the
other does not
Ranking players
For a given condition φ, we can define a relation
that ranks players
DDD
"bad" "good"

One player satisfies the condition "in a
stronger way"
Ranking players
For a given condition φ, we can define a relation
that ranks players
DDD
"bad" "good"

One player violates the condition "in a
stronger way"
Ranking players
For a given condition φ, we can define a relation
that ranks players
DDD
"bad" "good"

Sometimes the players cannot be
ranked
Ranking players
For a given condition φ, we can define a relation
that ranks players
DDD
"bad" "good"

Satisfaction
false true
⊤⊤⊥⊥
For a given condition φ, satisfaction can be
generalized to a partial order

MAIN PROGRAM

The execution of a business process generates a
sequence of events called a trace σ
Business processes
Obtain
Customer
Info
Identify
Customer
Info
Retrieve
Full
Customer
Dtl
Analyze
Customer
Relation
Select
Deposit
Service
Submit
Deposit
Prepare
Prop. Doc
Propose
Account
Opening
Schedule
Status
Review
Open Acc
Status
Review
Verify
Customer
ID
Open
Account
Record
Customer
Info
Receive
customer
request
Validate
Acc Info
Close Acc
Apply Acc
Policy
Activate
Acc
Record
Acc
Info
Evaluate
Deposit
Val
Do
Deposit
Report
Large
Deposit
Notify
Customer
Non-VIP
VIP

The execution of a business process generates a
sequence of events called a trace σ
Business processes
a
b
e
c d
f
g h
i
j
k
l
m
n
o
q r
p
s
t
u
v
w
¬α
α

The execution of a business process generates a
sequence of events called a trace σ
Business processes
a
b
e
c d
f
g h
i
j
k
l
m
n
o
q r
p
s
t
u
v
w
¬α
α
σ = a b e f i k j m l n o p w

Each event is modeled as a set of attribute-value
pairs.
Business processes
timestamp
action
location
agent
organization
duration
. . .
Possible attributes:
a v

A business process may be subject to a set of
conformance constraints, expressed as
conditions on a trace:
Conformance constraints
When n occurs, b and m occurred before
If α holds, the process duration when n occurs
is at most 7 days
At least one of i, n and o is performed by a
manager
Activity u is immediately preceded by t
etc.

A trace can either satisfy or violate a constraint
Conformance constraints

A trace can either satisfy or violate a constraint
Conformance constraints
If α holds, the process duration when n occurs
is at most 7 days

A trace can either satisfy or violate a constraint
Conformance constraints
If α holds, the process duration when n occurs
is at most 7 days
a b c d e f i j k l m n o p w

A trace can either satisfy or violate a constraint
Conformance constraints
If α holds, the process duration when n occurs
is at most 7 days
a b c d e f i j k l m n o p w
= 5 d.

A trace can either satisfy or violate a constraint
Conformance constraints
If α holds, the process duration when n occurs
is at most 7 days
a b c d e f i j k l m n o p w
= 5 d.

A trace can either satisfy or violate a constraint
Conformance constraints
If α holds, the process duration when n occurs
is at most 7 days
a b c d e f i j k l m n o p w
= 5 d.
a b c d e f g h i k j m l n o p w
= 8 d.

Constraints can be formalized as expressions of
Linear Temporal Logic*
Conformance constraints
*including past modalities
When n occurs, b and m occurred before
If α holds, the process duration when n occurs
is at most 7 days
At least one of i, n and o is performed by a
manager
Activity u is immediately preceded by t

Constraints can be formalized as expressions of
Linear Temporal Logic*
Conformance constraints
*including past modalities
H ( = n → (O ( = b) ∧ O ( = m))
If α holds, the process duration when n occurs
is at most 7 days
At least one of i, n and o is performed by a
manager
Activity u is immediately preceded by t

Constraints can be formalized as expressions of
Linear Temporal Logic*
Conformance constraints
*including past modalities
H ( = n → (O ( = b) ∧ O ( = m))
α → G ( = n → < 7)
At least one of i, n and o is performed by a
manager
Activity u is immediately preceded by t

Constraints can be formalized as expressions of
Linear Temporal Logic*
Conformance constraints
*including past modalities
H ( = n → (O ( = b) ∧ O ( = m))
α → G ( = n → < 7)
F ( = i ∧ = M) F ( = n ∧ = M)∨
∨F ( = o ∧ = M)
Activity u is immediately preceded by t

Constraints can be formalized as expressions of
Linear Temporal Logic*
Conformance constraints
*including past modalities
H ( = n → (O ( = b) ∧ O ( = m))
α → G ( = n → < 7)
F ( = i ∧ = M) F ( = n ∧ = M)∨
∨F ( = o ∧ = M)
H ( = u → (Y ( = t))

Goal
false true
⊤⊤⊥⊥
Generalize the satisfaction relation of LTL to a
partial order

Goal
false true
⊤⊤⊥⊥
Generalize the satisfaction relation of LTL to a
partial order
σ
σ
σ
σ
σ
σ
σ

Labeled tree
A labeled colored tree is a recursive structure of the
form:
T = ⟨ℓ, [T, ..., T]⟩ | ε
node label
children

ℓ ℓ
ℓ ℓ ℓ ℓ ℓ
A tree node n is also
associated with a
color
c(n) ∈ { , , }
ℓ ℓ ℓ ℓ ℓ ℓ
ℓ ℓ

Evaluation tree
From a trace σ and an LTL condition φ, function
τ(σ, φ) constructs a labeled tree as follows:
τ(σ, p(v
1, ..., v
n))<> ⟨ p, [v
1, ..., v
n]⟩
τ(σ, ¬φ)<> ⟨ ¬, [τ(σ, φ)]⟩
τ(σ, X φ)<> ⟨ X, [τ(σ[1..], φ)]⟩
τ(σ, φ
1 ∧ ... ∧ φ
n)<> ⟨∧, [τ(σ, φ
1), ..., τ(σ, φ
n)]⟩
τ(σ, φ
1 ∨ ... ∨ φ
n)<> ⟨∨, [τ(σ, φ
1), ..., τ(σ, φ
n)]⟩
τ(σ, G φ)<> ⟨ G, [τ(σ[0..], φ), τ(σ[1..], φ), ..., τ(σ[|σ| - 1], φ)]⟩
τ(σ, F φ)<> ⟨ F, [τ(σ[0..], φ), τ(σ[1..], φ), ..., τ(σ[|σ| - 1], φ)]⟩
⟨O, [τ(σ[0..|σ| - 2], φ), τ(σ[|σ| - 3], φ), ..., τ(σ[0], φ)]⟩τ(σ, O φ)
τ(σ, Y φ)<> ⟨ Y, [τ(σ[0..|σ| - 2], φ)]⟩
τ(σ, H φ)<> ⟨ H, [τ(σ[0..|σ| - 2], φ), τ(σ[|σ| - 3], φ), ..., τ(σ[0], φ)]⟩
=
=
=
=
=
=
=
=
=
=

Evaluation tree
From a trace σ and an LTL condition φ, function
τ(σ, φ) constructs a labeled tree as follows:
τ(σ, p(v
1, ..., v
n))<> ⟨ p, [v
1, ..., v
n]⟩
τ(σ, ¬φ)<> ⟨ ¬, [τ(σ, φ)]⟩
τ(σ, X φ)<> ⟨ X, [τ(σ[1..], φ)]⟩
τ(σ, φ
1 ∧ ... ∧ φ
n)<> ⟨∧, [τ(σ, φ
1), ..., τ(σ, φ
n)]⟩
τ(σ, φ
1 ∨ ... ∨ φ
n)<> ⟨∨, [τ(σ, φ
1), ..., τ(σ, φ
n)]⟩
τ(σ, G φ)<> ⟨ G, [τ(σ[0..], φ), τ(σ[1..], φ), ..., τ(σ[|σ| - 1], φ)]⟩
τ(σ, F φ)<> ⟨ F, [τ(σ[0..], φ), τ(σ[1..], φ), ..., τ(σ[|σ| - 1], φ)]⟩
⟨O, [τ(σ[0..|σ| - 2], φ), τ(σ[|σ| - 3], φ), ..., τ(σ[0], φ)]⟩τ(σ, O φ)
τ(σ, Y φ)<> ⟨ Y, [τ(σ[0..|σ| - 2], φ)]⟩
τ(σ, H φ)<> ⟨ H, [τ(σ[0..|σ| - 2], φ), τ(σ[|σ| - 3], φ), ..., τ(σ[0], φ)]⟩
=
=
=
=
=
=
=
=
=
=
suffix of σ starting
at index 1

Evaluation tree
From a trace σ and an LTL condition φ, function
τ(σ, φ) constructs a labeled tree as follows:
τ(σ, p(v
1, ..., v
n))<> ⟨ p, [v
1, ..., v
n]⟩
τ(σ, ¬φ)<> ⟨ ¬, [τ(σ, φ)]⟩
τ(σ, X φ)<> ⟨ X, [τ(σ[1..], φ)]⟩
τ(σ, φ
1 ∧ ... ∧ φ
n)<> ⟨∧, [τ(σ, φ
1), ..., τ(σ, φ
n)]⟩
τ(σ, φ
1 ∨ ... ∨ φ
n)<> ⟨∨, [τ(σ, φ
1), ..., τ(σ, φ
n)]⟩
τ(σ, G φ)<> ⟨ G, [τ(σ[0..], φ), τ(σ[1..], φ), ..., τ(σ[|σ| - 1], φ)]⟩
τ(σ, F φ)<> ⟨ F, [τ(σ[0..], φ), τ(σ[1..], φ), ..., τ(σ[|σ| - 1], φ)]⟩
⟨O, [τ(σ[0..|σ| - 2], φ), τ(σ[|σ| - 3], φ), ..., τ(σ[0], φ)]⟩τ(σ, O φ)
τ(σ, Y φ)<> ⟨ Y, [τ(σ[0..|σ| - 2], φ)]⟩
τ(σ, H φ)<> ⟨ H, [τ(σ[0..|σ| - 2], φ), τ(σ[|σ| - 3], φ), ..., τ(σ[0], φ)]⟩
=
=
=
=
=
=
=
=
=
=
length of σ

Evaluation tree: example
Consider the trace of 4 events:
σ = {a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
and the LTL condition:
φ = G (a = 0)
Then τ(σ, φ) is:

Evaluation tree: example
Consider the trace of 4 events:
σ = {a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
and the LTL condition:
φ = G (a = 0)
Then τ(σ, φ) is:
G

Evaluation tree: example
Consider the trace of 4 events:
σ = {a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
and the LTL condition:
φ = G (a = 0)
Then τ(σ, φ) is:
=
0a
G

Evaluation tree: example
Consider the trace of 4 events:
σ = {a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
and the LTL condition:
φ = G (a = 0)
Then τ(σ, φ) is:
=
0a
=
0a
G

Evaluation tree: example
Consider the trace of 4 events:
σ = {a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
and the LTL condition:
φ = G (a = 0)
Then τ(σ, φ) is:
=
0a
=
0a
=
0a
G

Evaluation tree: example
Consider the trace of 4 events:
σ = {a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
and the LTL condition:
φ = G (a = 0)
Then τ(σ, φ) is:
=
0a
=
0a
=
0a
=
0a
G

Evaluation tree: example
The color of the root of τ(σ, φ) is defined as:
c(τ(σ, φ))={
if σ satisfies φ
if σ violates φ
otherwise
The resulting colored tree is called an evaluation tree.

Evaluation tree: example
Consider the trace of 4 events:
σ = {a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
and the LTL condition:
φ = G (a = 0)
Then τ(σ, φ) is:
=
0a
=
0a
=
0a
=
0a
G

For a given condition φ, ranking two traces σ and
σ' will be done by comparing the evaluation trees they
induce.
Subsumption relation

For a given condition φ, ranking two traces σ and
σ' will be done by comparing the evaluation trees they
induce.
Subsumption relation
σ
a b e f g h i k a b c d e f h
σ'

For a given condition φ, ranking two traces σ and
σ' will be done by comparing the evaluation trees they
induce.
Subsumption relation
σ
a b e f g h i k a b c d e f h
σ'
τ

For a given condition φ, ranking two traces σ and
σ' will be done by comparing the evaluation trees they
induce.
Subsumption relation
σ
a b e f g h i k a b c d e f h
σ'
τ
τ(σ,φ)

For a given condition φ, ranking two traces σ and
σ' will be done by comparing the evaluation trees they
induce.
Subsumption relation
σ
a b e f g h i k a b c d e f h
σ'
τ
τ(σ,φ)
τ

For a given condition φ, ranking two traces σ and
σ' will be done by comparing the evaluation trees they
induce.
Subsumption relation
σ
a b e f g h i k a b c d e f h
σ'
τ
τ(σ,φ)
τ
τ(σ',φ)

For a given condition φ, ranking two traces σ and
σ' will be done by comparing the evaluation trees they
induce.
Subsumption relation
σ
a b e f g h i k a b c d e f h
σ'
τ
τ(σ,φ)
τ
τ(σ',φ)
vs.

Subsumption relation
. . .
T
1
. . .
T
2

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 1The root of T
1 is green
T
1

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 1The root of T
1 is green
T
1
the root of T
2 is also green
T
2

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 1The root of T
1 is green
T
1
the root of T
2 is also green
T
2
for every green child T of T
1, there exists a
distinct child T' of T
2 such that T T'

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 1The root of T
1 is green
T
1
the root of T
2 is also green
T
2
for every green child T of T
1, there exists a
distinct child T' of T
2 such that T T'
T

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 1The root of T
1 is green
T
1
the root of T
2 is also green
T
2
for every green child T of T
1, there exists a
distinct child T' of T
2 such that T T'
T T'

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 1The root of T
1 is green
T
1
the root of T
2 is also green
T
2
for every green child T of T
1, there exists a
distinct child T' of T
2 such that T T'
T T'
. . .
T
1
. . .
T
2T
1 T
2
T T'

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 2The root of T
1 is red
T
1

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 2The root of T
1 is red
T
1
the root of T
2 is red or green
T
2

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 2The root of T
1 is red
T
1
the root of T
2 is red or green
T
2
for every red child T' of T
2, there exists a
distinct child T of T
1 such that T T'

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 2The root of T
1 is red
T
1
the root of T
2 is red or green
T
2
for every red child T' of T
2, there exists a
distinct child T of T
1 such that T T'
T'

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 2The root of T
1 is red
T
1
the root of T
2 is red or green
T
2
for every red child T' of T
2, there exists a
distinct child T of T
1 such that T T'
T'T

Subsumption relation
. . .
T
1
. . .
T
2
We say that T
1 is subsumed by T
2 (noted T
1 T
2) if
their roots have the same label, and...
CASE 2The root of T
1 is red
T
1
the root of T
2 is red or green
T
2
for every red child T' of T
2, there exists a
distinct child T of T
1 such that T T'
T'T
. . .
T
1
. . .
T
2T
1
T T'
T
2

Some examples
a = 0 ∨ b = 0

=
a0
=
b0

=
a0
=
b0
t1 t2
{a ↦ 0, b ↦ 1} {a ↦ 0, b<>↦ 0}

Some examples
a = 0 ∨ b = 0

=
a0
=
b0

=
a0
=
b0
t1 t2
{a ↦ 0, b ↦ 1} {a ↦ 0, b<>↦ 0}

t1t2⊑

Some examples
a = 0 ∨ b = 0

=
a0
=
b0

=
a0
=
b0
t1 t2
{a ↦ 0, b ↦ 1} {a ↦ 0, b<>↦ 0}

t1t2⊑
Although both players satisfy the condition,
one may satisfy it in a "stronger way"
"more components" of the condition are satisfied

Some examples
a = 0 ∧ b = 0

=
a0
=
b0

=
a0
=
b0
t1 t2
{a ↦ 1, b ↦ 1} {a ↦ 0, b<>↦ 1}

t1t2⊑
Some examples
a = 0 ∧ b = 0

=
a0
=
b0

=
a0
=
b0
t1 t2
{a ↦ 1, b ↦ 1} {a ↦ 0, b<>↦ 1}

t1t2⊑
Some examples
a = 0 ∧ b = 0

=
a0
=
b0

=
a0
=
b0
t1 t2
{a ↦ 1, b ↦ 1} {a ↦ 0, b<>↦ 1}

"more components" of the condition are violated
Although both players violate the condition,
one may violate it in a "stronger way" DDD

Some examples
a = 0 ∨ ( b = 0 ∧ c = 0)
t1

=
a0
b0c0


=
a0=
b0c0

t2
{a ↦ 1, b ↦ 0, c ↦ 1} {a ↦ 1, b ↦ 1, c ↦ 0} ===

Some examples
a = 0 ∨ ( b = 0 ∧ c = 0)
t1

=
a0
b0c0


=
a0=
b0c0

t2
{a ↦ 1, b ↦ 0, c ↦ 1} {a ↦ 1, b ↦ 1, c ↦ 0} ===
t1t2⊑

Some examples
a = 0 ∨ ( b = 0 ∧ c = 0)
t1

=
a0
b0c0


=
a0=
b0c0

t2
{a ↦ 1, b ↦ 0, c ↦ 1} {a ↦ 1, b ↦ 1, c ↦ 0} ===
t1t2⊑ t2t1⊑

Some examples
a = 0 ∨ ( b = 0 ∧ c = 0)
t1

=
a0
b0c0


=
a0=
b0c0

t2
{a ↦ 1, b ↦ 0, c ↦ 1} {a ↦ 1, b ↦ 1, c ↦ 0} ===
t1t2⊑ t2t1⊑
Sometimes the players cannot be ranked

F (a = 0)
Some examples
⊑ F
=
0
=
0
t2
{a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
=
0
=
0
{a ↦ 1}, {a ↦ 0}
F
=
0
=
a aa aa a0
t1

t1t2⊑
F (a = 0)
Some examples
⊑ F
=
0
=
0
t2
{a ↦ 0}, {a ↦ 1}, {a ↦ 1}, {a ↦ 0}
=
0
=
0
{a ↦ 1}, {a ↦ 0}
F
=
0
=
a aa aa a0
t1

a = 4
Some examples
t2
{a ↦ 5}
=
4
{a ↦ 2}
=
4 aa
t1

a = 4
Some examples
t2
{a ↦ 5}
=
4
{a ↦ 2}
=
4 aa
t1
t1t2⊑

a = 4
Some examples
t2
{a ↦ 5}
=
4
{a ↦ 2}
=
4 aa
t1
t1t2⊑ t2t1⊑

a = 4
Some examples
t2
{a ↦ 5}
=
4
{a ↦ 2}
=
4 aa
t1
t1t2⊑ t2t1⊑
012345678

a = 4
Some examples
t2
{a ↦ 5}
=
4
{a ↦ 2}
=
4 aa
t1
t1t2⊑ t2t1⊑
012345678

Some examples
{a ↦ 5}{a ↦ 2}
a = 4 012345678

Some examples
{a ↦ 5}{a ↦ 2}
a = 4δ(x,y) = |x-y| 012345678

Some examples
{a ↦ 5}{a ↦ 2}
δ( a,4) ≤0 ∧
δ(a,4) ≤1 ∧
δ(a,4) ≤ 2
δ(x,y) = |x-y| 012345678

Some examples
{a ↦ 5}{a ↦ 2}
δ( a,4) ≤0 ∧
δ(a,4) ≤1 ∧
δ(a,4) ≤ 2
δ(x,y) = |x-y|
t2t1

0

δ
a4
1

δ
a4
2

δ
a4

0

δ
a4
1

δ
a4
2

δ
a4
012345678

t1t2⊑
Some examples
{a ↦ 5}{a ↦ 2}
δ( a,4) ≤0 ∧
δ(a,4) ≤1 ∧
δ(a,4) ≤ 2
δ(x,y) = |x-y|
t2t1

0

δ
a4
1

δ
a4
2

δ
a4

0

δ
a4
1

δ
a4
2

δ
a4
012345678

t1t2⊑
Some examples
{a ↦ 5}{a ↦ 2}
δ( a,4) ≤0 ∧
δ(a,4) ≤1 ∧
δ(a,4) ≤ 2
δ(x,y) = |x-y|
t2t1

0

δ
a4
1

δ
a4
2

δ
a4

0

δ
a4
1

δ
a4
2

δ
a4
012345678
numerical condition not met by a larger margin
Although both players violate the condition,
one may violate it in a "stronger way" DDD

Positive points

Positive points
The subsumption relation can compare two
executions of a process with respect to an
arbitrary* LTL conformance condition
*In Negated Normal Form (NNF)

Positive points
The subsumption relation can compare two
executions of a process with respect to an
arbitrary* LTL conformance condition
*In Negated Normal Form (NNF)
It does not require any additional information from
the user (weights, coefficients, etc.)

Positive points
The subsumption relation can compare two
executions of a process with respect to an
arbitrary* LTL conformance condition
*In Negated Normal Form (NNF)
It does not require any additional information from
the user (weights, coefficients, etc.)
It does not involve any explicit counting or
arithmetic calculations

Positive points
The subsumption relation can compare two
executions of a process with respect to an
arbitrary* LTL conformance condition
*In Negated Normal Form (NNF)
It does not require any additional information from
the user (weights, coefficients, etc.)
It does not involve any explicit counting or
arithmetic calculations
It does not output a numerical value

Positive points
The subsumption relation can compare two
executions of a process with respect to an
arbitrary* LTL conformance condition
*In Negated Normal Form (NNF)
It does not require any additional information from
the user (weights, coefficients, etc.)
It does not involve any explicit counting or
arithmetic calculations
It does not output a numerical value
It produces a ranking mostly matching our intuition

Positive points
The subsumption relation can compare two
executions of a process with respect to an
arbitrary* LTL conformance condition
*In Negated Normal Form (NNF)
It does not require any additional information from
the user (weights, coefficients, etc.)
It does not involve any explicit counting or
arithmetic calculations
It does not output a numerical value
It produces a ranking mostly matching our intuition
It is concretely implemented:
https://github.com/liflab/shaded-compliance

Some experimental results
Implementation tested on a sample of real-world and
synthetic logs and conformance properties

Challenges

Challenges
Finding a mapping between sub-trees is
computationally expensive
more compact representation of evaluation trees as DAGs

Challenges
Finding a mapping between sub-trees is
computationally expensive
more compact representation of evaluation trees as DAGs
Subsumption may be excessively fine-grained
compare "simplified" versions of evaluation trees instead

Challenges
Finding a mapping between sub-trees is
computationally expensive
more compact representation of evaluation trees as DAGs
Subsumption may be excessively fine-grained
compare "simplified" versions of evaluation trees instead
It does not directly accommodate user-defined
weights
accept an order relation between sub-formulas

Challenges
Finding a mapping between sub-trees is
computationally expensive
more compact representation of evaluation trees as DAGs
Subsumption may be excessively fine-grained
compare "simplified" versions of evaluation trees instead
It does not directly accommodate user-defined
weights
accept an order relation between sub-formulas
How to evaluate incrementally on a stream?
incorporate into the library

Possible uses
All executions of a process are arranged into a
(finite) lattice
1
1
3 3
3 3
99 11
393
393
number of
equivalent traces

Possible uses
The traces of a specific log can be placed on this
lattice (a form of visualization)
0
0
0 1
0 0
10 612
000
051

Possible uses
"Layers" of the lattice can formally model service
level agreements (SLAs)
1
1
3 3
3 3
99 11
393
393

The End_The End_