SlideShare a Scribd company logo
a	
  
iSC	
  
Verification of
Relational Data-Centric Dynamic Systems
with External Services
Presented by Marco Montali
Joint work with B. Bagheri Hariri, D. Calvanese, G. De Giacomo, A. Deutsch
KRDB Research Center
KRDB Lunch Seminar, March 5, 2012
ACSI Project 257593
a	
  
iSC	
  
Artifact-Centric Process Verification in ACSI
• The Data is put on stage, and the Process considers it!
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 1/28
a	
  
iSC	
  
Artifact-Centric Process Verification in ACSI
• The Data is put on stage, and the Process considers it!
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 1/28
a	
  
iSC	
  
Artifact-Centric Process Verification in ACSI
• The Data is put on stage, and the Process considers it!
• And we get beautiful research results!
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 1/28
a	
  
iSC	
  
Data-Centric Dynamic Systems
• DCDS: system where the process controlling the dynamics and the
manipulated data are equally central
general, abstract framework
artifact-centric systems are a specialization of DCDSs
• Data Layer: holds the relevant information to be manipulated by the system
• Process Layer: is formed by the invokable (atomic) actions and a process
based on them
Actions evolve the data of the data layer and update the state of the process
Interaction with external services to acquire new information from the
environment (other systems, user choices, . . . )
DCDS
Process Layer
service
service
service
Data Layer
Environment
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 2/28
a	
  
iSC	
  
Data Layer
• Represents the information of interest in our application.
• We focus on relational data.
• Is a tuple D = C, R, E, I0 where:
C is a countably infinite set of constants/values.
R = {R1, . . . , Rn} is a database schema (a finite set of relation schemas).
E is a finite set of equality constraints Qi →
V
j=1,...,k zij = yij.
Qi is a domain independent FO query over R using constants from the active
domain adom(I0) and whose free variables are x.
zij and yij are either variables in x or constants in adom(I0).
N.B.: they can be generalized to denials and arbitrary constraints!
I0 is a database instance that represents the initial state of the data layer:
It conforms to the schema R.
It satisfies the constraints E: for each constraint Qi →
V
j=1,...,k zij = yij and
for each tuple θ ∈ ans(Qi, I0), zijθ = yijθ.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 3/28
a	
  
iSC	
  
Process Layer
• Constitutes the progression mechanism for the DCDS.
• High-level: rule-based approach that can accommodate any process with a
finite state control flow.
• Non-determinism represented by interleaving.
• A process layer P over a data layer D is a tuple P = F, A, where:
F is a finite set of functions representing external service interfaces whose
behavior is unknown to the DCDS;
A is a finite set of actions;
is a finite set of condition-action rules that form the; specification of the
overall process.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 4/28
a	
  
iSC	
  
Actions
An action ρ is constituted by:
• an action signature, i.e., a name, and a list of individual input parameters.
Parameters are substituted by individuals/constants for the execution of the
action.
• an effect specification {e1, . . . , en}, where each ei is an effect.
Effects are assumed to take place simultaneously.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 5/28
a	
  
iSC	
  
Actions
An action ρ is constituted by:
• an action signature, i.e., a name, and a list of individual input parameters.
Parameters are substituted by individuals/constants for the execution of the
action.
• an effect specification {e1, . . . , en}, where each ei is an effect.
Effects are assumed to take place simultaneously.
An effect ei has the form q+
i ∧ Q−
i Ei where:
• q+
i ∧ Q−
i is a query over R and constants of adom(I0):
may include some of the input parameters as terms of the query
q+
i is a UCQ over R
Q−
i is a FOL query that acts as a filter
free variables of Q−
i are included in those of q+
i .
• Ei is a set of facts over R, which include as terms: constants in adom(I0),
parameters, free variables of q+
i , and functions calls that formalize call to
(atomic) external services. These calls introduce new values!
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 5/28
a	
  
iSC	
  
Process and Action Execution
• Process: finite set of condition-action rules of the form Q → α, where
α is an action in A
Q is a FO query over R whose free variables are exactly the parameters of α,
and whose other terms can be either quantified variables or constants in
adom(I0).
• To execute an action α in state s according to Q → α:
1. evaluate Q over db(s) choosing a suitable parameters assignment σ for α;
2. if such an assignment exists, then α is executable and instantiated with σ;
3. ασ is executed: for each effect q+
i ∧ Q−
i Ei
3.1 (q+
i ∧ Q−
i )σ is evaluated over db(s), getting variables assignments θ1, . . . , θn;
3.2 for each θi, the grounded facts Eiθi are obtained;
3.3 all service calls contained in Eiθi are issued;
3.4 next state is obtained by asserting each Eiθi after the inclusion of all service
call results.
• We assume that services are deterministic:
if f(a) returns b, then from now on f(a) will always return b.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 6/28
a	
  
iSC	
  
DCDS Example
Data Layer
Information about hotels and their price:
• Cur = Currency
• CurHotel = Hotel, Currency
• PEntry = Hotel, Price, Date
Process Layer
Possibility of converting the price list of a hotel from USD dollars to another
currency.
• Service call for price conversion: conv usd(p, currency, date)
• Process: Cur(c) ∧ CurHotel(h, US ) −→ Conv(h, c)
• Conv(h, c) :


PEntry(h, p, d) ∧ Cur(c) PEntry(h, conv usd(p, c, d), d)
CurHotel(h, cold) ∧ Cur(c) CurHotel(h, c)
Copy Rest



Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 7/28
a	
  
iSC	
  
DCDS Example: Execution
Initial State.
s0
• Cur( USD ) Cur( EUR )
• CurHotel(h1, USD ) CurHotel(h2, USD )
• PEntry(h1, 80, 01/01/2012) PEntry(h2, 80, 01/01/2012)
PEntry(h1, 60, 01/03/2012)
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 8/28
a	
  
iSC	
  
DCDS Example: Execution
Initial State.
s0
• Cur( USD ) Cur( EUR )
• CurHotel(h1, USD ) CurHotel(h2, USD )
• PEntry(h1, 80, 01/01/2012) PEntry(h2, 80, 01/01/2012)
PEntry(h1, 60, 01/03/2012)
Execution of Conv(h1, EUR ).
s1
• Cur( USD ) Cur( EUR )
• CurHotel(h1, EUR ) CurHotel(h2, USD )
• PEntry(h1, 70, 01/01/2012) PEntry(h2, 80, 01/01/2012)
PEntry(h1, 50, 01/03/2012)
Non-determinism in the returned values.
Execution of Conv(h2, EUR ).
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 8/28
a	
  
iSC	
  
DCDS Example: Execution
Execution of Conv(h1, EUR ).
s1
• Cur( USD ) Cur( EUR )
• CurHotel(h1, EUR ) CurHotel(h2, USD )
• PEntry(h1, 70, 01/01/2012) PEntry(h2, 80, 01/01/2012)
PEntry(h1, 50, 01/03/2012)
Non-determinism in the returned values.
Execution of Conv(h2, EUR ).
s2
• Cur( USD ) Cur( EUR )
• CurHotel(h1, EUR ) CurHotel(h2, EUR )
• PEntry(h1, 70, 01/01/2012) PEntry(h2, 70, 01/01/2012)
PEntry(h1, 50, 01/03/2012)
Deterministic value!Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 8/28
a	
  
iSC	
  
Transition Systems
• Semantics of a DCDS in terms of transition system Υ = ∆, R, Σ, s0, db, ⇒
∆ is a countably infinite set of values;
R is a database schema;
Σ is a set of states;
s0 ∈ Σ is the initial state;
db is a function that, given a state s ∈ Σ, returns the database associated to
s, which is made up of values in ∆ and conforms to R;
⇒ ⊆ Σ × Σ is a transition relation between pairs of states.
s0
s1
s3
s4
s6
s7
Note: Υ is in general infinite state.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 9/28
a	
  
iSC	
  
Transition System with Deterministic Services
• Semantics in terms of concrete transition system ΥS = C, R, Σ, s0, db, ⇒ .
• Each state s ∈ Σ remembers all previous service call results: s = I, M ,
where I is a database and M is a map from service calls to results in C.
• db( I, M ) = I.
• Action execution:
before issuing a service call, it is checked whether the (deterministic) result is
already contained in M;
if it is, then the result is already known;
if not, the call is issued and the obtained result is stored in M.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 10/28
a	
  
iSC	
  
Construction of ΥS
• start from s0 = I0, ∅ ∈ Σ;
• repeat forever
pick a state s ∈ Σ
for every action executable in s, every “legal” parameters assignment, every
possible service calls results’ configuration. . .
generate the successor state s and put it in Σ;
insert s, s in ⇒.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 11/28
a	
  
iSC	
  
Construction of ΥS
• start from s0 = I0, ∅ ∈ Σ;
• repeat forever
pick a state s ∈ Σ
for every action executable in s, every “legal” parameters assignment, every
possible service calls results’ configuration. . .
generate the successor state s and put it in Σ;
insert s, s in ⇒.
Note: three sources of non-determinism in each step:
• actions non-determinism;
• parameters non-determinism;
• service call results non-determinism: leads to potentially infinite branching.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 11/28
a	
  
iSC	
  
Example
Consider a DCDS S = D, P
• Data layer D = C, R, E, I0 , where I0 = {P(a), Q(a, a)}
• Process layer P = F, A,
F = {f/1, g/1}, A = {α}, = {true → α}
α :

Q(a, a) ∧ P(x) {R(x)},
P(x) {P(x), Q(f(x), g(x))}
ff
P(a) Q(a,a)
f(a)→b g(a)→b
P(a) R(a) Q(b,b)
f(a)→b g(a)→a
P(a) R(a) Q(b,a)
f(a)→a g(a)→b
P(a) R(a) Q(a,b)
f(a)→a g(a)→a
P(a) R(a) Q(a,a)
f(a)→c g(a)→b
P(a) R(a) Q(c,b)
f(a)→b g(a)→c
P(a) R(a) Q(b,c)
f(a)→c g(a)→c
P(a) R(a) Q(c,c)
f(a)→a g(a)→b
P(a) Q(a,b)
f(a)→b g(a)→a
P(a) Q(b,a)
f(a)→b g(a)→b
P(a) Q(b,b)
f(a)→c g(a)→b
P(a) Q(c,b)
f(a)→b g(a)→c
P(a) Q(b,c)
f(a)→c g(a)→c
P(a) Q(c,c)
. . .
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 12/28
a	
  
