SlideShare a Scribd company logo
1 of 71
Download to read offline
Verification of Data-Aware Processes
Boundaries of Decidability: Negative Results
Diego Calvanese, Marco Montali
Research Centre for Knowledge and Data (KRDB)
Free University of Bozen-Bolzano, Italy
KRDB
1
29th European Summer School in Logic, Language, and Information
(ESSLLI 2017)
Toulouse, France – 17–28 July 2017
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Outline
1 The Good, the Bad, and the Ugly
2 Counter Automata
3 From Counter Automata to DCDSs
4 State-Bounded DCDSs
5 Key Properties, and Their Impact on State-Boundedness
6 Negative Results for State-Bounded DCDSs
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (1/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Delineating the boundaries of verifiability
Understand the boundaries of verifiability for DCDSs:
Considering propositional reachability as the bottom line, then moving
towards model checking branching and linear time FO temporal logics.
Striving for robust conditions that lend themselves to be enforced in
practice.
Aiming at reducing the problem to conventional model checking.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (2/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Our goal
DCDS (Un)desired property
Infinite-state
RTS
First-order
temporal formulaΦ|=
Finite-state
TS
faithful abstraction
Propositional
temporal formulaΨ
propositionalization
|=
IFF
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (3/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
The good
Study propositional reachability:
◦ Undecidable;
◦ Decidable.
X
outcome?
Tune DCDS Study model checking of logic L:
◦ Undecidable;
◦ Decidable:
• Formula-Independent Abstractions;
• Formula-Dependent Abstractions.
Tune DCDS/logic
outcome?
Write abstraction technique
U D
FIA or FDA
U, or D but only with FDA
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (4/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
The bad
Data LayerProcess Layer
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (5/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
The bad
A Turing Machine in GSM [Solomakhin et al. 2013]
Halt
curState == qf
Transition done
...
status attributes curState cellscurCell
curCell = curCell.next;
Head moved
if curCell.next == null
newCell = createCell();
newCell.value = "_";
curCell.next = newCell;
newCell.prev = curCell;
newCell.next = null;
Tape extended
if curCell.next != null
curCell = createCell();
curCell.value = "_";
curState = q0;Initialized if curCell == null
MovedR
...
curCell.value = vR1';
curState = qR1';
if curState = qR1
&& curCell.value = vR1
R1 state updated
...
curCell.value = vRk';
curState = qRk';
if curState = qRk
&& curCell.value = vRk
Rk state updated
curCell = curCell.prev;
Head moved
if curCell.prev == null
newCell = createCell();
newCell.value = "_";
curCell.prev = newCell;
newCell.next = curCell;
newCell.prev = null;
Tape extended
if curCell.prev != null
MovedL...
curCell.value = vL1';
curState = qL1';
if curState = qL1
&& curCell.value = vL1
L1 state updated
...
curCell.value = vLn';
curState = qLn';
if curState = qLn
&& curCell.value = vLn
Ln state updated
...
value prev next
Transition stage
State update stages
Init stage
Right shift stage
Left shift stage
Question
Do we need all such complications to encode Turing-powerful computations?
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (6/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
The ugly
To encode Turing-powerful computations, we just need. . .
unary relations and queries with negation;
a single binary relation and no negation.
Negation and binary relations are essential features!
Theorem
Verification of propositional reachability over DCDSs employing only unary
relations, is undecidable.
Theorem
Verification of propositional reachability over DCDSs employing unary
relations, a single binary relation, and only positive queries, is undecidable.
To prove these theorems, we need to reduce from a simple, yet Turing-powerful,
computation mechanism.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (7/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Outline
1 The Good, the Bad, and the Ugly
2 Counter Automata
3 From Counter Automata to DCDSs
4 State-Bounded DCDSs
5 Key Properties, and Their Impact on State-Boundedness
6 Negative Results for State-Bounded DCDSs
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (8/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Counter automaton (CA)
A finite-state automaton, whose transitions:
recognize symbols from a finite alphabet;
manipulate and test counters: registers storing non-negative values.
Three forms of test/manipulation:
increment a counter (inc) - always executable;
decrement a positive counter (dec) - executable only if counter > 0;
test a counter for zero (ifz) - executable only if counter == 0.
Finite-state automaton recognizing finite words over Σ = {a,b,x}
q0
q1
a b
x
Some recognized words:
x
ax
abx
abbx
aaabbbabx
abababaabbx
abababaaaabx
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (9/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Counter automaton (CA)
A finite-state automaton, whose transitions:
recognize symbols from a finite alphabet;
manipulate and test counters: registers storing non-negative values.
Three forms of test/manipulation:
increment a counter (inc) - always executable;
decrement a positive counter (dec) - executable only if counter > 0;
test a counter for zero (ifz) - executable only if counter == 0.
CA (with one counter initially 0) recognizing finite words over Σ = {a,b,x}
q0
q1
a,inc, 1 b,dec, 1
x,ifz, 1
Some recognized words:
x
ax
abx
abbx
aaabbbabx
abababaabbx
abababaaaabx
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (9/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Counter automaton: formal definition [Demri and Lazic 2009]
A counter automaton (CA) M is a tuple Σ, Q, qI, n, δ, F , where:
Σ is a finite alphabet;
Q is a finite set of locations;
qI ∈ Q is the initial location;
n ∈ N is the number of counters;
δ ⊆ Q × Σ × L × Q is a labeled transition relation capturing the control
configuration updates.
L is the instruction set {inc, dec, ifz} × {1, . . . , n}
F ⊆ Q is the set of accepting locations.
When a CA recognizes a word, we have to remember:
the current state;
the current value of each counter.
A configuration of counter automaton Σ, Q, qI, n, δ, F is a pair q, v , where:
q ∈ Q is a location;
v : {1, . . . , n} → N is a counter valuation.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (10/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Minsky counter automata (MCA)
A counter automaton that correctly manipulates its counters.
A transition of MCA Σ, Q, qI, n, δ, F is of the form q, v
w,l
−−→ q , v , where:
q, v and q, v are configurations of the MCA;
w ∈ Σ is a symbol;
l ∈ L is an instruction;
the transition agrees with the control configuration updates δ, i.e.,
q, w, l, q ∈ δ;
the transition correctly tests and manipulates the counters according to l,
i.e., given c ∈ {1, . . . , n}:
if l = inc, c , then v is identical to v, except v (c) = v(c) + 1;
if l = dec, c , then v(c) > 0, and v is identical to v, except v (c) = v(c) − 1;
if l = ifz, c , then v(c) = 0, and v is identical to v.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (11/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Recognizing words using MCA
A run of MCA Σ, Q, qI, n, δ, F
is a sequence of transitions q0, v0
w0,l0
−−−→ q1, v1
w1,l1
−−−→ . . ., where
q0 = qI (the run starts from the initial location of the MCA);
v0 is such that for every c ∈ {1, . . . , n}, v0(c) = 0 (counters start from 0).
A run is accepting if
finite run: it ends with an accepting location;
infinite run: it visits an accepting location infinitely often.
The MCA accepts word w0w1 . . . if
there exists a run of the MCA of the form
q0, v0
w0,l0
−−−→ q1, v1
w1,l1
−−−→ . . .
that is accepting.
(Non)emptiness over finite and infinite words immediately follow.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (12/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Faulty CA with unreliable counters
Lossy CA [Mayr 2003]
CA with unreliable counters that nondeterministically leak down.
A (seemingly) positive counter may return true when tested for zero,
because it could have leaked down to 0.
Incrementing CA (ICA) [Demri and Lazic 2009]
CA with unreliable counters that nondeterministically leak up.
A (seemingly) zero counter may accept a decrement, because it could
have leaked up to whatever positive number.
A transition of ICA Σ, Q, qI, n, δ, F is of the form
w,l
−−→†, where:
q, v
w,l
−−→† q , v if and only if
there exists v such that q, v
w,l
−−→ q , v (Minsky semantics);
v is such that for every counter c ∈ {1, . . . , n}, v (c) ≥ v (c).
A transition in an ICA coincides with that of the corresponding MCA, possibly
experiencing an unpredictable incrementation of one or more counters.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (13/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Counter automata are powerful
An i-CA is a CA using i counters.
Theorem ([Minsky 1967])
Emptiness of 2-MCA over finite/infinite words is undecidable.
Theorem ([Demri and Lazic 2009])
Emptiness of 2-ICA over infinite words is undecidable.
In general, many intriguing results on decidability and complexity of various
reasoning tasks over faulty counter machines.
Depending on the property that one wants to check, they may behave like
MCAs, or turn out to be simpler.
Useful tool to prove decidability and undecidability results for systems that
are not able to fully simulate the behaviours exhibited by an MCA.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (14/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Outline
1 The Good, the Bad, and the Ugly
2 Counter Automata
3 From Counter Automata to DCDSs
4 State-Bounded DCDSs
5 Key Properties, and Their Impact on State-Boundedness
6 Negative Results for State-Bounded DCDSs
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (15/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Representing MCAs with DCDSs
Crux:
show how to simulate two counters in the DCDS data layer;
show how to simulate increment, decrement, zero testing in the DCDS
process layer.
The control part is straightforward (being propositional).
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (16/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Representing MCAs with DCDSs
Crux:
show how to simulate two counters in the DCDS data layer;
show how to simulate increment, decrement, zero testing in the DCDS
process layer.
The control part is straightforward (being propositional).
Unary Relations
Data layer: two unary relations.
a
b
c
C1
d
a
C2
c1 = 3
c2 = 2
Counter: size of a unary relation C in the DB.
Increment: insert a fresh value into C.
Decrement: pick a value from C, and remove it from the extension of C.
Zero testing: check that C does not contain any value.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (16/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Representing MCAs with DCDSs
Crux:
show how to simulate two counters in the DCDS data layer;
show how to simulate increment, decrement, zero testing in the DCDS
process layer.
The control part is straightforward (being propositional).
Binary Relation
Data layer: one binary relation, three unary relations.
Bottom Top1Top2
Next Next Next Next Next
c2 = 2 c1 = 3
Counter: length of the chain from the bottom value to left/right top.
Increment: extend the chain of one step (fresh top).
Decrement: cut the chain of its last step.
Zero testing: check that the bottom and top element coincide.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (16/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Warm-up: fresh inputs
Fact
Service calls may return whatever value, possibly being already used in the
current DB, possibly not.
Recall the cart example: no guarantee that adding a product to the cart will
result in a proper update.
The obtained barcode could be already in use!
Observation
The DCDS may reject certain returned values through constraints!
This is the basis to simulate local and global freshness.
We are going to show this on a simple example where we consider
relation-freshness, i.e., freshness w.r.t. the values stored in a unary relation.
Generalization to relations with multiple arity, or to the entire active
domain of the DB, are straightforward.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (17/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Simulating freshness
DCDS “adding” elements to a unary relation
Data layer: unary relation R, no constraint.
Process layer:
one nondeterministic service call f();
one action α inserting an external value in R:
α·pars = ∅;
α·eff = add{true R(f())}.
a single condition-action rule true → α() (tells that α is always applicable).
Fact: this DCDS models faulty insertions
No guarantee that the value injected using f() is fresh.
If it is not, no addition happens (due to set semantics).
Is it possible to guarantee freshness of f()?
global freshness: fresh by considering the entire history.
local freshness: fresh by considering the current DB.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (18/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Simulating global Freshness
Compile DCDS into new DCDS with additional relations, constraints, effects.
DCDS “adding” elements to a unary relation
Data layer:unary relation R, no constraint.
Process layer:
one nondeterministic service call f();
one action α inserting an external value in R:
α·pars = ∅ α·eff = {true add{R(f())}}
Addition of globally fresh elements
Data layer: two additional unary relations Rnew and Rold .
Subject to a disjointness constraint ∀x.¬(Rnew (x) ∧ Rold (x)).
Process layer:
α stores in Rnew the newly inserted values, in Rold the historical values:
α·eff =



true add{R(f()), Rnew (f())}
Rnew (x) del{Rnew (x)} add{Rold (x)}
Rold (x) del{Rold (x)}



Due to disjointness: if f() is not globally fresh, the update is rejected!
Note: even if R stays bounded in size, Rold may grow unboundedly!
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (19/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Simulating local Freshness
Compile DCDS into new DCDS with additional relations, constraints, effects.
DCDS “adding” elements to a unary relation
Data layer:unary relation R, no constraint.
Process layer:
one nondeterministic service call f();
one action α inserting an external value in R:
α·pars = ∅ α·eff = {true add{R(f())}}
Addition of locally fresh elements
Data layer: two additional unary relations Rnew and Rold .
Subject to a disjointness constraint ∀x.¬(Rnew (x) ∧ Rold (x)).
Process layer:
α stores in Rnew the newly inserted values, in Rold the previous values:
α·eff =



true add{R(f()), Rnew (f())}
Rnew (x) del{Rnew (x)} add{Rold (x)}
Rold (x) del{Rold (x)}



Due to disjointness: if f() is not locally fresh, the update is rejected!
Note: If R stays bounded in size, so does Rold !
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (19/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Current overall picture
Reachability over unrestricted DCDSs: U
Tune DCDS:
?
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (20/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Outline
1 The Good, the Bad, and the Ugly
2 Counter Automata
3 From Counter Automata to DCDSs
4 State-Bounded DCDSs
5 Key Properties, and Their Impact on State-Boundedness
6 Negative Results for State-Bounded DCDSs
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (21/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
State boundedness
Main reason for undecidability
The DCDS database may accumulate unbounded information.
Idea: we control the way the process layer can use the data layer.
A DCDS X is state-bounded
if there exists a fixed number b such that the number of values used in each
single state of X, is bounded by b: given ΥX = ∆, R, S, s0, db, ⇒ , for each
state s ∈ S, we have |adom(db(s))| ≤ b.
If we know b, we say that the DCDS is b-bounded.
Note:
Even a 1-bounded DCDS may still
induce an infinite RTS.
However, the unboundedly many
encountered values cannot be
accumulated in a single DB.
State-boundedness is a semantic
condition.
• • •
•
•
•
• • •
•
•
•
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (22/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
State-boundedness to the rescue
Theorem
Reachability over state-bounded DCDS is decidable.
Proof.
State-boundedness combines well with two key formal properties of DCDSs and
the RTSs they induce.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (23/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Outline
1 The Good, the Bad, and the Ugly
2 Counter Automata
3 From Counter Automata to DCDSs
4 State-Bounded DCDSs
5 Key Properties, and Their Impact on State-Boundedness
6 Negative Results for State-Bounded DCDSs
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (24/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Two key properties of DCDSs
DCDS are . . .
Markovian
Next state only depends on the current state and the input.
Based on generic queries
FO/SQL (as virtually all query languages) does not distinguish structures that
are identical modulo uniform renaming of data objects.
Consider two isomorphic databases D1 and D2.
Let h be a bijection between the active domains of D1 and D2, witnessing
their isomorphisms (i.e., preserving relations).
For every query Q, by applying h on the answers obtained by issuing Q
over D1, we exactly get the answers obtained by issuing Q over D2.
These two properties, together, lead to a crucial genericity property of the
dynamics induced by DCDSs.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (25/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Genericity, intuitively
Travel payment
register
credit card
cc number
...
pay
bank status
...
...
...
status = "OK"
status = "ERR"
else
+
For analyzing the system (considering all possible executions):
The actual credit card number does not matter.
What matters is the outcome of the payment.
The process behavior:
Distinguishes the bank status.
Does not really “see” the actual cc number
only how it relates to the other objects!
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (26/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Genericity, formally
We want to define a genericity property capturing RTSs that do not
distinguish values as such, but only how they participate to relations.
We consider isomorphisms ∼h between relational states, where h is a bijection
between the domains that preserves relations and constants.
Fix a finite set ∆0 ⊂ ∆ of distinguished constant.
An RTS Υ = ∆, R, S, s0, db, ⇒ is generic
if for all states s1, s2 ∈ S, and every bijection h : ∆ → ∆ that is the identity
over ∆0:
if db(s1) ∼h db(s2) and there exists s1 such that s1 ⇒ s1,
then there exists s2 such that s2 ⇒ s2 and db(s1) ∼h db(s2).
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (27/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Genericity, graphically
If. . .
s1 s1
s2
h
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (28/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Genericity, graphically
If. . . Then
s1 s1
s2 s2
h h
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (28/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Genericity, graphically
Note: s1 and s2 can be the same state, hence the existence of a successor state
induces the existence of all successor states isomorphic to it.
If. . .
s1 = s2 s1
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (29/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Genericity, graphically
Note: s1 and s2 can be the same state, hence the existence of a successor state
induces the existence of all successor states isomorphic to it.
If. . . Then
s1 = s2 s1
h1
h2
h3
h4
. . .
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (29/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
DCDSs always induce generic RTSs
DCDSs induce generic RTSs since:
The progression mechanism is defined through FO, whose queries are
generic.
The progression mechanism is markovian, i.e., next states only depend on
the current state.
The semantics of service calls induces the existence of a successor state for
each combination of values returned by the service calls, such that
constraints are satisfied.
Successor states generated through the execution of a DCDS action are
“indistinguishable” modulo isomorphisms on the results of service calls.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (30/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
DCDSs are Generic
If. . .
s1
s1
ασ
θ
s2
h
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (31/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
DCDSs are Generic
If. . . Then
s1
s1
ασ
θ
s2
h
αh(σ)
h h
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (31/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
DCDSs are Generic
If. . . Then
s1
s1
ασ
θ
s2
h
αh(σ)
h h
s2
h(θ)
h h
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (31/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
DCDSs are generic
If. . .s1 s1
ασ θ
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (32/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
DCDSs are generic
If. . . Thens1 s1
ασ θ
αh1(σ)
h1(θ)
αh2 (σ)
h2 (θ)
αh3
(σ)
h3
(θ)
αh4(σ)
h4(θ)
. . .
. . .
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (32/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof of decidability
Consider a b-bounded DCDS X.
How many isomorphic DBs exist in a b-bounded system?
Finitely many! Just pick b distinct values and do (wise) combinatorics.
E.g., for a single binary relation R, bound b = 2, ∆0 = ∅
∅
R( , ) R( , ) R( , ) R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , )
R( , ) R( , )
R( , ) R( , )
∅∅
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (33/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof of decidability
Consider a b-bounded DCDS X.
How many isomorphic DBs exist in a b-bounded system?
Finitely many! Just pick b distinct values and do (wise) combinatorics.
E.g., for a single binary relation R, bound b = 2, ∆0 = ∅, ∆ = {a, b}
∅∅
R(a ,a ) R(a ,b ) R(b ,a ) R(b ,b )
R(a ,a )
R(a ,b )
R(a ,a )
R(b ,a )
R(a ,a )
R(b ,b )
R(a ,b )
R(b ,a )
R(a ,b )
R(b ,b )
R(b ,a )
R(b ,b )
R(a ,a )
R(a ,b )
R(b ,a )
R(a ,a )
R(a ,b )
R(b ,b )
R(a ,a )
R(b ,a )
R(b ,b )
R(a ,b )
R(b ,a )
R(b ,b )
R(a ,a ) R(a ,b )
R(b ,a ) R(b ,b )
∅
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (33/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof of decidability
Consider a b-bounded DCDS X.
How many isomorphic DBs exist in a b-bounded system?
Finitely many! Just pick b distinct values and do (wise) combinatorics.
E.g., for a single binary relation R, bound b = 2, ∆0 = ∅, ∆ = {0, 1}
∅∅∅
R(0 ,0 ) R(0 ,1 ) R(1 ,0 ) R(1 ,1 )
R(0 ,0 )
R(0 ,1 )
R(0 ,0 )
R(1 ,0 )
R(0 ,0 )
R(1 ,1 )
R(0 ,1 )
R(1 ,0 )
R(0 ,1 )
R(1 ,1 )
R(1 ,0 )
R(1 ,1 )
R(0 ,0 )
R(0 ,1 )
R(1 ,0 )
R(0 ,0 )
R(0 ,1 )
R(1 ,1 )
R(0 ,0 )
R(1 ,0 )
R(1 ,1 )
R(0 ,1 )
R(1 ,0 )
R(1 ,1 )
R(0 ,0 ) R(0 ,1 )
R(1 ,0 ) R(1 ,1 )
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (33/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof of decidability
Consider a b-bounded DCDS X, whose schema contains a proposition Hit.
Procedure
1 Fix b values over ∆ (in addition to ∆0).
2 Construct all DBs of X over the schema of X and values from ∆ ∆0.
Note: as seen in previous example, not all are needed, since some are
isomorphic to each other.
Note2: we assume adom(I0) ⊆ ∆0, hence one such DBs is exactly I0.
3 For each pair of DBs, check whether the second is a legal successor of the
first (cf. DCDS execution semantics).
4 We get a finite-state RTS ΘX .
5 Thanks to genericity:
Hit reachable in ΥX iff Hit reachable in ΘX .
6 Check whether Hit is reachable ΘX (clearly decidable).
What if I do not know b?
Decidability still holds! See later.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (34/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Current overall picture
Reachability over unrestricted DCDSs: U
Tune DCDS:
state-bounded
Reachability over state-bounded DCDSs: D
Model checking µLFO/µLA
over state-bounded DCDSs: ?
Model checking LTL-FO/LTL-FOA
over state-bounded DCDSs: ?
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (35/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Outline
1 The Good, the Bad, and the Ugly
2 Counter Automata
3 From Counter Automata to DCDSs
4 State-Bounded DCDSs
5 Key Properties, and Their Impact on State-Boundedness
6 Negative Results for State-Bounded DCDSs
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (36/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
A mildly negative result: µLA + state-boundedness
Theorem
There exists a 1-bounded DCDS that does not admit any formula-
independent, finite-state abstraction preserving exactly the same µLA (and,
hence, µLFO) properties.
Proof.
1 We construct a DCDS X working over a single unary relation and that induces a
very simple, 1-bounded RTS.
2 We construct a µLA formula Φ≥i parameterized by number i, asserting that at
least i distinct values are encountered in the initial prefix of a run.
3 We show that X |= Φ≥i for every i ∈ N.
4 We imagine that finite-state, formula-independent abstraction ΘX of ΥX , exists.
5 Since it is finite-state, ΘX contains finitely many values overall, say k.
6 But then, it is impossible for ΘX to encounter k + 1 distinct values, i.e., while
X |= Φ≥k+1, we have that ΘX |= Φ≥k+1.
7 Contradiction! Hence, ΘX cannot exist.
Note: this does not imply undecidability of µLA model checking!
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (37/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: DCDS
1-bounded DCDS X
Data layer: unary relation R, no constraint,
initial DB {R(a)}
Process layer:
one nondeterministic service call g();
one action α nondeterministically
replacing the single value in R with
another one (possibly the same):
α·pars = ∅;
α·eff =
R(x) del{R(x)}
add{R(g())}
a single condition-action rule
true → α()
(tells that α is always applicable).
RTS ΥX
R(a)
R(b)
R(c)
R(d)
. . .
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (38/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: formula
The µLA formula Φ≥i
∃x1.live(x1)
∧ −




∃x2.live(x2) ∧ x2=x1
∧ −


∃x3.live(x3) ∧ x3=x1 ∧ x3=x2
∧ −
. . .
∧ − (∃xilive(xi) ∧ xi=x1 ∧ · · · ∧ xi−1=xi)






Note: the formula is fixpoint-free.
For every i ∈ N, we have X |= Φ≥i
Actually, all states of ΥX satisfy Φ≥i.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (39/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
A strongly negative result: LTL-FOA + state-boundedness
Here, the situation is even more critical!
Theorem
There exists a 1-bounded DCDS over which verifying LTL-FOA properties is
undecidable.
Proof.
Careful reconstruction of the proof of undecidability of satisfiability of LTL with
freeze-quantifier [Demri and Lazic 2009]: we reduce emptiness of 2-ICAs to
verification of LTL-FOA properties over a 1-bounded DCDS. Idea:
1 We translate the input CA M into a 1-bounded DCDS XM that “simulates” the runs
of M by just focusing the control part of M. Counter values cannot be retained, since
XM is 1-bounded.
2 Since XM does not capture counter values, the simulation of M is faulty: XM captures
all proper runs of M, but also many other spurious runs where transitions are
performed even when the counters would block them.
3 We write an LTL-FOA formula ΦM that: (i) separates the correct runs from the
spurious runs, (ii) encodes the nonacceptance condition of M over infinite words.
4 ΦM is not powerful enough to capture the Minsky semantics of M, but is able to
capture its incrementing semantics: this suffices for undecidability!
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (40/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: DCDS
Given ICA M = Σ, Q, qI, n, δ, F , we construct a DCDS XM = DM, PM, ∅ ,
such that each state of XM holds a control configuration update
q, w, op, c, q of M. This, in turn, may correspond to a potential transition of
M, once the counter valuation is projected away. Runs of XM are (proper or
spurious) sequences of control config updates.
A sequence qc
0, w0, op0, c0, qn
0 , qc
1, w1, op1, c1, qn
1 , . . . of control config updates is:
Proper, if it corresponds to an actual run of M, i.e.:
1 qc
0 = qI (the sequence starts from the initial location of M);
2 for every i > 0 we have qn
i = qc
i+1 (the sequence of locations forms a chain);
3 there exists a run of M of the form
qc
0, v0
w0, op0,c0
−−−−−−→† qc
1, v1
w1, op1,c1
−−−−−−→† . . .
This in particular means that the control config updates correspond to
proper counter tests and operations (depending on the chosen semantics).
Spurious otherwise.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (41/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: DCDS
Given ICA M = Σ, Q, qI, n, δ, F , we construct a DCDS XM = DM, PM, ∅ ,
such that each state of XM holds a control configuration update
q, w, op, c, q of M. This, in turn, may correspond to a potential transition of
M, once the counter valuation is projected away. Runs of XM are (proper or
spurious) sequences of control config updates.
In addition, XM uses a 1-bounded, unary relation Color, which assigns a value
from ∆ to a state. This is interpreted as a way of coloring each control
configuration, where ∆ provides infinitely many colors.
Operationally, at each step XM guesses a control configuration and a color:
there are finitely many control configurations for M;
but infinitely many ways of coloring them.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (41/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: DCDS
Note: We model XM by using relations also for control configurations. This is
just syntactic sugar for easing the presentation: XM can be reformulated as a
truly 1-bounded DCDS, at the cost of increasing the number of actions.
Data layer DM
No constraint, schema:
1-bounded unary relations CurLoc and NextLoc (current/next location).
1-bounded unary relation CurSym (current symbol).
1-bounded binary relation Op (counter instruction: operation and counter).
1-bounded unary relation Color (configuration coloring).
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (42/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: DCDS
Note: We model XM by using relations also for control configurations. This is
just syntactic sugar for easing the presentation: XM can be reformulated as a
truly 1-bounded DCDS, at the cost of increasing the number of actions.
Process layer PM
Nullary nondeterministic service call inputcol() for color guessing.
Action setColTCP taking as parameters the components of a transition
control part (setColTCP·pars = qc, w, op, c, qn ), and setting them
together with a guessed color: setColTCP·eff =


CurLoc(x) del {CurLoc(x)}
NextLoc(x) del {NextLoc(x)}
CurSym(x) del {CurSym(x)}
Op(x, y) del {Op(x, y)}
Color(x) del {Color(x)}
true add{CurLoc(qc), CurSym(w), Op(op, c), NextLoc(qn)}
true add{Color(inputcol())}



For each transition control part q, w, op, c, q of M, a condition-action
rule setting that control part:
qc = q ∧ w = w ∧ op = op ∧ c = c ∧ qn = q → setColTCP(qc, w, op, c, qn)
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (42/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: DCDS example
Input ICA M = q0 q1 For simplicity, we only use symbol “a”.
a,inc, 1
a,dec, 1
a,ifz, 1
RTS ΥXM
=
CurLoc(q0)
CurSym(a)
Op(inc, 1)
NextLoc(q0)
Color(a)
CurLoc(q0)
CurSym(a)
Op(inc, 1)
NextLoc(q1)
Color(a)
CurLoc(q0)
CurSym(a)
Op(dec, 1)
NextLoc(q0)
Color(a)
CurLoc(q0)
CurSym(a)
Op(dec, 1)
NextLoc(q1)
Color(a)
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q0)
Color(a)
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q1)
Color(a)
CurLoc(q1)
CurSym(a)
Op(inc, 1)
NextLoc(q0)
Color(a)
CurLoc(q1)
CurSym(a)
Op(inc, 1)
NextLoc(q1)
Color(a)
CurLoc(q1)
CurSym(a)
Op(dec, 1)
NextLoc(q0)
Color(a)
CurLoc(q1)
CurSym(a)
Op(dec, 1)
NextLoc(q1)
Color(a)
CurLoc(q1)
CurSym(a)
Op(ifz, 1)
NextLoc(q0)
Color(a)
CurLoc(q1)
CurSym(a)
Op(ifz, 1)
NextLoc(q1)
Color(a)
CurLoc(q0)
CurSym(a)
Op(inc, 1)
NextLoc(q0)
Color(b)
CurLoc(q0)
CurSym(a)
Op(inc, 1)
NextLoc(q1)
Color(b)
CurLoc(q0)
CurSym(a)
Op(dec, 1)
NextLoc(q0)
Color(b)
CurLoc(q0)
CurSym(a)
Op(dec, 1)
NextLoc(q1)
Color(b)
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q0)
Color(b)
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q1)
Color(b)
CurLoc(q1)
CurSym(a)
Op(inc, 1)
NextLoc(q0)
Color(b)
CurLoc(q1)
CurSym(a)
Op(inc, 1)
NextLoc(q1)
Color(b)
CurLoc(q1)
CurSym(a)
Op(dec, 1)
NextLoc(q0)
Color(b)
CurLoc(q1)
CurSym(a)
Op(dec, 1)
NextLoc(q1)
Color(b)
CurLoc(q1)
CurSym(a)
Op(ifz, 1)
NextLoc(q0)
Color(b)
CurLoc(q1)
CurSym(a)
Op(ifz, 1)
NextLoc(q1)
Color(b)
. . .
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (43/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: examples of correct and spurious run prefixes
Input ICA M = q0 q1 For simplicity, we only use symbol “a”.
a,inc, 1
a,dec, 1
a,ifz, 1
Spurious runs
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q0)
Color(a)
. . .
M does not have a transition
from q0 to q0 labeled by
instruction ifz, 1
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q1)
Color(b)
CurLoc(q0)
CurSym(a)
Op(inc, 1)
NextLoc(q0)
Color(a)
. . .
It is impossible to move to q1
and then do a subsequent
transition that starts from q0
CurLoc(q0)
CurSym(a)
Op(inc, 1)
NextLoc(q0)
Color(c)
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q1)
Color(a)
. . .
It is impossible to move by
incrementing counter 1 and
then move testing it for zero
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (44/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: examples of correct and spurious run prefixes
Input ICA M = q0 q1 For simplicity, we only use symbol “a”.
a,inc, 1
a,dec, 1
a,ifz, 1
Proper runs
CurLoc(q0)
CurSym(a)
Op(inc, 1)
NextLoc(q0)
Color(c)
CurLoc(q0)
CurSym(a)
Op(dec, 1)
NextLoc(q0)
Color(c)
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q1)
Color(b)
. . .
The run moves along proper transitions of M. In particular,
the counter (initially 0) is incremented, decremented, and then correctly tested for 0.
CurLoc(q0)
CurSym(a)
Op(inc, 1)
NextLoc(q0)
Color(c)
CurLoc(q0)
CurSym(a)
Op(dec, 1)
NextLoc(q0)
Color(c)
CurLoc(q0)
CurSym(a)
Op(dec, 1)
NextLoc(q0)
Color(d)
CurLoc(q0)
CurSym(a)
Op(ifz, 1)
NextLoc(q1)
Color(d)
. . .
The run moves along proper transitions of M. The counter (initially 0), is
incremented and then decremented twice. This is ok: the counter is an unreliable ICA,
so it may have leaked up before the second decrement!
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (44/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: characterization of proper runs
From now on we focus on infinite runs of XM.
We have already defined the notion of proper run. But. . . how can we check
that a run is proper?
An infinite run τ = s0s1 . . . of XM is proper if
(Location correctness) The initial state s0 has qI as current location, and
every two consequent states si and si+1 agree on their intermediate
location, i.e., the next location contained in si coincides with the current
location contained in si+1, for every i.
(Control correctness) Each state si holds information that reconstructs
one control configuration update of M.
(Counter correctness) Every state si contains a counter operation that is
actually executable in that state. For an ICA, increment and decrement
operations are always possible. The only counter correctness check relates
to test-for-zero: a zero counter can be tested for zero in the future
iff, in between, it is subject to at least as many decrements than
increments. If this is not the case, the counter is for sure positive.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (45/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: location and control correctness in LTL-FOA
We encode location and control correctness as LTL-FOA formulae over XM.
Location correctness is encoded in LTL-FOA as:
ΦM
location = CurLoc(qI) ∧ G


q∈Q
NextLoc(q) → X CurLoc(q)


Control correctness is encoded in LTL-FOA as:
ΦM
control = G


q,w, op,i ,q ∈δ
CurLoc(q) ∧ CurSym(w) ∧ Op(op, i) ∧ NextLoc(q )


Actually, ΦM
location and ΦM
control are just propositional LTL formulae.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (46/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: counter correctness mathematically
Counter correctness can be mathematically captured as follows:
Consider a sequence of operations over the same counter, assuming that
the counter is zero at the beginning of the sequence.
Then, it can be successfully tested for zero at the end of the sequence only
if there exists an injection from the increment to the decrement
operations in the sequence: each increment must have a dedicated
corresponding decrement.
counter 0
inc inc dec inc dec
ifz
?
counter 0
inc inc dec inc dec dec dec
ifz
Note: for a MCA, this should be a bijection, ensuring that there are exactly as
many decrements as increments!
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (47/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: counter correctness via coloring
The injection can be expressed by suitably coloring the operations as follows:
no two increments of the sequence get the same color;
no two decrements of the sequence get the same color;
each increment of the sequence must have a corresponding decrement
within the sequence and with matching color.
counter 0
inc inc dec inc dec
ifz
?
counter 0
inc inc dec inc dec dec dec
ifz
counter 0
inc inc dec inc dec
ifz counter 0
inc inc dec inc dec dec dec
ifz
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (48/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: counter correctness in LTL-FOA
We encode location and control correctness as an LTL-FOA formula over XM.
We use the intuition of coloring given before, but with an additional difficulty:
we have to identify the sequences of operations.
Each is a sequence of operations over the same counter delimited by two
zero tests over that counter, or by the initial state and the first zero test.
Counter correctness is encoded as ΦM
ifz = ΦM
inc ∧ ΦM
dec ∧ ΦM
match ∧ ΦM
order, where:
ΦM
inc =
i∈{1,...,n}
G ∀x. Op(inc, i) ∧ Color(x) → ¬ X F Op(inc, i) ∧ Color(x)
Different increment instructions for the same counter must be associated to
different colors.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (49/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: counter correctness in LTL-FOA
We encode location and control correctness as an LTL-FOA formula over XM.
We use the intuition of coloring given before, but with an additional difficulty:
we have to identify the sequences of operations.
Each is a sequence of operations over the same counter delimited by two
zero tests over that counter, or by the initial state and the first zero test.
Counter correctness is encoded as ΦM
ifz = ΦM
inc ∧ ΦM
dec ∧ ΦM
match ∧ ΦM
order, where:
ΦM
dec =
i∈{1,...,n}
G ∀x. Op(dec, i) ∧ Color(x) → ¬ X F Op(dec, i) ∧ Color(x)
Different decrement instructions for the same counter must be associated to
different colors.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (49/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: counter correctness in LTL-FOA
We encode location and control correctness as an LTL-FOA formula over XM.
We use the intuition of coloring given before, but with an additional difficulty:
we have to identify the sequences of operations.
Each is a sequence of operations over the same counter delimited by two
zero tests over that counter, or by the initial state and the first zero test.
Counter correctness is encoded as ΦM
ifz = ΦM
inc ∧ ΦM
dec ∧ ΦM
match ∧ ΦM
order, where:
ΦM
match =
i∈{1,...,n}
G ∀x. Op(inc, i)∧Color(x)∧X F Op(ifz, i) →X F Op(dec, i)∧Color(x)
Whenever there is an x-colored increment instruction for counter i that is
eventually followed by a zero test instruction for i, then it must also be
eventually followed by a corresponding decrement configuration for i with
matching color x.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (49/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: counter correctness in LTL-FOA
We encode location and control correctness as an LTL-FOA formula over XM.
We use the intuition of coloring given before, but with an additional difficulty:
we have to identify the sequences of operations.
Each is a sequence of operations over the same counter delimited by two
zero tests over that counter, or by the initial state and the first zero test.
Counter correctness is encoded as ΦM
ifz = ΦM
inc ∧ ΦM
dec ∧ ΦM
match ∧ ΦM
order, where:
ΦM
order =
i∈{1,...,n}
¬ F
Op(inc, i)
∧ X F ∃x. Op(ifz, i) ∧ Color(x) ∧ X F Op(dec, i) ∧ Color(x)
ΦM
match does not guarantee that the matching decrement occurs within the
same sequence, i.e., before the zero test. So, ΦM
order ensures that an increment
can match a decrement only if there is no zero test in between. This is
expressed in a negative form, by forbidding to match an increment and a
decrement of the same counter, if there is a zero test in between.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (49/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Proof details: putting everything together
We construct the LTL-FOA formula ΦM stating that:
If the run of interest over XM is a proper run, then it does not accept, i.e., it
does not recur infinitely often over an accepting location:
ΦM = ΦM
location ∧ ΦM
control ∧ ΦM
ifz →¬ G F


q∈F
CurLoc(q)


Given an ICA M . . .
Construct 1-bounded, unary DCDS XM, and LTL-FOA formula ΦM.
XM |=ltl ΦM if and only if for every infinite run τ of XM, whenever τ
reconstructs a proper sequence of control configuration updates of M,
then the corresponding run of M is non-accepting.
I.e., XM |=ltl ΦM if and only if M over infinite words is empty.
Hence, LTL-FOA model checking over 1-bounded, unary DCDSs is
undecidable.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (50/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Key observations
The undecidability proof relies on two crucial points:
The only interesting feature of the DCDS XM is that it may encounter
unboundedly many different colors along a run.
The only interesting feature of the LTL-FOA formula ΦM is that it fully
exploits first-order quantification across time.
Two open questions:
1 What happens if we limit the ability of the DCDS to encounter
unboundedly many values along its runs? Which subclass of state-bounded
DCDSs can capture this condition?
2 What happens if we control quantification across in the verification logic?
In particular, what happens with LTL-FOP ?
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (51/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
Current overall picture
Reachability over unrestricted DCDSs: U
Tune DCDS:
state-bounded
Reachability over state-bounded DCDSs: D
Model checking µLFO/µLA
over state-bounded DCDSs: no FIA
Model checking LTL-FO/LTL-FOA
over state-bounded DCDSs: U
Tune DCDS:
?
Tune logic:
?
Tune DCDS:
?
Tune logic:
?
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (52/53)
The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References
References
[1] Dmitry Solomakhin et al. “Verification of Artifact-Centric Systems:
Decidability and Modeling Issues”. In: vol. 8274. Lecture Notes in
Computer Science. Springer, 2013, pp. 252–266.
[2] St´ephane Demri and Ranko Lazic. “LTL with the Freeze Quantifier and
Register Automata”. In: ACM Trans. on Computational Logic 10.3 (2009).
[3] Richard Mayr. “Undecidable problems in unreliable computations”. In:
Theoretical Computer Science 297.1-3 (2003), pp. 337–354.
[4] Marvin L. Minsky. Computation: Finite and Infinite Machines.
Prentice-Hall, 1967.
Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (53/53)

More Related Content

Similar to Verification of Data-Aware Processes at ESSLLI 2017 4/6 - Boundaries of Decidability: Negative Results

Using Open Source Tools for Machine Learning
Using Open Source Tools for Machine LearningUsing Open Source Tools for Machine Learning
Using Open Source Tools for Machine LearningAll Things Open
 
2017 09-29 ndt loop closure
2017 09-29 ndt loop closure2017 09-29 ndt loop closure
2017 09-29 ndt loop closureiMorpheus ai
 
Talwalkar mlconf (1)
Talwalkar mlconf (1)Talwalkar mlconf (1)
Talwalkar mlconf (1)MLconf
 
Linear regression
Linear regressionLinear regression
Linear regressionansrivas21
 
MetiTarski's menagerie of cooperating systems
MetiTarski's menagerie of cooperating systemsMetiTarski's menagerie of cooperating systems
MetiTarski's menagerie of cooperating systemsLawrence Paulson
 
Recent advances on low-rank and sparse decomposition for moving object detection
Recent advances on low-rank and sparse decomposition for moving object detectionRecent advances on low-rank and sparse decomposition for moving object detection
Recent advances on low-rank and sparse decomposition for moving object detectionActiveEon
 
L2. Evaluating Machine Learning Algorithms I
L2. Evaluating Machine Learning Algorithms IL2. Evaluating Machine Learning Algorithms I
L2. Evaluating Machine Learning Algorithms IMachine Learning Valencia
 
Ordinal Regression and Machine Learning: Applications, Methods, Metrics
Ordinal Regression and Machine Learning: Applications, Methods, MetricsOrdinal Regression and Machine Learning: Applications, Methods, Metrics
Ordinal Regression and Machine Learning: Applications, Methods, MetricsFrancesco Casalegno
 
Svm map reduce_slides
Svm map reduce_slidesSvm map reduce_slides
Svm map reduce_slidesSara Asher
 
A two stage svm-based mammographic cbir for ca dx
A two stage svm-based mammographic cbir for ca dxA two stage svm-based mammographic cbir for ca dx
A two stage svm-based mammographic cbir for ca dxLazaros Tsochatzidis
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
1 factor vs.2 factor gaussian model for zero coupon bond pricing final
1 factor vs.2 factor gaussian model for zero coupon bond pricing   final1 factor vs.2 factor gaussian model for zero coupon bond pricing   final
1 factor vs.2 factor gaussian model for zero coupon bond pricing finalFinancial Algorithms
 
High-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECLHigh-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECLHPCC Systems
 

Similar to Verification of Data-Aware Processes at ESSLLI 2017 4/6 - Boundaries of Decidability: Negative Results (20)

Using Open Source Tools for Machine Learning
Using Open Source Tools for Machine LearningUsing Open Source Tools for Machine Learning
Using Open Source Tools for Machine Learning
 
2017 09-29 ndt loop closure
2017 09-29 ndt loop closure2017 09-29 ndt loop closure
2017 09-29 ndt loop closure
 
Talwalkar mlconf (1)
Talwalkar mlconf (1)Talwalkar mlconf (1)
Talwalkar mlconf (1)
 
Linear regression
Linear regressionLinear regression
Linear regression
 
MetiTarski's menagerie of cooperating systems
MetiTarski's menagerie of cooperating systemsMetiTarski's menagerie of cooperating systems
MetiTarski's menagerie of cooperating systems
 
Recent advances on low-rank and sparse decomposition for moving object detection
Recent advances on low-rank and sparse decomposition for moving object detectionRecent advances on low-rank and sparse decomposition for moving object detection
Recent advances on low-rank and sparse decomposition for moving object detection
 
Formal verification
Formal verificationFormal verification
Formal verification
 
L2. Evaluating Machine Learning Algorithms I
L2. Evaluating Machine Learning Algorithms IL2. Evaluating Machine Learning Algorithms I
L2. Evaluating Machine Learning Algorithms I
 
Ordinal Regression and Machine Learning: Applications, Methods, Metrics
Ordinal Regression and Machine Learning: Applications, Methods, MetricsOrdinal Regression and Machine Learning: Applications, Methods, Metrics
Ordinal Regression and Machine Learning: Applications, Methods, Metrics
 
Verification of Data-Aware Processes at ESSLLI 2017 6/6 - Exploiting DCDSs: M...
Verification of Data-Aware Processes at ESSLLI 2017 6/6 - Exploiting DCDSs: M...Verification of Data-Aware Processes at ESSLLI 2017 6/6 - Exploiting DCDSs: M...
Verification of Data-Aware Processes at ESSLLI 2017 6/6 - Exploiting DCDSs: M...
 
Svm map reduce_slides
Svm map reduce_slidesSvm map reduce_slides
Svm map reduce_slides
 
A two stage svm-based mammographic cbir for ca dx
A two stage svm-based mammographic cbir for ca dxA two stage svm-based mammographic cbir for ca dx
A two stage svm-based mammographic cbir for ca dx
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
 
1 factor vs.2 factor gaussian model for zero coupon bond pricing final
1 factor vs.2 factor gaussian model for zero coupon bond pricing   final1 factor vs.2 factor gaussian model for zero coupon bond pricing   final
1 factor vs.2 factor gaussian model for zero coupon bond pricing final
 
High-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECLHigh-Dimensional Network Estimation using ECL
High-Dimensional Network Estimation using ECL
 
Verification of Data-Aware Processes at ESSLLI 2017 2/6 - Data-Centric Dynami...
Verification of Data-Aware Processes at ESSLLI 2017 2/6 - Data-Centric Dynami...Verification of Data-Aware Processes at ESSLLI 2017 2/6 - Data-Centric Dynami...
Verification of Data-Aware Processes at ESSLLI 2017 2/6 - Data-Centric Dynami...
 
Attribute based communication
Attribute based communicationAttribute based communication
Attribute based communication
 
RR 2013 - Montali - Verification and Synthesis in Description Logic Based Dyn...
RR 2013 - Montali - Verification and Synthesis in Description Logic Based Dyn...RR 2013 - Montali - Verification and Synthesis in Description Logic Based Dyn...
RR 2013 - Montali - Verification and Synthesis in Description Logic Based Dyn...
 
Declarative data analysis
Declarative data analysisDeclarative data analysis
Declarative data analysis
 

More from 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
 
Constraints for Process Framing in Augmented BPM
Constraints for Process Framing in Augmented BPMConstraints for Process Framing in Augmented BPM
Constraints for Process Framing in Augmented BPM
 
Intelligent Systems for Process Mining
Intelligent Systems for Process MiningIntelligent Systems for Process Mining
Intelligent Systems for Process Mining
 
Declarative process mining
Declarative process miningDeclarative process mining
Declarative 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
 

Recently uploaded

TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencySheetal Arora
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.Nitya salvi
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PPRINCE C P
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)Areesha Ahmad
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡anilsa9823
 

Recently uploaded (20)

TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C P
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
 

Verification of Data-Aware Processes at ESSLLI 2017 4/6 - Boundaries of Decidability: Negative Results

  • 1. Verification of Data-Aware Processes Boundaries of Decidability: Negative Results Diego Calvanese, Marco Montali Research Centre for Knowledge and Data (KRDB) Free University of Bozen-Bolzano, Italy KRDB 1 29th European Summer School in Logic, Language, and Information (ESSLLI 2017) Toulouse, France – 17–28 July 2017
  • 2. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Outline 1 The Good, the Bad, and the Ugly 2 Counter Automata 3 From Counter Automata to DCDSs 4 State-Bounded DCDSs 5 Key Properties, and Their Impact on State-Boundedness 6 Negative Results for State-Bounded DCDSs Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (1/53)
  • 3. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Delineating the boundaries of verifiability Understand the boundaries of verifiability for DCDSs: Considering propositional reachability as the bottom line, then moving towards model checking branching and linear time FO temporal logics. Striving for robust conditions that lend themselves to be enforced in practice. Aiming at reducing the problem to conventional model checking. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (2/53)
  • 4. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Our goal DCDS (Un)desired property Infinite-state RTS First-order temporal formulaΦ|= Finite-state TS faithful abstraction Propositional temporal formulaΨ propositionalization |= IFF Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (3/53)
  • 5. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References The good Study propositional reachability: ◦ Undecidable; ◦ Decidable. X outcome? Tune DCDS Study model checking of logic L: ◦ Undecidable; ◦ Decidable: • Formula-Independent Abstractions; • Formula-Dependent Abstractions. Tune DCDS/logic outcome? Write abstraction technique U D FIA or FDA U, or D but only with FDA Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (4/53)
  • 6. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References The bad Data LayerProcess Layer Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (5/53)
  • 7. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References The bad A Turing Machine in GSM [Solomakhin et al. 2013] Halt curState == qf Transition done ... status attributes curState cellscurCell curCell = curCell.next; Head moved if curCell.next == null newCell = createCell(); newCell.value = "_"; curCell.next = newCell; newCell.prev = curCell; newCell.next = null; Tape extended if curCell.next != null curCell = createCell(); curCell.value = "_"; curState = q0;Initialized if curCell == null MovedR ... curCell.value = vR1'; curState = qR1'; if curState = qR1 && curCell.value = vR1 R1 state updated ... curCell.value = vRk'; curState = qRk'; if curState = qRk && curCell.value = vRk Rk state updated curCell = curCell.prev; Head moved if curCell.prev == null newCell = createCell(); newCell.value = "_"; curCell.prev = newCell; newCell.next = curCell; newCell.prev = null; Tape extended if curCell.prev != null MovedL... curCell.value = vL1'; curState = qL1'; if curState = qL1 && curCell.value = vL1 L1 state updated ... curCell.value = vLn'; curState = qLn'; if curState = qLn && curCell.value = vLn Ln state updated ... value prev next Transition stage State update stages Init stage Right shift stage Left shift stage Question Do we need all such complications to encode Turing-powerful computations? Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (6/53)
  • 8. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References The ugly To encode Turing-powerful computations, we just need. . . unary relations and queries with negation; a single binary relation and no negation. Negation and binary relations are essential features! Theorem Verification of propositional reachability over DCDSs employing only unary relations, is undecidable. Theorem Verification of propositional reachability over DCDSs employing unary relations, a single binary relation, and only positive queries, is undecidable. To prove these theorems, we need to reduce from a simple, yet Turing-powerful, computation mechanism. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (7/53)
  • 9. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Outline 1 The Good, the Bad, and the Ugly 2 Counter Automata 3 From Counter Automata to DCDSs 4 State-Bounded DCDSs 5 Key Properties, and Their Impact on State-Boundedness 6 Negative Results for State-Bounded DCDSs Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (8/53)
  • 10. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Counter automaton (CA) A finite-state automaton, whose transitions: recognize symbols from a finite alphabet; manipulate and test counters: registers storing non-negative values. Three forms of test/manipulation: increment a counter (inc) - always executable; decrement a positive counter (dec) - executable only if counter > 0; test a counter for zero (ifz) - executable only if counter == 0. Finite-state automaton recognizing finite words over Σ = {a,b,x} q0 q1 a b x Some recognized words: x ax abx abbx aaabbbabx abababaabbx abababaaaabx Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (9/53)
  • 11. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Counter automaton (CA) A finite-state automaton, whose transitions: recognize symbols from a finite alphabet; manipulate and test counters: registers storing non-negative values. Three forms of test/manipulation: increment a counter (inc) - always executable; decrement a positive counter (dec) - executable only if counter > 0; test a counter for zero (ifz) - executable only if counter == 0. CA (with one counter initially 0) recognizing finite words over Σ = {a,b,x} q0 q1 a,inc, 1 b,dec, 1 x,ifz, 1 Some recognized words: x ax abx abbx aaabbbabx abababaabbx abababaaaabx Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (9/53)
  • 12. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Counter automaton: formal definition [Demri and Lazic 2009] A counter automaton (CA) M is a tuple Σ, Q, qI, n, δ, F , where: Σ is a finite alphabet; Q is a finite set of locations; qI ∈ Q is the initial location; n ∈ N is the number of counters; δ ⊆ Q × Σ × L × Q is a labeled transition relation capturing the control configuration updates. L is the instruction set {inc, dec, ifz} × {1, . . . , n} F ⊆ Q is the set of accepting locations. When a CA recognizes a word, we have to remember: the current state; the current value of each counter. A configuration of counter automaton Σ, Q, qI, n, δ, F is a pair q, v , where: q ∈ Q is a location; v : {1, . . . , n} → N is a counter valuation. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (10/53)
  • 13. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Minsky counter automata (MCA) A counter automaton that correctly manipulates its counters. A transition of MCA Σ, Q, qI, n, δ, F is of the form q, v w,l −−→ q , v , where: q, v and q, v are configurations of the MCA; w ∈ Σ is a symbol; l ∈ L is an instruction; the transition agrees with the control configuration updates δ, i.e., q, w, l, q ∈ δ; the transition correctly tests and manipulates the counters according to l, i.e., given c ∈ {1, . . . , n}: if l = inc, c , then v is identical to v, except v (c) = v(c) + 1; if l = dec, c , then v(c) > 0, and v is identical to v, except v (c) = v(c) − 1; if l = ifz, c , then v(c) = 0, and v is identical to v. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (11/53)
  • 14. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Recognizing words using MCA A run of MCA Σ, Q, qI, n, δ, F is a sequence of transitions q0, v0 w0,l0 −−−→ q1, v1 w1,l1 −−−→ . . ., where q0 = qI (the run starts from the initial location of the MCA); v0 is such that for every c ∈ {1, . . . , n}, v0(c) = 0 (counters start from 0). A run is accepting if finite run: it ends with an accepting location; infinite run: it visits an accepting location infinitely often. The MCA accepts word w0w1 . . . if there exists a run of the MCA of the form q0, v0 w0,l0 −−−→ q1, v1 w1,l1 −−−→ . . . that is accepting. (Non)emptiness over finite and infinite words immediately follow. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (12/53)
  • 15. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Faulty CA with unreliable counters Lossy CA [Mayr 2003] CA with unreliable counters that nondeterministically leak down. A (seemingly) positive counter may return true when tested for zero, because it could have leaked down to 0. Incrementing CA (ICA) [Demri and Lazic 2009] CA with unreliable counters that nondeterministically leak up. A (seemingly) zero counter may accept a decrement, because it could have leaked up to whatever positive number. A transition of ICA Σ, Q, qI, n, δ, F is of the form w,l −−→†, where: q, v w,l −−→† q , v if and only if there exists v such that q, v w,l −−→ q , v (Minsky semantics); v is such that for every counter c ∈ {1, . . . , n}, v (c) ≥ v (c). A transition in an ICA coincides with that of the corresponding MCA, possibly experiencing an unpredictable incrementation of one or more counters. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (13/53)
  • 16. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Counter automata are powerful An i-CA is a CA using i counters. Theorem ([Minsky 1967]) Emptiness of 2-MCA over finite/infinite words is undecidable. Theorem ([Demri and Lazic 2009]) Emptiness of 2-ICA over infinite words is undecidable. In general, many intriguing results on decidability and complexity of various reasoning tasks over faulty counter machines. Depending on the property that one wants to check, they may behave like MCAs, or turn out to be simpler. Useful tool to prove decidability and undecidability results for systems that are not able to fully simulate the behaviours exhibited by an MCA. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (14/53)
  • 17. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Outline 1 The Good, the Bad, and the Ugly 2 Counter Automata 3 From Counter Automata to DCDSs 4 State-Bounded DCDSs 5 Key Properties, and Their Impact on State-Boundedness 6 Negative Results for State-Bounded DCDSs Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (15/53)
  • 18. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Representing MCAs with DCDSs Crux: show how to simulate two counters in the DCDS data layer; show how to simulate increment, decrement, zero testing in the DCDS process layer. The control part is straightforward (being propositional). Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (16/53)
  • 19. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Representing MCAs with DCDSs Crux: show how to simulate two counters in the DCDS data layer; show how to simulate increment, decrement, zero testing in the DCDS process layer. The control part is straightforward (being propositional). Unary Relations Data layer: two unary relations. a b c C1 d a C2 c1 = 3 c2 = 2 Counter: size of a unary relation C in the DB. Increment: insert a fresh value into C. Decrement: pick a value from C, and remove it from the extension of C. Zero testing: check that C does not contain any value. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (16/53)
  • 20. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Representing MCAs with DCDSs Crux: show how to simulate two counters in the DCDS data layer; show how to simulate increment, decrement, zero testing in the DCDS process layer. The control part is straightforward (being propositional). Binary Relation Data layer: one binary relation, three unary relations. Bottom Top1Top2 Next Next Next Next Next c2 = 2 c1 = 3 Counter: length of the chain from the bottom value to left/right top. Increment: extend the chain of one step (fresh top). Decrement: cut the chain of its last step. Zero testing: check that the bottom and top element coincide. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (16/53)
  • 21. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Warm-up: fresh inputs Fact Service calls may return whatever value, possibly being already used in the current DB, possibly not. Recall the cart example: no guarantee that adding a product to the cart will result in a proper update. The obtained barcode could be already in use! Observation The DCDS may reject certain returned values through constraints! This is the basis to simulate local and global freshness. We are going to show this on a simple example where we consider relation-freshness, i.e., freshness w.r.t. the values stored in a unary relation. Generalization to relations with multiple arity, or to the entire active domain of the DB, are straightforward. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (17/53)
  • 22. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Simulating freshness DCDS “adding” elements to a unary relation Data layer: unary relation R, no constraint. Process layer: one nondeterministic service call f(); one action α inserting an external value in R: α·pars = ∅; α·eff = add{true R(f())}. a single condition-action rule true → α() (tells that α is always applicable). Fact: this DCDS models faulty insertions No guarantee that the value injected using f() is fresh. If it is not, no addition happens (due to set semantics). Is it possible to guarantee freshness of f()? global freshness: fresh by considering the entire history. local freshness: fresh by considering the current DB. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (18/53)
  • 23. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Simulating global Freshness Compile DCDS into new DCDS with additional relations, constraints, effects. DCDS “adding” elements to a unary relation Data layer:unary relation R, no constraint. Process layer: one nondeterministic service call f(); one action α inserting an external value in R: α·pars = ∅ α·eff = {true add{R(f())}} Addition of globally fresh elements Data layer: two additional unary relations Rnew and Rold . Subject to a disjointness constraint ∀x.¬(Rnew (x) ∧ Rold (x)). Process layer: α stores in Rnew the newly inserted values, in Rold the historical values: α·eff =    true add{R(f()), Rnew (f())} Rnew (x) del{Rnew (x)} add{Rold (x)} Rold (x) del{Rold (x)}    Due to disjointness: if f() is not globally fresh, the update is rejected! Note: even if R stays bounded in size, Rold may grow unboundedly! Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (19/53)
  • 24. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Simulating local Freshness Compile DCDS into new DCDS with additional relations, constraints, effects. DCDS “adding” elements to a unary relation Data layer:unary relation R, no constraint. Process layer: one nondeterministic service call f(); one action α inserting an external value in R: α·pars = ∅ α·eff = {true add{R(f())}} Addition of locally fresh elements Data layer: two additional unary relations Rnew and Rold . Subject to a disjointness constraint ∀x.¬(Rnew (x) ∧ Rold (x)). Process layer: α stores in Rnew the newly inserted values, in Rold the previous values: α·eff =    true add{R(f()), Rnew (f())} Rnew (x) del{Rnew (x)} add{Rold (x)} Rold (x) del{Rold (x)}    Due to disjointness: if f() is not locally fresh, the update is rejected! Note: If R stays bounded in size, so does Rold ! Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (19/53)
  • 25. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Current overall picture Reachability over unrestricted DCDSs: U Tune DCDS: ? Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (20/53)
  • 26. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Outline 1 The Good, the Bad, and the Ugly 2 Counter Automata 3 From Counter Automata to DCDSs 4 State-Bounded DCDSs 5 Key Properties, and Their Impact on State-Boundedness 6 Negative Results for State-Bounded DCDSs Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (21/53)
  • 27. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References State boundedness Main reason for undecidability The DCDS database may accumulate unbounded information. Idea: we control the way the process layer can use the data layer. A DCDS X is state-bounded if there exists a fixed number b such that the number of values used in each single state of X, is bounded by b: given ΥX = ∆, R, S, s0, db, ⇒ , for each state s ∈ S, we have |adom(db(s))| ≤ b. If we know b, we say that the DCDS is b-bounded. Note: Even a 1-bounded DCDS may still induce an infinite RTS. However, the unboundedly many encountered values cannot be accumulated in a single DB. State-boundedness is a semantic condition. • • • • • • • • • • • • Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (22/53)
  • 28. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References State-boundedness to the rescue Theorem Reachability over state-bounded DCDS is decidable. Proof. State-boundedness combines well with two key formal properties of DCDSs and the RTSs they induce. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (23/53)
  • 29. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Outline 1 The Good, the Bad, and the Ugly 2 Counter Automata 3 From Counter Automata to DCDSs 4 State-Bounded DCDSs 5 Key Properties, and Their Impact on State-Boundedness 6 Negative Results for State-Bounded DCDSs Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (24/53)
  • 30. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Two key properties of DCDSs DCDS are . . . Markovian Next state only depends on the current state and the input. Based on generic queries FO/SQL (as virtually all query languages) does not distinguish structures that are identical modulo uniform renaming of data objects. Consider two isomorphic databases D1 and D2. Let h be a bijection between the active domains of D1 and D2, witnessing their isomorphisms (i.e., preserving relations). For every query Q, by applying h on the answers obtained by issuing Q over D1, we exactly get the answers obtained by issuing Q over D2. These two properties, together, lead to a crucial genericity property of the dynamics induced by DCDSs. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (25/53)
  • 31. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Genericity, intuitively Travel payment register credit card cc number ... pay bank status ... ... ... status = "OK" status = "ERR" else + For analyzing the system (considering all possible executions): The actual credit card number does not matter. What matters is the outcome of the payment. The process behavior: Distinguishes the bank status. Does not really “see” the actual cc number only how it relates to the other objects! Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (26/53)
  • 32. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Genericity, formally We want to define a genericity property capturing RTSs that do not distinguish values as such, but only how they participate to relations. We consider isomorphisms ∼h between relational states, where h is a bijection between the domains that preserves relations and constants. Fix a finite set ∆0 ⊂ ∆ of distinguished constant. An RTS Υ = ∆, R, S, s0, db, ⇒ is generic if for all states s1, s2 ∈ S, and every bijection h : ∆ → ∆ that is the identity over ∆0: if db(s1) ∼h db(s2) and there exists s1 such that s1 ⇒ s1, then there exists s2 such that s2 ⇒ s2 and db(s1) ∼h db(s2). Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (27/53)
  • 33. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Genericity, graphically If. . . s1 s1 s2 h Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (28/53)
  • 34. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Genericity, graphically If. . . Then s1 s1 s2 s2 h h Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (28/53)
  • 35. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Genericity, graphically Note: s1 and s2 can be the same state, hence the existence of a successor state induces the existence of all successor states isomorphic to it. If. . . s1 = s2 s1 Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (29/53)
  • 36. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Genericity, graphically Note: s1 and s2 can be the same state, hence the existence of a successor state induces the existence of all successor states isomorphic to it. If. . . Then s1 = s2 s1 h1 h2 h3 h4 . . . Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (29/53)
  • 37. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References DCDSs always induce generic RTSs DCDSs induce generic RTSs since: The progression mechanism is defined through FO, whose queries are generic. The progression mechanism is markovian, i.e., next states only depend on the current state. The semantics of service calls induces the existence of a successor state for each combination of values returned by the service calls, such that constraints are satisfied. Successor states generated through the execution of a DCDS action are “indistinguishable” modulo isomorphisms on the results of service calls. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (30/53)
  • 38. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References DCDSs are Generic If. . . s1 s1 ασ θ s2 h Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (31/53)
  • 39. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References DCDSs are Generic If. . . Then s1 s1 ασ θ s2 h αh(σ) h h Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (31/53)
  • 40. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References DCDSs are Generic If. . . Then s1 s1 ασ θ s2 h αh(σ) h h s2 h(θ) h h Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (31/53)
  • 41. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References DCDSs are generic If. . .s1 s1 ασ θ Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (32/53)
  • 42. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References DCDSs are generic If. . . Thens1 s1 ασ θ αh1(σ) h1(θ) αh2 (σ) h2 (θ) αh3 (σ) h3 (θ) αh4(σ) h4(θ) . . . . . . Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (32/53)
  • 43. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof of decidability Consider a b-bounded DCDS X. How many isomorphic DBs exist in a b-bounded system? Finitely many! Just pick b distinct values and do (wise) combinatorics. E.g., for a single binary relation R, bound b = 2, ∆0 = ∅ ∅ R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) R( , ) ∅∅ Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (33/53)
  • 44. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof of decidability Consider a b-bounded DCDS X. How many isomorphic DBs exist in a b-bounded system? Finitely many! Just pick b distinct values and do (wise) combinatorics. E.g., for a single binary relation R, bound b = 2, ∆0 = ∅, ∆ = {a, b} ∅∅ R(a ,a ) R(a ,b ) R(b ,a ) R(b ,b ) R(a ,a ) R(a ,b ) R(a ,a ) R(b ,a ) R(a ,a ) R(b ,b ) R(a ,b ) R(b ,a ) R(a ,b ) R(b ,b ) R(b ,a ) R(b ,b ) R(a ,a ) R(a ,b ) R(b ,a ) R(a ,a ) R(a ,b ) R(b ,b ) R(a ,a ) R(b ,a ) R(b ,b ) R(a ,b ) R(b ,a ) R(b ,b ) R(a ,a ) R(a ,b ) R(b ,a ) R(b ,b ) ∅ Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (33/53)
  • 45. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof of decidability Consider a b-bounded DCDS X. How many isomorphic DBs exist in a b-bounded system? Finitely many! Just pick b distinct values and do (wise) combinatorics. E.g., for a single binary relation R, bound b = 2, ∆0 = ∅, ∆ = {0, 1} ∅∅∅ R(0 ,0 ) R(0 ,1 ) R(1 ,0 ) R(1 ,1 ) R(0 ,0 ) R(0 ,1 ) R(0 ,0 ) R(1 ,0 ) R(0 ,0 ) R(1 ,1 ) R(0 ,1 ) R(1 ,0 ) R(0 ,1 ) R(1 ,1 ) R(1 ,0 ) R(1 ,1 ) R(0 ,0 ) R(0 ,1 ) R(1 ,0 ) R(0 ,0 ) R(0 ,1 ) R(1 ,1 ) R(0 ,0 ) R(1 ,0 ) R(1 ,1 ) R(0 ,1 ) R(1 ,0 ) R(1 ,1 ) R(0 ,0 ) R(0 ,1 ) R(1 ,0 ) R(1 ,1 ) Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (33/53)
  • 46. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof of decidability Consider a b-bounded DCDS X, whose schema contains a proposition Hit. Procedure 1 Fix b values over ∆ (in addition to ∆0). 2 Construct all DBs of X over the schema of X and values from ∆ ∆0. Note: as seen in previous example, not all are needed, since some are isomorphic to each other. Note2: we assume adom(I0) ⊆ ∆0, hence one such DBs is exactly I0. 3 For each pair of DBs, check whether the second is a legal successor of the first (cf. DCDS execution semantics). 4 We get a finite-state RTS ΘX . 5 Thanks to genericity: Hit reachable in ΥX iff Hit reachable in ΘX . 6 Check whether Hit is reachable ΘX (clearly decidable). What if I do not know b? Decidability still holds! See later. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (34/53)
  • 47. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Current overall picture Reachability over unrestricted DCDSs: U Tune DCDS: state-bounded Reachability over state-bounded DCDSs: D Model checking µLFO/µLA over state-bounded DCDSs: ? Model checking LTL-FO/LTL-FOA over state-bounded DCDSs: ? Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (35/53)
  • 48. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Outline 1 The Good, the Bad, and the Ugly 2 Counter Automata 3 From Counter Automata to DCDSs 4 State-Bounded DCDSs 5 Key Properties, and Their Impact on State-Boundedness 6 Negative Results for State-Bounded DCDSs Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (36/53)
  • 49. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References A mildly negative result: µLA + state-boundedness Theorem There exists a 1-bounded DCDS that does not admit any formula- independent, finite-state abstraction preserving exactly the same µLA (and, hence, µLFO) properties. Proof. 1 We construct a DCDS X working over a single unary relation and that induces a very simple, 1-bounded RTS. 2 We construct a µLA formula Φ≥i parameterized by number i, asserting that at least i distinct values are encountered in the initial prefix of a run. 3 We show that X |= Φ≥i for every i ∈ N. 4 We imagine that finite-state, formula-independent abstraction ΘX of ΥX , exists. 5 Since it is finite-state, ΘX contains finitely many values overall, say k. 6 But then, it is impossible for ΘX to encounter k + 1 distinct values, i.e., while X |= Φ≥k+1, we have that ΘX |= Φ≥k+1. 7 Contradiction! Hence, ΘX cannot exist. Note: this does not imply undecidability of µLA model checking! Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (37/53)
  • 50. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: DCDS 1-bounded DCDS X Data layer: unary relation R, no constraint, initial DB {R(a)} Process layer: one nondeterministic service call g(); one action α nondeterministically replacing the single value in R with another one (possibly the same): α·pars = ∅; α·eff = R(x) del{R(x)} add{R(g())} a single condition-action rule true → α() (tells that α is always applicable). RTS ΥX R(a) R(b) R(c) R(d) . . . Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (38/53)
  • 51. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: formula The µLA formula Φ≥i ∃x1.live(x1) ∧ −     ∃x2.live(x2) ∧ x2=x1 ∧ −   ∃x3.live(x3) ∧ x3=x1 ∧ x3=x2 ∧ − . . . ∧ − (∃xilive(xi) ∧ xi=x1 ∧ · · · ∧ xi−1=xi)       Note: the formula is fixpoint-free. For every i ∈ N, we have X |= Φ≥i Actually, all states of ΥX satisfy Φ≥i. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (39/53)
  • 52. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References A strongly negative result: LTL-FOA + state-boundedness Here, the situation is even more critical! Theorem There exists a 1-bounded DCDS over which verifying LTL-FOA properties is undecidable. Proof. Careful reconstruction of the proof of undecidability of satisfiability of LTL with freeze-quantifier [Demri and Lazic 2009]: we reduce emptiness of 2-ICAs to verification of LTL-FOA properties over a 1-bounded DCDS. Idea: 1 We translate the input CA M into a 1-bounded DCDS XM that “simulates” the runs of M by just focusing the control part of M. Counter values cannot be retained, since XM is 1-bounded. 2 Since XM does not capture counter values, the simulation of M is faulty: XM captures all proper runs of M, but also many other spurious runs where transitions are performed even when the counters would block them. 3 We write an LTL-FOA formula ΦM that: (i) separates the correct runs from the spurious runs, (ii) encodes the nonacceptance condition of M over infinite words. 4 ΦM is not powerful enough to capture the Minsky semantics of M, but is able to capture its incrementing semantics: this suffices for undecidability! Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (40/53)
  • 53. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: DCDS Given ICA M = Σ, Q, qI, n, δ, F , we construct a DCDS XM = DM, PM, ∅ , such that each state of XM holds a control configuration update q, w, op, c, q of M. This, in turn, may correspond to a potential transition of M, once the counter valuation is projected away. Runs of XM are (proper or spurious) sequences of control config updates. A sequence qc 0, w0, op0, c0, qn 0 , qc 1, w1, op1, c1, qn 1 , . . . of control config updates is: Proper, if it corresponds to an actual run of M, i.e.: 1 qc 0 = qI (the sequence starts from the initial location of M); 2 for every i > 0 we have qn i = qc i+1 (the sequence of locations forms a chain); 3 there exists a run of M of the form qc 0, v0 w0, op0,c0 −−−−−−→† qc 1, v1 w1, op1,c1 −−−−−−→† . . . This in particular means that the control config updates correspond to proper counter tests and operations (depending on the chosen semantics). Spurious otherwise. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (41/53)
  • 54. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: DCDS Given ICA M = Σ, Q, qI, n, δ, F , we construct a DCDS XM = DM, PM, ∅ , such that each state of XM holds a control configuration update q, w, op, c, q of M. This, in turn, may correspond to a potential transition of M, once the counter valuation is projected away. Runs of XM are (proper or spurious) sequences of control config updates. In addition, XM uses a 1-bounded, unary relation Color, which assigns a value from ∆ to a state. This is interpreted as a way of coloring each control configuration, where ∆ provides infinitely many colors. Operationally, at each step XM guesses a control configuration and a color: there are finitely many control configurations for M; but infinitely many ways of coloring them. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (41/53)
  • 55. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: DCDS Note: We model XM by using relations also for control configurations. This is just syntactic sugar for easing the presentation: XM can be reformulated as a truly 1-bounded DCDS, at the cost of increasing the number of actions. Data layer DM No constraint, schema: 1-bounded unary relations CurLoc and NextLoc (current/next location). 1-bounded unary relation CurSym (current symbol). 1-bounded binary relation Op (counter instruction: operation and counter). 1-bounded unary relation Color (configuration coloring). Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (42/53)
  • 56. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: DCDS Note: We model XM by using relations also for control configurations. This is just syntactic sugar for easing the presentation: XM can be reformulated as a truly 1-bounded DCDS, at the cost of increasing the number of actions. Process layer PM Nullary nondeterministic service call inputcol() for color guessing. Action setColTCP taking as parameters the components of a transition control part (setColTCP·pars = qc, w, op, c, qn ), and setting them together with a guessed color: setColTCP·eff =   CurLoc(x) del {CurLoc(x)} NextLoc(x) del {NextLoc(x)} CurSym(x) del {CurSym(x)} Op(x, y) del {Op(x, y)} Color(x) del {Color(x)} true add{CurLoc(qc), CurSym(w), Op(op, c), NextLoc(qn)} true add{Color(inputcol())}    For each transition control part q, w, op, c, q of M, a condition-action rule setting that control part: qc = q ∧ w = w ∧ op = op ∧ c = c ∧ qn = q → setColTCP(qc, w, op, c, qn) Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (42/53)
  • 57. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: DCDS example Input ICA M = q0 q1 For simplicity, we only use symbol “a”. a,inc, 1 a,dec, 1 a,ifz, 1 RTS ΥXM = CurLoc(q0) CurSym(a) Op(inc, 1) NextLoc(q0) Color(a) CurLoc(q0) CurSym(a) Op(inc, 1) NextLoc(q1) Color(a) CurLoc(q0) CurSym(a) Op(dec, 1) NextLoc(q0) Color(a) CurLoc(q0) CurSym(a) Op(dec, 1) NextLoc(q1) Color(a) CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q0) Color(a) CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q1) Color(a) CurLoc(q1) CurSym(a) Op(inc, 1) NextLoc(q0) Color(a) CurLoc(q1) CurSym(a) Op(inc, 1) NextLoc(q1) Color(a) CurLoc(q1) CurSym(a) Op(dec, 1) NextLoc(q0) Color(a) CurLoc(q1) CurSym(a) Op(dec, 1) NextLoc(q1) Color(a) CurLoc(q1) CurSym(a) Op(ifz, 1) NextLoc(q0) Color(a) CurLoc(q1) CurSym(a) Op(ifz, 1) NextLoc(q1) Color(a) CurLoc(q0) CurSym(a) Op(inc, 1) NextLoc(q0) Color(b) CurLoc(q0) CurSym(a) Op(inc, 1) NextLoc(q1) Color(b) CurLoc(q0) CurSym(a) Op(dec, 1) NextLoc(q0) Color(b) CurLoc(q0) CurSym(a) Op(dec, 1) NextLoc(q1) Color(b) CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q0) Color(b) CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q1) Color(b) CurLoc(q1) CurSym(a) Op(inc, 1) NextLoc(q0) Color(b) CurLoc(q1) CurSym(a) Op(inc, 1) NextLoc(q1) Color(b) CurLoc(q1) CurSym(a) Op(dec, 1) NextLoc(q0) Color(b) CurLoc(q1) CurSym(a) Op(dec, 1) NextLoc(q1) Color(b) CurLoc(q1) CurSym(a) Op(ifz, 1) NextLoc(q0) Color(b) CurLoc(q1) CurSym(a) Op(ifz, 1) NextLoc(q1) Color(b) . . . Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (43/53)
  • 58. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: examples of correct and spurious run prefixes Input ICA M = q0 q1 For simplicity, we only use symbol “a”. a,inc, 1 a,dec, 1 a,ifz, 1 Spurious runs CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q0) Color(a) . . . M does not have a transition from q0 to q0 labeled by instruction ifz, 1 CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q1) Color(b) CurLoc(q0) CurSym(a) Op(inc, 1) NextLoc(q0) Color(a) . . . It is impossible to move to q1 and then do a subsequent transition that starts from q0 CurLoc(q0) CurSym(a) Op(inc, 1) NextLoc(q0) Color(c) CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q1) Color(a) . . . It is impossible to move by incrementing counter 1 and then move testing it for zero Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (44/53)
  • 59. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: examples of correct and spurious run prefixes Input ICA M = q0 q1 For simplicity, we only use symbol “a”. a,inc, 1 a,dec, 1 a,ifz, 1 Proper runs CurLoc(q0) CurSym(a) Op(inc, 1) NextLoc(q0) Color(c) CurLoc(q0) CurSym(a) Op(dec, 1) NextLoc(q0) Color(c) CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q1) Color(b) . . . The run moves along proper transitions of M. In particular, the counter (initially 0) is incremented, decremented, and then correctly tested for 0. CurLoc(q0) CurSym(a) Op(inc, 1) NextLoc(q0) Color(c) CurLoc(q0) CurSym(a) Op(dec, 1) NextLoc(q0) Color(c) CurLoc(q0) CurSym(a) Op(dec, 1) NextLoc(q0) Color(d) CurLoc(q0) CurSym(a) Op(ifz, 1) NextLoc(q1) Color(d) . . . The run moves along proper transitions of M. The counter (initially 0), is incremented and then decremented twice. This is ok: the counter is an unreliable ICA, so it may have leaked up before the second decrement! Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (44/53)
  • 60. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: characterization of proper runs From now on we focus on infinite runs of XM. We have already defined the notion of proper run. But. . . how can we check that a run is proper? An infinite run τ = s0s1 . . . of XM is proper if (Location correctness) The initial state s0 has qI as current location, and every two consequent states si and si+1 agree on their intermediate location, i.e., the next location contained in si coincides with the current location contained in si+1, for every i. (Control correctness) Each state si holds information that reconstructs one control configuration update of M. (Counter correctness) Every state si contains a counter operation that is actually executable in that state. For an ICA, increment and decrement operations are always possible. The only counter correctness check relates to test-for-zero: a zero counter can be tested for zero in the future iff, in between, it is subject to at least as many decrements than increments. If this is not the case, the counter is for sure positive. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (45/53)
  • 61. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: location and control correctness in LTL-FOA We encode location and control correctness as LTL-FOA formulae over XM. Location correctness is encoded in LTL-FOA as: ΦM location = CurLoc(qI) ∧ G   q∈Q NextLoc(q) → X CurLoc(q)   Control correctness is encoded in LTL-FOA as: ΦM control = G   q,w, op,i ,q ∈δ CurLoc(q) ∧ CurSym(w) ∧ Op(op, i) ∧ NextLoc(q )   Actually, ΦM location and ΦM control are just propositional LTL formulae. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (46/53)
  • 62. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: counter correctness mathematically Counter correctness can be mathematically captured as follows: Consider a sequence of operations over the same counter, assuming that the counter is zero at the beginning of the sequence. Then, it can be successfully tested for zero at the end of the sequence only if there exists an injection from the increment to the decrement operations in the sequence: each increment must have a dedicated corresponding decrement. counter 0 inc inc dec inc dec ifz ? counter 0 inc inc dec inc dec dec dec ifz Note: for a MCA, this should be a bijection, ensuring that there are exactly as many decrements as increments! Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (47/53)
  • 63. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: counter correctness via coloring The injection can be expressed by suitably coloring the operations as follows: no two increments of the sequence get the same color; no two decrements of the sequence get the same color; each increment of the sequence must have a corresponding decrement within the sequence and with matching color. counter 0 inc inc dec inc dec ifz ? counter 0 inc inc dec inc dec dec dec ifz counter 0 inc inc dec inc dec ifz counter 0 inc inc dec inc dec dec dec ifz Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (48/53)
  • 64. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: counter correctness in LTL-FOA We encode location and control correctness as an LTL-FOA formula over XM. We use the intuition of coloring given before, but with an additional difficulty: we have to identify the sequences of operations. Each is a sequence of operations over the same counter delimited by two zero tests over that counter, or by the initial state and the first zero test. Counter correctness is encoded as ΦM ifz = ΦM inc ∧ ΦM dec ∧ ΦM match ∧ ΦM order, where: ΦM inc = i∈{1,...,n} G ∀x. Op(inc, i) ∧ Color(x) → ¬ X F Op(inc, i) ∧ Color(x) Different increment instructions for the same counter must be associated to different colors. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (49/53)
  • 65. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: counter correctness in LTL-FOA We encode location and control correctness as an LTL-FOA formula over XM. We use the intuition of coloring given before, but with an additional difficulty: we have to identify the sequences of operations. Each is a sequence of operations over the same counter delimited by two zero tests over that counter, or by the initial state and the first zero test. Counter correctness is encoded as ΦM ifz = ΦM inc ∧ ΦM dec ∧ ΦM match ∧ ΦM order, where: ΦM dec = i∈{1,...,n} G ∀x. Op(dec, i) ∧ Color(x) → ¬ X F Op(dec, i) ∧ Color(x) Different decrement instructions for the same counter must be associated to different colors. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (49/53)
  • 66. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: counter correctness in LTL-FOA We encode location and control correctness as an LTL-FOA formula over XM. We use the intuition of coloring given before, but with an additional difficulty: we have to identify the sequences of operations. Each is a sequence of operations over the same counter delimited by two zero tests over that counter, or by the initial state and the first zero test. Counter correctness is encoded as ΦM ifz = ΦM inc ∧ ΦM dec ∧ ΦM match ∧ ΦM order, where: ΦM match = i∈{1,...,n} G ∀x. Op(inc, i)∧Color(x)∧X F Op(ifz, i) →X F Op(dec, i)∧Color(x) Whenever there is an x-colored increment instruction for counter i that is eventually followed by a zero test instruction for i, then it must also be eventually followed by a corresponding decrement configuration for i with matching color x. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (49/53)
  • 67. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: counter correctness in LTL-FOA We encode location and control correctness as an LTL-FOA formula over XM. We use the intuition of coloring given before, but with an additional difficulty: we have to identify the sequences of operations. Each is a sequence of operations over the same counter delimited by two zero tests over that counter, or by the initial state and the first zero test. Counter correctness is encoded as ΦM ifz = ΦM inc ∧ ΦM dec ∧ ΦM match ∧ ΦM order, where: ΦM order = i∈{1,...,n} ¬ F Op(inc, i) ∧ X F ∃x. Op(ifz, i) ∧ Color(x) ∧ X F Op(dec, i) ∧ Color(x) ΦM match does not guarantee that the matching decrement occurs within the same sequence, i.e., before the zero test. So, ΦM order ensures that an increment can match a decrement only if there is no zero test in between. This is expressed in a negative form, by forbidding to match an increment and a decrement of the same counter, if there is a zero test in between. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (49/53)
  • 68. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Proof details: putting everything together We construct the LTL-FOA formula ΦM stating that: If the run of interest over XM is a proper run, then it does not accept, i.e., it does not recur infinitely often over an accepting location: ΦM = ΦM location ∧ ΦM control ∧ ΦM ifz →¬ G F   q∈F CurLoc(q)   Given an ICA M . . . Construct 1-bounded, unary DCDS XM, and LTL-FOA formula ΦM. XM |=ltl ΦM if and only if for every infinite run τ of XM, whenever τ reconstructs a proper sequence of control configuration updates of M, then the corresponding run of M is non-accepting. I.e., XM |=ltl ΦM if and only if M over infinite words is empty. Hence, LTL-FOA model checking over 1-bounded, unary DCDSs is undecidable. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (50/53)
  • 69. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Key observations The undecidability proof relies on two crucial points: The only interesting feature of the DCDS XM is that it may encounter unboundedly many different colors along a run. The only interesting feature of the LTL-FOA formula ΦM is that it fully exploits first-order quantification across time. Two open questions: 1 What happens if we limit the ability of the DCDS to encounter unboundedly many values along its runs? Which subclass of state-bounded DCDSs can capture this condition? 2 What happens if we control quantification across in the verification logic? In particular, what happens with LTL-FOP ? Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (51/53)
  • 70. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References Current overall picture Reachability over unrestricted DCDSs: U Tune DCDS: state-bounded Reachability over state-bounded DCDSs: D Model checking µLFO/µLA over state-bounded DCDSs: no FIA Model checking LTL-FO/LTL-FOA over state-bounded DCDSs: U Tune DCDS: ? Tune logic: ? Tune DCDS: ? Tune logic: ? Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (52/53)
  • 71. The Good, the Bad, and the Ugly Counter Automata CAs→DCDSs State-Bounded DCDSs Key Properties Negative Results References References [1] Dmitry Solomakhin et al. “Verification of Artifact-Centric Systems: Decidability and Modeling Issues”. In: vol. 8274. Lecture Notes in Computer Science. Springer, 2013, pp. 252–266. [2] St´ephane Demri and Ranko Lazic. “LTL with the Freeze Quantifier and Register Automata”. In: ACM Trans. on Computational Logic 10.3 (2009). [3] Richard Mayr. “Undecidable problems in unreliable computations”. In: Theoretical Computer Science 297.1-3 (2003), pp. 337–354. [4] Marvin L. Minsky. Computation: Finite and Infinite Machines. Prentice-Hall, 1967. Calvanese, Montali (unibz) Verification of Data-Aware Processes ESSLLI 2017 – 24–28/07/2017 (53/53)