SlideShare a Scribd company logo
09/09/2022 - KES 2022, Verona, Italy
Marco Montali
Free University of Bozen-Bolzano, Italy
AI4BPM 2022, Münster, Germany
Constraints
for process framing
in Augmented BPM
Marco Montali
Free University of Bozen-Bolzano
What do we do
We develop foundational and applied techniques
grounded in arti
fi
cial intelligence, logics, and
formal methods, 

to create intelligent agents and information
systems that combine 

processes and data.
How to attack these challenges?
Arti
fi
cial
Intelligence
Knowledge representation


Automated reasoning


Computational logics
Information
Systems
Business process
management


Data management


Decision management
Formal
Methods
In
fi
nite-state systems


Veri
fi
cation


Petri nets
Data
Science
Process mining


Data access
and integration
Warm up:
what is augmented BPM
Augmented BPM
Augmented BPM
An increased availability of business process execution data, combined
with advances in AI, have laid the ground for the emergence of
information systems where the execution
fl
ows are not pre-
determined, adaptations do not require explicit changes to software
applications, and improvement opportunities are autonomously
discovered, validated, and enabled on-the-
fl
y.
Augmented BPM System
AI-empowered, trustworthy, and process-aware
information system that 

reasons and acts upon data within a set of
constraints and assumptions

with the aim to 

continuously adapt and improve a set of business
processes with respect to one or more performance
indicators
Augmented BPM System
AI-empowered, trustworthy, and process-aware
information system that 

reasons and acts upon data within a set of
constraints and assumptions

with the aim to 

continuously adapt and improve a set of business
processes with respect to one or more performance
indicators
Strongly related to


BPM and integrative AI
Thu 09:00-10:00


Keynote by 

Chiara Ghidini


Data, Conceptual Knowledge,
and AI: What can they do
together?
ABPM lifecycle
Revisiting the BPM lifecycle: from “design” to “framing”
frame
process-aware execution
ABPM lifecycle
Revisiting the BPM lifecycle: continuous evolution
frame
process-aware execution
ABPM lifecycle
Revisiting the BPM lifecycle: continuous evolution
frame
enact perceive
reason
process-aware execution
ABPM lifecycle
Extending with “pure” AI capabilities
frame
enact perceive
reason
adapt
improve
explain
ABPMS
process-aware execution
ABPM lifecycle
Continuous interaction with principals
frame
enact perceive
reason
adapt
improve
explain
agent
intelligent


interaction
Features of an ABPMS
Framed autonomy
ABPMS acts autonomously

• Lifecycle steps performed proactively and continuously

ABPMS acts “within its frame”

• Maximally permissive, goal-driven strategy
Features of an ABPMS
Framed autonomy
ABPMS acts autonomously

• Lifecycle steps performed proactively and continuously

ABPMS acts “within its frame”

• Maximally permissive, goal-driven strategy
What does this mean?
Hard vs soft constraints,


reframing, meta-framing, …
Features of an ABPMS
Conversationally actionable
Autonomy does not mean isolation

• Need of continuous conversation with human principal(s)

Conversational
• Language-based communication with humans (proactive
and reactive)

Actionable
• Interaction leads to actual decision making
Features of an ABPMS
Conversationally actionable
Autonomy does not mean isolation

• Need of continuous conversation with human principal(s)

Conversational
• Language-based communication with humans (proactive
and reactive)

Actionable
• Interaction leads to actual decision making
Which focus?
Actions, goals, intensions, but
also models!
Features of an ABPMS
Adaptive
Motto: react to changes and self-improve
• Prediction

• Instance- and model-level adaptations
Features of an ABPMS
Adaptive
Motto: react to changes and self-improve
• Prediction

• Instance- and model-level adaptations
Features of an ABPMS
Adaptive
Motto: react to changes and self-improve
• Prediction

• Instance- and model-level adaptations

• Multi-objective optimisation
• Evaluation of trade-o
ff
s
Features of an ABPMS
Adaptive
Motto: react to changes and self-improve
• Prediction

• Instance- and model-level adaptations

• Multi-objective optimisation
• Evaluation of trade-o
ff
s
What if there are multiple
principals?
Quiz: which feature is missing?
Features of an ABPMS
Explainable
An ABPMS should be trustworthy
• “trust is the willingness of a party to be vulnerable to the actions of another
party based on the expectation that the other will perform a particular action
important to the trustor, irrespective of the ability to monitor or control that
other party” [MayerEtAl,TAMR95]
How to be trustworthy?

• Fair
• Explainable
• Auditable
• Safe
Need of speci
fi
c focus on
“process-aware” systems
How to frame?
What is a process?
A possibly in
fi
nite set of
fi
nite traces
Σ*
What is a process?
A possibly in
fi
nite set of
fi
nite traces
Σ*
Flexibility and control as contrasting forces
Σ*
control
fl
exibility
The issue of flexibility is widely known
Different ways to address
fl
exibility in processes
We are interested here in


fl
exibility by design
Σ*
Is this enough?
“A process is (not) a point mass in a vacuum” (cit.)
Σ*
Is this enough?
“A process is (not) a point mass in a vacuum” (cit.)
time
cases
traditional view
one process instance

one case
Σ*
Is this enough?
“A process is (not) a point mass in a vacuum” (cit.)
traditional view
one process instance

one case
time
cases
Σ*
Is this enough?
“A process is (not) a point mass in a vacuum” (cit.)
multi-case/object-centric view
one process instance

many case
time
cases/objects
Σ*
Is this enough?
“A process is (not) a point mass in a vacuum” (cit.)
multi-process view
many process instances

one case
time
cases/objects
More in general…
Wed 10:30-12:30


Tutorial by 

Dirk Fahland


Multi-dimensional
process analysis
Outline
Outline
How to frame?
Outline
the declarative

approach
How to frame?
Outline
the declarative

approach
How to deal with deviations?
Outline
the declarative

approach
monitoring and

operational support
How to deal with deviations?
Outline
the declarative

approach
monitoring and

operational support
How to deal with multiple processes and cases?
Outline
the declarative

approach
monitoring and

operational support
dealing with 

uncertainty
dealing with

multiple processes dealing with multiple

objects
How to deal with multiple processes and cases?
[____,CAiSE22]
Outline
the declarative

approach
monitoring and

operational support
dealing with 

uncertainty
dealing with

multiple processes dealing with multiple

objects
How to deal with multiple processes and cases?
[____,CAiSE22]
Interested in uncertainty for
procedural processes?


See our papers


at the main track


(presentations Tue and
Wed afternoon)
The declarative approach
Which Italian food do you like best?
complexity ->
predictability <-
repetitiveness <-
Control 

degree to which a
central
orchestrator
decides how to
execute the
process
Flexibility

degree to which
process
stakeholders
locally decide how
to execute the
process
Lasagna
processes Spaghetti
processes
A process…
Σ*
… and an imperative model of it
Σ*
pick
item
close
order
pay
quit
order paid
Generalisation
Σ*
Generalisation
Σ*
pick
item
close
order
pay
pick
item
pay
!
Simplicity
cannot be
obtained by
sweeping
complexity
under the
carpet
Our goal
Compact
speci
fi
cation
Reality
represents
Our goal
Compact
speci
fi
cation
Reality
represents
The class of “regular”
spaghetti processes
(not all)
Framing via declarative specifications
Process Imperative
model
Declarative
speci
fi
cation
Framing via declarative specifications
Process Imperative
model
Declarative
speci
fi
cation
Constraint-based specifications of behaviour
• Multiagent systems: declarative agent programs [Fisher,JSC1996]
and interaction protocols [Singh,AAMAS2003]

• Data management: cascaded transactional updates
[DavulcuEtAl,PODS1998]

• BPM (1st wave): loosely-coupled subprocesses [SadiqEtAl,ER2001]

• BPM (2nd wave): process constraints 

• DECLARE [PesicEtAl,EDOC2007]

• Dynamic Condition-Response (DCR) Graphs
[HildebrandtEtAl,PLACES2010]
Origin of Declare…
Language, formalisation, reasoning, enactment
Which constraints are useful?
Constraint templates
Constraint types de
fi
ned on activity placeholders, each with a speci
fi
c
meaning

• … then instantiated on actual activities (by grounding)

Dimensions
• Activities: how many are involved

• Time: temporal orientation (past, future, either) and strength (when)

• Expectation: negative vs positive

Much richer than the precedence
fl
ow relation of imperative languages
Declare specification
A set of constraints (templates grounded on the
activities of interest)

• Constraints have to be all satis
fi
ed globally over
each, complete trace
• Compositional approach by conjunction
Flexible shopper in Declare
“Whenever you close an order, you have to pay later at least once”
1. <> (empty trace)


2. <i,i,i>


3. <i,i,i,c,p>


4. <i,i,i,c,p,p>


5. <i,i,i,p,c>


6. <i,c,p,i,i,c,p>
Pick


item
Close
order
Pay
Accepts all {i, c, p}*
Flexible shopper in Declare
“Whenever you close an order, you have to pay later at least once”
1. <> (empty trace)


2. <i,i,i>


3. <i,i,i,c,p>


4. <i,i,i,c,p,p>


5. <i,i,i,p,c>


6. <i,c,p,i,i,c,p>
Pick


item
Close
order
Pay
response
Interaction among constraints
Aka hidden dependencies [____,TWEB2010]
Cancel
order
Close
order
Pay
If you cancel the order,
you cannot pay for it
If you close the order,
you must pay for it
Pick


item
To close an order, you
must
fi
rst pick an item
Interaction among constraints
Aka hidden dependencies [____,TWEB2010]
Cancel
order
Close
order
Pay
If you cancel the order,
you cannot pay for it
If you close the order,
you must pay for it
Pick


item
To close an order, you
must
fi
rst pick an item
Implied: cannot
cancel and
con
fi
rm!
Interaction among constraints
Aka hidden dependencies [____,TWEB2010]
Cancel
order
Close
order
Pay
If you cancel the order,
you cannot pay for it
If you close the order,
you must pay for it
Pick


item
To close an order, you
must
fi
rst pick an item
Implied: cannot
cancel and
con
fi
rm!
Key questions
1. How to
characterise the
language of a
Declare
speci
fi
cation?

2. How to
understand
whether a
speci
fi
cation is
correct?
Back to the roots
Back to the roots
Patterns in Linear
Temporal Logic
(LTL)
LTL: a logic for infinite traces
Logic interpreted over in
fi
nite traces
' ::= A | ¬' | '1 ^ '2 | ' | '1U'2
Atomic propositions
Boolean connectives
At next step φ holds
At some point φ2 holds, and φ1 holds until φ2 does
φ eventually holds
φ always holds
φ1 holds forever or until φ2 does
' ::= A | ¬' | '1 ^ '2 | ' | '1U'2
::= A | ¬' | '1 ^ '2 | ' | '1U'2
'1 ^ '2 | ' | '1U'2
| ' | '1U'2
⌃' ⌘ true U'
⇤' ⌘ ¬⌃¬'
'1W'2 = '1U'2 _ ⇤'1
⇤' ⌘ ¬⌃¬'
…
Each state indicates which
propositions hold
LTL: a logic for infinite traces
Logic interpreted over in
fi
nite traces
' ::= A | ¬' | '1 ^ '2 | ' | '1U'2
Atomic propositions
Boolean connectives
At next step φ holds
At some point φ2 holds, and φ1 holds until φ2 does
φ eventually holds
φ always holds
φ1 holds forever or until φ2 does
' ::= A | ¬' | '1 ^ '2 | ' | '1U'2
::= A | ¬' | '1 ^ '2 | ' | '1U'2
'1 ^ '2 | ' | '1U'2
| ' | '1U'2
⌃' ⌘ true U'
⇤' ⌘ ¬⌃¬'
'1W'2 = '1U'2 _ ⇤'1
⇤' ⌘ ¬⌃¬'
…
Each state indicates which
propositions hold
Can be
seamlessly
extended
with past-
tense
operators
LTL: a logic for infinite traces
Logic interpreted over in
fi
nite traces
' ::= A | ¬' | '1 ^ '2 | ' | '1U'2
Atomic propositions
Boolean connectives
At next step φ holds
At some point φ2 holds, and φ1 holds until φ2 does
φ eventually holds
φ always holds
φ1 holds forever or until φ2 does
' ::= A | ¬' | '1 ^ '2 | ' | '1U'2
::= A | ¬' | '1 ^ '2 | ' | '1U'2
'1 ^ '2 | ' | '1U'2
| ' | '1U'2
⌃' ⌘ true U'
⇤' ⌘ ¬⌃¬'
'1W'2 = '1U'2 _ ⇤'1
⇤' ⌘ ¬⌃¬'
…
Each state indicates which
propositions hold
Can be
seamlessly
extended
with past-
tense
operators
Trace t satis
fi
es a
formula is now
formally de
fi
ned:


φ
t ⊧ φ
Template formulae
Semantics of Declare via LTL
Atomic propositions are activities

Each constraint is an LTL formula (built from template formulae)

…
Each state contains


a single activity
delete
order
close
order
pay
pick


item
delete


order
pick


item
Semantics of Declare via LTL
Atomic propositions are activities

Each constraint is an LTL formula (built from template formulae)

…
Each state contains


a single activity
close
order
pay
□ (
𝚌
𝚕
𝚘
𝚜
𝚎
→ ◊
𝚙
𝚊
𝚢
)
Semantics of Declare via LTL
Atomic propositions are activities

A Declare speci
fi
cation is the conjunction of its constraint formulae

…
Each state contains


a single activity
delete
order
pick


item
close
order
pay
□ (
𝚌
𝚕
𝚘
𝚜
𝚎
→ ◊
𝚙
𝚊
𝚢
)
∧ □ (
𝚌
𝚕
𝚘
𝚜
𝚎
→ ◊
𝚒
𝚝
𝚎
𝚖
)
∧ □ (
𝚌
𝚊
𝚗
𝚌
𝚎
𝚕
→ ¬ □
𝚙
𝚊
𝚢
)
An unconventional use of logics!
From …

Temporal logics for specifying (un)desired properties of
a dynamic system

… to …

Temporal logics for specifying the dynamic system itself
Wait a moment…
Close
order
Pay
□ (
𝚌
𝚕
𝚘
𝚜
𝚎
→ ◊
𝚙
𝚊
𝚢
)
Wait a moment…
Close
order
Pay
□ (
𝚌
𝚕
𝚘
𝚜
𝚎
→ ◊
𝚙
𝚊
𝚢
)
Just what we needed!


But recall: each process
instance should complete


in a
fi
nite number of steps!
LTLf: LTL over finite traces
[DeGiacomoVardi,IJCAI2013]
LTL interpreted over
fi
nite traces
' ::= A | ¬' | '1 ^ '2 | ' | '1U'2
No successor!
Same syntax of LTL
In LTL, there is always a next moment… in LTLf, the contrary!
φ always holds from current to the last instant
The next step exists and at next step φ holds
(weak next) If the next step exists, then at next step φ holds
last instant in the trace
' | '1 ^ '2 | ' | '1U'2
⇤'
Last ⌘ ¬ true
' ⌘ ¬ ¬'
Look the same, but they are not the same
Many researchers: misled by moving from in
fi
nite to
fi
nite traces

In [____,AAAI14], we studied why!

• People typically focus on “patterns”, not on the entire logic

• Many of such patterns in BPM, reasoning about actions, planning, etc. are
“insensitive to in
fi
nity”
Quiz: does this specification accept traces?
b c
0..1
1..*
a d
Quiz: does this specification accept traces?
b c
0..1
1..*
a d
Quiz: does this specification accept traces?
b c
0..1
1..*
a d
Quiz: does this specification accept traces?
b c
0..1
1..*
a d
Quiz: does this specification accept traces?
b c
0..1
1..*
a d
Quiz: does this specification accept traces?
b c
0..1
1..*
a d
Quiz: does this specification accept traces?
a b
Quiz: does this specification accept traces?
a b
Only the empty trace <>,
due to
fi
nite-trace
semantics
How to do this, systematically?
Declare speci
fi
cation: encoded in LTLf

LTLf: the star-free fragment of regular expressions

Regular expressions: intimately connected to
fi
nite-state
automata

• No exotic automata models over in
fi
nite structures! 

• Just the good-old deterministic
fi
nite-state automata
(DFAs) you know from a typical course in programming
languages and compilers
From Declare to automata
LTLf NFA

nondeterministic
DFA

deterministic
LTLf2aut determin.
'
nt
lf formulas can be translated into equivalent nfa:
t |= Ï iff t œ L(AÏ)
/ldlf to nfa (exponential)
to dfa (exponential)
often nfa/dfa corresponding to ltlf /ldlf are in fact small!
ompile reasoning into automata based procedures!
Process engine!
[DeGiacomoVardi,IJCAI2013]
[____,TOSEM2022]
Vision realised!
LTLf NFA

nondeterministic
DFA