iSC	
  
Verification
• We are interested in the verification of DCDSs
• Given a DCDS S and a formula Φ (in some FO temporal logic)
Construct the transition system ΥS of S
Check whether ΥS |= Φ
• Problem: ΥS is in general infinite state
• Idea:
Devise a finite-state transition system ΘS that is a faithful abstraction of ΥS ,
Reduce the verification problem ΥS |= Φ to the verification of ΘS |= Φ
• Procedure:
1. Do a syntactic check over S testing whether ΥS admits a finite-state
abstraction ΘS
2. If so, construct ΘS
3. Model check Φ over ΘS with standard model checking techniques
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 13/28
a	
  
iSC	
  
Verification Formalism
• We adopt FO variants of the µ-calculus
µL is a very expressive logic!
• µLF O formulas over a DCDS S have the form:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ
where Q is an FO query over the database schema
R of S, and Z is a predicate variable.
HML
PDLLTL CTL
µL
µLFO
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 14/28
a	
  
iSC	
  
Verification Formalism
• We adopt FO variants of the µ-calculus
µL is a very expressive logic!
• µLF O formulas over a DCDS S have the form:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ
where Q is an FO query over the database schema
R of S, and Z is a predicate variable.
Example
An example of µL formula is:
∃x1, . . . , xn.
i=j
xi = xj ∧
i∈{1,...,n}
µZ.[Stud(xi)∨ − Z]
HML
PDLLTL CTL
µL
µLFO
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 14/28
a	
  
iSC	
  
Verification Formalism
• We adopt FO variants of the µ-calculus
µL is a very expressive logic!
• µLF O formulas over a DCDS S have the form:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ
where Q is an FO query over the database schema
R of S, and Z is a predicate variable.
Example
An example of µL formula is:
∃x1, . . . , xn.
i=j
xi = xj ∧
i∈{1,...,n}
µZ.[Stud(xi)∨ − Z]
This defeats any kind of finite-state abstraction.
HML
PDLLTL CTL
µL
µLFO
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 14/28
a	
  
iSC	
  
Verification Formalism
• We adopt FO variants of the µ-calculus
µL is a very expressive logic!
• µLF O formulas over a DCDS S have the form:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ
where Q is an FO query over the database schema
R of S, and Z is a predicate variable.
Example
An example of µL formula is:
∃x1, . . . , xn.
i=j
xi = xj ∧
i∈{1,...,n}
µZ.[Stud(xi)∨ − Z]
This defeats any kind of finite-state abstraction.
HML
PDLLTL CTL
µL
µLFO
µLA
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 14/28
a	
  
iSC	
  
History Preserving Mu-Calculus (µLA)
• Restricts quantification over individuals to those present in the current
database (denoted by live(x)).
• Syntax:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ | − Φ | Z | µZ.Φ
• We abbreviate ¬(∃x.live(x) ∧ ¬Φ) as ∀x.live(x) → Φ.
Example
νX.(∀x.live(x) ∧ Stud(x) →
µY.(∃y.live(y) ∧ Grad(x, y) ∨ − Y ) ∧ [−]X)
Along every path, it is always true, for each student x, that there exists an
evolution that eventually leads to a graduation of the student (with some final
mark y).
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 15/28
a	
  
iSC	
  
History Preserving Bisimulation for µLA
• Consider two transition systems Υ1 = ∆1, R, Σ1, s01, db1, ⇒1 and
Υ2 = ∆2, R, Σ2, s02, db2, ⇒2 .
• Problem: Υ1 and Υ2 are over different data domains ∆1 and ∆2, and a
correspondence between elements must be preserved over time.
• Is a relation B ⊆ Σ1 × H × Σ2 such that s1, h, s2 ∈ B implies that:
1. h is a partial bijection between ∆1 and ∆2 that induces an isomorphism
between db1(s1) and db2(s2);
2. for each s1, if s1 ⇒1 s1 then there is an s2 with s2 ⇒2 s2 and a bijection h
that extends h, such that s1, h , s2 ∈ B;
3. for each s2, if s2 ⇒2 s2 then there is an s1 with s1 ⇒1 s1 and a bijection h
that extends h, such that s1, h , s2 ∈ B.
• We have Υ1 ≈ Υ2 if there exists a partial bijection h0 and a history
preserving bisimulation B between Υ1 and Υ2 such that s01, h0, s02 ∈ B.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 16/28
a	
  
iSC	
  
History Preserving Bisimulation for µLA
• Consider two transition systems Υ1 = ∆1, R, Σ1, s01, db1, ⇒1 and
Υ2 = ∆2, R, Σ2, s02, db2, ⇒2 .
• Problem: Υ1 and Υ2 are over different data domains ∆1 and ∆2, and a
correspondence between elements must be preserved over time.
• Is a relation B ⊆ Σ1 × H × Σ2 such that s1, h, s2 ∈ B implies that:
1. h is a partial bijection between ∆1 and ∆2 that induces an isomorphism
between db1(s1) and db2(s2);
2. for each s1, if s1 ⇒1 s1 then there is an s2 with s2 ⇒2 s2 and a bijection h
that extends h, such that s1, h , s2 ∈ B;
3. for each s2, if s2 ⇒2 s2 then there is an s1 with s1 ⇒1 s1 and a bijection h
that extends h, such that s1, h , s2 ∈ B.
• We have Υ1 ≈ Υ2 if there exists a partial bijection h0 and a history
preserving bisimulation B between Υ1 and Υ2 such that s01, h0, s02 ∈ B.
Theorem
If Υ1 ≈ Υ2, then for every µLA closed formula Φ, we have:
Υ1 |= Φ if and only if Υ2 |= Φ.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 16/28
a	
  
iSC	
  
(Un)decidability Results
Theorem
There exists a DCDS S with deterministic services, and a propositional LTL safety
property Φ, such that checking ΥS |= Φ is undecidable.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 17/28
a	
  
iSC	
  
(Un)decidability Results
Theorem
There exists a DCDS S with deterministic services, and a propositional LTL safety
property Φ, such that checking ΥS |= Φ is undecidable.
To gain decidability, we need restrictions on the DCDS: run-boundedness
• For every run τ in ΥS we have | s state of τ adom(db(s))| < b
• I.e., there exists a bound b such that every run in ΥS encounters at most b
different values.
• A (data) unbounded run represents an execution in which infinitely many
different service calls are issued.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 17/28
a	
  
iSC	
  
(Un)decidability Results
Theorem
There exists a DCDS S with deterministic services, and a propositional LTL safety
property Φ, such that checking ΥS |= Φ is undecidable.
To gain decidability, we need restrictions on the DCDS: run-boundedness
• For every run τ in ΥS we have | s state of τ adom(db(s))| < b
• I.e., there exists a bound b such that every run in ΥS encounters at most b
different values.
• A (data) unbounded run represents an execution in which infinitely many
different service calls are issued.
Theorem
Verification of µLA properties on run-bounded DCDSs with deterministic services
is decidable.
1. We devise a finite-state abstraction ΘS for a run-bounded DCDS S.
2. We prove that ΘS ≈ ΥS, hence they satisfy the same µLA formulae.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 17/28
a	
  
iSC	
  
Ensuring Run-Boundedness
Theorem
Checking run-boundedness of DCDSs with deterministic services is undecidable.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 18/28
a	
  
iSC	
  
Ensuring Run-Boundedness
Theorem
Checking run-boundedness of DCDSs with deterministic services is undecidable.
We have devised a sufficient syntactic condition that guarantees run-boundedness:
weak acyclicity
• Depends only on action specifications, and not on data.
• Is polynomially checkable.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 18/28
a	
  
iSC	
  
Ensuring Run-Boundedness
Theorem
Checking run-boundedness of DCDSs with deterministic services is undecidable.
We have devised a sufficient syntactic condition that guarantees run-boundedness:
weak acyclicity
• Depends only on action specifications, and not on data.
• Is polynomially checkable.
Theorem
Verification of µLA properties for weakly acyclic DCDSs with deterministic
services is decidable, and can be reduced to model checking of propositional
µ-calculus over a finite transition system.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 18/28
a	
  
iSC	
  
DCDS Example Data LayerSchema
Customer
In Debt Customer
Gold CustomerLoan
closed
owes
peer
Instance
Cust(ann)
peer(mark, john)
Gold(john)
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 19/28
a	
  
iSC	
  
DCDS Example Data LayerSchema
Customer
In Debt Customer
Gold CustomerLoan
closed
owes
peer
Instance
Cust(ann)
peer(mark, john)
Gold(john)
Process Layer
Conditions
peer(x, y) ∧ Gold(y)
−→ GetLoan(x)
Service Calls
UInput(x)
Actions
GetLoan(x) :
∃y.peer(x, y) {owes(x, UInput(x))},
Cust(z) {Cust(z)},
Loan(z) {Loan(z)},
InDebt(z) {InDebt(z)},
Gold(z) {Gold(z)}
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 19/28
a	
  
iSC	
  
DCDS Example Data LayerSchema
Customer
In Debt Customer
Gold CustomerLoan
closed
owes
peer
Instance
Cust(ann)
peer(mark, john)
Gold(john)
owes(mark, @25)
Process Layer
Conditions
peer(x, y) ∧ Gold(y)
−→ GetLoan(x)
Service Calls
UInput(x)
Actions
GetLoan(x) :
∃y.peer(x, y) {owes(x, UInput(x))},
Cust(z) {Cust(z)},
Loan(z) {Loan(z)},
InDebt(z) {InDebt(z)},
Gold(z) {Gold(z)}
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 19/28
a	
  
iSC	
  
Non-Deterministic Services
• The same service call issued later may give a different result.
• Can be used to model:
user input;
unpredictable external environment.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 20/28
a	
  
iSC	
  
Non-Deterministic Services
• The same service call issued later may give a different result.
• Can be used to model:
user input;
unpredictable external environment.
Theorem
There exists a DCDS S with nondeterministic services, and a propositional LTL
safety property Φ, such that checking ΥS |= Φ is undecidable.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 20/28
a	
  