deterministic
LTLf2aut determin.
'
nt
lf formulas can be translated into equivalent nfa:
t |= Ï iff t œ L(AÏ)
/ldlf to nfa (exponential)
to dfa (exponential)
often nfa/dfa corresponding to ltlf /ldlf are in fact small!
ompile reasoning into automata based procedures!
Process engine!
[DeGiacomoVardi,IJCAI2013]
[____,TOSEM2022]
A full Declare model
[____,PMHandbook2022]
A full Declare model
[____,PMHandbook2022]
Few lines of code
[____,TOSEM2022] 0:8 G. De Giacomo et al.
(tt, ⇧) = true
(↵ , ⇧) = false
( , ⇧) = (h itt, ⇧) ( prop.)
('1 ^ '2, ⇧) = ('1, ⇧) ^ ('2, ⇧)
('1 _ '2, ⇧) = ('1, ⇧) _ ('2, ⇧)
(h i', ⇧) =
⇢
E (') if ⇧ |= ( prop.)
false if ⇧ 6|=
(h ?i', ⇧) = ( , ⇧) ^ (', ⇧)
(h⇢1 + ⇢2i', ⇧) = (h⇢1i', ⇧) _ (h⇢2i', ⇧)
(h⇢1; ⇢2i', ⇧) = (h⇢1ih⇢2i', ⇧)
(h⇢⇤
i', ⇧) = (', ⇧) _ (h⇢iF h⇢⇤i', ⇧)
([ ]', ⇧) =
⇢
E (') if ⇧ |= ( prop.)
true if ⇧ 6|=
([ ?]', ⇧) = (nnf (¬ ), ⇧) _ (', ⇧)
([⇢1 + ⇢2]', ⇧) = ([⇢1]', ⇧) ^ ([⇢2]', ⇧)
([⇢1; ⇢2]', ⇧) = ([⇢1][⇢2]', ⇧)
([⇢⇤
]', ⇧) = (', ⇧) ^ ([⇢]T [⇢⇤]', ⇧)
(F , ⇧) = false
(T , ⇧) = true
Fig. 1: Definition of , where E (') recursively replaces in ' all occurrences of atoms of
the form T and F by .
1: algorithm LDLf 2NFA
2: input LDLf formula '
3: output NFA A(') = (2P
, S, s0, %, Sf )
4: s0 {'} . set the initial state
5: Sf {;} . set final states
6: if ( (', ✏) = true) then . check if initial state is also final
7: Sf Sf [ {s0}
8: S {s0, ;}, % ;
9: while (S or % change) do
10: for (s 2 S) do
11: if (s0
|=
V
( 2s) ( , ⇧) then . add new state and transition
12: S S [ {s0
}
13: % % [ {(s, ⇧, s0
)}
14: if (
V
( 2s0) ( , ✏) = true) then . check if new state is also final
15: Sf Sf [ {s0
}
Fig. 2: NFA construction.
' NFA
Few lines of code
[____,TOSEM2022] 0:8 G. De Giacomo et al.
(tt, ⇧) = true
(↵ , ⇧) = false
( , ⇧) = (h itt, ⇧) ( prop.)
('1 ^ '2, ⇧) = ('1, ⇧) ^ ('2, ⇧)
('1 _ '2, ⇧) = ('1, ⇧) _ ('2, ⇧)
(h i', ⇧) =
⇢
E (') if ⇧ |= ( prop.)
false if ⇧ 6|=
(h ?i', ⇧) = ( , ⇧) ^ (', ⇧)
(h⇢1 + ⇢2i', ⇧) = (h⇢1i', ⇧) _ (h⇢2i', ⇧)
(h⇢1; ⇢2i', ⇧) = (h⇢1ih⇢2i', ⇧)
(h⇢⇤
i', ⇧) = (', ⇧) _ (h⇢iF h⇢⇤i', ⇧)
([ ]', ⇧) =
⇢
E (') if ⇧ |= ( prop.)
true if ⇧ 6|=
([ ?]', ⇧) = (nnf (¬ ), ⇧) _ (', ⇧)
([⇢1 + ⇢2]', ⇧) = ([⇢1]', ⇧) ^ ([⇢2]', ⇧)
([⇢1; ⇢2]', ⇧) = ([⇢1][⇢2]', ⇧)
([⇢⇤
]', ⇧) = (', ⇧) ^ ([⇢]T [⇢⇤]', ⇧)
(F , ⇧) = false
(T , ⇧) = true
Fig. 1: Definition of , where E (') recursively replaces in ' all occurrences of atoms of
the form T and F by .
1: algorithm LDLf 2NFA
2: input LDLf formula '
3: output NFA A(') = (2P
, S, s0, %, Sf )
4: s0 {'} . set the initial state
5: Sf {;} . set final states
6: if ( (', ✏) = true) then . check if initial state is also final
7: Sf Sf [ {s0}
8: S {s0, ;}, % ;
9: while (S or % change) do
10: for (s 2 S) do
11: if (s0
|=
V
( 2s) ( , ⇧) then . add new state and transition
12: S S [ {s0
}
13: % % [ {(s, ⇧, s0
)}
14: if (
V
( 2s0) ( , ✏) = true) then . check if new state is also final
15: Sf Sf [ {s0
}
Fig. 2: NFA construction.
' NFA
Automata manipulations
much easier to handle
than in the in
fi
nite case,
with huge performance
improvements


[ZhuEtAl,IJCAI17]
[Westergaard,BPM11]
Constraint automata
Template: pre-compiled into a DFA

Constraint: grounds the template DFA on speci
fi
c activities
close
order
delete
order
pay
pick


item
close
order
pay
0 1
2
c
Σ
{i,c}
Σ∖ Σ
i
1
1
{c}
Σ∖
c
{p}
Σ∖
p
0 1
2
p
Σ
{d}
Σ∖
d
{p}
Σ∖
Combining constraints
responded existence(a,b) response(a,c)
Combining constraints
responded existence(a,b) response(a,c)
Combining constraints
responded existence(a,b) response(a,c)
AND
Combining constraints
responded existence(a,b) response(a,c)
AND
X
Combining constraints
responded existence(a,b) response(a,c)
AND
X
From local automata to global automaton
Entire speci
fi
cation: product automaton of all local
automata

• Corresponds to the automaton of the conjunction of
all formulae

• Many optimisations available
Declare speci
fi
cation consistent if and only if its
global automaton is non-empty
Constraints: hard or soft?
Logically: hard

Conceptually: not so clear

• Model level: mix of constraints of di
ff
erent nature

• Physical, best practices, policies, legal, … [AdamoEtAl,InfSys2021]
• Hard at the IS level <-> hard or soft in reality

• Manual task vs user-interaction task
• Ontological reversal [BaskervilleEtAl,MISQ2020]
Constraints: hard or soft?
Logically: hard

Conceptually: not so clear

• Model level: mix of constraints of di
ff
erent nature

• Physical, best practices, policies, legal, … [AdamoEtAl,InfSys2021]
• Hard at the IS level <-> hard or soft in reality

• Manual task vs user-interaction task
• Ontological reversal [BaskervilleEtAl,MISQ2020]
ABPMS needs to to account for deviations, at runtime
Monitoring and operational support
(Anticipatory) monitoring
t
Evolving trace
Declare speci
fi
cation
Monitor
Continuous feedback
Track a running process execution to check conformance to a reference process
model

• Goal: Detect and report
fi
ne-grained feedback and deviations as early as possible

One of the main operational support tasks

• Complementary to predictive monitoring!
(Anticipatory) monitoring
Track a running process execution to check conformance to a reference process
model

• Goal: Detect and report
fi
ne-grained feedback and deviations as early as possible

One of the main operational support tasks

• Complementary to predictive monitoring!
…
…
t
…
…
…
Declare speci
fi
cation
Monitor
Continuous feedback
Evolving trace
Fine-grained feedback
Re
fi
ned analysis of the “truth value”
of a constraint, looking into (all)
possible futures
Consider a partial trace t, and a
constraint C...
…
…
…
t
C
satis
fi
ed?
…
…
C
satis
fi
ed?
RV-LTL truth values
[BauerEtAl,InfCom2010]
C is permanently satis
fi
ed if t
satis
fi
es C and no matter how t is
extended, C will stay satis
fi
ed

C is currently satis
fi
ed if t satis
fi
es C
but there is a continuation of t that
violates C
…
…
t
…
…
…
t
RV-LTL truth values
C is currently violated if t violates C
but there is a continuation that leads
to satisfy C

C is permanently violated if t violates
C and no matter how t is extended, C
will stay violated
t
…
…
…
…
…
[BauerEtAl,InfCom2010]
RV-LTL on finite traces
[____,BPM2011] [____,BPM2014] [____,TOSEM2022]
close
order
delete
order
pay
pick


item
close
order
pay
0 1
2
i
Σ
{i,c}
Σ∖ Σ
c
1
1
{c}
Σ∖
c
{p}
Σ∖
p
0 1
2
p
Σ
{d}
Σ∖
d
{p}
Σ∖
Su
ffi
xes of the current trace: each with unbounded,
fi
nite length
• Again standard DFAs -> all formulae of LTLf are monitorable
Each state of the DFA: colored with an RV-LTL value via simple reachability checks
RV-LTL on finite traces
[____,BPM2011] [____,BPM2014] [____,TOSEM2022]
Su
ffi
xes of the current trace: each with unbounded,
fi
nite length
• Again standard DFAs -> all formulae of LTLf are monitorable
Each state of the DFA: colored with an RV-LTL value via simple reachability checks
Σ
Σ
Σ
0


[cs]
1


[ps]
2


[pv]
1


[cv]
0


[cs]
0


[cs]
1


[cs]
2


[pv]
c
{i,c}
Σ∖
i
{c}
Σ∖
c
{p}
Σ∖
p
p
{d}
Σ∖
d
{p}
Σ∖
close
order
delete
order
pay
pick


item
close
order
pay
Monitor in action
close
order
delete
order
pay
pick


item
close
order
pay
cs
cs
cs
Monitor in action
close
order
delete
order
pay
pick


item
close
order
pay
cs
pick


item
cs
ps
cs
Monitor in action
close
order
delete
order
pay
pick


item
close
order
pay
cs
pick


item
cs
ps
cs
delete


order
close


order
Monitor in action
close
order
delete
order
pay
pick


item
close
order
pay
cs
pick


item
cs
ps
cs
delete


order
cv
pay


close


order
Monitor in action
close
order
delete
order
pay
pick


item
close
order
pay
cs
pick


item
cs
ps
cs
delete


order
cv cs
pv
pay


close


order
Monitor in action
close
order
delete
order
pay
pick


item
close
order
pay
cs
pick


item
cs
ps
cs
delete


order
cv cs
pv
Quiz: is this the earliest istant for
detecting a violation?
pay


close


order
Monitor in action
close
order
delete
order
pay
pick


item
close
order
pay
cs
pick


item
cs
ps
cs
delete


order
cv cs
pv
To satisfy: pay
To keep satis
fi
ed: don’t pay
pay


close


order
Monitor in action
close
order
delete
order
pay
pick


item
close
order
pay
cs
pick


item
cs
ps
cs
delete


order
cv cs
pv
cs pv
global monitor
002


[cs,cs,pv]
111


[ps,cv,cs]
112


[ps,cv,pv]
200


[pv,cs,cs]
102


[pv,cs,cs]
211


[pv,cv,cs]
202


[pv,cs,pv]
{i,c,d}
Σ∖
{i,c,p}
Σ∖
{i,c}
Σ∖
{c,d}
Σ∖
{c,p}
Σ∖
{d,p}
Σ∖
{p}
Σ∖
100


[ps,cs,cs]
101


[ps,cs,cs]
000


[cs,cs,cs]
001


[cs,cs,cs]
{c}
Σ∖
{c,d}
Σ∖
d
c c
i
p
c
i d
110


[ps,cv,cs]
c
p p
d
p
210


[pv,cv,cs]
c
{p,d}
Σ∖
p
d
{p}
Σ∖ p
{c}
Σ∖
i
c
p
{p}
Σ∖
c
212


[pv,cv,pv]
{p}
Σ∖
p
c
[____,BPM2011]
Global monitor
Cross-product
with two proviso: 

• recall RV-LTL
labels of local
constraints
• no
minimisation
(distinction of
violation states)
002


[cs,cs,pv]
111


[ps,cv,cs]
112


[ps,cv,pv]
200


[pv,cs,cs]
102


[pv,cs,cs]
211


[pv,cv,cs]
202


[pv,cs,pv]
{i,c,d}
Σ∖
{i,c,p}
Σ∖
{i,c}
Σ∖
{c,d}
Σ∖
{c,p}
Σ∖
{d,p}
Σ∖
{p}
Σ∖
100


[ps,cs,cs]
101


[ps,cs,cs]
000


[cs,cs,cs]
001


[cs,cs,cs]
{c}
Σ∖
{c,d}
Σ∖
d
c c
i
p
c
i d
110


[ps,cv,cs]
c
p p
d
p
210


[pv,cv,cs]
c
{p,d}
Σ∖
p
d
{p}
Σ∖ p
{c}
Σ∖
i
c
p
{p}
Σ∖
c
212


[pv,cv,pv]
{p}
Σ∖
p
c
[____,BPM2011]
Global monitor Anticipatory
violation
detection
Cross-product
with two proviso: 

• recall RV-LTL
labels of local
constraints
• no
minimisation
(distinction of
violation states)
002


[cs,cs,pv]
111


[ps,cv,cs]
112


[ps,cv,pv]
200


[pv,cs,cs]
102


[pv,cs,cs]
211


[pv,cv,cs]
202


[pv,cs,pv]
{i,c,d}
Σ∖
{i,c,p}
Σ∖
{i,c}
Σ∖
{c,d}
Σ∖
{c,p}
Σ∖
{d,p}
Σ∖
{p}
Σ∖
100


[ps,cs,cs]
101


[ps,cs,cs]
000


[cs,cs,cs]
001


[cs,cs,cs]
{c}
Σ∖
{c,d}
Σ∖
d
c c
i
p
c
i d
110


[ps,cv,cs]
c
p p
d
p
210


[pv,cv,cs]
c
{p,d}
Σ∖
p
d
{p}
Σ∖ p
{c}
Σ∖
i
c
p
{p}
Σ∖
c
212


[pv,cv,pv]
{p}
Σ∖
p
c
[____,BPM2011]
Global monitor
Cross-product
with two proviso: 

• recall RV-LTL
labels of local
constraints
• no
minimisation
(distinction of
violation states)
Anticipatory
violation
detection
[____,CAiSE2022]
constraint weights and
recommendations
Can we do more?
LTLf
FOL


over


fi
nite traces
Star-free
regular
expressions
Finite-state
automata
MSOL over
fi
nite traces
Regular
expressions
Can we do more?
LTLf
FOL


over


fi
nite traces
Star-free
regular
expressions
Finite-state
automata
LDLf


linear dynamic logic
over
fi
nite traces


[DeGiacomoVardi,
IJ
CAI2013]
MSOL over
fi
nite traces
Regular
expressions
Can we do more?
LTLf
FOL


over


fi
nite traces
Star-free
regular
expressions
Finite-state
automata
LDLf


linear dynamic logic
over
fi
nite traces


[DeGiacomoVardi,
IJ
CAI2013]
MSOL over
fi
nite traces
Regular
expressions
Can we do more?
[____,BPM2014] [____,TOSEM2022]
LTLf
FOL


over


fi
nite traces
Star-free
regular
expressions
Finite-state
automata
LDLf


linear dynamic logic
over
fi
nite traces


[DeGiacomoVardi,
IJ
CAI2013]
MSOL over
fi
nite traces
Regular
expressions
Can we do more?
[____,BPM2014] [____,TOSEM2022]
LTLf
FOL


over


fi
nite traces
Star-free
regular
expressions
Finite-state
automata
LDLf


linear dynamic logic
over
fi
nite traces


[DeGiacomoVardi,
IJ
CAI2013]
MSOL over
fi
nite traces
Regular
expressions
Can we do more?
[____,BPM2014] [____,TOSEM2022]
LTLf
FOL


over


fi
nite traces
Star-free
regular
expressions
Finite-state
automata
From constraints to metaconstraints
[____,BPM2014] [____,TOSEM2022]
LDLf expresses RV-LTL monitoring states of LDLf constraints
• Support for metaconstraints predicating over the monitoring status of
other constraints

Example: a form of “contrary-to-duty” process constraint
• If constraint C1 gets permanently violated, eventually satisfy a
compensation constraint C2

Interesting open problem: relationship with normative frameworks and
defeasible reasoning
• [Governatori,EDOC2015] -> LTL cannot express normative notions

• [AlechinaEtAl,FLAP2018]-> not true!
Tooling
0:28 G. De Giacomo et al.
Fig. 10: Screenshot of one of the LDL MONITOR clients.
adopted by the IEEE task force on process mining. The response produced by the LDL
MONITOR provider is composed of two parts. The first part contains the temporal infor-
Fully implemented as part
of the RuM toolkit

(rulemining.org)
Adding event attributes and arithmetics
[____,AAAI2022]
Study of LTLf over numerical variables with arithmetic
conditions
• Undecidability around the corner

Identi
fi
cation of decidable fragments tuning condition
language and variable interaction
• Lifting of automata-based techniques
• SMT reasoners to deal with conditions
Challenging Declare
Frequencies and uncertainty
•Best practices: constraints that must hold in the majority, but not
necessarily all, cases.

90% of the orders are shipped via truck.
•Outlier behaviors: constraints that only apply to very few, but still
conforming, cases.

Only 1% of the orders are canceled after being paid.
•Constraints involving external parties: contain uncontrollable
activities for which only partial guarantees can be given.

In 8 cases out of 10, the customer accepts the order and also pays for it.
Dealing with uncertainty
Declare is crisp
Crisp semantics: an execution trace conforms to the
model if it satis
fi
es every constraint in the model
close
order
1..1
accept
refuse
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
ProbDeclare
Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
probability reference value: number in [0,1]
probability operator: { = , ≠ , ≤ , ≥ , < , > }
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
ProbDeclare
Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
ProbDeclare constraint over : 

triple
Σ
⟨φ, ⋈, p⟩
process condition: LTLf formula over Σ
Well-behaved fragment of full probabilistic LTLf [____,AAAI2020]
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
ProbDeclare
Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
close
order
1..1
accept
refuse
Crisp!
Each trace in the log
contains exactly one
close order
{0.8}
{0.3}
{0.9}
ProbDeclare
Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
Uncertain!
90% traces are so that
an order is not accepted
and refused.

In 10% traces the seller
changes their mind
ProbDeclare
Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
Uncertain!
90% traces are so that
an order is not accepted
and refused.

In 10% traces the seller
changes their mind
ProbDeclare
Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
From traces to stochastic languages and logs
A stochastic language over is a function
such that 

•
fi
nite if
fi
nitely many traces get a non-zero probability

A log can be seen as a
fi
nite stochastic language
(probabilities from frequencies)
Σ
ρ : Σ* → [0,1]
∑
τ∈Σ*
ρ(τ) = 1
Semantics of ProbDeclare
Stochastic language satis
fi
es ProbDeclare model if:

•for every crisp constraint and every trace with
non-zero probability, we have that 

•for every probabilistic constraint , we have

ρ
φ τ ∈ Σ*
τ ⊧ φ
⟨φ, ⋈, p⟩
∑
τ∈Σ*,τ⊧φ
ρ(τ) ⋈ p
Semantics of ProbDeclare
Stochastic language satis
fi
es ProbDeclare model if:

•for every crisp constraint and every trace with
non-zero probability, we have that 

•for every probabilistic constraint , we have

ρ
φ τ ∈ Σ*
τ ⊧ φ
⟨φ, ⋈, p⟩
∑
τ∈Σ*,τ⊧φ
ρ(τ) ⋈ p
Key challenge: again, interplay of constraints
Dealing with “n” probabilistic constraints
Constraint scenario
Declares which probabilistic constraints must hold, and which
are violated 

• Constraint violated <-> its negated version holds

Denotes a “process variant”

• All in all: up to 

scenarios, denoting 

di
ff
erent variants
2n
8 scenarios
(1) (2) (3)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
Reasoning over scenarios is tricky
Interplay between logic and probabilities
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
1
8 scenarios
(1) (2) (3)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
There cannot be traces that satisfy all
constraints at once
Reasoning over scenarios is tricky
Interplay between logic and probabilities
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
1
8 scenarios
(1) (2) (3)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
There cannot be traces that satisfy all
constraints at once
inconsistent


-> no satisfying trace


-> 0 probability!
Logical reasoning within scenarios
LTLf and automata to the rescue
To answer such questions, we provide a logical characterization of scenarios.
First and foremost, we introduce a characteristic LTLf formula for a scenario:
a trace belongs to a scenario if and only if the trace satisfies the characteristic
formula of the scenario.
Definition 15. Let M = 〈Σ, C, 〈〈ϕ1, ⊲⊳1, p1〉, . . . , 〈ϕn, ⊲⊳n, pn〉〉〉 be ProbDe-
clare model. The characteristic formula induced by a scenario SM
b1···bn
over
M, compactly called SM
b1···bn
-formula, is the LTLf formula
Φ(SM
b1···bn
) =
'
ψ∈C
ψ ∧
'
i∈{1,...,n}
(
)
*
)
+
ϕi if bi = 1
¬ϕi if bi = 0
(8)
⊳
Definition 16. A trace τ belongs to scenario SM
b1···bn
if τ |= Φ(SM
b1···bn
). Sce-
A scenario maps to an LTLf characteristic formula
• Conjunction of formulae, one per constraint…

• Does the constraint hold in the scenario?

• Y -> take its LTLf process condition
• N -> take its negation
Reasoning via automata, as for standard LTLf
In our example…
Which scenarios are consistent?
close
order
1..∗
accept
order
{0.8}
1
refuse
order
{0.3}
2
{0.9}
3
1 2 3 consistent?
S000 ✸(close ∧ ¬©✸acc) ✸(close ∧ ¬©✸ref) ✸acc ∧ ✸refuse no
S001 ✸(close ∧ ¬©✸acc) ✸(close ∧ ¬©✸ref) ¬(✸acc ∧ ✸refuse) yes
S010 ✸(close ∧ ¬©✸acc) ✷(close → ©✸ref) ✸acc ∧ ✸refuse no
S011 ✸(close ∧ ¬©✸acc) ✷(close → ©✸ref) ¬(✸acc ∧ ✸refuse) yes
S100 ✷(close → ©✸acc) ✸(close ∧ ¬©✸ref) ✸acc ∧ ✸refuse no
S101 ✷(close → ©✸acc) ✸(close ∧ ¬©✸ref) ¬(✸acc ∧ ✸refuse) yes
S110 ✷(close → ©✸acc) ✷(close → ©✸ref) ✸acc ∧ ✸refuse yes
S111 ✷(close → ©✸acc) ✷(close → ©✸ref) ¬(✸acc ∧ ✸refuse) no
Figure 1: A ProbDeclare model, with 8 constraint scenarios, out of which only 4 are consistent.
Reasoning over scenarios is tricky
Interplay between logic and probabilities
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
1
0.8+0.3 > 1


-> there must be traces where a closed
order is accepted and refused.
8 scenarios
(1) (2) (3)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Reasoning over scenarios is tricky
Interplay between logic and probabilities
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
1
0.8+0.3 > 1


-> there must be traces where a closed
order is accepted and refused.
8 scenarios
(1) (2) (3)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
there must be
traces where
accept and refuse
coexist
Reasoning over scenarios is tricky
Interplay between logic and probabilities
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
1
0.8+0.3 > 1


-> there must be traces where a closed
order is accepted and refused.
8 scenarios
(1) (2) (3)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
there must be
traces where
accept and refuse
coexist
Should have a


non-zero probability


(if constraint values agree)
The true meaning of a ProbDeclare model
From probabilistic constraints to scenario probability distributions
With n scenarios: with denotes the probability that a trace
belongs to scenario 

ProbDeclare model: constrains the legal probability distributions over scenarios
xi i ∈ {0,…,2n−1
}
i
whose solutions constitute all the probability distributions that are compati-
ble with the logical and probabilistic characterization of the probabilistic con-
straints in the ProbDeclare model of interest. To do so, we associate each
scenario to a probability variable, keeping the same naming convention. For
example, the probability mass of scenario S001 is represented by variable x001.
For M = 〈Σ, C, 〈〈ϕ1, ⊲⊳1, p1〉, . . . , 〈ϕn, ⊲⊳n, pn〉〉〉, we construct the system LM of
inequalities using probability variables xi, with i ranging from 0 to 2n
− 1 (in
binary format):
xi ≥ 0 0 ≤ i < 2n
(9)
% 2n
−1
"
i=0
xi
&
= 1 (10)
% "
i∈{0,...,2n−1},
jth position of i is 1
xi
&
⊲⊳j pj 0 ≤ j < n (11)
xi = 0 0 ≤ i < 2n
, scenario Si is inconsistent (12)
The true meaning of a ProbDeclare model
From probabilistic constraints to scenario probability distributions
With n scenarios: with denotes the probability that a trace
belongs to scenario 

ProbDeclare model: constrains the legal probability distributions over scenarios
xi i ∈ {0,…,2n−1
}
i
whose solutions constitute all the probability distributions that are compati-
ble with the logical and probabilistic characterization of the probabilistic con-
straints in the ProbDeclare model of interest. To do so, we associate each
scenario to a probability variable, keeping the same naming convention. For
example, the probability mass of scenario S001 is represented by variable x001.
For M = 〈Σ, C, 〈〈ϕ1, ⊲⊳1, p1〉, . . . , 〈ϕn, ⊲⊳n, pn〉〉〉, we construct the system LM of
inequalities using probability variables xi, with i ranging from 0 to 2n
− 1 (in
binary format):
xi ≥ 0 0 ≤ i < 2n
(9)
% 2n
−1
"
i=0
xi
&
= 1 (10)
% "
i∈{0,...,2n−1},
jth position of i is 1
xi
&
⊲⊳j pj 0 ≤ j < n (11)
xi = 0 0 ≤ i < 2n
, scenario Si is inconsistent (12)
One solution
-> a
fi
xed probability distribution
(Possibly in
fi
nitely) many solutions
-> family of probability distributions
No solution
-> inconsistent speci
fi
cation
Computing probability distributions
1. check for consistency
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
scenario
consistent? probability
(1) (2) (3)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Computing probability distributions
1. check for consistency
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
scenario
consistent? probability
(1) (2) (3)
0 0 0 N
0 0 1 Y
0 1 0 N
0 1 1 Y
1 0 0 N
1 0 1 Y
1 1 0 Y
1 1 1 N
Computing probability distributions
1. check for consistency
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
scenario
consistent? probability
(1) (2) (3)
0 0 0 N 0
0 0 1 Y
0 1 0 N 0
0 1 1 Y
1 0 0 N 0
1 0 1 Y
1 1 0 Y
1 1 1 N 0
Computing probability distributions
2. set up system of inequalities
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
scenario
consistent? probability
(1) (2) (3)
0 0 0 N 0
0 0 1 Y
0 1 0 N 0
0 1 1 Y
1 0 0 N 0
1 0 1 Y
1 1 0 Y
1 1 1 N 0
sign
consent
close
order
1..∗
{0.8} 1
{0.1} 2
1 2 consistent?
S00 ¬sign U close ✸(close ∧ ¬©✸sign) yes
S01 ¬sign U close ✷(close → ©✸sign) yes
S10 ¬close W sign ✸(close ∧ ¬©✸sign) yes
S11 ¬close W sign ✷(close → ©✸sign) yes
Figure 2: A ProbDeclare model and its 4 constraint scenarios.
once the variables above are removed (being them all equal to 0):
x001 + x011 + x101 + x110 = 1
x101 + x110 = 0.8
x011 + x110 = 0.3
x001 + x011 + x101 = 0.9
Computing probability distributions
3. solve
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
scenario
consistent? probability
(1) (2) (3)
0 0 0 N 0
0 0 1 Y 0
0 1 0 N 0
0 1 1 Y 0.2
1 0 0 N 0
1 0 1 Y 0.7
1 1 0 Y 0.1
1 1 1 N 0
sign
consent
close
order
1..∗
{0.8} 1
{0.1} 2
1 2 consistent?
S00 ¬sign U close ✸(close ∧ ¬©✸sign) yes
S01 ¬sign U close ✷(close → ©✸sign) yes
S10 ¬close W sign ✸(close ∧ ¬©✸sign) yes
S11 ¬close W sign ✷(close → ©✸sign) yes
Figure 2: A ProbDeclare model and its 4 constraint scenarios.
once the variables above are removed (being them all equal to 0):
x001 + x011 + x101 + x110 = 1
x101 + x110 = 0.8
x011 + x110 = 0.3
x001 + x011 + x101 = 0.9
Computing probability distributions
3. solve
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
scenario
consistent? probability
(1) (2) (3)
0 0 0 N 0
0 0 1 Y 0
0 1 0 N 0
0 1 1 Y 0.2
1 0 0 N 0
1 0 1 Y 0.7
1 1 0 Y 0.1
1 1 1 N 0
sign
consent
close
order
1..∗
{0.8} 1
{0.1} 2
1 2 consistent?
S00 ¬sign U close ✸(close ∧ ¬©✸sign) yes
S01 ¬sign U close ✷(close → ©✸sign) yes
S10 ¬close W sign ✸(close ∧ ¬©✸sign) yes
S11 ¬close W sign ✷(close → ©✸sign) yes
Figure 2: A ProbDeclare model and its 4 constraint scenarios.
once the variables above are removed (being them all equal to 0):
x001 + x011 + x101 + x110 = 1
x101 + x110 = 0.8
x011 + x110 = 0.3
x001 + x011 + x101 = 0.9
Computing probability distributions
3. solve
close
order
1..1
accept
refuse
{0.8}
{0.3}
{0.9}
1
2
3
Scenario 011
Scenario 101
Scenario 110
Close and
refuse
Close and
accept
Close and get
a decision
change
Scenarios in action
Conformance checking
scenario
consistent? probability
(1) (2) (3)
0 0 0 N 0
0 0 1 Y 0
0 1 0 N 0
0 1 1 Y 0.2
1 0 0 N 0
1 0 1 Y 0.7
1 1 0 Y 0.1
1 1 1 N 0
011
101
110
Close
and
refuse
Close
and
accept
Close
and get a
decision
change
close
order
accept
<close order>
close
order
refuse
accept refuse
Scenarios in action
Conformance checking
scenario
consistent? probability
(1) (2) (3)
0 0 0 N 0
0 0 1 Y 0
0 1 0 N 0
0 1 1 Y 0.2
1 0 0 N 0
1 0 1 Y 0.7
1 1 0 Y 0.1
1 1 1 N 0
011
101
110
Close
and
refuse
Close
and
accept
Close
and get a
decision
change
close
order
accept
<close order>
close
order
refuse
accept refuse
0


0


1
NO
Scenarios in action
Conformance checking
scenario
consistent? probability
(1) (2) (3)
0 0 0 N 0
0 0 1 Y 0
0 1 0 N 0
0 1 1 Y 0.2
1 0 0 N 0
1 0 1 Y 0.7
1 1 0 Y 0.1
1 1 1 N 0
011
101
110
Close
and
refuse
Close
and
accept
Close
and get a
decision
change
close
order
accept
<close order, accept, refuse>
close
order
refuse
accept refuse
Scenarios in action
Conformance checking
scenario
consistent? probability
(1) (2) (3)
0 0 0 N 0
0 0 1 Y 0
0 1 0 N 0
0 1 1 Y 0.2
1 0 0 N 0
1 0 1 Y 0.7
1 1 0 Y 0.1
1 1 1 N 0
011
101
110
Close
and
refuse
Close
and
accept
Close
and get a
decision
change
close
order
accept
<close order, accept, refuse>
close
order
refuse
accept refuse
1


1


0
YES


(outlier)
Scenarios in action
Probabilistic monitoring
• One global monitor per scenario
• Monitors used in parallel: if multiple return the same verdict, aggregate their
probability
• Interesting a-priori vs posterior reading of probabilities
Scenarios in action
Probabilistic monitoring
• One global monitor per scenario
• Monitors used in parallel: if multiple return the same verdict, aggregate their
probability
• Interesting a-priori vs posterior reading of probabilities
Human interpretability is an
interesting open challenge
From traces to logs
Stochastic conformance (granularity: scenario)
Log
ProbDeclare


speci
fi
cation
From traces to logs
Stochastic conformance (granularity: scenario)
ProbDeclare


speci
fi
cation
Consistent scenarios
Log
From traces to logs
Stochastic conformance (granularity: scenario)
ProbDeclare


speci
fi
cation
Consistent scenarios
Speci
fi
cation


distribution
Log
From traces to logs
Stochastic conformance (granularity: scenario)
ProbDeclare


speci
fi
cation
Consistent scenarios
Speci
fi
cation


distribution
Log
Log


distribution
From traces to logs
Stochastic conformance (granularity: scenario)
ProbDeclare


speci
fi
cation
Consistent scenarios
Speci
fi
cation


distribution
Log
Log


distribution
(Earth mover’s) distance
Can be re
fi
ned
through trace
alignments
All possible constraints grounded on
the activities in the log
The log
Declare discovery
All possible constraints grounded on
the activities in the log
The log
Which to keep?
Declare discovery
Template algorithm for ProbDeclare discovery
[____,PMHandbook2022]
1. Select templates of interest

2. Compute metrics for corresponding constraints (grounded on log activities)

3. Filter based on minimum thresholds

4. Redundant constraints?

• Keep the most liberal if metrics are better for it

• Keep the most restrictive in case of equal metrics

5. Incompatible constraints?

• Keep only the one with better metrics

6. Further processing to ensure consistency, minimality, …
trace support:
# traces that "interestingly" satisfy the constraint
total # traces in the log
Consistency guaranteed only for


100% trace-based support
Template algorithm for ProbDeclare discovery
[____,InfSys2022]
1. Select templates of interest

2. Compute metrics for corresponding constraints (grounded on log activities)

3. Filter based on minimum/maximum thresholds

4. Redundant constraints?

• Keep the most liberal if metrics are better for it

• Keep the most restrictive in case of equal metrics

5. Incompatible constraints?

• Keep only the one with better metrics

6. Further processing to ensure consistency, minimality, …
5. Use support as a basis for constraint probability

• Consistency guaranteed by construction
trace support:
# traces that "interestingly" satisfy the constraint
total # traces in the log
Idea: conversating on log skeletons
Log
Discovery
[Verbeek, STTT2021]
Log skeleton [Verbeek, STTT2021] 

Declare-like speci
fi
cation

with frequencies
Idea: conversating on log skeletons
Log
Discovery
[Verbeek, STTT2021]
Reasoning on
constraints
and their frequencies
Log skeleton [Verbeek, STTT2021] 

Declare-like speci
fi
cation

with frequencies
Processes are not flat
Package
1
p1
p2 p3
Figure 1: Structure of order, item, and package data objects in an order-to-delivery sce-
nario whereuv items from di↵erent orders are carried in several packages
event log for orders
timestamp overall log order o1 order o2 order o3
2019-09-22 10:00:00 create order o1 create order
2019-09-22 10:01:00 add item i1,1 to order o1 add item
2019-09-23 09:20:00 create order o2 create order
2019-09-23 09:34:00 add item i2,1 to order o2 add item
2019-09-23 11:33:00 create order o3 create order
2019-09-23 11:40:00 add item i3,1 to order o3 add item
2019-09-23 12:27:00 pay order o3 pay order
2019-09-23 12:32:00 add item i1,2 to order o1 add item
2019-09-23 13:03:00 pay order o1 pay order
2019-09-23 14:34:00 load item i1,1 into package p1 load item
2019-09-23 14:45:00 add item i2,2 to order o2 add item
2019-09-23 14:51:00 load item i3,1 into package p1 load item
2019-09-23 15:12:00 add item i2,3 to order o2 add item
2019-09-23 15:41:00 pay order o2 pay order
2019-09-23 16:23:00 load item i2,1 into package p2 load item
2019-09-23 16:29:00 load item i1,2 into package p2 load item
2019-09-23 16:33:00 load item i2,2 into package p2 load item
2019-09-23 17:01:00 send package p1 send package send package
2019-09-24 06:38:00 send package p2 send package send package
2019-09-24 07:33:00 load item i2,3 into package p3 load item
2019-09-24 08:46:00 send package p3 send package
2019-09-24 16:21:00 deliver package p1 deliver package deliver package
2019-09-24 17:32:00 deliver package p2 deliver package deliver package
2019-09-24 18:52:00 deliver package p3 deliver package
2019-09-24 18:57:00 accept delivery p3 accept delivery
2019-09-25 08:30:00 deliver package p1 deliver package deliver package
2019-09-25 08:32:00 accept delivery p1 accept delivery accept delivery
2019-09-25 09:55:00 deliver package p2 deliver package deliver package
2019-09-25 17:11:00 deliver package p2 deliver package deliver package
2019-09-25 17:12:00 accept delivery p2 accept delivery accept delivery
Table 1: Overall log of of an order-to-delivery scenario whose structure is illustrated in
Figure 1, and its flattening using the viewpoint of orders.
Processes are not flat
Package
1
p1
p2 p3
Figure 1: Structure of order, item, and package data objects in an order-to-delivery sce-
nario whereuv items from di↵erent orders are carried in several packages
event log for orders
timestamp overall log order o1 order o2 order o3
2019-09-22 10:00:00 create order o1 create order
2019-09-22 10:01:00 add item i1,1 to order o1 add item
2019-09-23 09:20:00 create order o2 create order
2019-09-23 09:34:00 add item i2,1 to order o2 add item
2019-09-23 11:33:00 create order o3 create order
2019-09-23 11:40:00 add item i3,1 to order o3 add item
2019-09-23 12:27:00 pay order o3 pay order
2019-09-23 12:32:00 add item i1,2 to order o1 add item
2019-09-23 13:03:00 pay order o1 pay order
2019-09-23 14:34:00 load item i1,1 into package p1 load item
2019-09-23 14:45:00 add item i2,2 to order o2 add item
2019-09-23 14:51:00 load item i3,1 into package p1 load item
2019-09-23 15:12:00 add item i2,3 to order o2 add item
2019-09-23 15:41:00 pay order o2 pay order
2019-09-23 16:23:00 load item i2,1 into package p2 load item
2019-09-23 16:29:00 load item i1,2 into package p2 load item
2019-09-23 16:33:00 load item i2,2 into package p2 load item
2019-09-23 17:01:00 send package p1 send package send package
2019-09-24 06:38:00 send package p2 send package send package
2019-09-24 07:33:00 load item i2,3 into package p3 load item
2019-09-24 08:46:00 send package p3 send package
2019-09-24 16:21:00 deliver package p1 deliver package deliver package
2019-09-24 17:32:00 deliver package p2 deliver package deliver package
2019-09-24 18:52:00 deliver package p3 deliver package
2019-09-24 18:57:00 accept delivery p3 accept delivery
2019-09-25 08:30:00 deliver package p1 deliver package deliver package
2019-09-25 08:32:00 accept delivery p1 accept delivery accept delivery
2019-09-25 09:55:00 deliver package p2 deliver package deliver package
2019-09-25 17:11:00 deliver package p2 deliver package deliver package
2019-09-25 17:12:00 accept delivery p2 accept delivery accept delivery
Table 1: Overall log of of an order-to-delivery scenario whose structure is illustrated in
Figure 1, and its flattening using the viewpoint of orders.
Item
Package
contains
carried


in
1
*
*
1
i1,1 i1,2 i2,1 i2,2 i2,3 i3,1
p1 p2 p3
Order o1 o2 o3
Processes are not flat
Package
1
p1
p2 p3
Figure 1: Structure of order, item, and package data objects in an order-to-delivery sce-
nario whereuv items from di↵erent orders are carried in several packages
event log for orders
timestamp overall log order o1 order o2 order o3
2019-09-22 10:00:00 create order o1 create order
2019-09-22 10:01:00 add item i1,1 to order o1 add item
2019-09-23 09:20:00 create order o2 create order
2019-09-23 09:34:00 add item i2,1 to order o2 add item
2019-09-23 11:33:00 create order o3 create order
2019-09-23 11:40:00 add item i3,1 to order o3 add item
2019-09-23 12:27:00 pay order o3 pay order
2019-09-23 12:32:00 add item i1,2 to order o1 add item
2019-09-23 13:03:00 pay order o1 pay order
2019-09-23 14:34:00 load item i1,1 into package p1 load item
2019-09-23 14:45:00 add item i2,2 to order o2 add item
2019-09-23 14:51:00 load item i3,1 into package p1 load item
2019-09-23 15:12:00 add item i2,3 to order o2 add item
2019-09-23 15:41:00 pay order o2 pay order
2019-09-23 16:23:00 load item i2,1 into package p2 load item
2019-09-23 16:29:00 load item i1,2 into package p2 load item
2019-09-23 16:33:00 load item i2,2 into package p2 load item
2019-09-23 17:01:00 send package p1 send package send package
2019-09-24 06:38:00 send package p2 send package send package
2019-09-24 07:33:00 load item i2,3 into package p3 load item
2019-09-24 08:46:00 send package p3 send package
2019-09-24 16:21:00 deliver package p1 deliver package deliver package
2019-09-24 17:32:00 deliver package p2 deliver package deliver package
2019-09-24 18:52:00 deliver package p3 deliver package
2019-09-24 18:57:00 accept delivery p3 accept delivery
2019-09-25 08:30:00 deliver package p1 deliver package deliver package
2019-09-25 08:32:00 accept delivery p1 accept delivery accept delivery
2019-09-25 09:55:00 deliver package p2 deliver package deliver package
2019-09-25 17:11:00 deliver package p2 deliver package deliver package
2019-09-25 17:12:00 accept delivery p2 accept delivery accept delivery
Table 1: Overall log of of an order-to-delivery scenario whose structure is illustrated in
Figure 1, and its flattening using the viewpoint of orders.
Item
Package
contains
carried


in
1
*
*
1
i1,1 i1,2 i2,1 i2,2 i2,3 i3,1
p1 p2 p3
Order o1 o2 o3
Processes are not flat
Package
1
p1
p2 p3
Figure 1: Structure of order, item, and package data objects in an order-to-delivery sce-
nario whereuv items from di↵erent orders are carried in several packages
event log for orders
timestamp overall log order o1 order o2 order o3
2019-09-22 10:00:00 create order o1 create order
2019-09-22 10:01:00 add item i1,1 to order o1 add item
2019-09-23 09:20:00 create order o2 create order
2019-09-23 09:34:00 add item i2,1 to order o2 add item
2019-09-23 11:33:00 create order o3 create order
2019-09-23 11:40:00 add item i3,1 to order o3 add item
2019-09-23 12:27:00 pay order o3 pay order
2019-09-23 12:32:00 add item i1,2 to order o1 add item
2019-09-23 13:03:00 pay order o1 pay order
2019-09-23 14:34:00 load item i1,1 into package p1 load item
2019-09-23 14:45:00 add item i2,2 to order o2 add item
2019-09-23 14:51:00 load item i3,1 into package p1 load item
2019-09-23 15:12:00 add item i2,3 to order o2 add item
2019-09-23 15:41:00 pay order o2 pay order
2019-09-23 16:23:00 load item i2,1 into package p2 load item
2019-09-23 16:29:00 load item i1,2 into package p2 load item
2019-09-23 16:33:00 load item i2,2 into package p2 load item
2019-09-23 17:01:00 send package p1 send package send package
2019-09-24 06:38:00 send package p2 send package send package
2019-09-24 07:33:00 load item i2,3 into package p3 load item
2019-09-24 08:46:00 send package p3 send package
2019-09-24 16:21:00 deliver package p1 deliver package deliver package
2019-09-24 17:32:00 deliver package p2 deliver package deliver package
2019-09-24 18:52:00 deliver package p3 deliver package
2019-09-24 18:57:00 accept delivery p3 accept delivery
2019-09-25 08:30:00 deliver package p1 deliver package deliver package
2019-09-25 08:32:00 accept delivery p1 accept delivery accept delivery
2019-09-25 09:55:00 deliver package p2 deliver package deliver package
2019-09-25 17:11:00 deliver package p2 deliver package deliver package
2019-09-25 17:12:00 accept delivery p2 accept delivery accept delivery
Table 1: Overall log of of an order-to-delivery scenario whose structure is illustrated in
Figure 1, and its flattening using the viewpoint of orders.
Item
Package
contains
carried


in
1
*
*
1
i1,1 i1,2 i2,1 i2,2 i2,3 i3,1
p1 p2 p3
Order o1 o2 o3
create order
(3)
add item
(6)
pay order
(3)
load item
(6)
send package
(5)
accept delivery
(5)
deliver package
(11)
3
3
3
3
3
4 1
1
2
3
2
5
6
3
Dealing with multiple objects
Need of a 3D model
time
objects
activities
Object-centric behavioral
constraints
[____,DL2017] [____,BPM2019]
Object-centric behavioral constraints
Dimension 1: data model to classify and relate objects
• classes
• relationship types
• multiplicities (one-to-one, one-to-many, many-to-many)
10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
is about
1
1
creates
1
promotes
1
creates
1
1
stops
1
closes
1
Person
Candidate Application Job Offer Job Profile
1
/ made by
1..⇤ ⇤
responds to
1 ⇤
refers to
1
register
data submit
mark as
eligible
post
offer
cancel
hiring
determine
winner
Object-centric behavioral constraints
Dimension 2: activities
• activities
• activity-class 

relationship types
• multiplicities
– green, italic sans-serif to point out relationships between tas
– blue, underlined italics to indicate co-reference relationships th
which instances of tasks are related by the constraint dependin
manipulate.
In particular, the relevant constraints for our job hiring example are
C.1 The register data task is about a Person.
C.2 A Job Offer is created by executing the post offer task.
C.3 A Job Offer is closed by determining the winner.
C.4 A Job Offer is stopped by canceling the hiring.
Enriching Data Models with Behaviora
C.5 An Application is created by executing the submit task.
C.6 An Application is promoted by marking it as eligible.
C.7 An Application can be submitted only if, beforehand, the da
date who made that Application have been registered.
C.8 A winner can be determined for a Job Offer only if at lea
responding to that Job Offer has been previously marked a
C.9 For each Application responding to a Job Offer, if the App
as eligible then a winner must be finally determined for
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be st
the cancel hiring task (and vice-versa).
10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
is about
1
1
creates
1
promotes
1
creates
1
1
stops
1
closes
1
Person
Candidate Application Job Offer Job Profile
1
/ made by
1..⇤ ⇤
responds to
1 ⇤
refers to
1
register
data submit
mark as
eligible
post
offer
cancel
hiring
determine
winner
Object-centric behavioral constraints
Dimension 2: activities
• activities
• activity-class 

relationship types
• multiplicities
10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
is about
1
1
creates
1
promotes
1
creates
1
1
stops
1
closes
1
Person
Candidate Application Job Offer Job Profile
1
/ made by
1..⇤ ⇤
responds to
1 ⇤
refers to
1
register
data submit
mark as
eligible
post
offer
cancel
hiring
determine
winner
– green, italic sans-serif to point out relationships between tas
– blue, underlined italics to indicate co-reference relationships th
which instances of tasks are related by the constraint dependin
manipulate.
In particular, the relevant constraints for our job hiring example are
C.1 The register data task is about a Person.
C.2 A Job Offer is created by executing the post offer task.
C.3 A Job Offer is closed by determining the winner.
C.4 A Job Offer is stopped by canceling the hiring.
Enriching Data Models with Behaviora
C.5 An Application is created by executing the submit task.
C.6 An Application is promoted by marking it as eligible.
C.7 An Application can be submitted only if, beforehand, the da
date who made that Application have been registered.
C.8 A winner can be determined for a Job Offer only if at lea
responding to that Job Offer has been previously marked a
C.9 For each Application responding to a Job Offer, if the App
as eligible then a winner must be finally determined for
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be st
the cancel hiring task (and vice-versa).
Object-centric behavioral constraints
Emergent object lifecycles
10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
is about
1
1
creates
1
promotes
1
creates
1
1
stops
1
closes
1
Person
Candidate Application Job Offer Job Profile
1
/ made by
1..⇤ ⇤
responds to
1 ⇤
refers to
1
register
data submit
mark as
eligible
post
offer
cancel
hiring
determine
winner
Application Job

Offer
many one
Object-centric behavioral constraints
Dimension 3: the process
• constraints…
10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
is about
1
1
creates
1
promotes
1
creates
1
1
stops
1
closes
1
Person
Candidate Application Job Offer Job Profile
1
/ made by
1..⇤ ⇤
responds to
1 ⇤
refers to
1
register
data submit
mark as
eligible
post
offer
cancel
hiring
determine
winner
C.8 A winner can be determined for a Job Offer only if at least one Application
responding to that Job Offer has been previously marked as eligible.
C.9 For each Application responding to a Job Offer, if the Application is marked
as eligible then a winner must be finally determined for that Job Offer, and
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications responding to that
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be stopped by executing
the cancel hiring task (and vice-versa).
2.2 Capturing the Job Hiring Example with Case-Centric Notations
The most fundamental issue when trying to capture the job hiring example of Section 2.1
using case-centric notation is to identify what is the case. This, in turn, determines
what is the orchestration point for the process, that is, which participant coordinates
process instances corresponding to different case objects. This problem is apparent when
looking at BPMN, which specifies that each process should correspond to a single locus
of control, i.e., confined within a single pool.4
In our example, we have two participants: candidates (in turn responsible for man-
aging Applications), and the job hiring organisation (in turn responsible for the
management of JobOffers). However, we cannot use neither of the two to act as unique
locus of control for the process: on the one hand, candidates may simultaneously create
and manage different applications for different job offers; on the other hand, the organi-
Enriching Data Models with Behavioral Constraints 5
C.5 An Application is created by executing the submit task.
C.6 An Application is promoted by marking it as eligible.
C.7 An Application can be submitted only if, beforehand, the data about the Candi-
date who made that Application have been registered.
C.8 A winner can be determined for a Job Offer only if at least one Application
responding to that Job Offer has been previously marked as eligible.
C.9 For each Application responding to a Job Offer, if the Application is marked
as eligible then a winner must be finally determined for that Job Offer, and
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications responding to that
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be stopped by executing
the cancel hiring task (and vice-versa).
2.2 Capturing the Job Hiring Example with Case-Centric Notations
Object-centric behavioral constraints
Dimension 3: the process
• constraints…
• …with data co-
referencing
10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
is about
1
1
creates
1
promotes
1
creates
1
1
stops
1
closes
1
Person
Candidate Application Job Offer Job Profile
1
/ made by
1..⇤ ⇤
responds to
1 ⇤
refers to
1
register
data submit
mark as
eligible
post
offer
cancel
hiring
determine
winner
C.8 A winner can be determined for a Job Offer only if at least one Application
responding to that Job Offer has been previously marked as eligible.
C.9 For each Application responding to a Job Offer, if the Application is marked
as eligible then a winner must be finally determined for that Job Offer, and
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications responding to that
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be stopped by executing
the cancel hiring task (and vice-versa).
2.2 Capturing the Job Hiring Example with Case-Centric Notations
The most fundamental issue when trying to capture the job hiring example of Section 2.1
using case-centric notation is to identify what is the case. This, in turn, determines
what is the orchestration point for the process, that is, which participant coordinates
process instances corresponding to different case objects. This problem is apparent when
looking at BPMN, which specifies that each process should correspond to a single locus
of control, i.e., confined within a single pool.4
In our example, we have two participants: candidates (in turn responsible for man-
aging Applications), and the job hiring organisation (in turn responsible for the
management of JobOffers). However, we cannot use neither of the two to act as unique
locus of control for the process: on the one hand, candidates may simultaneously create
and manage different applications for different job offers; on the other hand, the organi-
Enriching Data Models with Behavioral Constraints 5
C.5 An Application is created by executing the submit task.
C.6 An Application is promoted by marking it as eligible.
C.7 An Application can be submitted only if, beforehand, the data about the Candi-
date who made that Application have been registered.
C.8 A winner can be determined for a Job Offer only if at least one Application
responding to that Job Offer has been previously marked as eligible.
C.9 For each Application responding to a Job Offer, if the Application is marked
as eligible then a winner must be finally determined for that Job Offer, and
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications responding to that
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be stopped by executing
the cancel hiring task (and vice-versa).
2.2 Capturing the Job Hiring Example with Case-Centric Notations
object co-referencing
relation co-referencing
If
Object co-referencing on response
12 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
A1 A2
O
R1 R2
Every time an instance a1 of A1 is executed
on some object o of type O (i.e., with R1(a1, o)),
then an instance a2 of A2 must be executed afterwards
on the same object o (i.e., with R2(a2, o))
(a) Co-reference of response over an object class
A1 A2
Every time an instance a1 of A1 is executed
8 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
A B
response
A B
unary-response
A B
non-response
A B
precedence
A B
unary-precedence
A B
non-precedence
A B
responded-existence
A B
non-coexistence
Fig. 3: Types of temporal constraints between activities
response(A, B) If A is executed, then B must be executed afterwards.
unary- response(A, B) If A is executed, then B must be executed exactly once after-
12 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
A1 A2
O
R1 R2
Every time an instance a1 of A1 is executed
on some object o of type O (i.e., with R1(a1, o)),
then an instance a2 of A2 must be executed afterwards
on the same object o (i.e., with R2(a2, o))
(a) Co-reference of response over an object class
A1 A2
Every time an instance a1 of A1 is executed
o:O
a:A
R1
then
later
b:B
R2
time
objects
Relation co-referencing on response
time
o1:O1
a:A
R1
If
b:B
R2
A1 A2
O
R1 R2
Every time an instance a1 of A1 is executed
on some object o of type O (i.e., with R1(a1, o)),
then an instance a2 of A2 must be executed afterwards
on the same object o (i.e., with R2(a2, o))
(a) Co-reference of response over an object class
A1 A2
O1 O2
R
R1 R2
Every time an instance a1 of A1 is executed
on some object o1 of type O1 (i.e., with R1(a1, o1)),
then an instance a2 of A2 must be executed afterwards
on some object o2 of type O2 (i.e., with R2(a2, o2))
that relates to o1 via R
(i.e., having R(o1, o2) at the moment of execution of a2).
(b) Co-reference of response over a relationship
A1 A2
Every time an instance a1 of A1 is executed
8 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst
A B
response
A B
unary-response
A B
non-response
A B
precedence
A B
unary-precedence
A B
non-precedence
A B
responded-existence
A B
non-coexistence
Fig. 3: Types of temporal constraints between activities
response(A, B) If A is executed, then B must be executed afterwards.
unary- response(A, B) If A is executed, then B must be executed exactly once after-
o2:O2
R
then
later
objects
Object-centric behavioral constraints
Dimension 3: the process
• constraints…
• …with data co-
referencing
C.8 A winner can be determined for a Job Offer only if at least one Application
responding to that Job Offer has been previously marked as eligible.
C.9 For each Application responding to a Job Offer, if the Application is marked
as eligible then a winner must be finally determined for that Job Offer, and
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications responding to that
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be stopped by executing
the cancel hiring task (and vice-versa).
2.2 Capturing the Job Hiring Example with Case-Centric Notations
The most fundamental issue when trying to capture the job hiring example of Section 2.1
using case-centric notation is to identify what is the case. This, in turn, determines
what is the orchestration point for the process, that is, which participant coordinates
process instances corresponding to different case objects. This problem is apparent when
looking at BPMN, which specifies that each process should correspond to a single locus
of control, i.e., confined within a single pool.4
In our example, we have two participants: candidates (in turn responsible for man-
aging Applications), and the job hiring organisation (in turn responsible for the
management of JobOffers). However, we cannot use neither of the two to act as unique
locus of control for the process: on the one hand, candidates may simultaneously create
and manage different applications for different job offers; on the other hand, the organi-
Enriching Data Models with Behavioral Constraints 5
C.5 An Application is created by executing the submit task.
C.6 An Application is promoted by marking it as eligible.
C.7 An Application can be submitted only if, beforehand, the data about the Candi-
date who made that Application have been registered.
C.8 A winner can be determined for a Job Offer only if at least one Application
responding to that Job Offer has been previously marked as eligible.
C.9 For each Application responding to a Job Offer, if the Application is marked
as eligible then a winner must be finally determined for that Job Offer, and
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications responding to that
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be stopped by executing
the cancel hiring task (and vice-versa).
2.2 Capturing the Job Hiring Example with Case-Centric Notations
Enriching Data Models with Behavioral Constraints 13
is about
1
1
creates
1
promotes
1
creates
1
1
stops
1
closes
1
Person
Candidate Application Job Offer Job Profile
1
/ made by
1..⇤ ⇤
responds to
1 ⇤
refers to
1
register
data submit
mark as
eligible
post
offer
cancel
hiring
determine
winner
Object-centric behavioral constraints
Dimension 3: the process
• constraints…
• …with data co-
referencing Enriching Data Models with Behavioral Constraints 13
is about
1
1
creates
1
promotes
1
creates
1
1
stops
1
closes
1
Person
Candidate Application Job Offer Job Profile
1
/ made by
1..⇤ ⇤
responds to
1 ⇤
refers to
1
register
data submit
mark as
eligible
post
offer
cancel
hiring
determine
winner
Enriching Data Models with Behavioral Constraints 5
C.5 An Application is created by executing the submit task.
C.6 An Application is promoted by marking it as eligible.
C.7 An Application can be submitted only if, beforehand, the data about the Candi-
date who made that Application have been registered.
C.8 A winner can be determined for a Job Offer only if at least one Application
responding to that Job Offer has been previously marked as eligible.
C.9 For each Application responding to a Job Offer, if the Application is marked
as eligible then a winner must be finally determined for that Job Offer, and
this is done only once for that Job Offer.
C.10 When a winner is determined for a Job Offer, Applications responding to that
Job Offer cannot be marked as eligible anymore.
C.11 A Job Offer closed by a determine winner task cannot be stopped by executing
the cancel hiring task (and vice-versa).
2.2 Capturing the Job Hiring Example with Case-Centric Notations
The most fundamental issue when trying to capture the job hiring example of Section 2.1
using case-centric notation is to identify what is the case. This, in turn, determines
what is the orchestration point for the process, that is, which participant coordinates
process instances corresponding to different case objects. This problem is apparent when
Semantics and formalization
Process execution: temporal knowledge graph
Data model: description logics
Object-centric constraints: temporal description logics
o1 : Order
ol1 : Order Line
ol2 : Order Line
ol3 : Order Line
d1 : Delivery
d2 : Delivery
.. .
.. .
.. .
.. .
.. .
.. .
co1 : Create Order
pi1 : Pick Item
pi2 : Pick Item
wi1 : Wrap Item
wi2 : Wrap Item
pi3 : Pick Item
wi3 : Wrap Item
po1 : Pay Order
di1 : Deliver Items
di2 : Deliver Items
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9
creates
fills
contains
fills
contains
prepares
prepares
fills
contains
prepares
closes
refers to
results in
results in
refers to
results in
Achieved and ongoing results
Reasoning [____,BPM2019]
• Direct approach -> undecidable

• Careful “object-centric” reformulation 

-> decidable in EXPTIME (same as reasoning on UML diagrams)

Monitoring (ongoing)
• Hybrid reasoning (closed on the past, open on the future)

Discovery (ongoing)
• Construction of trace views

• Standard discovery on views

• Object-centric reconciliation
Conclusions
Augmented BPM: a framework for the intelligent management
of processes at the intersection of AI and BPM
Central task: framing 

Declarative approach: solid basis to framing with uncertainty,
data, objects and their interactions
•Reasoning via well-established formalisms and techniques
Foundations well understood, e
ff
ort needed towards
engineering
Thanks to Wil van der Aalst, Anti Alman, Alessandro Artale, Federico Chesani, Giuseppe De
Giacomo, Riccardo De Masellis, Claudio Di Ciccio, Marlon Dumas, Dirk Fahland, Paolo Felli,
Alessandro Gianola, Alisa Kovtunova, Fabrizio Maggi, Andrea Marrella, Paola Mello, Jan
Mendling, Fabio Patrizi, Rafael Penaloza, Maja Pesic, Andrey Rivkin, Michael Westergaard
Thank you!
montali@inf.unibz.it

More Related Content

What's hot

Story Maps in practice
Story Maps in practiceStory Maps in practice
Story Maps in practice
Christian Hassa
 
Interaction Design
Interaction DesignInteraction Design
Interaction Design
hcicourse
 
We’ve done all this research, now what?
We’ve done all this research, now what?We’ve done all this research, now what?
We’ve done all this research, now what?
Steve Portigal
 
Circular Economy / Service Design Drinks
Circular Economy / Service Design DrinksCircular Economy / Service Design Drinks
Circular Economy / Service Design Drinks
Service Design Berlin
 
Introduction to Business Process Monitoring and Process Mining
Introduction to Business Process Monitoring and Process MiningIntroduction to Business Process Monitoring and Process Mining
Introduction to Business Process Monitoring and Process Mining
Marlon Dumas
 
Un réseau d'échange de savoirs entre adhérents avec Steeple. Médiathèque muni...
Un réseau d'échange de savoirs entre adhérents avec Steeple. Médiathèque muni...Un réseau d'échange de savoirs entre adhérents avec Steeple. Médiathèque muni...
Un réseau d'échange de savoirs entre adhérents avec Steeple. Médiathèque muni...
ACIM (Association pour la coopération des professionnels de l'information musicale)
 
Business process modelling
Business process modellingBusiness process modelling
Business process modelling
Kiito25
 
An Introduction to Usability Testing
An Introduction to Usability TestingAn Introduction to Usability Testing
An Introduction to Usability Testing
Lennart Overkamp
 
UXPA 2023: Data science and UX: Smarter together
UXPA 2023: Data science and UX: Smarter togetherUXPA 2023: Data science and UX: Smarter together
UXPA 2023: Data science and UX: Smarter together
UXPA International
 
User Centered Design
User Centered DesignUser Centered Design
User Centered Design
Mithilesh Mandal
 
Dialogs in Android MVVM (14.11.2019)
Dialogs in Android MVVM (14.11.2019)Dialogs in Android MVVM (14.11.2019)
Dialogs in Android MVVM (14.11.2019)
Vladislav Ermolin
 
Communication and collaboration models
Communication and collaboration modelsCommunication and collaboration models
Communication and collaboration models
PhD Research Scholar
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
webcat
 
Process Mining - Chapter 3 - Data Mining
Process Mining - Chapter 3 - Data MiningProcess Mining - Chapter 3 - Data Mining
Process Mining - Chapter 3 - Data Mining
Wil van der Aalst
 
Interfaces
InterfacesInterfaces
Interfaces
Andres Baravalle
 
家庭で使うSlack
家庭で使うSlack家庭で使うSlack
家庭で使うSlack
Mitsushige Ishiguro
 
Historias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productosHistorias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productos
Marco Avendaño
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
Manik Choudhary
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
Tathagat Varma
 
Content Design, UI Architecture and Content-UI-Mapping
Content Design, UI Architecture and Content-UI-MappingContent Design, UI Architecture and Content-UI-Mapping
Content Design, UI Architecture and Content-UI-Mapping
Wolfram Nagel
 

What's hot (20)

Story Maps in practice
Story Maps in practiceStory Maps in practice
Story Maps in practice
 
Interaction Design
Interaction DesignInteraction Design
Interaction Design
 
We’ve done all this research, now what?
We’ve done all this research, now what?We’ve done all this research, now what?
We’ve done all this research, now what?
 
Circular Economy / Service Design Drinks
Circular Economy / Service Design DrinksCircular Economy / Service Design Drinks
Circular Economy / Service Design Drinks
 
Introduction to Business Process Monitoring and Process Mining
Introduction to Business Process Monitoring and Process MiningIntroduction to Business Process Monitoring and Process Mining
Introduction to Business Process Monitoring and Process Mining
 
Un réseau d'échange de savoirs entre adhérents avec Steeple. Médiathèque muni...
Un réseau d'échange de savoirs entre adhérents avec Steeple. Médiathèque muni...Un réseau d'échange de savoirs entre adhérents avec Steeple. Médiathèque muni...
Un réseau d'échange de savoirs entre adhérents avec Steeple. Médiathèque muni...
 
Business process modelling
Business process modellingBusiness process modelling
Business process modelling
 
An Introduction to Usability Testing
An Introduction to Usability TestingAn Introduction to Usability Testing
An Introduction to Usability Testing
 
UXPA 2023: Data science and UX: Smarter together
UXPA 2023: Data science and UX: Smarter togetherUXPA 2023: Data science and UX: Smarter together
UXPA 2023: Data science and UX: Smarter together
 
User Centered Design
User Centered DesignUser Centered Design
User Centered Design
 
Dialogs in Android MVVM (14.11.2019)
Dialogs in Android MVVM (14.11.2019)Dialogs in Android MVVM (14.11.2019)
Dialogs in Android MVVM (14.11.2019)
 
Communication and collaboration models
Communication and collaboration modelsCommunication and collaboration models
Communication and collaboration models
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
 
Process Mining - Chapter 3 - Data Mining
Process Mining - Chapter 3 - Data MiningProcess Mining - Chapter 3 - Data Mining
Process Mining - Chapter 3 - Data Mining
 
Interfaces
InterfacesInterfaces
Interfaces
 
家庭で使うSlack
家庭で使うSlack家庭で使うSlack
家庭で使うSlack
 
Historias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productosHistorias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productos
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
Content Design, UI Architecture and Content-UI-Mapping
Content Design, UI Architecture and Content-UI-MappingContent Design, UI Architecture and Content-UI-Mapping
Content Design, UI Architecture and Content-UI-Mapping
 

Similar to Constraints for Process Framing in Augmented BPM

Climbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processesClimbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processes
Universidade Estadual de Maringá
 
Velocity. Agility. Python. (Pycon APAC 2017)
Velocity. Agility. Python. (Pycon APAC 2017)Velocity. Agility. Python. (Pycon APAC 2017)
Velocity. Agility. Python. (Pycon APAC 2017)
Sian Lerk Lau
 
Supporting Knowledge Workers With Adaptive Case Management
Supporting Knowledge Workers With Adaptive Case ManagementSupporting Knowledge Workers With Adaptive Case Management
Supporting Knowledge Workers With Adaptive Case Management
Nathaniel Palmer
 
Hybrid models
Hybrid modelsHybrid models
Hybrid models
hreijers
 
Role of compliance in security audits
Role of compliance in security auditsRole of compliance in security audits
Role of compliance in security audits
n|u - The Open Security Community
 
Decomposed Conformance Checking in the Data era
Decomposed Conformance Checking in the Data eraDecomposed Conformance Checking in the Data era
Decomposed Conformance Checking in the Data era
Wai Lam Jonathan Lee
 
Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...
Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...
Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Oops Concepts
Oops ConceptsOops Concepts
Oops Concepts
guest1aac43
 
Event-driven BPM the JBoss way
Event-driven BPM the JBoss wayEvent-driven BPM the JBoss way
Event-driven BPM the JBoss way
Kris Verlaenen
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
Ole Christian Rynning
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Stein Inge Morisbak
 
AIxIA2015 - Marco Somalvico Award 2015 - Montali - Data and Processes: a Chal...
AIxIA2015 - Marco Somalvico Award 2015 - Montali - Data and Processes: a Chal...AIxIA2015 - Marco Somalvico Award 2015 - Montali - Data and Processes: a Chal...
AIxIA2015 - Marco Somalvico Award 2015 - Montali - Data and Processes: a Chal...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Technology in financial services
Technology in financial servicesTechnology in financial services
Technology in financial services
Luis Caldeira
 
Technology in financial services
Technology in financial servicesTechnology in financial services
Technology in financial services
Luis Caldeira
 
Transactional Blackbelts are different
Transactional Blackbelts are differentTransactional Blackbelts are different
Transactional Blackbelts are different
reachab7
 
01_Principles.pdf rata Tata principles and rules
01_Principles.pdf rata Tata principles and rules01_Principles.pdf rata Tata principles and rules
01_Principles.pdf rata Tata principles and rules
wearemaskedmascots
 
Abstract
AbstractAbstract
Abstract
emaye
 
Interpretatie van CMMI
Interpretatie van CMMIInterpretatie van CMMI
Interpretatie van CMMI
André Heijstek
 
Bpmds 2010
Bpmds 2010Bpmds 2010
Bpmds 2010
Ilia Bider
 
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overview
alessio_ferrari
 

Similar to Constraints for Process Framing in Augmented BPM (20)

Climbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processesClimbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processes
 
Velocity. Agility. Python. (Pycon APAC 2017)
Velocity. Agility. Python. (Pycon APAC 2017)Velocity. Agility. Python. (Pycon APAC 2017)
Velocity. Agility. Python. (Pycon APAC 2017)
 
Supporting Knowledge Workers With Adaptive Case Management
Supporting Knowledge Workers With Adaptive Case ManagementSupporting Knowledge Workers With Adaptive Case Management
Supporting Knowledge Workers With Adaptive Case Management
 
Hybrid models
Hybrid modelsHybrid models
Hybrid models
 
Role of compliance in security audits
Role of compliance in security auditsRole of compliance in security audits
Role of compliance in security audits
 
Decomposed Conformance Checking in the Data era
Decomposed Conformance Checking in the Data eraDecomposed Conformance Checking in the Data era
Decomposed Conformance Checking in the Data era
 
Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...
Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...
Seminar@UNIVR 31/05/2016 Montali: Data-aware business processes - balancing b...
 
Oops Concepts
Oops ConceptsOops Concepts
Oops Concepts
 
Event-driven BPM the JBoss way
Event-driven BPM the JBoss wayEvent-driven BPM the JBoss way
Event-driven BPM the JBoss way
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
AIxIA2015 - Marco Somalvico Award 2015 - Montali - Data and Processes: a Chal...
AIxIA2015 - Marco Somalvico Award 2015 - Montali - Data and Processes: a Chal...AIxIA2015 - Marco Somalvico Award 2015 - Montali - Data and Processes: a Chal...
AIxIA2015 - Marco Somalvico Award 2015 - Montali - Data and Processes: a Chal...
 
Technology in financial services
Technology in financial servicesTechnology in financial services
Technology in financial services
 
Technology in financial services
Technology in financial servicesTechnology in financial services
Technology in financial services
 
Transactional Blackbelts are different
Transactional Blackbelts are differentTransactional Blackbelts are different
Transactional Blackbelts are different
 
01_Principles.pdf rata Tata principles and rules
01_Principles.pdf rata Tata principles and rules01_Principles.pdf rata Tata principles and rules
01_Principles.pdf rata Tata principles and rules
 
Abstract
AbstractAbstract
Abstract
 
Interpretatie van CMMI
Interpretatie van CMMIInterpretatie van CMMI
Interpretatie van CMMI
 
Bpmds 2010
Bpmds 2010Bpmds 2010
Bpmds 2010
 
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overview
 

More from Faculty of Computer Science - Free University of Bozen-Bolzano

From Case-Isolated to Object-Centric Processes - A Tale of two Models
From Case-Isolated to Object-Centric Processes - A Tale of two ModelsFrom Case-Isolated to Object-Centric Processes - A Tale of two Models
From Case-Isolated to Object-Centric Processes - A Tale of two Models
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic SettingReasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Intelligent Systems for Process Mining
Intelligent Systems for Process MiningIntelligent Systems for Process Mining
Process Reasoning and Mining with Uncertainty
Process Reasoning and Mining with UncertaintyProcess Reasoning and Mining with Uncertainty
Process Reasoning and Mining with Uncertainty
Faculty of Computer Science - Free University of Bozen-Bolzano
 
From Case-Isolated to Object-Centric Processes
From Case-Isolated to Object-Centric ProcessesFrom Case-Isolated to Object-Centric Processes
From Case-Isolated to Object-Centric Processes
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Modeling and Reasoning over Declarative Data-Aware Processes
Modeling and Reasoning over Declarative Data-Aware ProcessesModeling and Reasoning over Declarative Data-Aware Processes
Modeling and Reasoning over Declarative Data-Aware Processes
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Soundness of Data-Aware Processes with Arithmetic Conditions
Soundness of Data-Aware Processes with Arithmetic ConditionsSoundness of Data-Aware Processes with Arithmetic Conditions
Soundness of Data-Aware Processes with Arithmetic Conditions
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Probabilistic Trace Alignment
Probabilistic Trace AlignmentProbabilistic Trace Alignment
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple ActorsStrategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with UncertaintyExtending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with UncertaintyExtending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
From legacy data to event data
From legacy data to event dataFrom legacy data to event data
Putting Decisions in Perspective(s)
Putting Decisions in Perspective(s)Putting Decisions in Perspective(s)
Enriching Data Models with Behavioral Constraints
Enriching Data Models with Behavioral ConstraintsEnriching Data Models with Behavioral Constraints
Enriching Data Models with Behavioral Constraints
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Representing and querying norm states using temporal ontology-based data access
Representing and querying norm states using temporal ontology-based data accessRepresenting and querying norm states using temporal ontology-based data access
Representing and querying norm states using temporal ontology-based data access
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Compliance monitoring of multi-perspective declarative process models
Compliance monitoring of multi-perspective declarative process modelsCompliance monitoring of multi-perspective declarative process models
Compliance monitoring of multi-perspective declarative process models
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Processes and organizations - a look behind the paper wall
Processes and organizations - a look behind the paper wallProcesses and organizations - a look behind the paper wall
Processes and organizations - a look behind the paper wall
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Formal modeling and SMT-based parameterized verification of Data-Aware BPMN
Formal modeling and SMT-based parameterized verification of Data-Aware BPMNFormal modeling and SMT-based parameterized verification of Data-Aware BPMN
Formal modeling and SMT-based parameterized verification of Data-Aware BPMN
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Modeling and reasoning over declarative data-aware processes with object-cent...
Modeling and reasoning over declarative data-aware processes with object-cent...Modeling and reasoning over declarative data-aware processes with object-cent...
Modeling and reasoning over declarative data-aware processes with object-cent...
Faculty of Computer Science - Free University of Bozen-Bolzano
 

More from Faculty of Computer Science - Free University of Bozen-Bolzano (20)

From Case-Isolated to Object-Centric Processes - A Tale of two Models
From Case-Isolated to Object-Centric Processes - A Tale of two ModelsFrom Case-Isolated to Object-Centric Processes - A Tale of two Models
From Case-Isolated to Object-Centric Processes - A Tale of two Models
 
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic SettingReasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
 
Intelligent Systems for Process Mining
Intelligent Systems for Process MiningIntelligent Systems for Process Mining
Intelligent Systems for Process Mining
 
Process Reasoning and Mining with Uncertainty
Process Reasoning and Mining with UncertaintyProcess Reasoning and Mining with Uncertainty
Process Reasoning and Mining with Uncertainty
 
From Case-Isolated to Object-Centric Processes
From Case-Isolated to Object-Centric ProcessesFrom Case-Isolated to Object-Centric Processes
From Case-Isolated to Object-Centric Processes
 
Modeling and Reasoning over Declarative Data-Aware Processes
Modeling and Reasoning over Declarative Data-Aware ProcessesModeling and Reasoning over Declarative Data-Aware Processes
Modeling and Reasoning over Declarative Data-Aware Processes
 
Soundness of Data-Aware Processes with Arithmetic Conditions
Soundness of Data-Aware Processes with Arithmetic ConditionsSoundness of Data-Aware Processes with Arithmetic Conditions
Soundness of Data-Aware Processes with Arithmetic Conditions
 
Probabilistic Trace Alignment
Probabilistic Trace AlignmentProbabilistic Trace Alignment
Probabilistic Trace Alignment
 
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple ActorsStrategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
 
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with UncertaintyExtending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
 
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with UncertaintyExtending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
 
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
 
From legacy data to event data
From legacy data to event dataFrom legacy data to event data
From legacy data to event data
 
Putting Decisions in Perspective(s)
Putting Decisions in Perspective(s)Putting Decisions in Perspective(s)
Putting Decisions in Perspective(s)
 
Enriching Data Models with Behavioral Constraints
Enriching Data Models with Behavioral ConstraintsEnriching Data Models with Behavioral Constraints
Enriching Data Models with Behavioral Constraints
 
Representing and querying norm states using temporal ontology-based data access
Representing and querying norm states using temporal ontology-based data accessRepresenting and querying norm states using temporal ontology-based data access
Representing and querying norm states using temporal ontology-based data access
 
Compliance monitoring of multi-perspective declarative process models
Compliance monitoring of multi-perspective declarative process modelsCompliance monitoring of multi-perspective declarative process models
Compliance monitoring of multi-perspective declarative process models
 
Processes and organizations - a look behind the paper wall
Processes and organizations - a look behind the paper wallProcesses and organizations - a look behind the paper wall
Processes and organizations - a look behind the paper wall
 
Formal modeling and SMT-based parameterized verification of Data-Aware BPMN
Formal modeling and SMT-based parameterized verification of Data-Aware BPMNFormal modeling and SMT-based parameterized verification of Data-Aware BPMN
Formal modeling and SMT-based parameterized verification of Data-Aware BPMN
 
Modeling and reasoning over declarative data-aware processes with object-cent...
Modeling and reasoning over declarative data-aware processes with object-cent...Modeling and reasoning over declarative data-aware processes with object-cent...
Modeling and reasoning over declarative data-aware processes with object-cent...
 

Recently uploaded

THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
Abdul Wali Khan University Mardan,kP,Pakistan
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
yqqaatn0
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills MN
 
BREEDING METHODS FOR DISEASE RESISTANCE.pptx
BREEDING METHODS FOR DISEASE RESISTANCE.pptxBREEDING METHODS FOR DISEASE RESISTANCE.pptx
BREEDING METHODS FOR DISEASE RESISTANCE.pptx
RASHMI M G
 
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
David Osipyan
 
bordetella pertussis.................................ppt
bordetella pertussis.................................pptbordetella pertussis.................................ppt
bordetella pertussis.................................ppt
kejapriya1
 
Shallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptxShallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptx
Gokturk Mehmet Dilci
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
muralinath2
 
Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
European Sustainable Phosphorus Platform
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
RitabrataSarkar3
 
molar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptxmolar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptx
Anagha Prasad
 
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốtmô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
HongcNguyn6
 
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptxANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
RASHMI M G
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
Sérgio Sacani
 
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdfTopic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
TinyAnderson
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Texas Alliance of Groundwater Districts
 
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
AbdullaAlAsif1
 
Equivariant neural networks and representation theory
Equivariant neural networks and representation theoryEquivariant neural networks and representation theory
Equivariant neural networks and representation theory
Daniel Tubbenhauer
 
ESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptxESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptx
PRIYANKA PATEL
 
20240520 Planning a Circuit Simulator in JavaScript.pptx
20240520 Planning a Circuit Simulator in JavaScript.pptx20240520 Planning a Circuit Simulator in JavaScript.pptx
20240520 Planning a Circuit Simulator in JavaScript.pptx
Sharon Liu
 

Recently uploaded (20)

THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
 
BREEDING METHODS FOR DISEASE RESISTANCE.pptx
BREEDING METHODS FOR DISEASE RESISTANCE.pptxBREEDING METHODS FOR DISEASE RESISTANCE.pptx
BREEDING METHODS FOR DISEASE RESISTANCE.pptx
 
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
 
bordetella pertussis.................................ppt
bordetella pertussis.................................pptbordetella pertussis.................................ppt
bordetella pertussis.................................ppt
 
Shallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptxShallowest Oil Discovery of Turkiye.pptx
Shallowest Oil Discovery of Turkiye.pptx
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
 
Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
 
molar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptxmolar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptx
 
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốtmô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
mô tả các thí nghiệm về đánh giá tác động dòng khí hóa sau đốt
 
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptxANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
 
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdfTopic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
 
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
 
Equivariant neural networks and representation theory
Equivariant neural networks and representation theoryEquivariant neural networks and representation theory
Equivariant neural networks and representation theory
 
ESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptxESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptx
 
20240520 Planning a Circuit Simulator in JavaScript.pptx
20240520 Planning a Circuit Simulator in JavaScript.pptx20240520 Planning a Circuit Simulator in JavaScript.pptx
20240520 Planning a Circuit Simulator in JavaScript.pptx
 

Constraints for Process Framing in Augmented BPM

  • 1. 09/09/2022 - KES 2022, Verona, Italy Marco Montali Free University of Bozen-Bolzano, Italy AI4BPM 2022, Münster, Germany Constraints for process framing in Augmented BPM Marco Montali Free University of Bozen-Bolzano
  • 2. What do we do We develop foundational and applied techniques grounded in arti fi cial intelligence, logics, and formal methods, to create intelligent agents and information systems that combine processes and data.
  • 3. How to attack these challenges? Arti fi cial Intelligence Knowledge representation Automated reasoning Computational logics Information Systems Business process management Data management Decision management Formal Methods In fi nite-state systems Veri fi cation Petri nets Data Science Process mining Data access and integration
  • 4. Warm up: what is augmented BPM
  • 6. Augmented BPM An increased availability of business process execution data, combined with advances in AI, have laid the ground for the emergence of information systems where the execution fl ows are not pre- determined, adaptations do not require explicit changes to software applications, and improvement opportunities are autonomously discovered, validated, and enabled on-the- fl y.
  • 7. Augmented BPM System AI-empowered, trustworthy, and process-aware information system that 
 reasons and acts upon data within a set of constraints and assumptions
 with the aim to 
 continuously adapt and improve a set of business processes with respect to one or more performance indicators
  • 8. Augmented BPM System AI-empowered, trustworthy, and process-aware information system that 
 reasons and acts upon data within a set of constraints and assumptions
 with the aim to 
 continuously adapt and improve a set of business processes with respect to one or more performance indicators Strongly related to 
 BPM and integrative AI Thu 09:00-10:00 Keynote by 
 Chiara Ghidini Data, Conceptual Knowledge, and AI: What can they do together?
  • 9. ABPM lifecycle Revisiting the BPM lifecycle: from “design” to “framing” frame
  • 10. process-aware execution ABPM lifecycle Revisiting the BPM lifecycle: continuous evolution frame
  • 11. process-aware execution ABPM lifecycle Revisiting the BPM lifecycle: continuous evolution frame enact perceive reason
  • 12. process-aware execution ABPM lifecycle Extending with “pure” AI capabilities frame enact perceive reason adapt improve explain
  • 13. ABPMS process-aware execution ABPM lifecycle Continuous interaction with principals frame enact perceive reason adapt improve explain agent intelligent interaction
  • 14. Features of an ABPMS Framed autonomy ABPMS acts autonomously • Lifecycle steps performed proactively and continuously ABPMS acts “within its frame” • Maximally permissive, goal-driven strategy
  • 15. Features of an ABPMS Framed autonomy ABPMS acts autonomously • Lifecycle steps performed proactively and continuously ABPMS acts “within its frame” • Maximally permissive, goal-driven strategy What does this mean? Hard vs soft constraints, reframing, meta-framing, …
  • 16. Features of an ABPMS Conversationally actionable Autonomy does not mean isolation • Need of continuous conversation with human principal(s) Conversational • Language-based communication with humans (proactive and reactive) Actionable • Interaction leads to actual decision making
  • 17. Features of an ABPMS Conversationally actionable Autonomy does not mean isolation • Need of continuous conversation with human principal(s) Conversational • Language-based communication with humans (proactive and reactive) Actionable • Interaction leads to actual decision making Which focus? Actions, goals, intensions, but also models!
  • 18. Features of an ABPMS Adaptive Motto: react to changes and self-improve • Prediction • Instance- and model-level adaptations
  • 19. Features of an ABPMS Adaptive Motto: react to changes and self-improve • Prediction • Instance- and model-level adaptations
  • 20. Features of an ABPMS Adaptive Motto: react to changes and self-improve • Prediction • Instance- and model-level adaptations • Multi-objective optimisation • Evaluation of trade-o ff s
  • 21. Features of an ABPMS Adaptive Motto: react to changes and self-improve • Prediction • Instance- and model-level adaptations • Multi-objective optimisation • Evaluation of trade-o ff s What if there are multiple principals?
  • 22. Quiz: which feature is missing?
  • 23. Features of an ABPMS Explainable An ABPMS should be trustworthy • “trust is the willingness of a party to be vulnerable to the actions of another party based on the expectation that the other will perform a particular action important to the trustor, irrespective of the ability to monitor or control that other party” [MayerEtAl,TAMR95] How to be trustworthy? • Fair • Explainable • Auditable • Safe Need of speci fi c focus on “process-aware” systems
  • 25. What is a process? A possibly in fi nite set of fi nite traces Σ*
  • 26. What is a process? A possibly in fi nite set of fi nite traces Σ*
  • 27. Flexibility and control as contrasting forces Σ* control fl exibility
  • 28. The issue of flexibility is widely known Different ways to address fl exibility in processes We are interested here in fl exibility by design
  • 29. Σ* Is this enough? “A process is (not) a point mass in a vacuum” (cit.)
  • 30. Σ* Is this enough? “A process is (not) a point mass in a vacuum” (cit.) time cases traditional view one process instance one case
  • 31. Σ* Is this enough? “A process is (not) a point mass in a vacuum” (cit.) traditional view one process instance one case time cases
  • 32. Σ* Is this enough? “A process is (not) a point mass in a vacuum” (cit.) multi-case/object-centric view one process instance many case time cases/objects
  • 33. Σ* Is this enough? “A process is (not) a point mass in a vacuum” (cit.) multi-process view many process instances one case time cases/objects
  • 34. More in general… Wed 10:30-12:30 Tutorial by 
 Dirk Fahland Multi-dimensional process analysis
  • 39. Outline the declarative approach monitoring and operational support How to deal with deviations?
  • 40. Outline the declarative approach monitoring and operational support How to deal with multiple processes and cases?
  • 41. Outline the declarative approach monitoring and operational support dealing with uncertainty dealing with multiple processes dealing with multiple objects How to deal with multiple processes and cases? [____,CAiSE22]
  • 42. Outline the declarative approach monitoring and operational support dealing with uncertainty dealing with multiple processes dealing with multiple objects How to deal with multiple processes and cases? [____,CAiSE22] Interested in uncertainty for procedural processes? See our papers at the main track (presentations Tue and Wed afternoon)
  • 44. Which Italian food do you like best? complexity -> predictability <- repetitiveness <- Control degree to which a central orchestrator decides how to execute the process Flexibility degree to which process stakeholders locally decide how to execute the process Lasagna processes Spaghetti processes
  • 46. … and an imperative model of it Σ* pick item close order pay quit order paid
  • 51. Our goal Compact speci fi cation Reality represents The class of “regular” spaghetti processes (not all)
  • 52. Framing via declarative specifications Process Imperative model Declarative speci fi cation
  • 53. Framing via declarative specifications Process Imperative model Declarative speci fi cation
  • 54. Constraint-based specifications of behaviour • Multiagent systems: declarative agent programs [Fisher,JSC1996] and interaction protocols [Singh,AAMAS2003] • Data management: cascaded transactional updates [DavulcuEtAl,PODS1998] • BPM (1st wave): loosely-coupled subprocesses [SadiqEtAl,ER2001] • BPM (2nd wave): process constraints • DECLARE [PesicEtAl,EDOC2007] • Dynamic Condition-Response (DCR) Graphs [HildebrandtEtAl,PLACES2010]
  • 55. Origin of Declare… Language, formalisation, reasoning, enactment
  • 57. Constraint templates Constraint types de fi ned on activity placeholders, each with a speci fi c meaning • … then instantiated on actual activities (by grounding) Dimensions • Activities: how many are involved • Time: temporal orientation (past, future, either) and strength (when) • Expectation: negative vs positive Much richer than the precedence fl ow relation of imperative languages
  • 58. Declare specification A set of constraints (templates grounded on the activities of interest) • Constraints have to be all satis fi ed globally over each, complete trace • Compositional approach by conjunction
  • 59. Flexible shopper in Declare “Whenever you close an order, you have to pay later at least once” 1. <> (empty trace) 2. <i,i,i> 3. <i,i,i,c,p> 4. <i,i,i,c,p,p> 5. <i,i,i,p,c> 6. <i,c,p,i,i,c,p> Pick item Close order Pay Accepts all {i, c, p}*
  • 60. Flexible shopper in Declare “Whenever you close an order, you have to pay later at least once” 1. <> (empty trace) 2. <i,i,i> 3. <i,i,i,c,p> 4. <i,i,i,c,p,p> 5. <i,i,i,p,c> 6. <i,c,p,i,i,c,p> Pick item Close order Pay response
  • 61. Interaction among constraints Aka hidden dependencies [____,TWEB2010] Cancel order Close order Pay If you cancel the order, you cannot pay for it If you close the order, you must pay for it Pick item To close an order, you must fi rst pick an item
  • 62. Interaction among constraints Aka hidden dependencies [____,TWEB2010] Cancel order Close order Pay If you cancel the order, you cannot pay for it If you close the order, you must pay for it Pick item To close an order, you must fi rst pick an item Implied: cannot cancel and con fi rm!
  • 63. Interaction among constraints Aka hidden dependencies [____,TWEB2010] Cancel order Close order Pay If you cancel the order, you cannot pay for it If you close the order, you must pay for it Pick item To close an order, you must fi rst pick an item Implied: cannot cancel and con fi rm! Key questions 1. How to characterise the language of a Declare speci fi cation? 2. How to understand whether a speci fi cation is correct?
  • 64. Back to the roots
  • 65. Back to the roots Patterns in Linear Temporal Logic (LTL)
  • 66. LTL: a logic for infinite traces Logic interpreted over in fi nite traces ' ::= A | ¬' | '1 ^ '2 | ' | '1U'2 Atomic propositions Boolean connectives At next step φ holds At some point φ2 holds, and φ1 holds until φ2 does φ eventually holds φ always holds φ1 holds forever or until φ2 does ' ::= A | ¬' | '1 ^ '2 | ' | '1U'2 ::= A | ¬' | '1 ^ '2 | ' | '1U'2 '1 ^ '2 | ' | '1U'2 | ' | '1U'2 ⌃' ⌘ true U' ⇤' ⌘ ¬⌃¬' '1W'2 = '1U'2 _ ⇤'1 ⇤' ⌘ ¬⌃¬' … Each state indicates which propositions hold
  • 67. LTL: a logic for infinite traces Logic interpreted over in fi nite traces ' ::= A | ¬' | '1 ^ '2 | ' | '1U'2 Atomic propositions Boolean connectives At next step φ holds At some point φ2 holds, and φ1 holds until φ2 does φ eventually holds φ always holds φ1 holds forever or until φ2 does ' ::= A | ¬' | '1 ^ '2 | ' | '1U'2 ::= A | ¬' | '1 ^ '2 | ' | '1U'2 '1 ^ '2 | ' | '1U'2 | ' | '1U'2 ⌃' ⌘ true U' ⇤' ⌘ ¬⌃¬' '1W'2 = '1U'2 _ ⇤'1 ⇤' ⌘ ¬⌃¬' … Each state indicates which propositions hold Can be seamlessly extended with past- tense operators
  • 68. LTL: a logic for infinite traces Logic interpreted over in fi nite traces ' ::= A | ¬' | '1 ^ '2 | ' | '1U'2 Atomic propositions Boolean connectives At next step φ holds At some point φ2 holds, and φ1 holds until φ2 does φ eventually holds φ always holds φ1 holds forever or until φ2 does ' ::= A | ¬' | '1 ^ '2 | ' | '1U'2 ::= A | ¬' | '1 ^ '2 | ' | '1U'2 '1 ^ '2 | ' | '1U'2 | ' | '1U'2 ⌃' ⌘ true U' ⇤' ⌘ ¬⌃¬' '1W'2 = '1U'2 _ ⇤'1 ⇤' ⌘ ¬⌃¬' … Each state indicates which propositions hold Can be seamlessly extended with past- tense operators Trace t satis fi es a formula is now formally de fi ned: φ t ⊧ φ
  • 70. Semantics of Declare via LTL Atomic propositions are activities Each constraint is an LTL formula (built from template formulae) … Each state contains a single activity delete order close order pay pick item
  • 71. delete order pick item Semantics of Declare via LTL Atomic propositions are activities Each constraint is an LTL formula (built from template formulae) … Each state contains a single activity close order pay □ ( 𝚌 𝚕 𝚘 𝚜 𝚎 → ◊ 𝚙 𝚊 𝚢 )
  • 72. Semantics of Declare via LTL Atomic propositions are activities A Declare speci fi cation is the conjunction of its constraint formulae … Each state contains a single activity delete order pick item close order pay □ ( 𝚌 𝚕 𝚘 𝚜 𝚎 → ◊ 𝚙 𝚊 𝚢 ) ∧ □ ( 𝚌 𝚕 𝚘 𝚜 𝚎 → ◊ 𝚒 𝚝 𝚎 𝚖 ) ∧ □ ( 𝚌 𝚊 𝚗 𝚌 𝚎 𝚕 → ¬ □ 𝚙 𝚊 𝚢 )
  • 73. An unconventional use of logics! From … Temporal logics for specifying (un)desired properties of a dynamic system … to … Temporal logics for specifying the dynamic system itself
  • 74. Wait a moment… Close order Pay □ ( 𝚌 𝚕 𝚘 𝚜 𝚎 → ◊ 𝚙 𝚊 𝚢 )
  • 75. Wait a moment… Close order Pay □ ( 𝚌 𝚕 𝚘 𝚜 𝚎 → ◊ 𝚙 𝚊 𝚢 ) Just what we needed! But recall: each process instance should complete 
 in a fi nite number of steps!
  • 76. LTLf: LTL over finite traces [DeGiacomoVardi,IJCAI2013] LTL interpreted over fi nite traces ' ::= A | ¬' | '1 ^ '2 | ' | '1U'2 No successor! Same syntax of LTL In LTL, there is always a next moment… in LTLf, the contrary! φ always holds from current to the last instant The next step exists and at next step φ holds (weak next) If the next step exists, then at next step φ holds last instant in the trace ' | '1 ^ '2 | ' | '1U'2 ⇤' Last ⌘ ¬ true ' ⌘ ¬ ¬'
  • 77. Look the same, but they are not the same Many researchers: misled by moving from in fi nite to fi nite traces In [____,AAAI14], we studied why! • People typically focus on “patterns”, not on the entire logic • Many of such patterns in BPM, reasoning about actions, planning, etc. are “insensitive to in fi nity”
  • 78. Quiz: does this specification accept traces? b c 0..1 1..* a d
  • 79. Quiz: does this specification accept traces? b c 0..1 1..* a d
  • 80. Quiz: does this specification accept traces? b c 0..1 1..* a d
  • 81. Quiz: does this specification accept traces? b c 0..1 1..* a d
  • 82. Quiz: does this specification accept traces? b c 0..1 1..* a d
  • 83. Quiz: does this specification accept traces? b c 0..1 1..* a d
  • 84. Quiz: does this specification accept traces? a b
  • 85. Quiz: does this specification accept traces? a b Only the empty trace <>, due to fi nite-trace semantics
  • 86. How to do this, systematically? Declare speci fi cation: encoded in LTLf LTLf: the star-free fragment of regular expressions Regular expressions: intimately connected to fi nite-state automata • No exotic automata models over in fi nite structures! • Just the good-old deterministic fi nite-state automata (DFAs) you know from a typical course in programming languages and compilers
  • 87. From Declare to automata LTLf NFA
 nondeterministic DFA
 deterministic LTLf2aut determin. ' nt lf formulas can be translated into equivalent nfa: t |= Ï iff t œ L(AÏ) /ldlf to nfa (exponential) to dfa (exponential) often nfa/dfa corresponding to ltlf /ldlf are in fact small! ompile reasoning into automata based procedures! Process engine! [DeGiacomoVardi,IJCAI2013] [____,TOSEM2022]
  • 88. Vision realised! LTLf NFA
 nondeterministic DFA
 deterministic LTLf2aut determin. ' nt lf formulas can be translated into equivalent nfa: t |= Ï iff t œ L(AÏ) /ldlf to nfa (exponential) to dfa (exponential) often nfa/dfa corresponding to ltlf /ldlf are in fact small! ompile reasoning into automata based procedures! Process engine! [DeGiacomoVardi,IJCAI2013] [____,TOSEM2022]
  • 89. A full Declare model [____,PMHandbook2022]
  • 90. A full Declare model [____,PMHandbook2022]
  • 91. Few lines of code [____,TOSEM2022] 0:8 G. De Giacomo et al. (tt, ⇧) = true (↵ , ⇧) = false ( , ⇧) = (h itt, ⇧) ( prop.) ('1 ^ '2, ⇧) = ('1, ⇧) ^ ('2, ⇧) ('1 _ '2, ⇧) = ('1, ⇧) _ ('2, ⇧) (h i', ⇧) = ⇢ E (') if ⇧ |= ( prop.) false if ⇧ 6|= (h ?i', ⇧) = ( , ⇧) ^ (', ⇧) (h⇢1 + ⇢2i', ⇧) = (h⇢1i', ⇧) _ (h⇢2i', ⇧) (h⇢1; ⇢2i', ⇧) = (h⇢1ih⇢2i', ⇧) (h⇢⇤ i', ⇧) = (', ⇧) _ (h⇢iF h⇢⇤i', ⇧) ([ ]', ⇧) = ⇢ E (') if ⇧ |= ( prop.) true if ⇧ 6|= ([ ?]', ⇧) = (nnf (¬ ), ⇧) _ (', ⇧) ([⇢1 + ⇢2]', ⇧) = ([⇢1]', ⇧) ^ ([⇢2]', ⇧) ([⇢1; ⇢2]', ⇧) = ([⇢1][⇢2]', ⇧) ([⇢⇤ ]', ⇧) = (', ⇧) ^ ([⇢]T [⇢⇤]', ⇧) (F , ⇧) = false (T , ⇧) = true Fig. 1: Definition of , where E (') recursively replaces in ' all occurrences of atoms of the form T and F by . 1: algorithm LDLf 2NFA 2: input LDLf formula ' 3: output NFA A(') = (2P , S, s0, %, Sf ) 4: s0 {'} . set the initial state 5: Sf {;} . set final states 6: if ( (', ✏) = true) then . check if initial state is also final 7: Sf Sf [ {s0} 8: S {s0, ;}, % ; 9: while (S or % change) do 10: for (s 2 S) do 11: if (s0 |= V ( 2s) ( , ⇧) then . add new state and transition 12: S S [ {s0 } 13: % % [ {(s, ⇧, s0 )} 14: if ( V ( 2s0) ( , ✏) = true) then . check if new state is also final 15: Sf Sf [ {s0 } Fig. 2: NFA construction. ' NFA
  • 92. Few lines of code [____,TOSEM2022] 0:8 G. De Giacomo et al. (tt, ⇧) = true (↵ , ⇧) = false ( , ⇧) = (h itt, ⇧) ( prop.) ('1 ^ '2, ⇧) = ('1, ⇧) ^ ('2, ⇧) ('1 _ '2, ⇧) = ('1, ⇧) _ ('2, ⇧) (h i', ⇧) = ⇢ E (') if ⇧ |= ( prop.) false if ⇧ 6|= (h ?i', ⇧) = ( , ⇧) ^ (', ⇧) (h⇢1 + ⇢2i', ⇧) = (h⇢1i', ⇧) _ (h⇢2i', ⇧) (h⇢1; ⇢2i', ⇧) = (h⇢1ih⇢2i', ⇧) (h⇢⇤ i', ⇧) = (', ⇧) _ (h⇢iF h⇢⇤i', ⇧) ([ ]', ⇧) = ⇢ E (') if ⇧ |= ( prop.) true if ⇧ 6|= ([ ?]', ⇧) = (nnf (¬ ), ⇧) _ (', ⇧) ([⇢1 + ⇢2]', ⇧) = ([⇢1]', ⇧) ^ ([⇢2]', ⇧) ([⇢1; ⇢2]', ⇧) = ([⇢1][⇢2]', ⇧) ([⇢⇤ ]', ⇧) = (', ⇧) ^ ([⇢]T [⇢⇤]', ⇧) (F , ⇧) = false (T , ⇧) = true Fig. 1: Definition of , where E (') recursively replaces in ' all occurrences of atoms of the form T and F by . 1: algorithm LDLf 2NFA 2: input LDLf formula ' 3: output NFA A(') = (2P , S, s0, %, Sf ) 4: s0 {'} . set the initial state 5: Sf {;} . set final states 6: if ( (', ✏) = true) then . check if initial state is also final 7: Sf Sf [ {s0} 8: S {s0, ;}, % ; 9: while (S or % change) do 10: for (s 2 S) do 11: if (s0 |= V ( 2s) ( , ⇧) then . add new state and transition 12: S S [ {s0 } 13: % % [ {(s, ⇧, s0 )} 14: if ( V ( 2s0) ( , ✏) = true) then . check if new state is also final 15: Sf Sf [ {s0 } Fig. 2: NFA construction. ' NFA Automata manipulations much easier to handle than in the in fi nite case, with huge performance improvements [ZhuEtAl,IJCAI17] [Westergaard,BPM11]
  • 93. Constraint automata Template: pre-compiled into a DFA Constraint: grounds the template DFA on speci fi c activities close order delete order pay pick item close order pay 0 1 2 c Σ {i,c} Σ∖ Σ i 1 1 {c} Σ∖ c {p} Σ∖ p 0 1 2 p Σ {d} Σ∖ d {p} Σ∖
  • 99. From local automata to global automaton Entire speci fi cation: product automaton of all local automata • Corresponds to the automaton of the conjunction of all formulae • Many optimisations available Declare speci fi cation consistent if and only if its global automaton is non-empty
  • 100. Constraints: hard or soft? Logically: hard Conceptually: not so clear • Model level: mix of constraints of di ff erent nature • Physical, best practices, policies, legal, … [AdamoEtAl,InfSys2021] • Hard at the IS level <-> hard or soft in reality • Manual task vs user-interaction task • Ontological reversal [BaskervilleEtAl,MISQ2020]
  • 101. Constraints: hard or soft? Logically: hard Conceptually: not so clear • Model level: mix of constraints of di ff erent nature • Physical, best practices, policies, legal, … [AdamoEtAl,InfSys2021] • Hard at the IS level <-> hard or soft in reality • Manual task vs user-interaction task • Ontological reversal [BaskervilleEtAl,MISQ2020] ABPMS needs to to account for deviations, at runtime
  • 103. (Anticipatory) monitoring t Evolving trace Declare speci fi cation Monitor Continuous feedback Track a running process execution to check conformance to a reference process model • Goal: Detect and report fi ne-grained feedback and deviations as early as possible One of the main operational support tasks • Complementary to predictive monitoring!
  • 104. (Anticipatory) monitoring Track a running process execution to check conformance to a reference process model • Goal: Detect and report fi ne-grained feedback and deviations as early as possible One of the main operational support tasks • Complementary to predictive monitoring! … … t … … … Declare speci fi cation Monitor Continuous feedback Evolving trace
  • 105. Fine-grained feedback Re fi ned analysis of the “truth value” of a constraint, looking into (all) possible futures Consider a partial trace t, and a constraint C... … … … t C satis fi ed? … … C satis fi ed?
  • 106. RV-LTL truth values [BauerEtAl,InfCom2010] C is permanently satis fi ed if t satis fi es C and no matter how t is extended, C will stay satis fi ed C is currently satis fi ed if t satis fi es C but there is a continuation of t that violates C … … t … … … t
  • 107. RV-LTL truth values C is currently violated if t violates C but there is a continuation that leads to satisfy C C is permanently violated if t violates C and no matter how t is extended, C will stay violated t … … … … … [BauerEtAl,InfCom2010]
  • 108. RV-LTL on finite traces [____,BPM2011] [____,BPM2014] [____,TOSEM2022] close order delete order pay pick item close order pay 0 1 2 i Σ {i,c} Σ∖ Σ c 1 1 {c} Σ∖ c {p} Σ∖ p 0 1 2 p Σ {d} Σ∖ d {p} Σ∖ Su ffi xes of the current trace: each with unbounded, fi nite length • Again standard DFAs -> all formulae of LTLf are monitorable Each state of the DFA: colored with an RV-LTL value via simple reachability checks
  • 109. RV-LTL on finite traces [____,BPM2011] [____,BPM2014] [____,TOSEM2022] Su ffi xes of the current trace: each with unbounded, fi nite length • Again standard DFAs -> all formulae of LTLf are monitorable Each state of the DFA: colored with an RV-LTL value via simple reachability checks Σ Σ Σ 0 [cs] 1 [ps] 2 [pv] 1 [cv] 0 [cs] 0 [cs] 1 [cs] 2 [pv] c {i,c} Σ∖ i {c} Σ∖ c {p} Σ∖ p p {d} Σ∖ d {p} Σ∖ close order delete order pay pick item close order pay
  • 118. 002 [cs,cs,pv] 111 [ps,cv,cs] 112 [ps,cv,pv] 200 [pv,cs,cs] 102 [pv,cs,cs] 211 [pv,cv,cs] 202 [pv,cs,pv] {i,c,d} Σ∖ {i,c,p} Σ∖ {i,c} Σ∖ {c,d} Σ∖ {c,p} Σ∖ {d,p} Σ∖ {p} Σ∖ 100 [ps,cs,cs] 101 [ps,cs,cs] 000 [cs,cs,cs] 001 [cs,cs,cs] {c} Σ∖ {c,d} Σ∖ d c c i p c i d 110 [ps,cv,cs] c p p d p 210 [pv,cv,cs] c {p,d} Σ∖ p d {p} Σ∖ p {c} Σ∖ i c p {p} Σ∖ c 212 [pv,cv,pv] {p} Σ∖ p c [____,BPM2011] Global monitor Cross-product with two proviso: • recall RV-LTL labels of local constraints • no minimisation (distinction of violation states)
  • 119. 002 [cs,cs,pv] 111 [ps,cv,cs] 112 [ps,cv,pv] 200 [pv,cs,cs] 102 [pv,cs,cs] 211 [pv,cv,cs] 202 [pv,cs,pv] {i,c,d} Σ∖ {i,c,p} Σ∖ {i,c} Σ∖ {c,d} Σ∖ {c,p} Σ∖ {d,p} Σ∖ {p} Σ∖ 100 [ps,cs,cs] 101 [ps,cs,cs] 000 [cs,cs,cs] 001 [cs,cs,cs] {c} Σ∖ {c,d} Σ∖ d c c i p c i d 110 [ps,cv,cs] c p p d p 210 [pv,cv,cs] c {p,d} Σ∖ p d {p} Σ∖ p {c} Σ∖ i c p {p} Σ∖ c 212 [pv,cv,pv] {p} Σ∖ p c [____,BPM2011] Global monitor Anticipatory violation detection Cross-product with two proviso: • recall RV-LTL labels of local constraints • no minimisation (distinction of violation states)
  • 120. 002 [cs,cs,pv] 111 [ps,cv,cs] 112 [ps,cv,pv] 200 [pv,cs,cs] 102 [pv,cs,cs] 211 [pv,cv,cs] 202 [pv,cs,pv] {i,c,d} Σ∖ {i,c,p} Σ∖ {i,c} Σ∖ {c,d} Σ∖ {c,p} Σ∖ {d,p} Σ∖ {p} Σ∖ 100 [ps,cs,cs] 101 [ps,cs,cs] 000 [cs,cs,cs] 001 [cs,cs,cs] {c} Σ∖ {c,d} Σ∖ d c c i p c i d 110 [ps,cv,cs] c p p d p 210 [pv,cv,cs] c {p,d} Σ∖ p d {p} Σ∖ p {c} Σ∖ i c p {p} Σ∖ c 212 [pv,cv,pv] {p} Σ∖ p c [____,BPM2011] Global monitor Cross-product with two proviso: • recall RV-LTL labels of local constraints • no minimisation (distinction of violation states) Anticipatory violation detection [____,CAiSE2022] constraint weights and recommendations
  • 121. Can we do more? LTLf FOL over fi nite traces Star-free regular expressions Finite-state automata
  • 122. MSOL over fi nite traces Regular expressions Can we do more? LTLf FOL over fi nite traces Star-free regular expressions Finite-state automata
  • 123. LDLf linear dynamic logic over fi nite traces [DeGiacomoVardi, IJ CAI2013] MSOL over fi nite traces Regular expressions Can we do more? LTLf FOL over fi nite traces Star-free regular expressions Finite-state automata
  • 124. LDLf linear dynamic logic over fi nite traces [DeGiacomoVardi, IJ CAI2013] MSOL over fi nite traces Regular expressions Can we do more? [____,BPM2014] [____,TOSEM2022] LTLf FOL over fi nite traces Star-free regular expressions Finite-state automata
  • 125. LDLf linear dynamic logic over fi nite traces [DeGiacomoVardi, IJ CAI2013] MSOL over fi nite traces Regular expressions Can we do more? [____,BPM2014] [____,TOSEM2022] LTLf FOL over fi nite traces Star-free regular expressions Finite-state automata
  • 126. LDLf linear dynamic logic over fi nite traces [DeGiacomoVardi, IJ CAI2013] MSOL over fi nite traces Regular expressions Can we do more? [____,BPM2014] [____,TOSEM2022] LTLf FOL over fi nite traces Star-free regular expressions Finite-state automata
  • 127. From constraints to metaconstraints [____,BPM2014] [____,TOSEM2022] LDLf expresses RV-LTL monitoring states of LDLf constraints • Support for metaconstraints predicating over the monitoring status of other constraints Example: a form of “contrary-to-duty” process constraint • If constraint C1 gets permanently violated, eventually satisfy a compensation constraint C2 Interesting open problem: relationship with normative frameworks and defeasible reasoning • [Governatori,EDOC2015] -> LTL cannot express normative notions • [AlechinaEtAl,FLAP2018]-> not true!
  • 128. Tooling 0:28 G. De Giacomo et al. Fig. 10: Screenshot of one of the LDL MONITOR clients. adopted by the IEEE task force on process mining. The response produced by the LDL MONITOR provider is composed of two parts. The first part contains the temporal infor- Fully implemented as part of the RuM toolkit (rulemining.org)
  • 129. Adding event attributes and arithmetics [____,AAAI2022] Study of LTLf over numerical variables with arithmetic conditions • Undecidability around the corner Identi fi cation of decidable fragments tuning condition language and variable interaction • Lifting of automata-based techniques • SMT reasoners to deal with conditions
  • 130. Challenging Declare Frequencies and uncertainty •Best practices: constraints that must hold in the majority, but not necessarily all, cases. 90% of the orders are shipped via truck. •Outlier behaviors: constraints that only apply to very few, but still conforming, cases. Only 1% of the orders are canceled after being paid. •Constraints involving external parties: contain uncontrollable activities for which only partial guarantees can be given. In 8 cases out of 10, the customer accepts the order and also pays for it.
  • 132. Declare is crisp Crisp semantics: an execution trace conforms to the model if it satis fi es every constraint in the model close order 1..1 accept refuse
  • 134. probability reference value: number in [0,1] probability operator: { = , ≠ , ≤ , ≥ , < , > } close order 1..1 accept refuse {0.8} {0.3} {0.9} ProbDeclare Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022] ProbDeclare constraint over : 
 triple Σ ⟨φ, ⋈, p⟩ process condition: LTLf formula over Σ Well-behaved fragment of full probabilistic LTLf [____,AAAI2020]
  • 136. close order 1..1 accept refuse Crisp! Each trace in the log contains exactly one close order {0.8} {0.3} {0.9} ProbDeclare Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
  • 137. close order 1..1 accept refuse {0.8} {0.3} {0.9} Uncertain! 90% traces are so that an order is not accepted and refused. In 10% traces the seller changes their mind ProbDeclare Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
  • 138. close order 1..1 accept refuse {0.8} {0.3} {0.9} Uncertain! 90% traces are so that an order is not accepted and refused. In 10% traces the seller changes their mind ProbDeclare Crisp and uncertain constraints [____,BPM2020] [____,InfSys2022]
  • 139. From traces to stochastic languages and logs A stochastic language over is a function such that • fi nite if fi nitely many traces get a non-zero probability A log can be seen as a fi nite stochastic language (probabilities from frequencies) Σ ρ : Σ* → [0,1] ∑ τ∈Σ* ρ(τ) = 1
  • 140. Semantics of ProbDeclare Stochastic language satis fi es ProbDeclare model if: •for every crisp constraint and every trace with non-zero probability, we have that •for every probabilistic constraint , we have ρ φ τ ∈ Σ* τ ⊧ φ ⟨φ, ⋈, p⟩ ∑ τ∈Σ*,τ⊧φ ρ(τ) ⋈ p
  • 141. Semantics of ProbDeclare Stochastic language satis fi es ProbDeclare model if: •for every crisp constraint and every trace with non-zero probability, we have that •for every probabilistic constraint , we have ρ φ τ ∈ Σ* τ ⊧ φ ⟨φ, ⋈, p⟩ ∑ τ∈Σ*,τ⊧φ ρ(τ) ⋈ p Key challenge: again, interplay of constraints
  • 142. Dealing with “n” probabilistic constraints Constraint scenario Declares which probabilistic constraints must hold, and which are violated • Constraint violated <-> its negated version holds Denotes a “process variant” • All in all: up to 
 scenarios, denoting 
 di ff erent variants 2n 8 scenarios (1) (2) (3) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3
  • 143. Reasoning over scenarios is tricky Interplay between logic and probabilities close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 1 8 scenarios (1) (2) (3) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 There cannot be traces that satisfy all constraints at once
  • 144. Reasoning over scenarios is tricky Interplay between logic and probabilities close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 1 8 scenarios (1) (2) (3) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 There cannot be traces that satisfy all constraints at once inconsistent -> no satisfying trace -> 0 probability!
  • 145. Logical reasoning within scenarios LTLf and automata to the rescue To answer such questions, we provide a logical characterization of scenarios. First and foremost, we introduce a characteristic LTLf formula for a scenario: a trace belongs to a scenario if and only if the trace satisfies the characteristic formula of the scenario. Definition 15. Let M = 〈Σ, C, 〈〈ϕ1, ⊲⊳1, p1〉, . . . , 〈ϕn, ⊲⊳n, pn〉〉〉 be ProbDe- clare model. The characteristic formula induced by a scenario SM b1···bn over M, compactly called SM b1···bn -formula, is the LTLf formula Φ(SM b1···bn ) = ' ψ∈C ψ ∧ ' i∈{1,...,n} ( ) * ) + ϕi if bi = 1 ¬ϕi if bi = 0 (8) ⊳ Definition 16. A trace τ belongs to scenario SM b1···bn if τ |= Φ(SM b1···bn ). Sce- A scenario maps to an LTLf characteristic formula • Conjunction of formulae, one per constraint… • Does the constraint hold in the scenario? • Y -> take its LTLf process condition • N -> take its negation Reasoning via automata, as for standard LTLf
  • 146. In our example… Which scenarios are consistent? close order 1..∗ accept order {0.8} 1 refuse order {0.3} 2 {0.9} 3 1 2 3 consistent? S000 ✸(close ∧ ¬©✸acc) ✸(close ∧ ¬©✸ref) ✸acc ∧ ✸refuse no S001 ✸(close ∧ ¬©✸acc) ✸(close ∧ ¬©✸ref) ¬(✸acc ∧ ✸refuse) yes S010 ✸(close ∧ ¬©✸acc) ✷(close → ©✸ref) ✸acc ∧ ✸refuse no S011 ✸(close ∧ ¬©✸acc) ✷(close → ©✸ref) ¬(✸acc ∧ ✸refuse) yes S100 ✷(close → ©✸acc) ✸(close ∧ ¬©✸ref) ✸acc ∧ ✸refuse no S101 ✷(close → ©✸acc) ✸(close ∧ ¬©✸ref) ¬(✸acc ∧ ✸refuse) yes S110 ✷(close → ©✸acc) ✷(close → ©✸ref) ✸acc ∧ ✸refuse yes S111 ✷(close → ©✸acc) ✷(close → ©✸ref) ¬(✸acc ∧ ✸refuse) no Figure 1: A ProbDeclare model, with 8 constraint scenarios, out of which only 4 are consistent.
  • 147. Reasoning over scenarios is tricky Interplay between logic and probabilities close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 1 0.8+0.3 > 1 -> there must be traces where a closed order is accepted and refused. 8 scenarios (1) (2) (3) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
  • 148. Reasoning over scenarios is tricky Interplay between logic and probabilities close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 1 0.8+0.3 > 1 -> there must be traces where a closed order is accepted and refused. 8 scenarios (1) (2) (3) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 there must be traces where accept and refuse coexist
  • 149. Reasoning over scenarios is tricky Interplay between logic and probabilities close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 1 0.8+0.3 > 1 -> there must be traces where a closed order is accepted and refused. 8 scenarios (1) (2) (3) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 there must be traces where accept and refuse coexist Should have a 
 non-zero probability 
 (if constraint values agree)
  • 150. The true meaning of a ProbDeclare model From probabilistic constraints to scenario probability distributions With n scenarios: with denotes the probability that a trace belongs to scenario ProbDeclare model: constrains the legal probability distributions over scenarios xi i ∈ {0,…,2n−1 } i whose solutions constitute all the probability distributions that are compati- ble with the logical and probabilistic characterization of the probabilistic con- straints in the ProbDeclare model of interest. To do so, we associate each scenario to a probability variable, keeping the same naming convention. For example, the probability mass of scenario S001 is represented by variable x001. For M = 〈Σ, C, 〈〈ϕ1, ⊲⊳1, p1〉, . . . , 〈ϕn, ⊲⊳n, pn〉〉〉, we construct the system LM of inequalities using probability variables xi, with i ranging from 0 to 2n − 1 (in binary format): xi ≥ 0 0 ≤ i < 2n (9) % 2n −1 " i=0 xi & = 1 (10) % " i∈{0,...,2n−1}, jth position of i is 1 xi & ⊲⊳j pj 0 ≤ j < n (11) xi = 0 0 ≤ i < 2n , scenario Si is inconsistent (12)
  • 151. The true meaning of a ProbDeclare model From probabilistic constraints to scenario probability distributions With n scenarios: with denotes the probability that a trace belongs to scenario ProbDeclare model: constrains the legal probability distributions over scenarios xi i ∈ {0,…,2n−1 } i whose solutions constitute all the probability distributions that are compati- ble with the logical and probabilistic characterization of the probabilistic con- straints in the ProbDeclare model of interest. To do so, we associate each scenario to a probability variable, keeping the same naming convention. For example, the probability mass of scenario S001 is represented by variable x001. For M = 〈Σ, C, 〈〈ϕ1, ⊲⊳1, p1〉, . . . , 〈ϕn, ⊲⊳n, pn〉〉〉, we construct the system LM of inequalities using probability variables xi, with i ranging from 0 to 2n − 1 (in binary format): xi ≥ 0 0 ≤ i < 2n (9) % 2n −1 " i=0 xi & = 1 (10) % " i∈{0,...,2n−1}, jth position of i is 1 xi & ⊲⊳j pj 0 ≤ j < n (11) xi = 0 0 ≤ i < 2n , scenario Si is inconsistent (12) One solution -> a fi xed probability distribution (Possibly in fi nitely) many solutions -> family of probability distributions No solution -> inconsistent speci fi cation
  • 152. Computing probability distributions 1. check for consistency close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 scenario consistent? probability (1) (2) (3) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
  • 153. Computing probability distributions 1. check for consistency close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 1 Y 0 1 0 N 0 1 1 Y 1 0 0 N 1 0 1 Y 1 1 0 Y 1 1 1 N
  • 154. Computing probability distributions 1. check for consistency close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 0 1 Y 0 1 0 N 0 0 1 1 Y 1 0 0 N 0 1 0 1 Y 1 1 0 Y 1 1 1 N 0
  • 155. Computing probability distributions 2. set up system of inequalities close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 0 1 Y 0 1 0 N 0 0 1 1 Y 1 0 0 N 0 1 0 1 Y 1 1 0 Y 1 1 1 N 0 sign consent close order 1..∗ {0.8} 1 {0.1} 2 1 2 consistent? S00 ¬sign U close ✸(close ∧ ¬©✸sign) yes S01 ¬sign U close ✷(close → ©✸sign) yes S10 ¬close W sign ✸(close ∧ ¬©✸sign) yes S11 ¬close W sign ✷(close → ©✸sign) yes Figure 2: A ProbDeclare model and its 4 constraint scenarios. once the variables above are removed (being them all equal to 0): x001 + x011 + x101 + x110 = 1 x101 + x110 = 0.8 x011 + x110 = 0.3 x001 + x011 + x101 = 0.9
  • 156. Computing probability distributions 3. solve close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 0 1 Y 0 0 1 0 N 0 0 1 1 Y 0.2 1 0 0 N 0 1 0 1 Y 0.7 1 1 0 Y 0.1 1 1 1 N 0 sign consent close order 1..∗ {0.8} 1 {0.1} 2 1 2 consistent? S00 ¬sign U close ✸(close ∧ ¬©✸sign) yes S01 ¬sign U close ✷(close → ©✸sign) yes S10 ¬close W sign ✸(close ∧ ¬©✸sign) yes S11 ¬close W sign ✷(close → ©✸sign) yes Figure 2: A ProbDeclare model and its 4 constraint scenarios. once the variables above are removed (being them all equal to 0): x001 + x011 + x101 + x110 = 1 x101 + x110 = 0.8 x011 + x110 = 0.3 x001 + x011 + x101 = 0.9
  • 157. Computing probability distributions 3. solve close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 0 1 Y 0 0 1 0 N 0 0 1 1 Y 0.2 1 0 0 N 0 1 0 1 Y 0.7 1 1 0 Y 0.1 1 1 1 N 0 sign consent close order 1..∗ {0.8} 1 {0.1} 2 1 2 consistent? S00 ¬sign U close ✸(close ∧ ¬©✸sign) yes S01 ¬sign U close ✷(close → ©✸sign) yes S10 ¬close W sign ✸(close ∧ ¬©✸sign) yes S11 ¬close W sign ✷(close → ©✸sign) yes Figure 2: A ProbDeclare model and its 4 constraint scenarios. once the variables above are removed (being them all equal to 0): x001 + x011 + x101 + x110 = 1 x101 + x110 = 0.8 x011 + x110 = 0.3 x001 + x011 + x101 = 0.9
  • 158. Computing probability distributions 3. solve close order 1..1 accept refuse {0.8} {0.3} {0.9} 1 2 3 Scenario 011 Scenario 101 Scenario 110 Close and refuse Close and accept Close and get a decision change
  • 159. Scenarios in action Conformance checking scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 0 1 Y 0 0 1 0 N 0 0 1 1 Y 0.2 1 0 0 N 0 1 0 1 Y 0.7 1 1 0 Y 0.1 1 1 1 N 0 011 101 110 Close and refuse Close and accept Close and get a decision change close order accept <close order> close order refuse accept refuse
  • 160. Scenarios in action Conformance checking scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 0 1 Y 0 0 1 0 N 0 0 1 1 Y 0.2 1 0 0 N 0 1 0 1 Y 0.7 1 1 0 Y 0.1 1 1 1 N 0 011 101 110 Close and refuse Close and accept Close and get a decision change close order accept <close order> close order refuse accept refuse 0 0 1 NO
  • 161. Scenarios in action Conformance checking scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 0 1 Y 0 0 1 0 N 0 0 1 1 Y 0.2 1 0 0 N 0 1 0 1 Y 0.7 1 1 0 Y 0.1 1 1 1 N 0 011 101 110 Close and refuse Close and accept Close and get a decision change close order accept <close order, accept, refuse> close order refuse accept refuse
  • 162. Scenarios in action Conformance checking scenario consistent? probability (1) (2) (3) 0 0 0 N 0 0 0 1 Y 0 0 1 0 N 0 0 1 1 Y 0.2 1 0 0 N 0 1 0 1 Y 0.7 1 1 0 Y 0.1 1 1 1 N 0 011 101 110 Close and refuse Close and accept Close and get a decision change close order accept <close order, accept, refuse> close order refuse accept refuse 1 1 0 YES (outlier)
  • 163. Scenarios in action Probabilistic monitoring • One global monitor per scenario • Monitors used in parallel: if multiple return the same verdict, aggregate their probability • Interesting a-priori vs posterior reading of probabilities
  • 164. Scenarios in action Probabilistic monitoring • One global monitor per scenario • Monitors used in parallel: if multiple return the same verdict, aggregate their probability • Interesting a-priori vs posterior reading of probabilities Human interpretability is an interesting open challenge
  • 165. From traces to logs Stochastic conformance (granularity: scenario) Log ProbDeclare speci fi cation
  • 166. From traces to logs Stochastic conformance (granularity: scenario) ProbDeclare speci fi cation Consistent scenarios Log
  • 167. From traces to logs Stochastic conformance (granularity: scenario) ProbDeclare speci fi cation Consistent scenarios Speci fi cation distribution Log
  • 168. From traces to logs Stochastic conformance (granularity: scenario) ProbDeclare speci fi cation Consistent scenarios Speci fi cation distribution Log Log distribution
  • 169. From traces to logs Stochastic conformance (granularity: scenario) ProbDeclare speci fi cation Consistent scenarios Speci fi cation distribution Log Log distribution (Earth mover’s) distance Can be re fi ned through trace alignments
  • 170. All possible constraints grounded on the activities in the log The log Declare discovery
  • 171. All possible constraints grounded on the activities in the log The log Which to keep? Declare discovery
  • 172. Template algorithm for ProbDeclare discovery [____,PMHandbook2022] 1. Select templates of interest 2. Compute metrics for corresponding constraints (grounded on log activities) 3. Filter based on minimum thresholds 4. Redundant constraints? • Keep the most liberal if metrics are better for it • Keep the most restrictive in case of equal metrics 5. Incompatible constraints? • Keep only the one with better metrics 6. Further processing to ensure consistency, minimality, … trace support: # traces that "interestingly" satisfy the constraint total # traces in the log Consistency guaranteed only for 100% trace-based support
  • 173. Template algorithm for ProbDeclare discovery [____,InfSys2022] 1. Select templates of interest 2. Compute metrics for corresponding constraints (grounded on log activities) 3. Filter based on minimum/maximum thresholds 4. Redundant constraints? • Keep the most liberal if metrics are better for it • Keep the most restrictive in case of equal metrics 5. Incompatible constraints? • Keep only the one with better metrics 6. Further processing to ensure consistency, minimality, … 5. Use support as a basis for constraint probability • Consistency guaranteed by construction trace support: # traces that "interestingly" satisfy the constraint total # traces in the log
  • 174. Idea: conversating on log skeletons Log Discovery [Verbeek, STTT2021] Log skeleton [Verbeek, STTT2021] 
 Declare-like speci fi cation
 with frequencies
  • 175. Idea: conversating on log skeletons Log Discovery [Verbeek, STTT2021] Reasoning on constraints and their frequencies Log skeleton [Verbeek, STTT2021] 
 Declare-like speci fi cation
 with frequencies
  • 176. Processes are not flat Package 1 p1 p2 p3 Figure 1: Structure of order, item, and package data objects in an order-to-delivery sce- nario whereuv items from di↵erent orders are carried in several packages event log for orders timestamp overall log order o1 order o2 order o3 2019-09-22 10:00:00 create order o1 create order 2019-09-22 10:01:00 add item i1,1 to order o1 add item 2019-09-23 09:20:00 create order o2 create order 2019-09-23 09:34:00 add item i2,1 to order o2 add item 2019-09-23 11:33:00 create order o3 create order 2019-09-23 11:40:00 add item i3,1 to order o3 add item 2019-09-23 12:27:00 pay order o3 pay order 2019-09-23 12:32:00 add item i1,2 to order o1 add item 2019-09-23 13:03:00 pay order o1 pay order 2019-09-23 14:34:00 load item i1,1 into package p1 load item 2019-09-23 14:45:00 add item i2,2 to order o2 add item 2019-09-23 14:51:00 load item i3,1 into package p1 load item 2019-09-23 15:12:00 add item i2,3 to order o2 add item 2019-09-23 15:41:00 pay order o2 pay order 2019-09-23 16:23:00 load item i2,1 into package p2 load item 2019-09-23 16:29:00 load item i1,2 into package p2 load item 2019-09-23 16:33:00 load item i2,2 into package p2 load item 2019-09-23 17:01:00 send package p1 send package send package 2019-09-24 06:38:00 send package p2 send package send package 2019-09-24 07:33:00 load item i2,3 into package p3 load item 2019-09-24 08:46:00 send package p3 send package 2019-09-24 16:21:00 deliver package p1 deliver package deliver package 2019-09-24 17:32:00 deliver package p2 deliver package deliver package 2019-09-24 18:52:00 deliver package p3 deliver package 2019-09-24 18:57:00 accept delivery p3 accept delivery 2019-09-25 08:30:00 deliver package p1 deliver package deliver package 2019-09-25 08:32:00 accept delivery p1 accept delivery accept delivery 2019-09-25 09:55:00 deliver package p2 deliver package deliver package 2019-09-25 17:11:00 deliver package p2 deliver package deliver package 2019-09-25 17:12:00 accept delivery p2 accept delivery accept delivery Table 1: Overall log of of an order-to-delivery scenario whose structure is illustrated in Figure 1, and its flattening using the viewpoint of orders.
  • 177. Processes are not flat Package 1 p1 p2 p3 Figure 1: Structure of order, item, and package data objects in an order-to-delivery sce- nario whereuv items from di↵erent orders are carried in several packages event log for orders timestamp overall log order o1 order o2 order o3 2019-09-22 10:00:00 create order o1 create order 2019-09-22 10:01:00 add item i1,1 to order o1 add item 2019-09-23 09:20:00 create order o2 create order 2019-09-23 09:34:00 add item i2,1 to order o2 add item 2019-09-23 11:33:00 create order o3 create order 2019-09-23 11:40:00 add item i3,1 to order o3 add item 2019-09-23 12:27:00 pay order o3 pay order 2019-09-23 12:32:00 add item i1,2 to order o1 add item 2019-09-23 13:03:00 pay order o1 pay order 2019-09-23 14:34:00 load item i1,1 into package p1 load item 2019-09-23 14:45:00 add item i2,2 to order o2 add item 2019-09-23 14:51:00 load item i3,1 into package p1 load item 2019-09-23 15:12:00 add item i2,3 to order o2 add item 2019-09-23 15:41:00 pay order o2 pay order 2019-09-23 16:23:00 load item i2,1 into package p2 load item 2019-09-23 16:29:00 load item i1,2 into package p2 load item 2019-09-23 16:33:00 load item i2,2 into package p2 load item 2019-09-23 17:01:00 send package p1 send package send package 2019-09-24 06:38:00 send package p2 send package send package 2019-09-24 07:33:00 load item i2,3 into package p3 load item 2019-09-24 08:46:00 send package p3 send package 2019-09-24 16:21:00 deliver package p1 deliver package deliver package 2019-09-24 17:32:00 deliver package p2 deliver package deliver package 2019-09-24 18:52:00 deliver package p3 deliver package 2019-09-24 18:57:00 accept delivery p3 accept delivery 2019-09-25 08:30:00 deliver package p1 deliver package deliver package 2019-09-25 08:32:00 accept delivery p1 accept delivery accept delivery 2019-09-25 09:55:00 deliver package p2 deliver package deliver package 2019-09-25 17:11:00 deliver package p2 deliver package deliver package 2019-09-25 17:12:00 accept delivery p2 accept delivery accept delivery Table 1: Overall log of of an order-to-delivery scenario whose structure is illustrated in Figure 1, and its flattening using the viewpoint of orders. Item Package contains carried in 1 * * 1 i1,1 i1,2 i2,1 i2,2 i2,3 i3,1 p1 p2 p3 Order o1 o2 o3
  • 178. Processes are not flat Package 1 p1 p2 p3 Figure 1: Structure of order, item, and package data objects in an order-to-delivery sce- nario whereuv items from di↵erent orders are carried in several packages event log for orders timestamp overall log order o1 order o2 order o3 2019-09-22 10:00:00 create order o1 create order 2019-09-22 10:01:00 add item i1,1 to order o1 add item 2019-09-23 09:20:00 create order o2 create order 2019-09-23 09:34:00 add item i2,1 to order o2 add item 2019-09-23 11:33:00 create order o3 create order 2019-09-23 11:40:00 add item i3,1 to order o3 add item 2019-09-23 12:27:00 pay order o3 pay order 2019-09-23 12:32:00 add item i1,2 to order o1 add item 2019-09-23 13:03:00 pay order o1 pay order 2019-09-23 14:34:00 load item i1,1 into package p1 load item 2019-09-23 14:45:00 add item i2,2 to order o2 add item 2019-09-23 14:51:00 load item i3,1 into package p1 load item 2019-09-23 15:12:00 add item i2,3 to order o2 add item 2019-09-23 15:41:00 pay order o2 pay order 2019-09-23 16:23:00 load item i2,1 into package p2 load item 2019-09-23 16:29:00 load item i1,2 into package p2 load item 2019-09-23 16:33:00 load item i2,2 into package p2 load item 2019-09-23 17:01:00 send package p1 send package send package 2019-09-24 06:38:00 send package p2 send package send package 2019-09-24 07:33:00 load item i2,3 into package p3 load item 2019-09-24 08:46:00 send package p3 send package 2019-09-24 16:21:00 deliver package p1 deliver package deliver package 2019-09-24 17:32:00 deliver package p2 deliver package deliver package 2019-09-24 18:52:00 deliver package p3 deliver package 2019-09-24 18:57:00 accept delivery p3 accept delivery 2019-09-25 08:30:00 deliver package p1 deliver package deliver package 2019-09-25 08:32:00 accept delivery p1 accept delivery accept delivery 2019-09-25 09:55:00 deliver package p2 deliver package deliver package 2019-09-25 17:11:00 deliver package p2 deliver package deliver package 2019-09-25 17:12:00 accept delivery p2 accept delivery accept delivery Table 1: Overall log of of an order-to-delivery scenario whose structure is illustrated in Figure 1, and its flattening using the viewpoint of orders. Item Package contains carried in 1 * * 1 i1,1 i1,2 i2,1 i2,2 i2,3 i3,1 p1 p2 p3 Order o1 o2 o3
  • 179. Processes are not flat Package 1 p1 p2 p3 Figure 1: Structure of order, item, and package data objects in an order-to-delivery sce- nario whereuv items from di↵erent orders are carried in several packages event log for orders timestamp overall log order o1 order o2 order o3 2019-09-22 10:00:00 create order o1 create order 2019-09-22 10:01:00 add item i1,1 to order o1 add item 2019-09-23 09:20:00 create order o2 create order 2019-09-23 09:34:00 add item i2,1 to order o2 add item 2019-09-23 11:33:00 create order o3 create order 2019-09-23 11:40:00 add item i3,1 to order o3 add item 2019-09-23 12:27:00 pay order o3 pay order 2019-09-23 12:32:00 add item i1,2 to order o1 add item 2019-09-23 13:03:00 pay order o1 pay order 2019-09-23 14:34:00 load item i1,1 into package p1 load item 2019-09-23 14:45:00 add item i2,2 to order o2 add item 2019-09-23 14:51:00 load item i3,1 into package p1 load item 2019-09-23 15:12:00 add item i2,3 to order o2 add item 2019-09-23 15:41:00 pay order o2 pay order 2019-09-23 16:23:00 load item i2,1 into package p2 load item 2019-09-23 16:29:00 load item i1,2 into package p2 load item 2019-09-23 16:33:00 load item i2,2 into package p2 load item 2019-09-23 17:01:00 send package p1 send package send package 2019-09-24 06:38:00 send package p2 send package send package 2019-09-24 07:33:00 load item i2,3 into package p3 load item 2019-09-24 08:46:00 send package p3 send package 2019-09-24 16:21:00 deliver package p1 deliver package deliver package 2019-09-24 17:32:00 deliver package p2 deliver package deliver package 2019-09-24 18:52:00 deliver package p3 deliver package 2019-09-24 18:57:00 accept delivery p3 accept delivery 2019-09-25 08:30:00 deliver package p1 deliver package deliver package 2019-09-25 08:32:00 accept delivery p1 accept delivery accept delivery 2019-09-25 09:55:00 deliver package p2 deliver package deliver package 2019-09-25 17:11:00 deliver package p2 deliver package deliver package 2019-09-25 17:12:00 accept delivery p2 accept delivery accept delivery Table 1: Overall log of of an order-to-delivery scenario whose structure is illustrated in Figure 1, and its flattening using the viewpoint of orders. Item Package contains carried in 1 * * 1 i1,1 i1,2 i2,1 i2,2 i2,3 i3,1 p1 p2 p3 Order o1 o2 o3 create order (3) add item (6) pay order (3) load item (6) send package (5) accept delivery (5) deliver package (11) 3 3 3 3 3 4 1 1 2 3 2 5 6 3
  • 181. Need of a 3D model time objects activities Object-centric behavioral constraints [____,DL2017] [____,BPM2019]
  • 182. Object-centric behavioral constraints Dimension 1: data model to classify and relate objects • classes • relationship types • multiplicities (one-to-one, one-to-many, many-to-many) 10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst is about 1 1 creates 1 promotes 1 creates 1 1 stops 1 closes 1 Person Candidate Application Job Offer Job Profile 1 / made by 1..⇤ ⇤ responds to 1 ⇤ refers to 1 register data submit mark as eligible post offer cancel hiring determine winner
  • 183. Object-centric behavioral constraints Dimension 2: activities • activities • activity-class 
 relationship types • multiplicities – green, italic sans-serif to point out relationships between tas – blue, underlined italics to indicate co-reference relationships th which instances of tasks are related by the constraint dependin manipulate. In particular, the relevant constraints for our job hiring example are C.1 The register data task is about a Person. C.2 A Job Offer is created by executing the post offer task. C.3 A Job Offer is closed by determining the winner. C.4 A Job Offer is stopped by canceling the hiring. Enriching Data Models with Behaviora C.5 An Application is created by executing the submit task. C.6 An Application is promoted by marking it as eligible. C.7 An Application can be submitted only if, beforehand, the da date who made that Application have been registered. C.8 A winner can be determined for a Job Offer only if at lea responding to that Job Offer has been previously marked a C.9 For each Application responding to a Job Offer, if the App as eligible then a winner must be finally determined for this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be st the cancel hiring task (and vice-versa). 10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst is about 1 1 creates 1 promotes 1 creates 1 1 stops 1 closes 1 Person Candidate Application Job Offer Job Profile 1 / made by 1..⇤ ⇤ responds to 1 ⇤ refers to 1 register data submit mark as eligible post offer cancel hiring determine winner
  • 184. Object-centric behavioral constraints Dimension 2: activities • activities • activity-class 
 relationship types • multiplicities 10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst is about 1 1 creates 1 promotes 1 creates 1 1 stops 1 closes 1 Person Candidate Application Job Offer Job Profile 1 / made by 1..⇤ ⇤ responds to 1 ⇤ refers to 1 register data submit mark as eligible post offer cancel hiring determine winner – green, italic sans-serif to point out relationships between tas – blue, underlined italics to indicate co-reference relationships th which instances of tasks are related by the constraint dependin manipulate. In particular, the relevant constraints for our job hiring example are C.1 The register data task is about a Person. C.2 A Job Offer is created by executing the post offer task. C.3 A Job Offer is closed by determining the winner. C.4 A Job Offer is stopped by canceling the hiring. Enriching Data Models with Behaviora C.5 An Application is created by executing the submit task. C.6 An Application is promoted by marking it as eligible. C.7 An Application can be submitted only if, beforehand, the da date who made that Application have been registered. C.8 A winner can be determined for a Job Offer only if at lea responding to that Job Offer has been previously marked a C.9 For each Application responding to a Job Offer, if the App as eligible then a winner must be finally determined for this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be st the cancel hiring task (and vice-versa).
  • 185. Object-centric behavioral constraints Emergent object lifecycles 10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst is about 1 1 creates 1 promotes 1 creates 1 1 stops 1 closes 1 Person Candidate Application Job Offer Job Profile 1 / made by 1..⇤ ⇤ responds to 1 ⇤ refers to 1 register data submit mark as eligible post offer cancel hiring determine winner Application Job Offer many one
  • 186. Object-centric behavioral constraints Dimension 3: the process • constraints… 10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst is about 1 1 creates 1 promotes 1 creates 1 1 stops 1 closes 1 Person Candidate Application Job Offer Job Profile 1 / made by 1..⇤ ⇤ responds to 1 ⇤ refers to 1 register data submit mark as eligible post offer cancel hiring determine winner C.8 A winner can be determined for a Job Offer only if at least one Application responding to that Job Offer has been previously marked as eligible. C.9 For each Application responding to a Job Offer, if the Application is marked as eligible then a winner must be finally determined for that Job Offer, and this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications responding to that Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be stopped by executing the cancel hiring task (and vice-versa). 2.2 Capturing the Job Hiring Example with Case-Centric Notations The most fundamental issue when trying to capture the job hiring example of Section 2.1 using case-centric notation is to identify what is the case. This, in turn, determines what is the orchestration point for the process, that is, which participant coordinates process instances corresponding to different case objects. This problem is apparent when looking at BPMN, which specifies that each process should correspond to a single locus of control, i.e., confined within a single pool.4 In our example, we have two participants: candidates (in turn responsible for man- aging Applications), and the job hiring organisation (in turn responsible for the management of JobOffers). However, we cannot use neither of the two to act as unique locus of control for the process: on the one hand, candidates may simultaneously create and manage different applications for different job offers; on the other hand, the organi- Enriching Data Models with Behavioral Constraints 5 C.5 An Application is created by executing the submit task. C.6 An Application is promoted by marking it as eligible. C.7 An Application can be submitted only if, beforehand, the data about the Candi- date who made that Application have been registered. C.8 A winner can be determined for a Job Offer only if at least one Application responding to that Job Offer has been previously marked as eligible. C.9 For each Application responding to a Job Offer, if the Application is marked as eligible then a winner must be finally determined for that Job Offer, and this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications responding to that Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be stopped by executing the cancel hiring task (and vice-versa). 2.2 Capturing the Job Hiring Example with Case-Centric Notations
  • 187. Object-centric behavioral constraints Dimension 3: the process • constraints… • …with data co- referencing 10 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst is about 1 1 creates 1 promotes 1 creates 1 1 stops 1 closes 1 Person Candidate Application Job Offer Job Profile 1 / made by 1..⇤ ⇤ responds to 1 ⇤ refers to 1 register data submit mark as eligible post offer cancel hiring determine winner C.8 A winner can be determined for a Job Offer only if at least one Application responding to that Job Offer has been previously marked as eligible. C.9 For each Application responding to a Job Offer, if the Application is marked as eligible then a winner must be finally determined for that Job Offer, and this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications responding to that Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be stopped by executing the cancel hiring task (and vice-versa). 2.2 Capturing the Job Hiring Example with Case-Centric Notations The most fundamental issue when trying to capture the job hiring example of Section 2.1 using case-centric notation is to identify what is the case. This, in turn, determines what is the orchestration point for the process, that is, which participant coordinates process instances corresponding to different case objects. This problem is apparent when looking at BPMN, which specifies that each process should correspond to a single locus of control, i.e., confined within a single pool.4 In our example, we have two participants: candidates (in turn responsible for man- aging Applications), and the job hiring organisation (in turn responsible for the management of JobOffers). However, we cannot use neither of the two to act as unique locus of control for the process: on the one hand, candidates may simultaneously create and manage different applications for different job offers; on the other hand, the organi- Enriching Data Models with Behavioral Constraints 5 C.5 An Application is created by executing the submit task. C.6 An Application is promoted by marking it as eligible. C.7 An Application can be submitted only if, beforehand, the data about the Candi- date who made that Application have been registered. C.8 A winner can be determined for a Job Offer only if at least one Application responding to that Job Offer has been previously marked as eligible. C.9 For each Application responding to a Job Offer, if the Application is marked as eligible then a winner must be finally determined for that Job Offer, and this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications responding to that Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be stopped by executing the cancel hiring task (and vice-versa). 2.2 Capturing the Job Hiring Example with Case-Centric Notations object co-referencing relation co-referencing
  • 188. If Object co-referencing on response 12 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst A1 A2 O R1 R2 Every time an instance a1 of A1 is executed on some object o of type O (i.e., with R1(a1, o)), then an instance a2 of A2 must be executed afterwards on the same object o (i.e., with R2(a2, o)) (a) Co-reference of response over an object class A1 A2 Every time an instance a1 of A1 is executed 8 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst A B response A B unary-response A B non-response A B precedence A B unary-precedence A B non-precedence A B responded-existence A B non-coexistence Fig. 3: Types of temporal constraints between activities response(A, B) If A is executed, then B must be executed afterwards. unary- response(A, B) If A is executed, then B must be executed exactly once after- 12 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst A1 A2 O R1 R2 Every time an instance a1 of A1 is executed on some object o of type O (i.e., with R1(a1, o)), then an instance a2 of A2 must be executed afterwards on the same object o (i.e., with R2(a2, o)) (a) Co-reference of response over an object class A1 A2 Every time an instance a1 of A1 is executed o:O a:A R1 then later b:B R2 time objects
  • 189. Relation co-referencing on response time o1:O1 a:A R1 If b:B R2 A1 A2 O R1 R2 Every time an instance a1 of A1 is executed on some object o of type O (i.e., with R1(a1, o)), then an instance a2 of A2 must be executed afterwards on the same object o (i.e., with R2(a2, o)) (a) Co-reference of response over an object class A1 A2 O1 O2 R R1 R2 Every time an instance a1 of A1 is executed on some object o1 of type O1 (i.e., with R1(a1, o1)), then an instance a2 of A2 must be executed afterwards on some object o2 of type O2 (i.e., with R2(a2, o2)) that relates to o1 via R (i.e., having R(o1, o2) at the moment of execution of a2). (b) Co-reference of response over a relationship A1 A2 Every time an instance a1 of A1 is executed 8 A. Artale, D. Calvanese, M. Montali, and W. van der Aalst A B response A B unary-response A B non-response A B precedence A B unary-precedence A B non-precedence A B responded-existence A B non-coexistence Fig. 3: Types of temporal constraints between activities response(A, B) If A is executed, then B must be executed afterwards. unary- response(A, B) If A is executed, then B must be executed exactly once after- o2:O2 R then later objects
  • 190. Object-centric behavioral constraints Dimension 3: the process • constraints… • …with data co- referencing C.8 A winner can be determined for a Job Offer only if at least one Application responding to that Job Offer has been previously marked as eligible. C.9 For each Application responding to a Job Offer, if the Application is marked as eligible then a winner must be finally determined for that Job Offer, and this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications responding to that Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be stopped by executing the cancel hiring task (and vice-versa). 2.2 Capturing the Job Hiring Example with Case-Centric Notations The most fundamental issue when trying to capture the job hiring example of Section 2.1 using case-centric notation is to identify what is the case. This, in turn, determines what is the orchestration point for the process, that is, which participant coordinates process instances corresponding to different case objects. This problem is apparent when looking at BPMN, which specifies that each process should correspond to a single locus of control, i.e., confined within a single pool.4 In our example, we have two participants: candidates (in turn responsible for man- aging Applications), and the job hiring organisation (in turn responsible for the management of JobOffers). However, we cannot use neither of the two to act as unique locus of control for the process: on the one hand, candidates may simultaneously create and manage different applications for different job offers; on the other hand, the organi- Enriching Data Models with Behavioral Constraints 5 C.5 An Application is created by executing the submit task. C.6 An Application is promoted by marking it as eligible. C.7 An Application can be submitted only if, beforehand, the data about the Candi- date who made that Application have been registered. C.8 A winner can be determined for a Job Offer only if at least one Application responding to that Job Offer has been previously marked as eligible. C.9 For each Application responding to a Job Offer, if the Application is marked as eligible then a winner must be finally determined for that Job Offer, and this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications responding to that Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be stopped by executing the cancel hiring task (and vice-versa). 2.2 Capturing the Job Hiring Example with Case-Centric Notations Enriching Data Models with Behavioral Constraints 13 is about 1 1 creates 1 promotes 1 creates 1 1 stops 1 closes 1 Person Candidate Application Job Offer Job Profile 1 / made by 1..⇤ ⇤ responds to 1 ⇤ refers to 1 register data submit mark as eligible post offer cancel hiring determine winner
  • 191. Object-centric behavioral constraints Dimension 3: the process • constraints… • …with data co- referencing Enriching Data Models with Behavioral Constraints 13 is about 1 1 creates 1 promotes 1 creates 1 1 stops 1 closes 1 Person Candidate Application Job Offer Job Profile 1 / made by 1..⇤ ⇤ responds to 1 ⇤ refers to 1 register data submit mark as eligible post offer cancel hiring determine winner Enriching Data Models with Behavioral Constraints 5 C.5 An Application is created by executing the submit task. C.6 An Application is promoted by marking it as eligible. C.7 An Application can be submitted only if, beforehand, the data about the Candi- date who made that Application have been registered. C.8 A winner can be determined for a Job Offer only if at least one Application responding to that Job Offer has been previously marked as eligible. C.9 For each Application responding to a Job Offer, if the Application is marked as eligible then a winner must be finally determined for that Job Offer, and this is done only once for that Job Offer. C.10 When a winner is determined for a Job Offer, Applications responding to that Job Offer cannot be marked as eligible anymore. C.11 A Job Offer closed by a determine winner task cannot be stopped by executing the cancel hiring task (and vice-versa). 2.2 Capturing the Job Hiring Example with Case-Centric Notations The most fundamental issue when trying to capture the job hiring example of Section 2.1 using case-centric notation is to identify what is the case. This, in turn, determines what is the orchestration point for the process, that is, which participant coordinates process instances corresponding to different case objects. This problem is apparent when
  • 192. Semantics and formalization Process execution: temporal knowledge graph Data model: description logics Object-centric constraints: temporal description logics o1 : Order ol1 : Order Line ol2 : Order Line ol3 : Order Line d1 : Delivery d2 : Delivery .. . .. . .. . .. . .. . .. . co1 : Create Order pi1 : Pick Item pi2 : Pick Item wi1 : Wrap Item wi2 : Wrap Item pi3 : Pick Item wi3 : Wrap Item po1 : Pay Order di1 : Deliver Items di2 : Deliver Items t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 creates fills contains fills contains prepares prepares fills contains prepares closes refers to results in results in refers to results in
  • 193. Achieved and ongoing results Reasoning [____,BPM2019] • Direct approach -> undecidable • Careful “object-centric” reformulation 
 -> decidable in EXPTIME (same as reasoning on UML diagrams) Monitoring (ongoing) • Hybrid reasoning (closed on the past, open on the future) Discovery (ongoing) • Construction of trace views • Standard discovery on views • Object-centric reconciliation
  • 194. Conclusions Augmented BPM: a framework for the intelligent management of processes at the intersection of AI and BPM Central task: framing Declarative approach: solid basis to framing with uncertainty, data, objects and their interactions •Reasoning via well-established formalisms and techniques Foundations well understood, e ff ort needed towards engineering
  • 195. Thanks to Wil van der Aalst, Anti Alman, Alessandro Artale, Federico Chesani, Giuseppe De Giacomo, Riccardo De Masellis, Claudio Di Ciccio, Marlon Dumas, Dirk Fahland, Paolo Felli, Alessandro Gianola, Alisa Kovtunova, Fabrizio Maggi, Andrea Marrella, Paola Mello, Jan Mendling, Fabio Patrizi, Rafael Penaloza, Maja Pesic, Andrey Rivkin, Michael Westergaard