iSC	
  
Non-Deterministic Services
• The same service call issued later may give a different result.
• Can be used to model:
user input;
unpredictable external environment.
Theorem
There exists a DCDS S with nondeterministic services, and a propositional LTL
safety property Φ, such that checking ΥS |= Φ is undecidable.
To gain decidability, we need again restrictions on the DCDS:
• Run-boundedness is too strong: it bounds the overall number of service calls.
• We consider instead state boundedness: there is a finite bound b such that
for each state I of ΥS, |adom(I)| < b.
However . . .
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 20/28
a	
  
iSC	
  
Non-Deterministic Services
• The same service call issued later may give a different result.
• Can be used to model:
user input;
unpredictable external environment.
Theorem
There exists a DCDS S with nondeterministic services, and a propositional LTL
safety property Φ, such that checking ΥS |= Φ is undecidable.
To gain decidability, we need again restrictions on the DCDS:
• Run-boundedness is too strong: it bounds the overall number of service calls.
• We consider instead state boundedness: there is a finite bound b such that
for each state I of ΥS, |adom(I)| < b.
However . . .
Theorem
Verification of µLA properties on state-bounded DCDSs with nondeterministic
services is undecidable.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 20/28
a	
  
iSC	
  
Persistence Preserving Mu-Calculus (µLP )
• Restricts quantification over individuals that continuously persist along the
system evolution, i.e., that continue to be live(x).
• Syntax:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ |
− (live(x) ∧ Φ) | [−](live(x) ∧ Φ) | Z | µZ.Φ
where in live(x) ∧ − Φ and live(x) ∧ [−]Φ, the free variables of Φ are x.
• We abbreviate ¬[−](live(x) ∧ ¬Φ) as − (live(x) → Φ)
and ¬ − (live(x) ∧ ¬Φ) as [−](live(x) → Φ).
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 21/28
a	
  
iSC	
  
Persistence Preserving Mu-Calculus (µLP )
• Restricts quantification over individuals that continuously persist along the
system evolution, i.e., that continue to be live(x).
• Syntax:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ |
− (live(x) ∧ Φ) | [−](live(x) ∧ Φ) | Z | µZ.Φ
where in live(x) ∧ − Φ and live(x) ∧ [−]Φ, the free variables of Φ are x.
• We abbreviate ¬[−](live(x) ∧ ¬Φ) as − (live(x) → Φ)
and ¬ − (live(x) ∧ ¬Φ) as [−](live(x) → Φ).
Example
νX.(∀x.live(x) ∧ Stud(x) →
µY.(∃y.live(y) ∧ Grad(x, y) ∨ − (live(x) ∧ Y )) ∧ [−]X)
Along every path, it is always true, for each student x, that there exists an
evolution in which x persists in the database until she eventually graduates.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 21/28
a	
  
iSC	
  
Persistence Preserving Mu-Calculus (µLP )
• Restricts quantification over individuals that continuously persist along the
system evolution, i.e., that continue to be live(x).
• Syntax:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ |
− (live(x) ∧ Φ) | [−](live(x) ∧ Φ) | Z | µZ.Φ
where in live(x) ∧ − Φ and live(x) ∧ [−]Φ, the free variables of Φ are x.
• We abbreviate ¬[−](live(x) ∧ ¬Φ) as − (live(x) → Φ)
and ¬ − (live(x) ∧ ¬Φ) as [−](live(x) → Φ).
Example
νX.(∀x.live(x) ∧ Stud(x) →
µY.(∃y.live(y) ∧ Grad(x, y) ∨ − (live(x) ∧ Y )) ∧ [−]X)
Along every path, it is always true, for each student x, that there exists an
evolution in which x persists in the database until she eventually graduates.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 21/28
a	
  
iSC	
  
Persistence Preserving Mu-Calculus (µLP )
• Restricts quantification over individuals that continuously persist along the
system evolution, i.e., that continue to be live(x).
• Syntax:
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ |
− (live(x) ∧ Φ) | [−](live(x) ∧ Φ) | Z | µZ.Φ
where in live(x) ∧ − Φ and live(x) ∧ [−]Φ, the free variables of Φ are x.
• We abbreviate ¬[−](live(x) ∧ ¬Φ) as − (live(x) → Φ)
and ¬ − (live(x) ∧ ¬Φ) as [−](live(x) → Φ).
Example
νX.(∀x.live(x) ∧ Stud(x) →
µY.(∃y.live(y) ∧ Grad(x, y) ∨ − (live(x) → Y )) ∧ [−]X)
Along every path, it is always true, for each student x, that there exists an
evolution in which either x does not persist, or she eventually graduates.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 21/28
a	
  
iSC	
  
Persistence Preserving Bisimulation for µLP
• Consider two transition systems Υ1 = ∆1, R, Σ1, s01, db1, ⇒1 and
Υ2 = ∆2, R, Σ2, s02, db2, ⇒2 .
• W.r.t. µLA, it is now sufficient to preserve the correspondence between
elements of ∆1 and ∆2 that persist over time.
• Is a relation B ⊆ Σ1 × H × Σ2 such that s1, h, s2 ∈ B implies that:
1. h is an isomorphism between db1(s1) and db2(s2);
2. for each s1, if s1 ⇒1 s1 then there exists an s2 with s2 ⇒2 s2 and a bijection
h that extends h|adom(db1(s1))∩adom(db1(s1)), such that s1, h , s2 ∈ B;
3. for each s2, if s2 ⇒2 s2 then there exists an s1 with s1 ⇒1 s1 and a bijection
h that extends h|adom(db1(s1))∩adom(db1(s1)), such that s1, h , s2 ∈ B.
• We have Υ1 ∼ Υ2 if there exists a partial bijection h0 and a persistence
preserving bisimulation B between Υ1 and Υ2 such that s01, h0, s02 ∈ B.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 22/28
a	
  
iSC	
  
Persistence Preserving Bisimulation for µLP
• Consider two transition systems Υ1 = ∆1, R, Σ1, s01, db1, ⇒1 and
Υ2 = ∆2, R, Σ2, s02, db2, ⇒2 .
• W.r.t. µLA, it is now sufficient to preserve the correspondence between
elements of ∆1 and ∆2 that persist over time.
• Is a relation B ⊆ Σ1 × H × Σ2 such that s1, h, s2 ∈ B implies that:
1. h is an isomorphism between db1(s1) and db2(s2);
2. for each s1, if s1 ⇒1 s1 then there exists an s2 with s2 ⇒2 s2 and a bijection
h that extends h|adom(db1(s1))∩adom(db1(s1)), such that s1, h , s2 ∈ B;
3. for each s2, if s2 ⇒2 s2 then there exists an s1 with s1 ⇒1 s1 and a bijection
h that extends h|adom(db1(s1))∩adom(db1(s1)), such that s1, h , s2 ∈ B.
• We have Υ1 ∼ Υ2 if there exists a partial bijection h0 and a persistence
preserving bisimulation B between Υ1 and Υ2 such that s01, h0, s02 ∈ B.
Theorem
If Υ1 ∼ Υ2, then for every µLP closed formula Φ, we have:
Υ1 |= Φ if and only if Υ2 |= Φ.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 22/28
a	
  
iSC	
  
Verification of State-Bounded Systems
Theorem
Verification of µLP properties on state-bounded DCDSs with non-deterministic
services is decidable.
1. We devise a finite-state abstraction ΘS for a state-bounded DCDS S.
2. We prove that ΘS ∼ ΥS, hence they satisfy the same µLP formulae.
However . . .
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 23/28
a	
  
iSC	
  
Verification of State-Bounded Systems
Theorem
Verification of µLP properties on state-bounded DCDSs with non-deterministic
services is decidable.
1. We devise a finite-state abstraction ΘS for a state-bounded DCDS S.
2. We prove that ΘS ∼ ΥS, hence they satisfy the same µLP formulae.
However . . .
Theorem
Checking state-boundedness of DCDSs with non-deterministic services is
undecidable.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 23/28
a	
  
iSC	
  
Ensuring State-Boundedness
We have devised a sufficient syntactic condition that guarantees
state-boundedness: generate-recall acyclicity
• Depends only on action specifications, and not on data.
• Is polynomially checkable.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 24/28
a	
  
iSC	
  
Ensuring State-Boundedness
We have devised a sufficient syntactic condition that guarantees
state-boundedness: generate-recall acyclicity
• Depends only on action specifications, and not on data.
• Is polynomially checkable.
Theorem
Verification of µLP properties for generate-recall acyclic DCDSs with
non-deterministic services is decidable, and can be reduced to model checking of
propositional µ-calculus over a finite transition system.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 24/28
a	
  
iSC	
  
Generate-Recall Acyclicity
Example
Consider I0 = {R(a)}, process {true −→ α}, and
action α =
R(x) R(x)
R(x) Q(f(x))
• The resulting process layer is generate-recall acyclic.
• Service call f(a) is continuously issued, leading to possibly generate infinitely
many distinct values, but such values are not recalled.
• Since µLP formulae only focus on persisting values, the possibly infinitely
many distinct results obtained by issuing f(a) are irrelevant.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 25/28
a	
  
iSC	
  
Generate-Recall Acyclicity
Example
Consider I0 = {R(a)}, process {true −→ α}, and
action α =



R(x) R(x)
R(x) Q(f(x))
Q(x) Q(x)



• The resulting process layer is not generate-recall acyclic.
• Service call f(a) is continuously issued, leading to possibly generate infinitely
many distinct values, which are recalled in Q.
• It is not possible to find a faithful finite abstraction, because there exist runs
accumulating unboundedly many distinct values inside their states.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 26/28
a	
  
iSC	
  
Generate-Recall Acyclicity
Example
Consider I0 = {R(a)}, process {true −→ α, true −→ β}, and
actions α =
R(x) R(x)
R(x) Q(f(x))
and β = {Q(x) Q(x)}
• The resulting process layer is generate-recall acyclic.
• It resembles the previous case, but now effects belong to two distinct actions.
• While α is getting a new value for f(a), Q tuples are lost.
• While β is copying Q tuples, no new value is insterted.
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 27/28
a	
  
iSC	
  
Summary of Results on Verification of DCDSs
deterministic services nondeterministic services
µLFO µLA µLP µLFO µLA µLP
unrestricted U ← U ← U unrestricted U ← U ← U
↑ ↑
bounded-run ? D → D bounded-state U ← U D
D: Verification is decidable U: Verification is undecidable
Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 28/28

More Related Content

What's hot

A Fast Near Optimal Vertex Cover Algorithm (NOVCA)
A Fast Near Optimal Vertex Cover Algorithm (NOVCA)A Fast Near Optimal Vertex Cover Algorithm (NOVCA)
A Fast Near Optimal Vertex Cover Algorithm (NOVCA)
Waqas Tariq
 
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/ThetaAlgorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Priyanka Rana
 
EuroPython 2017 - PyData - Deep Learning your Broadband Network @ HOME
EuroPython 2017 - PyData - Deep Learning your Broadband Network @ HOMEEuroPython 2017 - PyData - Deep Learning your Broadband Network @ HOME
EuroPython 2017 - PyData - Deep Learning your Broadband Network @ HOME
HONGJOO LEE
 
Heaps & Adaptable priority Queues
Heaps & Adaptable priority QueuesHeaps & Adaptable priority Queues
Heaps & Adaptable priority Queues
Priyanka Rana
 
Advanced Topics Sorting
Advanced Topics SortingAdvanced Topics Sorting
Advanced Topics Sorting
Sri Prasanna
 
A calculus of mobile Real-Time processes
A calculus of mobile Real-Time processesA calculus of mobile Real-Time processes
A calculus of mobile Real-Time processes
Polytechnique Montréal
 
Let's Practice What We Preach: Likelihood Methods for Monte Carlo Data
Let's Practice What We Preach: Likelihood Methods for Monte Carlo DataLet's Practice What We Preach: Likelihood Methods for Monte Carlo Data
Let's Practice What We Preach: Likelihood Methods for Monte Carlo Data
Christian Robert
 
Vectorization in ATLAS
Vectorization in ATLASVectorization in ATLAS
Vectorization in ATLAS
Roberto Agostino Vitillo
 
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
The Statistical and Applied Mathematical Sciences Institute
 
Algorithm
AlgorithmAlgorithm
Algorithm
sultanarun
 
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Iterative Spark Developmen...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Iterative Spark Developmen...Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Iterative Spark Developmen...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Iterative Spark Developmen...
Data Con LA
 
CS-141 Java programming II ASSIGNMENT 2
CS-141 Java programming II ASSIGNMENT 2CS-141 Java programming II ASSIGNMENT 2
CS-141 Java programming II ASSIGNMENT 2
Voffelarin
 
Implementation of Efficiency CORDIC Algorithmfor Sine & Cosine Generation
Implementation of Efficiency CORDIC Algorithmfor Sine & Cosine GenerationImplementation of Efficiency CORDIC Algorithmfor Sine & Cosine Generation
Implementation of Efficiency CORDIC Algorithmfor Sine & Cosine Generation
IOSR Journals
 
Cordic Code
Cordic CodeCordic Code
Cordic Code
Michelle_R
 
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Fabian Pedregosa
 
VHDL and Cordic Algorithim
VHDL and Cordic AlgorithimVHDL and Cordic Algorithim
VHDL and Cordic Algorithim
Subeer Rangra
 
Bubble sort
Bubble sortBubble sort
Bubble sort
Abdelrahman Saleh
 
Computing Information Flow Using Symbolic-Model-Checking_.pdf
Computing Information Flow Using Symbolic-Model-Checking_.pdfComputing Information Flow Using Symbolic-Model-Checking_.pdf
Computing Information Flow Using Symbolic-Model-Checking_.pdf
Polytechnique Montréal
 
SANER 2019 Most Influential Paper Talk
SANER 2019 Most Influential Paper TalkSANER 2019 Most Influential Paper Talk
SANER 2019 Most Influential Paper Talk
Nikolaos Tsantalis
 
Actors for Behavioural Simulation
Actors for Behavioural SimulationActors for Behavioural Simulation
Actors for Behavioural Simulation
ClarkTony
 

What's hot (20)

A Fast Near Optimal Vertex Cover Algorithm (NOVCA)
A Fast Near Optimal Vertex Cover Algorithm (NOVCA)A Fast Near Optimal Vertex Cover Algorithm (NOVCA)
A Fast Near Optimal Vertex Cover Algorithm (NOVCA)
 
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/ThetaAlgorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
Algorithm analysis basics - Seven Functions/Big-Oh/Omega/Theta
 
EuroPython 2017 - PyData - Deep Learning your Broadband Network @ HOME
EuroPython 2017 - PyData - Deep Learning your Broadband Network @ HOMEEuroPython 2017 - PyData - Deep Learning your Broadband Network @ HOME
EuroPython 2017 - PyData - Deep Learning your Broadband Network @ HOME
 
Heaps & Adaptable priority Queues
Heaps & Adaptable priority QueuesHeaps & Adaptable priority Queues
Heaps & Adaptable priority Queues
 
Advanced Topics Sorting
Advanced Topics SortingAdvanced Topics Sorting
Advanced Topics Sorting
 
A calculus of mobile Real-Time processes
A calculus of mobile Real-Time processesA calculus of mobile Real-Time processes
A calculus of mobile Real-Time processes
 
Let's Practice What We Preach: Likelihood Methods for Monte Carlo Data
Let's Practice What We Preach: Likelihood Methods for Monte Carlo DataLet's Practice What We Preach: Likelihood Methods for Monte Carlo Data
Let's Practice What We Preach: Likelihood Methods for Monte Carlo Data
 
Vectorization in ATLAS
Vectorization in ATLASVectorization in ATLAS
Vectorization in ATLAS
 
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
 
Algorithm
AlgorithmAlgorithm
Algorithm
 
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Iterative Spark Developmen...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Iterative Spark Developmen...Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Iterative Spark Developmen...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Iterative Spark Developmen...
 
CS-141 Java programming II ASSIGNMENT 2
CS-141 Java programming II ASSIGNMENT 2CS-141 Java programming II ASSIGNMENT 2
CS-141 Java programming II ASSIGNMENT 2
 
Implementation of Efficiency CORDIC Algorithmfor Sine & Cosine Generation
Implementation of Efficiency CORDIC Algorithmfor Sine & Cosine GenerationImplementation of Efficiency CORDIC Algorithmfor Sine & Cosine Generation
Implementation of Efficiency CORDIC Algorithmfor Sine & Cosine Generation
 
Cordic Code
Cordic CodeCordic Code
Cordic Code
 
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
 
VHDL and Cordic Algorithim
VHDL and Cordic AlgorithimVHDL and Cordic Algorithim
VHDL and Cordic Algorithim
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
Computing Information Flow Using Symbolic-Model-Checking_.pdf
Computing Information Flow Using Symbolic-Model-Checking_.pdfComputing Information Flow Using Symbolic-Model-Checking_.pdf
Computing Information Flow Using Symbolic-Model-Checking_.pdf
 
SANER 2019 Most Influential Paper Talk
SANER 2019 Most Influential Paper TalkSANER 2019 Most Influential Paper Talk
SANER 2019 Most Influential Paper Talk
 
Actors for Behavioural Simulation
Actors for Behavioural SimulationActors for Behavioural Simulation
Actors for Behavioural Simulation
 

Viewers also liked

Verso una gestione dei processi aziendali basata sulla realtà
Verso una gestione dei processi aziendali basata sulla realtàVerso una gestione dei processi aziendali basata sulla realtà
Verso una gestione dei processi aziendali basata sulla realtà
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...
Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...
Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
KR 2014 - Montali - State-Boundedness in Data-Aware Dynamic Systems
KR 2014 - Montali - State-Boundedness in Data-Aware Dynamic SystemsKR 2014 - Montali - State-Boundedness in Data-Aware Dynamic Systems
KR 2014 - Montali - State-Boundedness in Data-Aware Dynamic Systems
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...
Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...
Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Temporal logics over finite traces for declarative BPM
Temporal logics over finite traces for declarative BPMTemporal logics over finite traces for declarative BPM
Temporal logics over finite traces for declarative BPM
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
Faculty of Computer Science - Free University of Bozen-Bolzano
 

Viewers also liked (6)

Verso una gestione dei processi aziendali basata sulla realtà
Verso una gestione dei processi aziendali basata sulla realtàVerso una gestione dei processi aziendali basata sulla realtà
Verso una gestione dei processi aziendali basata sulla realtà
 
Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...
Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...
Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...
 
KR 2014 - Montali - State-Boundedness in Data-Aware Dynamic Systems
KR 2014 - Montali - State-Boundedness in Data-Aware Dynamic SystemsKR 2014 - Montali - State-Boundedness in Data-Aware Dynamic Systems
KR 2014 - Montali - State-Boundedness in Data-Aware Dynamic Systems
 
Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...
Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...
Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...
 
Temporal logics over finite traces for declarative BPM
Temporal logics over finite traces for declarative BPMTemporal logics over finite traces for declarative BPM
Temporal logics over finite traces for declarative BPM
 
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
 

Similar to Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems with External Services

PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...
PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...
PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Phd Defense 2007
Phd Defense 2007Phd Defense 2007
Phd Defense 2007
Claudio Siviero
 
An Efficient Convex Hull Algorithm for a Planer Set of Points
An Efficient Convex Hull Algorithm for a Planer Set of PointsAn Efficient Convex Hull Algorithm for a Planer Set of Points
An Efficient Convex Hull Algorithm for a Planer Set of Points
Kasun Ranga Wijeweera
 
Introduction VHDL.ppt
Introduction VHDL.pptIntroduction VHDL.ppt
Introduction VHDL.ppt
SravanKumar743222
 
Constraint-Based Fault-Localization
Constraint-Based Fault-LocalizationConstraint-Based Fault-Localization
Constraint-Based Fault-Localization
Mohammed Bekkouche
 
Distributed Resilient Interval Observers for Bounded-Error LTI Systems Subjec...
Distributed Resilient Interval Observers for Bounded-Error LTI Systems Subjec...Distributed Resilient Interval Observers for Bounded-Error LTI Systems Subjec...
Distributed Resilient Interval Observers for Bounded-Error LTI Systems Subjec...
Mohammad Khajenejad
 
Advanced Econometrics L13-14.pptx
Advanced Econometrics L13-14.pptxAdvanced Econometrics L13-14.pptx
Advanced Econometrics L13-14.pptx
akashayosha
 
Static Analysis and Verification of C Programs
Static Analysis and Verification of C ProgramsStatic Analysis and Verification of C Programs
Project seminar ppt_steelcasting
Project seminar ppt_steelcastingProject seminar ppt_steelcasting
Project seminar ppt_steelcasting
Rudra Narayan Paul
 
Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)
Alex Orso
 
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Stephan berg track f
Stephan berg   track fStephan berg   track f
Stephan berg track f
Alona Gradman
 
Analysis the Privacy preserving and content protecting location based on queries
Analysis the Privacy preserving and content protecting location based on queriesAnalysis the Privacy preserving and content protecting location based on queries
Analysis the Privacy preserving and content protecting location based on queries
kavidhapr
 
Linux capacity planning
Linux capacity planningLinux capacity planning
Linux capacity planning
Francisco Gonçalves
 
Object Detection with Transformers
Object Detection with TransformersObject Detection with Transformers
Object Detection with Transformers
Databricks
 
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...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Privacy Preserving State Transitions on Ethereum
Privacy Preserving State Transitions on EthereumPrivacy Preserving State Transitions on Ethereum
Privacy Preserving State Transitions on Ethereum
Clearmatics
 
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Carlos Sierra
 
D-WaveQuantum ComputingAccess & applications via cloud deployment
D-WaveQuantum ComputingAccess & applications via cloud deploymentD-WaveQuantum ComputingAccess & applications via cloud deployment
D-WaveQuantum ComputingAccess & applications via cloud deployment
Rakuten Group, Inc.
 
Automated Discovery of Structured Process Models: Discover Structured vs Disc...
Automated Discovery of Structured Process Models: Discover Structured vs Disc...Automated Discovery of Structured Process Models: Discover Structured vs Disc...
Automated Discovery of Structured Process Models: Discover Structured vs Disc...
Marlon Dumas
 

Similar to Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems with External Services (20)

PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...
PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...
PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...
 
Phd Defense 2007
Phd Defense 2007Phd Defense 2007
Phd Defense 2007
 
An Efficient Convex Hull Algorithm for a Planer Set of Points
An Efficient Convex Hull Algorithm for a Planer Set of PointsAn Efficient Convex Hull Algorithm for a Planer Set of Points
An Efficient Convex Hull Algorithm for a Planer Set of Points
 
Introduction VHDL.ppt
Introduction VHDL.pptIntroduction VHDL.ppt
Introduction VHDL.ppt
 
Constraint-Based Fault-Localization
Constraint-Based Fault-LocalizationConstraint-Based Fault-Localization
Constraint-Based Fault-Localization
 
Distributed Resilient Interval Observers for Bounded-Error LTI Systems Subjec...
Distributed Resilient Interval Observers for Bounded-Error LTI Systems Subjec...Distributed Resilient Interval Observers for Bounded-Error LTI Systems Subjec...
Distributed Resilient Interval Observers for Bounded-Error LTI Systems Subjec...
 
Advanced Econometrics L13-14.pptx
Advanced Econometrics L13-14.pptxAdvanced Econometrics L13-14.pptx
Advanced Econometrics L13-14.pptx
 
Static Analysis and Verification of C Programs
Static Analysis and Verification of C ProgramsStatic Analysis and Verification of C Programs
Static Analysis and Verification of C Programs
 
Project seminar ppt_steelcasting
Project seminar ppt_steelcastingProject seminar ppt_steelcasting
Project seminar ppt_steelcasting
 
Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)
 
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
 
Stephan berg track f
Stephan berg   track fStephan berg   track f
Stephan berg track f
 
Analysis the Privacy preserving and content protecting location based on queries
Analysis the Privacy preserving and content protecting location based on queriesAnalysis the Privacy preserving and content protecting location based on queries
Analysis the Privacy preserving and content protecting location based on queries
 
Linux capacity planning
Linux capacity planningLinux capacity planning
Linux capacity planning
 
Object Detection with Transformers
Object Detection with TransformersObject Detection with Transformers
Object Detection with Transformers
 
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...
 
Privacy Preserving State Transitions on Ethereum
Privacy Preserving State Transitions on EthereumPrivacy Preserving State Transitions on Ethereum
Privacy Preserving State Transitions on Ethereum
 
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
 
D-WaveQuantum ComputingAccess & applications via cloud deployment
D-WaveQuantum ComputingAccess & applications via cloud deploymentD-WaveQuantum ComputingAccess & applications via cloud deployment
D-WaveQuantum ComputingAccess & applications via cloud deployment
 
Automated Discovery of Structured Process Models: Discover Structured vs Disc...
Automated Discovery of Structured Process Models: Discover Structured vs Disc...Automated Discovery of Structured Process Models: Discover Structured vs Disc...
Automated Discovery of Structured Process Models: Discover Structured vs Disc...
 

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

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

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

ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPEACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
Charmi13
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
OECD Directorate for Financial and Enterprise Affairs
 
2 December UAE National Day - United Arab Emirates
2 December UAE National Day - United Arab Emirates2 December UAE National Day - United Arab Emirates
2 December UAE National Day - United Arab Emirates
UAE Ppt
 
2023 Ukraine Crisis Media Center Annual Report
2023 Ukraine Crisis Media Center Annual Report2023 Ukraine Crisis Media Center Annual Report
2023 Ukraine Crisis Media Center Annual Report
UkraineCrisisMediaCenter
 
Legislation And Regulations For Import, Manufacture,.pptx
Legislation And Regulations For Import, Manufacture,.pptxLegislation And Regulations For Import, Manufacture,.pptx
Legislation And Regulations For Import, Manufacture,.pptx
Charmi13
 
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
OECD Directorate for Financial and Enterprise Affairs
 
Gamify it until you make it Improving Agile Development and Operations with ...
Gamify it until you make it  Improving Agile Development and Operations with ...Gamify it until you make it  Improving Agile Development and Operations with ...
Gamify it until you make it Improving Agile Development and Operations with ...
Ben Linders
 
Data Processing in PHP - PHPers 2024 Poznań
Data Processing in PHP - PHPers 2024 PoznańData Processing in PHP - PHPers 2024 Poznań
Data Processing in PHP - PHPers 2024 Poznań
Norbert Orzechowicz
 
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
SkillCertProExams
 
SASi-SPi Science Policy Lab Pre-engagement
SASi-SPi Science Policy Lab Pre-engagementSASi-SPi Science Policy Lab Pre-engagement
SASi-SPi Science Policy Lab Pre-engagement
Francois Stepman
 
2023 Ukraine Crisis Media Center Financial Report
2023 Ukraine Crisis Media Center Financial Report2023 Ukraine Crisis Media Center Financial Report
2023 Ukraine Crisis Media Center Financial Report
UkraineCrisisMediaCenter
 
Proposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP IncProposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP Inc
Raheem Muhammad
 
Using-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptxUsing-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptx
kainatfatyma9
 
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
OECD Directorate for Financial and Enterprise Affairs
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
2023 Ukraine Crisis Media Center Finance Balance
2023 Ukraine Crisis Media Center Finance Balance2023 Ukraine Crisis Media Center Finance Balance
2023 Ukraine Crisis Media Center Finance Balance
UkraineCrisisMediaCenter
 
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
gfysze
 
Bridging the visual gap between cultural heritage and digital scholarship
Bridging the visual gap between cultural heritage and digital scholarshipBridging the visual gap between cultural heritage and digital scholarship
Bridging the visual gap between cultural heritage and digital scholarship
Inesm9
 
Genesis chapter 3 Isaiah Scudder.pptx
Genesis    chapter 3 Isaiah Scudder.pptxGenesis    chapter 3 Isaiah Scudder.pptx
Genesis chapter 3 Isaiah Scudder.pptx
FamilyWorshipCenterD
 
AWS User Group Torino 2024 #3 - 18/06/2024
AWS User Group Torino 2024 #3 - 18/06/2024AWS User Group Torino 2024 #3 - 18/06/2024
AWS User Group Torino 2024 #3 - 18/06/2024
Guido Maria Nebiolo
 

Recently uploaded (20)

ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPEACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
 
2 December UAE National Day - United Arab Emirates
2 December UAE National Day - United Arab Emirates2 December UAE National Day - United Arab Emirates
2 December UAE National Day - United Arab Emirates
 
2023 Ukraine Crisis Media Center Annual Report
2023 Ukraine Crisis Media Center Annual Report2023 Ukraine Crisis Media Center Annual Report
2023 Ukraine Crisis Media Center Annual Report
 
Legislation And Regulations For Import, Manufacture,.pptx
Legislation And Regulations For Import, Manufacture,.pptxLegislation And Regulations For Import, Manufacture,.pptx
Legislation And Regulations For Import, Manufacture,.pptx
 
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
 
Gamify it until you make it Improving Agile Development and Operations with ...
Gamify it until you make it  Improving Agile Development and Operations with ...Gamify it until you make it  Improving Agile Development and Operations with ...
Gamify it until you make it Improving Agile Development and Operations with ...
 
Data Processing in PHP - PHPers 2024 Poznań
Data Processing in PHP - PHPers 2024 PoznańData Processing in PHP - PHPers 2024 Poznań
Data Processing in PHP - PHPers 2024 Poznań
 
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
 
SASi-SPi Science Policy Lab Pre-engagement
SASi-SPi Science Policy Lab Pre-engagementSASi-SPi Science Policy Lab Pre-engagement
SASi-SPi Science Policy Lab Pre-engagement
 
2023 Ukraine Crisis Media Center Financial Report
2023 Ukraine Crisis Media Center Financial Report2023 Ukraine Crisis Media Center Financial Report
2023 Ukraine Crisis Media Center Financial Report
 
Proposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP IncProposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP Inc
 
Using-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptxUsing-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptx
 
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
 
2023 Ukraine Crisis Media Center Finance Balance
2023 Ukraine Crisis Media Center Finance Balance2023 Ukraine Crisis Media Center Finance Balance
2023 Ukraine Crisis Media Center Finance Balance
 
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
 
Bridging the visual gap between cultural heritage and digital scholarship
Bridging the visual gap between cultural heritage and digital scholarshipBridging the visual gap between cultural heritage and digital scholarship
Bridging the visual gap between cultural heritage and digital scholarship
 
Genesis chapter 3 Isaiah Scudder.pptx
Genesis    chapter 3 Isaiah Scudder.pptxGenesis    chapter 3 Isaiah Scudder.pptx
Genesis chapter 3 Isaiah Scudder.pptx
 
AWS User Group Torino 2024 #3 - 18/06/2024
AWS User Group Torino 2024 #3 - 18/06/2024AWS User Group Torino 2024 #3 - 18/06/2024
AWS User Group Torino 2024 #3 - 18/06/2024
 

Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems with External Services

  • 1. a   iSC   Verification of Relational Data-Centric Dynamic Systems with External Services Presented by Marco Montali Joint work with B. Bagheri Hariri, D. Calvanese, G. De Giacomo, A. Deutsch KRDB Research Center KRDB Lunch Seminar, March 5, 2012 ACSI Project 257593
  • 2. a   iSC   Artifact-Centric Process Verification in ACSI • The Data is put on stage, and the Process considers it! Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 1/28
  • 3. a   iSC   Artifact-Centric Process Verification in ACSI • The Data is put on stage, and the Process considers it! Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 1/28
  • 4. a   iSC   Artifact-Centric Process Verification in ACSI • The Data is put on stage, and the Process considers it! • And we get beautiful research results! Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 1/28
  • 5. a   iSC   Data-Centric Dynamic Systems • DCDS: system where the process controlling the dynamics and the manipulated data are equally central general, abstract framework artifact-centric systems are a specialization of DCDSs • Data Layer: holds the relevant information to be manipulated by the system • Process Layer: is formed by the invokable (atomic) actions and a process based on them Actions evolve the data of the data layer and update the state of the process Interaction with external services to acquire new information from the environment (other systems, user choices, . . . ) DCDS Process Layer service service service Data Layer Environment Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 2/28
  • 6. a   iSC   Data Layer • Represents the information of interest in our application. • We focus on relational data. • Is a tuple D = C, R, E, I0 where: C is a countably infinite set of constants/values. R = {R1, . . . , Rn} is a database schema (a finite set of relation schemas). E is a finite set of equality constraints Qi → V j=1,...,k zij = yij. Qi is a domain independent FO query over R using constants from the active domain adom(I0) and whose free variables are x. zij and yij are either variables in x or constants in adom(I0). N.B.: they can be generalized to denials and arbitrary constraints! I0 is a database instance that represents the initial state of the data layer: It conforms to the schema R. It satisfies the constraints E: for each constraint Qi → V j=1,...,k zij = yij and for each tuple θ ∈ ans(Qi, I0), zijθ = yijθ. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 3/28
  • 7. a   iSC   Process Layer • Constitutes the progression mechanism for the DCDS. • High-level: rule-based approach that can accommodate any process with a finite state control flow. • Non-determinism represented by interleaving. • A process layer P over a data layer D is a tuple P = F, A, where: F is a finite set of functions representing external service interfaces whose behavior is unknown to the DCDS; A is a finite set of actions; is a finite set of condition-action rules that form the; specification of the overall process. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 4/28
  • 8. a   iSC   Actions An action ρ is constituted by: • an action signature, i.e., a name, and a list of individual input parameters. Parameters are substituted by individuals/constants for the execution of the action. • an effect specification {e1, . . . , en}, where each ei is an effect. Effects are assumed to take place simultaneously. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 5/28
  • 9. a   iSC   Actions An action ρ is constituted by: • an action signature, i.e., a name, and a list of individual input parameters. Parameters are substituted by individuals/constants for the execution of the action. • an effect specification {e1, . . . , en}, where each ei is an effect. Effects are assumed to take place simultaneously. An effect ei has the form q+ i ∧ Q− i Ei where: • q+ i ∧ Q− i is a query over R and constants of adom(I0): may include some of the input parameters as terms of the query q+ i is a UCQ over R Q− i is a FOL query that acts as a filter free variables of Q− i are included in those of q+ i . • Ei is a set of facts over R, which include as terms: constants in adom(I0), parameters, free variables of q+ i , and functions calls that formalize call to (atomic) external services. These calls introduce new values! Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 5/28
  • 10. a   iSC   Process and Action Execution • Process: finite set of condition-action rules of the form Q → α, where α is an action in A Q is a FO query over R whose free variables are exactly the parameters of α, and whose other terms can be either quantified variables or constants in adom(I0). • To execute an action α in state s according to Q → α: 1. evaluate Q over db(s) choosing a suitable parameters assignment σ for α; 2. if such an assignment exists, then α is executable and instantiated with σ; 3. ασ is executed: for each effect q+ i ∧ Q− i Ei 3.1 (q+ i ∧ Q− i )σ is evaluated over db(s), getting variables assignments θ1, . . . , θn; 3.2 for each θi, the grounded facts Eiθi are obtained; 3.3 all service calls contained in Eiθi are issued; 3.4 next state is obtained by asserting each Eiθi after the inclusion of all service call results. • We assume that services are deterministic: if f(a) returns b, then from now on f(a) will always return b. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 6/28
  • 11. a   iSC   DCDS Example Data Layer Information about hotels and their price: • Cur = Currency • CurHotel = Hotel, Currency • PEntry = Hotel, Price, Date Process Layer Possibility of converting the price list of a hotel from USD dollars to another currency. • Service call for price conversion: conv usd(p, currency, date) • Process: Cur(c) ∧ CurHotel(h, US ) −→ Conv(h, c) • Conv(h, c) :   PEntry(h, p, d) ∧ Cur(c) PEntry(h, conv usd(p, c, d), d) CurHotel(h, cold) ∧ Cur(c) CurHotel(h, c) Copy Rest    Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 7/28
  • 12. a   iSC   DCDS Example: Execution Initial State. s0 • Cur( USD ) Cur( EUR ) • CurHotel(h1, USD ) CurHotel(h2, USD ) • PEntry(h1, 80, 01/01/2012) PEntry(h2, 80, 01/01/2012) PEntry(h1, 60, 01/03/2012) Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 8/28
  • 13. a   iSC   DCDS Example: Execution Initial State. s0 • Cur( USD ) Cur( EUR ) • CurHotel(h1, USD ) CurHotel(h2, USD ) • PEntry(h1, 80, 01/01/2012) PEntry(h2, 80, 01/01/2012) PEntry(h1, 60, 01/03/2012) Execution of Conv(h1, EUR ). s1 • Cur( USD ) Cur( EUR ) • CurHotel(h1, EUR ) CurHotel(h2, USD ) • PEntry(h1, 70, 01/01/2012) PEntry(h2, 80, 01/01/2012) PEntry(h1, 50, 01/03/2012) Non-determinism in the returned values. Execution of Conv(h2, EUR ). Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 8/28
  • 14. a   iSC   DCDS Example: Execution Execution of Conv(h1, EUR ). s1 • Cur( USD ) Cur( EUR ) • CurHotel(h1, EUR ) CurHotel(h2, USD ) • PEntry(h1, 70, 01/01/2012) PEntry(h2, 80, 01/01/2012) PEntry(h1, 50, 01/03/2012) Non-determinism in the returned values. Execution of Conv(h2, EUR ). s2 • Cur( USD ) Cur( EUR ) • CurHotel(h1, EUR ) CurHotel(h2, EUR ) • PEntry(h1, 70, 01/01/2012) PEntry(h2, 70, 01/01/2012) PEntry(h1, 50, 01/03/2012) Deterministic value!Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 8/28
  • 15. a   iSC   Transition Systems • Semantics of a DCDS in terms of transition system Υ = ∆, R, Σ, s0, db, ⇒ ∆ is a countably infinite set of values; R is a database schema; Σ is a set of states; s0 ∈ Σ is the initial state; db is a function that, given a state s ∈ Σ, returns the database associated to s, which is made up of values in ∆ and conforms to R; ⇒ ⊆ Σ × Σ is a transition relation between pairs of states. s0 s1 s3 s4 s6 s7 Note: Υ is in general infinite state. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 9/28
  • 16. a   iSC   Transition System with Deterministic Services • Semantics in terms of concrete transition system ΥS = C, R, Σ, s0, db, ⇒ . • Each state s ∈ Σ remembers all previous service call results: s = I, M , where I is a database and M is a map from service calls to results in C. • db( I, M ) = I. • Action execution: before issuing a service call, it is checked whether the (deterministic) result is already contained in M; if it is, then the result is already known; if not, the call is issued and the obtained result is stored in M. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 10/28
  • 17. a   iSC   Construction of ΥS • start from s0 = I0, ∅ ∈ Σ; • repeat forever pick a state s ∈ Σ for every action executable in s, every “legal” parameters assignment, every possible service calls results’ configuration. . . generate the successor state s and put it in Σ; insert s, s in ⇒. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 11/28
  • 18. a   iSC   Construction of ΥS • start from s0 = I0, ∅ ∈ Σ; • repeat forever pick a state s ∈ Σ for every action executable in s, every “legal” parameters assignment, every possible service calls results’ configuration. . . generate the successor state s and put it in Σ; insert s, s in ⇒. Note: three sources of non-determinism in each step: • actions non-determinism; • parameters non-determinism; • service call results non-determinism: leads to potentially infinite branching. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 11/28
  • 19. a   iSC   Example Consider a DCDS S = D, P • Data layer D = C, R, E, I0 , where I0 = {P(a), Q(a, a)} • Process layer P = F, A, F = {f/1, g/1}, A = {α}, = {true → α} α :  Q(a, a) ∧ P(x) {R(x)}, P(x) {P(x), Q(f(x), g(x))} ff P(a) Q(a,a) f(a)→b g(a)→b P(a) R(a) Q(b,b) f(a)→b g(a)→a P(a) R(a) Q(b,a) f(a)→a g(a)→b P(a) R(a) Q(a,b) f(a)→a g(a)→a P(a) R(a) Q(a,a) f(a)→c g(a)→b P(a) R(a) Q(c,b) f(a)→b g(a)→c P(a) R(a) Q(b,c) f(a)→c g(a)→c P(a) R(a) Q(c,c) f(a)→a g(a)→b P(a) Q(a,b) f(a)→b g(a)→a P(a) Q(b,a) f(a)→b g(a)→b P(a) Q(b,b) f(a)→c g(a)→b P(a) Q(c,b) f(a)→b g(a)→c P(a) Q(b,c) f(a)→c g(a)→c P(a) Q(c,c) . . . Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 12/28
  • 20. a   iSC   Verification • We are interested in the verification of DCDSs • Given a DCDS S and a formula Φ (in some FO temporal logic) Construct the transition system ΥS of S Check whether ΥS |= Φ • Problem: ΥS is in general infinite state • Idea: Devise a finite-state transition system ΘS that is a faithful abstraction of ΥS , Reduce the verification problem ΥS |= Φ to the verification of ΘS |= Φ • Procedure: 1. Do a syntactic check over S testing whether ΥS admits a finite-state abstraction ΘS 2. If so, construct ΘS 3. Model check Φ over ΘS with standard model checking techniques Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 13/28
  • 21. a   iSC   Verification Formalism • We adopt FO variants of the µ-calculus µL is a very expressive logic! • µLF O formulas over a DCDS S have the form: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ where Q is an FO query over the database schema R of S, and Z is a predicate variable. HML PDLLTL CTL µL µLFO Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 14/28
  • 22. a   iSC   Verification Formalism • We adopt FO variants of the µ-calculus µL is a very expressive logic! • µLF O formulas over a DCDS S have the form: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ where Q is an FO query over the database schema R of S, and Z is a predicate variable. Example An example of µL formula is: ∃x1, . . . , xn. i=j xi = xj ∧ i∈{1,...,n} µZ.[Stud(xi)∨ − Z] HML PDLLTL CTL µL µLFO Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 14/28
  • 23. a   iSC   Verification Formalism • We adopt FO variants of the µ-calculus µL is a very expressive logic! • µLF O formulas over a DCDS S have the form: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ where Q is an FO query over the database schema R of S, and Z is a predicate variable. Example An example of µL formula is: ∃x1, . . . , xn. i=j xi = xj ∧ i∈{1,...,n} µZ.[Stud(xi)∨ − Z] This defeats any kind of finite-state abstraction. HML PDLLTL CTL µL µLFO Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 14/28
  • 24. a   iSC   Verification Formalism • We adopt FO variants of the µ-calculus µL is a very expressive logic! • µLF O formulas over a DCDS S have the form: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ where Q is an FO query over the database schema R of S, and Z is a predicate variable. Example An example of µL formula is: ∃x1, . . . , xn. i=j xi = xj ∧ i∈{1,...,n} µZ.[Stud(xi)∨ − Z] This defeats any kind of finite-state abstraction. HML PDLLTL CTL µL µLFO µLA Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 14/28
  • 25. a   iSC   History Preserving Mu-Calculus (µLA) • Restricts quantification over individuals to those present in the current database (denoted by live(x)). • Syntax: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ | − Φ | Z | µZ.Φ • We abbreviate ¬(∃x.live(x) ∧ ¬Φ) as ∀x.live(x) → Φ. Example νX.(∀x.live(x) ∧ Stud(x) → µY.(∃y.live(y) ∧ Grad(x, y) ∨ − Y ) ∧ [−]X) Along every path, it is always true, for each student x, that there exists an evolution that eventually leads to a graduation of the student (with some final mark y). Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 15/28
  • 26. a   iSC   History Preserving Bisimulation for µLA • Consider two transition systems Υ1 = ∆1, R, Σ1, s01, db1, ⇒1 and Υ2 = ∆2, R, Σ2, s02, db2, ⇒2 . • Problem: Υ1 and Υ2 are over different data domains ∆1 and ∆2, and a correspondence between elements must be preserved over time. • Is a relation B ⊆ Σ1 × H × Σ2 such that s1, h, s2 ∈ B implies that: 1. h is a partial bijection between ∆1 and ∆2 that induces an isomorphism between db1(s1) and db2(s2); 2. for each s1, if s1 ⇒1 s1 then there is an s2 with s2 ⇒2 s2 and a bijection h that extends h, such that s1, h , s2 ∈ B; 3. for each s2, if s2 ⇒2 s2 then there is an s1 with s1 ⇒1 s1 and a bijection h that extends h, such that s1, h , s2 ∈ B. • We have Υ1 ≈ Υ2 if there exists a partial bijection h0 and a history preserving bisimulation B between Υ1 and Υ2 such that s01, h0, s02 ∈ B. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 16/28
  • 27. a   iSC   History Preserving Bisimulation for µLA • Consider two transition systems Υ1 = ∆1, R, Σ1, s01, db1, ⇒1 and Υ2 = ∆2, R, Σ2, s02, db2, ⇒2 . • Problem: Υ1 and Υ2 are over different data domains ∆1 and ∆2, and a correspondence between elements must be preserved over time. • Is a relation B ⊆ Σ1 × H × Σ2 such that s1, h, s2 ∈ B implies that: 1. h is a partial bijection between ∆1 and ∆2 that induces an isomorphism between db1(s1) and db2(s2); 2. for each s1, if s1 ⇒1 s1 then there is an s2 with s2 ⇒2 s2 and a bijection h that extends h, such that s1, h , s2 ∈ B; 3. for each s2, if s2 ⇒2 s2 then there is an s1 with s1 ⇒1 s1 and a bijection h that extends h, such that s1, h , s2 ∈ B. • We have Υ1 ≈ Υ2 if there exists a partial bijection h0 and a history preserving bisimulation B between Υ1 and Υ2 such that s01, h0, s02 ∈ B. Theorem If Υ1 ≈ Υ2, then for every µLA closed formula Φ, we have: Υ1 |= Φ if and only if Υ2 |= Φ. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 16/28
  • 28. a   iSC   (Un)decidability Results Theorem There exists a DCDS S with deterministic services, and a propositional LTL safety property Φ, such that checking ΥS |= Φ is undecidable. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 17/28
  • 29. a   iSC   (Un)decidability Results Theorem There exists a DCDS S with deterministic services, and a propositional LTL safety property Φ, such that checking ΥS |= Φ is undecidable. To gain decidability, we need restrictions on the DCDS: run-boundedness • For every run τ in ΥS we have | s state of τ adom(db(s))| < b • I.e., there exists a bound b such that every run in ΥS encounters at most b different values. • A (data) unbounded run represents an execution in which infinitely many different service calls are issued. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 17/28
  • 30. a   iSC   (Un)decidability Results Theorem There exists a DCDS S with deterministic services, and a propositional LTL safety property Φ, such that checking ΥS |= Φ is undecidable. To gain decidability, we need restrictions on the DCDS: run-boundedness • For every run τ in ΥS we have | s state of τ adom(db(s))| < b • I.e., there exists a bound b such that every run in ΥS encounters at most b different values. • A (data) unbounded run represents an execution in which infinitely many different service calls are issued. Theorem Verification of µLA properties on run-bounded DCDSs with deterministic services is decidable. 1. We devise a finite-state abstraction ΘS for a run-bounded DCDS S. 2. We prove that ΘS ≈ ΥS, hence they satisfy the same µLA formulae. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 17/28
  • 31. a   iSC   Ensuring Run-Boundedness Theorem Checking run-boundedness of DCDSs with deterministic services is undecidable. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 18/28
  • 32. a   iSC   Ensuring Run-Boundedness Theorem Checking run-boundedness of DCDSs with deterministic services is undecidable. We have devised a sufficient syntactic condition that guarantees run-boundedness: weak acyclicity • Depends only on action specifications, and not on data. • Is polynomially checkable. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 18/28
  • 33. a   iSC   Ensuring Run-Boundedness Theorem Checking run-boundedness of DCDSs with deterministic services is undecidable. We have devised a sufficient syntactic condition that guarantees run-boundedness: weak acyclicity • Depends only on action specifications, and not on data. • Is polynomially checkable. Theorem Verification of µLA properties for weakly acyclic DCDSs with deterministic services is decidable, and can be reduced to model checking of propositional µ-calculus over a finite transition system. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 18/28
  • 34. a   iSC   DCDS Example Data LayerSchema Customer In Debt Customer Gold CustomerLoan closed owes peer Instance Cust(ann) peer(mark, john) Gold(john) Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 19/28
  • 35. a   iSC   DCDS Example Data LayerSchema Customer In Debt Customer Gold CustomerLoan closed owes peer Instance Cust(ann) peer(mark, john) Gold(john) Process Layer Conditions peer(x, y) ∧ Gold(y) −→ GetLoan(x) Service Calls UInput(x) Actions GetLoan(x) : ∃y.peer(x, y) {owes(x, UInput(x))}, Cust(z) {Cust(z)}, Loan(z) {Loan(z)}, InDebt(z) {InDebt(z)}, Gold(z) {Gold(z)} Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 19/28
  • 36. a   iSC   DCDS Example Data LayerSchema Customer In Debt Customer Gold CustomerLoan closed owes peer Instance Cust(ann) peer(mark, john) Gold(john) owes(mark, @25) Process Layer Conditions peer(x, y) ∧ Gold(y) −→ GetLoan(x) Service Calls UInput(x) Actions GetLoan(x) : ∃y.peer(x, y) {owes(x, UInput(x))}, Cust(z) {Cust(z)}, Loan(z) {Loan(z)}, InDebt(z) {InDebt(z)}, Gold(z) {Gold(z)} Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 19/28
  • 37. a   iSC   Non-Deterministic Services • The same service call issued later may give a different result. • Can be used to model: user input; unpredictable external environment. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 20/28
  • 38. a   iSC   Non-Deterministic Services • The same service call issued later may give a different result. • Can be used to model: user input; unpredictable external environment. Theorem There exists a DCDS S with nondeterministic services, and a propositional LTL safety property Φ, such that checking ΥS |= Φ is undecidable. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 20/28
  • 39. a   iSC   Non-Deterministic Services • The same service call issued later may give a different result. • Can be used to model: user input; unpredictable external environment. Theorem There exists a DCDS S with nondeterministic services, and a propositional LTL safety property Φ, such that checking ΥS |= Φ is undecidable. To gain decidability, we need again restrictions on the DCDS: • Run-boundedness is too strong: it bounds the overall number of service calls. • We consider instead state boundedness: there is a finite bound b such that for each state I of ΥS, |adom(I)| < b. However . . . Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 20/28
  • 40. a   iSC   Non-Deterministic Services • The same service call issued later may give a different result. • Can be used to model: user input; unpredictable external environment. Theorem There exists a DCDS S with nondeterministic services, and a propositional LTL safety property Φ, such that checking ΥS |= Φ is undecidable. To gain decidability, we need again restrictions on the DCDS: • Run-boundedness is too strong: it bounds the overall number of service calls. • We consider instead state boundedness: there is a finite bound b such that for each state I of ΥS, |adom(I)| < b. However . . . Theorem Verification of µLA properties on state-bounded DCDSs with nondeterministic services is undecidable. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 20/28
  • 41. a   iSC   Persistence Preserving Mu-Calculus (µLP ) • Restricts quantification over individuals that continuously persist along the system evolution, i.e., that continue to be live(x). • Syntax: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ | − (live(x) ∧ Φ) | [−](live(x) ∧ Φ) | Z | µZ.Φ where in live(x) ∧ − Φ and live(x) ∧ [−]Φ, the free variables of Φ are x. • We abbreviate ¬[−](live(x) ∧ ¬Φ) as − (live(x) → Φ) and ¬ − (live(x) ∧ ¬Φ) as [−](live(x) → Φ). Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 21/28
  • 42. a   iSC   Persistence Preserving Mu-Calculus (µLP ) • Restricts quantification over individuals that continuously persist along the system evolution, i.e., that continue to be live(x). • Syntax: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ | − (live(x) ∧ Φ) | [−](live(x) ∧ Φ) | Z | µZ.Φ where in live(x) ∧ − Φ and live(x) ∧ [−]Φ, the free variables of Φ are x. • We abbreviate ¬[−](live(x) ∧ ¬Φ) as − (live(x) → Φ) and ¬ − (live(x) ∧ ¬Φ) as [−](live(x) → Φ). Example νX.(∀x.live(x) ∧ Stud(x) → µY.(∃y.live(y) ∧ Grad(x, y) ∨ − (live(x) ∧ Y )) ∧ [−]X) Along every path, it is always true, for each student x, that there exists an evolution in which x persists in the database until she eventually graduates. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 21/28
  • 43. a   iSC   Persistence Preserving Mu-Calculus (µLP ) • Restricts quantification over individuals that continuously persist along the system evolution, i.e., that continue to be live(x). • Syntax: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ | − (live(x) ∧ Φ) | [−](live(x) ∧ Φ) | Z | µZ.Φ where in live(x) ∧ − Φ and live(x) ∧ [−]Φ, the free variables of Φ are x. • We abbreviate ¬[−](live(x) ∧ ¬Φ) as − (live(x) → Φ) and ¬ − (live(x) ∧ ¬Φ) as [−](live(x) → Φ). Example νX.(∀x.live(x) ∧ Stud(x) → µY.(∃y.live(y) ∧ Grad(x, y) ∨ − (live(x) ∧ Y )) ∧ [−]X) Along every path, it is always true, for each student x, that there exists an evolution in which x persists in the database until she eventually graduates. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 21/28
  • 44. a   iSC   Persistence Preserving Mu-Calculus (µLP ) • Restricts quantification over individuals that continuously persist along the system evolution, i.e., that continue to be live(x). • Syntax: Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.live(x) ∧ Φ | − (live(x) ∧ Φ) | [−](live(x) ∧ Φ) | Z | µZ.Φ where in live(x) ∧ − Φ and live(x) ∧ [−]Φ, the free variables of Φ are x. • We abbreviate ¬[−](live(x) ∧ ¬Φ) as − (live(x) → Φ) and ¬ − (live(x) ∧ ¬Φ) as [−](live(x) → Φ). Example νX.(∀x.live(x) ∧ Stud(x) → µY.(∃y.live(y) ∧ Grad(x, y) ∨ − (live(x) → Y )) ∧ [−]X) Along every path, it is always true, for each student x, that there exists an evolution in which either x does not persist, or she eventually graduates. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 21/28
  • 45. a   iSC   Persistence Preserving Bisimulation for µLP • Consider two transition systems Υ1 = ∆1, R, Σ1, s01, db1, ⇒1 and Υ2 = ∆2, R, Σ2, s02, db2, ⇒2 . • W.r.t. µLA, it is now sufficient to preserve the correspondence between elements of ∆1 and ∆2 that persist over time. • Is a relation B ⊆ Σ1 × H × Σ2 such that s1, h, s2 ∈ B implies that: 1. h is an isomorphism between db1(s1) and db2(s2); 2. for each s1, if s1 ⇒1 s1 then there exists an s2 with s2 ⇒2 s2 and a bijection h that extends h|adom(db1(s1))∩adom(db1(s1)), such that s1, h , s2 ∈ B; 3. for each s2, if s2 ⇒2 s2 then there exists an s1 with s1 ⇒1 s1 and a bijection h that extends h|adom(db1(s1))∩adom(db1(s1)), such that s1, h , s2 ∈ B. • We have Υ1 ∼ Υ2 if there exists a partial bijection h0 and a persistence preserving bisimulation B between Υ1 and Υ2 such that s01, h0, s02 ∈ B. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 22/28
  • 46. a   iSC   Persistence Preserving Bisimulation for µLP • Consider two transition systems Υ1 = ∆1, R, Σ1, s01, db1, ⇒1 and Υ2 = ∆2, R, Σ2, s02, db2, ⇒2 . • W.r.t. µLA, it is now sufficient to preserve the correspondence between elements of ∆1 and ∆2 that persist over time. • Is a relation B ⊆ Σ1 × H × Σ2 such that s1, h, s2 ∈ B implies that: 1. h is an isomorphism between db1(s1) and db2(s2); 2. for each s1, if s1 ⇒1 s1 then there exists an s2 with s2 ⇒2 s2 and a bijection h that extends h|adom(db1(s1))∩adom(db1(s1)), such that s1, h , s2 ∈ B; 3. for each s2, if s2 ⇒2 s2 then there exists an s1 with s1 ⇒1 s1 and a bijection h that extends h|adom(db1(s1))∩adom(db1(s1)), such that s1, h , s2 ∈ B. • We have Υ1 ∼ Υ2 if there exists a partial bijection h0 and a persistence preserving bisimulation B between Υ1 and Υ2 such that s01, h0, s02 ∈ B. Theorem If Υ1 ∼ Υ2, then for every µLP closed formula Φ, we have: Υ1 |= Φ if and only if Υ2 |= Φ. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 22/28
  • 47. a   iSC   Verification of State-Bounded Systems Theorem Verification of µLP properties on state-bounded DCDSs with non-deterministic services is decidable. 1. We devise a finite-state abstraction ΘS for a state-bounded DCDS S. 2. We prove that ΘS ∼ ΥS, hence they satisfy the same µLP formulae. However . . . Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 23/28
  • 48. a   iSC   Verification of State-Bounded Systems Theorem Verification of µLP properties on state-bounded DCDSs with non-deterministic services is decidable. 1. We devise a finite-state abstraction ΘS for a state-bounded DCDS S. 2. We prove that ΘS ∼ ΥS, hence they satisfy the same µLP formulae. However . . . Theorem Checking state-boundedness of DCDSs with non-deterministic services is undecidable. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 23/28
  • 49. a   iSC   Ensuring State-Boundedness We have devised a sufficient syntactic condition that guarantees state-boundedness: generate-recall acyclicity • Depends only on action specifications, and not on data. • Is polynomially checkable. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 24/28
  • 50. a   iSC   Ensuring State-Boundedness We have devised a sufficient syntactic condition that guarantees state-boundedness: generate-recall acyclicity • Depends only on action specifications, and not on data. • Is polynomially checkable. Theorem Verification of µLP properties for generate-recall acyclic DCDSs with non-deterministic services is decidable, and can be reduced to model checking of propositional µ-calculus over a finite transition system. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 24/28
  • 51. a   iSC   Generate-Recall Acyclicity Example Consider I0 = {R(a)}, process {true −→ α}, and action α = R(x) R(x) R(x) Q(f(x)) • The resulting process layer is generate-recall acyclic. • Service call f(a) is continuously issued, leading to possibly generate infinitely many distinct values, but such values are not recalled. • Since µLP formulae only focus on persisting values, the possibly infinitely many distinct results obtained by issuing f(a) are irrelevant. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 25/28
  • 52. a   iSC   Generate-Recall Acyclicity Example Consider I0 = {R(a)}, process {true −→ α}, and action α =    R(x) R(x) R(x) Q(f(x)) Q(x) Q(x)    • The resulting process layer is not generate-recall acyclic. • Service call f(a) is continuously issued, leading to possibly generate infinitely many distinct values, which are recalled in Q. • It is not possible to find a faithful finite abstraction, because there exist runs accumulating unboundedly many distinct values inside their states. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 26/28
  • 53. a   iSC   Generate-Recall Acyclicity Example Consider I0 = {R(a)}, process {true −→ α, true −→ β}, and actions α = R(x) R(x) R(x) Q(f(x)) and β = {Q(x) Q(x)} • The resulting process layer is generate-recall acyclic. • It resembles the previous case, but now effects belong to two distinct actions. • While α is getting a new value for f(a), Q tuples are lost. • While β is copying Q tuples, no new value is insterted. Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 27/28
  • 54. a   iSC   Summary of Results on Verification of DCDSs deterministic services nondeterministic services µLFO µLA µLP µLFO µLA µLP unrestricted U ← U ← U unrestricted U ← U ← U ↑ ↑ bounded-run ? D → D bounded-state U ← U D D: Verification is decidable U: Verification is undecidable Verification of DCDSs ACSI Project 257593 M. Montali - KRDB 28/28