SlideShare a Scribd company logo
unibz.itunibz.it
Verification of
Relational Data-Centric Dynamic Systems
with External Services
Marco Montali
Joint work with: B. Bagheri Hariri, D. Calvanese, G. De Giacomo, A. Deutsch
KRDB Research Centre for Knowledge and Data
Free University of Bozen-Bolzano, Italy
PODS 2013
New York, USA
Marco Montali Verification of Relational DCDSs PODS 2013 1 / 25
unibz.itunibz.it
Introduction
This talk is about verification of systems merging data and processes.
See yesterday’s keynote by Diego Calvanese.
Process (Wil van der Aalst) looking at data (Victor Vianu) @BPM 2011
Marco Montali Verification of Relational DCDSs PODS 2013 2 / 25
unibz.itunibz.it
Introduction
Data-Centric Dynamic Systems (DCDSs)
An abstract, pristine framework to formally describe processes that manipulate
data.
• Captures virtually all existing approaches to data-aware processes, such as
the artifact-centric paradigm.
DCDS
Data Layer
Process Layer
external
service
external
service
external
service
UpdateRead
• Data layer: relational database (with constraints).
• Process layer: condition-action rules (include service calls that input new
data).
Marco Montali Verification of Relational DCDSs PODS 2013 3 / 25
unibz.itunibz.it
DCDS
A DCDS S is a pair D, P .
Data layer D
• Relational schema.
• Constraints (equality constraints/domain-independent FOL).
• Initial DB.
Marco Montali Verification of Relational DCDSs PODS 2013 4 / 25
unibz.itunibz.it
DCDS
A DCDS S is a pair D, P .
Data layer D
• Relational schema.
• Constraints (equality constraints/domain-independent FOL).
• Initial DB.
Process layer P
• Services to introduce new data into the system - results taken from a
countably infinite domain.
• Actions with parameters, specified in terms of effects that:
1 query the current DB (with UCQs + domain-independent FO filters);
2 transfer the obtained answers, together with service call results, into
facts that constitute the new DB.
• Declarative description of the process with condition-action rules.
Condition: (domain-independent) FO query.
Each rule queries the current DB and determines the executability of
the corresponding action with params.
Marco Montali Verification of Relational DCDSs PODS 2013 4 / 25
unibz.itunibz.it
An Example: Hotels and Price Conversion
Data Layer: Info about hotels and room prices
Cur = UserCurrency CH = Hotel, Currency PEntry = Hotel, Price, Date
Process Layer/1
User selection of a currency.
• Process: true −→ ChooseCur()
• Service call for currency selection: uInputCurr()
Models user input with non-deterministic behavior: same-argument calls
possibly return different values at different time moments.
• ChooseCur() :
true Cur(uInputCurr())
CH(h, c) CH(h, c)
PEntry(h, p, d) PEntry(h, p, d)
Marco Montali Verification of Relational DCDSs PODS 2013 5 / 25
unibz.itunibz.it
An Example: Hotels and Price Conversion
Data Layer: Info about hotels and room prices
Cur = UserCurrency CH = Hotel, Currency PEntry = Hotel, Price, Date
Process Layer/2
Price conversion for a hotel.
• Process: Cur(c) ∧ CurHotel(h, ch) ∧ ch = c −→ ApplyConv(h, c)
• Service call for currency selection: conv(price, from, to, date)
Models historical conversion with deterministic behavior: same-argument
calls always return the same value along a run.
• ApplyConv(h, c) :


PEntry(h, p, d) ∧ CH(h, cold) ∧ Cur(c) PEntry(h, conv(p, cold, c, d), d)
PEntry(h , p, d) ∧ h = h PEntry(h , p, d)
CH(h, cold) CH(h, c)
CH(h , c ) ∧ h = h CH(h , c )
Cur(c) Cur(c)



Marco Montali Verification of Relational DCDSs PODS 2013 5 / 25
unibz.itunibz.it
Run
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
unibz.itunibz.it
Run
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
ChooseCur(): uInputCurr() = ?
Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
unibz.itunibz.it
Run
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
Cur
usd
ChooseCur(): uInputCurr() = usd
Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
unibz.itunibz.it
Run
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
Cur
usd
ChooseCur(): uInputCurr() = usd
ApplyConv(h1,usd)
ChooseCur()
ApplyConv(h2,usd)
Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
unibz.itunibz.it
Run
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
Cur
usd
ChooseCur(): uInputCurr() = usd
ApplyConv(h1,usd):
conv(95,eur,usd,apr-25) = ?
conv(80,eur,usd,sep-18) = ?
Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
unibz.itunibz.it
Run
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
Cur
usd
HC
h1 usd
h2 eur
PEntry
h1 115 apr-25
h1 95 sep-18
h2 80 sep-18
Cur
usd
ChooseCur(): uInputCurr() = usd
ApplyConv(h1,usd):
conv(95,eur,usd,apr-25) = 115
conv(80,eur,usd,sep-18) = 95
Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
unibz.itunibz.it
Run
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
Cur
usd
HC
h1 usd
h2 eur
PEntry
h1 115 apr-25
h1 95 sep-18
h2 80 sep-18
Cur
usd
ChooseCur(): uInputCurr() = usd
ApplyConv(h1,usd):
conv(95,eur,usd,apr-25) = 115
conv(80,eur,usd,sep-18) = 95
ChooseCur()
ApplyConv(h2,usd)
Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
unibz.itunibz.it
Run
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
Cur
usd
HC
h1 usd
h2 eur
PEntry
h1 115 apr-25
h1 95 sep-18
h2 80 sep-18
Cur
usd
HC
h1 usd
h2 usd
PEntry
h1 115 apr-25
h1 95 sep-18
h2 95 sep-18
Cur
usd
ChooseCur(): uInputCurr() = usd
ApplyConv(h1,usd):
conv(95,eur,usd,apr-25) = 115
conv(80,eur,usd,sep-18) = 95
ApplyConv(h2,usd)
conv(80,eur,usd,sep-18) = 95
Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
unibz.itunibz.it
Execution Semantics
Transition system accounting for all possible runs of the DCDS:
• States: each linked to a DB - instance of the data layer;
• Transitions: legal applications of action+params+service call evals.
Action+params: executable according to the process rules.
Deterministic services behave consistently with the previous results.
We obtain a possibly infinite-state (relational) transition system:
• from the initial DB;
• by applying transitions in all possible ways.
Marco Montali Verification of Relational DCDSs PODS 2013 7 / 25
unibz.itunibz.it
Sources of Unboundedness/Infinity
In general: service calls cause. . .
.....
.
.....
.
. . .
• Infinite branching (due to all possible results
of service calls).
• Infinite runs (usage of values obtained from
unboundedly many service calls).
• Unbounded DBs
(accumulation of such values).
HC
h1 eur
h2 eur
PEntry
h1 95 apr-25
h1 80 sep-18
h2 80 sep-18
Cur
usd
. . .
. . .
. . .
.
.
.
ApplyConv(h1,usd): exchange rate = 1.2
ApplyConv(h1,usd): exchange rate = 1.23
ApplyConv(h1,usd): exchange rate = 1.3
ApplyConv(h1,usd): exchange rate = ...
Marco Montali Verification of Relational DCDSs PODS 2013 8 / 25
unibz.itunibz.it
Verification of DCDSs
Verification
Given a DCDS S (with transition system ΥS), and a temporal/dynamic
property Φ, check whether
ΥS |= Φ
Requirements for temporal/dynamic properties:
• to capture data ; first-order queries;
• to capture dynamics ; temporal modalities;
• to capture evolution of data ; quantification across states.
Marco Montali Verification of Relational DCDSs PODS 2013 9 / 25
unibz.itunibz.it
Verification of DCDSs
Verification
Given a DCDS S (with transition system ΥS), and a temporal/dynamic
property Φ, check whether
ΥS |= Φ
Requirements for temporal/dynamic properties:
• to capture data ; first-order queries;
• to capture dynamics ; temporal modalities;
• to capture evolution of data ; quantification across states.
Our goal
Investigate “robust” conditions on decidability of verification:
• for sophisticated branching- and linear-time temporal properties;
• exploiting conventional, finite-state model checking via construction
of a faithful (sound and complete), finite-state abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 9 / 25
unibz.itunibz.it
Design Space
We employ variants of first-order µ-calculus (µLFO):
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ
• Employs fixpoint constructs to express sophisticated
properties defined via induction or co-induction.
• Subsumes virtually all logics used in verification,
such as LTL, CTL, CTL*.
PDLLTL CTL
µL
µLFO
Marco Montali Verification of Relational DCDSs PODS 2013 10 / 25
unibz.itunibz.it
Design Space
We employ variants of first-order µ-calculus (µLFO):
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ
• Employs fixpoint constructs to express sophisticated
properties defined via induction or co-induction.
• Subsumes virtually all logics used in verification,
such as LTL, CTL, CTL*.
PDLLTL CTL
µL
µLFO
Problem 1
Unrestricted first-order quantification: no hope of reducing verification to
finite-state model checking.
See: ∃x1, . . . , xn. i=j xi = xj ∧ i∈{1,...,n} − Q(xi)
; We need to consider fragments of µLFO with controlled quantification.
Marco Montali Verification of Relational DCDSs PODS 2013 10 / 25
unibz.itunibz.it
Design Space
We employ variants of first-order µ-calculus (µLFO):
Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ
• Employs fixpoint constructs to express sophisticated
properties defined via induction or co-induction.
• Subsumes virtually all logics used in verification,
such as LTL, CTL, CTL*.
PDLLTL CTL
µL
µLFO
Problem 1
Unrestricted first-order quantification: no hope of reducing verification to
finite-state model checking.
See: ∃x1, . . . , xn. i=j xi = xj ∧ i∈{1,...,n} − Q(xi)
; We need to consider fragments of µLFO with controlled quantification.
Problem 2
Verification is undecidable for simple propositional CTL ∩ LTL properties.
; We need to pose restrictions on DCDSs.
Marco Montali Verification of Relational DCDSs PODS 2013 10 / 25
unibz.itunibz.it
History-Preserving µ-calculus (µLA)
Active-domain quantification: restricted to those
individuals present in the current database.
∃x.Φ ; ∃x.live(x) ∧ Φ
where live(x) states that x is present in the current
active domain. PDLLTL CTL
µL
µLA
µLFO
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 eventually leading to a graduation of the student (with some
final mark y).
Marco Montali Verification of Relational DCDSs PODS 2013 11 / 25
unibz.itunibz.it
Persistence-Preserving µ-calculus (µLP)
In some cases, objects maintain their identity only if they persist in the
active domain (cf. business artifacts and their IDs).
. . .
StudId : 123
. . .
StudId : 123
. . .dismiss(123) newStud()
ID() = 123
Marco Montali Verification of Relational DCDSs PODS 2013 12 / 25
unibz.itunibz.it
Persistence-Preserving µ-calculus (µLP)
In some cases, objects maintain their identity only if they persist in the
active domain (cf. business artifacts and their IDs).
. . .
StudId : 123
. . .
StudId : 123
. . .dismiss(123) newStud()
ID() = 123
µLP restricts µLA to quantification over persisting
objects only, i.e., objects that continue to be live.
∃x.Φ ; ∃x.live(x) ∧ Φ
− Φ(x) ; live(x) ∧ − Φ(x)
[−]Φ(x) ; live(x) ∧ [−]Φ(x) PDLLTL CTL
µL
µLP
µLA
µLFO
Marco Montali Verification of Relational DCDSs PODS 2013 12 / 25
unibz.itunibz.it
Persistence-Preserving µ-calculus (µLP)
In some cases, objects maintain their identity only if they persist in the
active domain (cf. business artifacts and their IDs).
. . .
StudId : 123
. . .
StudId : 123
. . .dismiss(123) newStud()
ID() = 123
µLP restricts µLA to quantification over persisting
objects only, i.e., objects that continue to be live.
∃x.Φ ; ∃x.live(x) ∧ Φ
− Φ(x) ; live(x) ∧ − Φ(x)
[−]Φ(x) ; live(x) ∧ [−]Φ(x) PDLLTL CTL
µL
µLP
µLA
µLFO
Example (“strong persistence”)
ν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.
Marco Montali Verification of Relational DCDSs PODS 2013 12 / 25
unibz.itunibz.it
Persistence-Preserving µ-calculus (µLP)
In some cases, objects maintain their identity only if they persist in the
active domain (cf. business artifacts and their IDs).
. . .
StudId : 123
. . .
StudId : 123
. . .dismiss(123) newStud()
ID() = 123
µLP restricts µLA to quantification over persisting
objects only, i.e., objects that continue to be live.
∃x.Φ ; ∃x.live(x) ∧ Φ
− Φ(x) ; live(x) ∧ − Φ(x)
[−]Φ(x) ; live(x) ∧ [−]Φ(x) PDLLTL CTL
µL
µLP
µLA
µLFO
Example (“weak persistence”)
ν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.
Marco Montali Verification of Relational DCDSs PODS 2013 12 / 25
unibz.itunibz.it
Bisimulations
We introduce two novel notions of bisimulation to account for µLA/µLP.
History-Preserving
Bisimulation Invariant Languages
Persistence-Preserving
Bisimulation Invariant Languages
Propositional Bisimulation
Invariant Languages
PDLLTL CTL
µL
µLP
µLA
µLFO
These bisimulation relations capture:
• dynamics ; standard notion of bisimulation;
• data ; DB isomorphism;
• evolution of data ; compatibility of the bijections witnessing the
isomorphisms along a run.
Marco Montali Verification of Relational DCDSs PODS 2013 13 / 25
unibz.itunibz.it
Bisimulations
History-preserving bisimulation requires each isomorphism to be witnessed
by a bijection that extends the bijection used in the previous step.
Theorem
If Υ1 and Υ2 are history-preserving bisimilar, then for every µLA closed
formula Φ, we have:
Υ1 |= Φ if and only if Υ2 |= Φ.
Marco Montali Verification of Relational DCDSs PODS 2013 14 / 25
unibz.itunibz.it
Bisimulations
History-preserving bisimulation requires each isomorphism to be witnessed
by a bijection that extends the bijection used in the previous step.
Theorem
If Υ1 and Υ2 are history-preserving bisimilar, then for every µLA closed
formula Φ, we have:
Υ1 |= Φ if and only if Υ2 |= Φ.
Persistence-preserving bisimulation requires each isomorphism to be
witnessed by a bijection that extends the bijection used in the previous
step, restricted only to the persisting objects.
Theorem
If Υ1 and Υ2 are persistence-preserving bisimilar, then for every µLP
closed formula Φ, we have:
Υ1 |= Φ if and only if Υ2 |= Φ.
Marco Montali Verification of Relational DCDSs PODS 2013 14 / 25
unibz.itunibz.it
Conditions for DCDSs
We devise two conditions over the transition system ΥS of a DCDS S.
Run boundedness
Each run of ΥS accumulates only a bounded number of objects.
• No bound on the overall number of objects: ΥS is still infinite-state, due to
infinite branching induced by service calls.
• Unboundedly many deterministic service calls can still be issued with a bounded
number of inputs.
• Only boundedly many nondeterministic service calls can be issued.
Marco Montali Verification of Relational DCDSs PODS 2013 15 / 25
unibz.itunibz.it
Conditions for DCDSs
We devise two conditions over the transition system ΥS of a DCDS S.
Run boundedness
Each run of ΥS accumulates only a bounded number of objects.
• No bound on the overall number of objects: ΥS is still infinite-state, due to
infinite branching induced by service calls.
• Unboundedly many deterministic service calls can still be issued with a bounded
number of inputs.
• Only boundedly many nondeterministic service calls can be issued.
State boundedness
Each state of ΥS contains only bounded number of objects.
• Relaxation of run-boundedness: unboundedly many objects along a run, provided
that they are not accumulated in the same state.
• ΥS can contain infinite branches and infinite runs.
Marco Montali Verification of Relational DCDSs PODS 2013 15 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
Unrestricted
µLFO U
µLA U
µLP U
µL U
D: decidable; U: undecidable; N: no finite abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
Finite-stateDCDSs
Unrestricted Finite-state
µLFO U D
µLA U D
µLP U D
µL U D
D: decidable; U: undecidable; N: no finite abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
Finite-stateDCDSs
Finite-range DCDSs
Unrestricted Finite-state
µLFO U D
µLA U D
µLP U D
µL U D
D: decidable; U: undecidable; N: no finite abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
Run-boundedDCDSs
Finite-stateDCDSs
Finite-range DCDSs
Unrestricted Run-bounded Finite-state
µLFO U N D
µLA U D D
µLP U D D
µL U D D
D: decidable; U: undecidable; N: no finite abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
Run-boundedDCDSs
Finite-stateDCDSs
Weakly-acyclic DCDSs
with det. services
Finite-range DCDSs
Unrestricted Run-bounded Finite-state
µLFO U N D
µLA U D D
µLP U D D
µL U D D
D: decidable; U: undecidable; N: no finite abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
State-boundedDCDSs
Run-boundedDCDSs
Finite-stateDCDSs
Weakly-acyclic DCDSs
with det. services
Finite-range DCDSs
Unrestricted State-bounded Run-bounded Finite-state
µLFO U U N D
µLA U U D D
µLP U D D D
µL U D D D
D: decidable; U: undecidable; N: no finite abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
State-boundedDCDSs
Run-boundedDCDSs
Finite-stateDCDSs
GR-acyclic DCDSs
Weakly-acyclic DCDSs
with det. services
Finite-range DCDSs
Unrestricted State-bounded Run-bounded Finite-state
µLFO U U N D
µLA U U D D
µLP U D D D
µL U D D D
D: decidable; U: undecidable; N: no finite abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Summary of ResultsUnrestrictedDCDSs(Turingcomplete)
State-boundedDCDSs
Run-boundedDCDSs
Finite-stateDCDSs
GR+-acyclic DCDSs
GR-acyclic DCDSs
Weakly-acyclic DCDSs
with det. services
Finite-range DCDSs
Unrestricted State-bounded Run-bounded Finite-state
µLFO U U N D
µLA U U D D
µLP U D D D
µL U D D D
D: decidable; U: undecidable; N: no finite abstraction.
Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
unibz.itunibz.it
Run-Bounded Systems: Decidability for µLA
Theorem
Verification of µLA over run-bounded DCDSs is decidable and can be
reduced to model checking of propositional µL over a finite TS.
Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite branching.
..
.
..
.
..
.
..
.
. . .
Marco Montali Verification of Relational DCDSs PODS 2013 17 / 25
unibz.itunibz.it
Run-Bounded Systems: Decidability for µLA
Theorem
Verification of µLA over run-bounded DCDSs is decidable and can be
reduced to model checking of propositional µL over a finite TS.
Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite branching.
• We use isomorphic types instead of actual
service call results.
..
.
..
.
..
.
..
.
. . .
≈
representatives for all
isomorphic types
Marco Montali Verification of Relational DCDSs PODS 2013 17 / 25
unibz.itunibz.it
State-bounded Systems: Undecidability for µLA
Theorem
Verification of µLA over state-bounded DCDSs is undecidable.
Intuition: µLA can use quantification to store and compare the
unboundedly many values encountered along the runs.
Crux: reduction from satisfiability of LTL with freeze quantifiers.
• µLA can express LTL with freeze quantifier by making registers
explicit.
• There is a state-bounded DCDS that simulates all the possible traces
with register assignments (i.e., data words).
• Satisfiability via model checking.
Marco Montali Verification of Relational DCDSs PODS 2013 18 / 25
unibz.itunibz.it
State-bounded Systems: Decidability for µLP
Theorem
Verification of µLP over state-bounded DCDSs is decidable and can be
reduced to model checking of propositional µ-calculus over a finite
transition system.
Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite
branching and compacting infinite runs.
1 Prune infinite branching (isomorphic types).
.....
.
.....
.
.....
.
.....
.
. . .
Marco Montali Verification of Relational DCDSs PODS 2013 19 / 25
unibz.itunibz.it
State-bounded Systems: Decidability for µLP
Theorem
Verification of µLP over state-bounded DCDSs is decidable and can be
reduced to model checking of propositional µ-calculus over a finite
transition system.
Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite
branching and compacting infinite runs.
1 Prune infinite branching (isomorphic types).
.....
.
.....
.
.....
.
.....
.
. . .
∼
representatives for
isomorphic types
Marco Montali Verification of Relational DCDSs PODS 2013 19 / 25
unibz.itunibz.it
State-bounded Systems: Decidability for µLP
Theorem
Verification of µLP over state-bounded DCDSs is decidable and can be
reduced to model checking of propositional µ-calculus over a finite
transition system.
Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite
branching and compacting infinite runs.
1 Prune infinite branching (isomorphic types).
.....
.
.....
.
.....
.
Marco Montali Verification of Relational DCDSs PODS 2013 19 / 25
unibz.itunibz.it
State-bounded Systems: Decidability for µLP
Theorem
Verification of µLP over state-bounded DCDSs is decidable and can be
reduced to model checking of propositional µ-calculus over a finite
transition system.
Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite
branching and compacting infinite runs.
1 Prune infinite branching (isomorphic types).
2 Finite abstraction along the runs:
Recycle old, non-persisting objects instead of
inventing new ones.
..
.
..
.
..
.
Marco Montali Verification of Relational DCDSs PODS 2013 19 / 25
unibz.itunibz.it
Sufficient Syntactic Conditions
State- and run-boundedness are semantic conditions.
We show they are undecidable to check.
We then introduce two incomparable sufficient syntactic conditions:
• Weak acyclicity (cf. data exchange), to check whether a DCDS with
deterministic services is run-bounded.
• Generate-recall acyclicity, to check whether a DCDS is state-bounded.
Both conditions are checked against a dependency graph that abstracts
the data-flow of the DCDS process layer.
Marco Montali Verification of Relational DCDSs PODS 2013 20 / 25
unibz.itunibz.it
Sufficient Syntactic Conditions - Example 1
Example
Consider a DCDS S with process {true −→ α()},
action α() :



P(x) P(x)
P(x) Q(f (x))
Q(x) Q(x)


 P,1 Q,1*
Consider nondeterministic service calls.
S is not state-bounded.
The problem comes from the interplay between:
• a generate cycle that continuously feeds a path issuing service calls;
• a recall cycle that accumulates the obtained results.
• (+ the fact that both cycles are active at the same time)
GR-acycliclity detects exactly these undesired situations.
Marco Montali Verification of Relational DCDSs PODS 2013 21 / 25
unibz.itunibz.it
Sufficient Syntactic Conditions - Example 2
Example
Consider a DCDS S with process {true −→ α(), true −→ β()},
actions
α() : {P(x) Q(f (x))}
β() : {Q(x) P(x)} P,1 Q,1
*
Consider deterministic service calls.
S is not run-bounded.
The problem comes from:
• repeated calls to the same service. . .
• every time using fresh values that are directly (or indirectly) obtained
by manipulating previous results produced by the same service.
Weak acycliclity detects these undesired situations.
Marco Montali Verification of Relational DCDSs PODS 2013 22 / 25
unibz.itunibz.it
Conclusions
• Our work is grounded in real-world data-aware processes.
• We study robust conditions for decidability.
no conditions on the structure of the database;
the database changes over time;
suitable restrictions are posed on the process layer.
• Complexity wise, our techniques are exponential in the size of the
initial database.
• However, most often processes change only a small (logarithmic ?)
portion of the entire database.
• Next step: formalize this intuition.
Marco Montali Verification of Relational DCDSs PODS 2013 23 / 25
unibz.itunibz.it
History-Preserving Bisimulation
Given Υ1, Υ2 over = data domains ∆1 and ∆2, with states Σ1 and Σ2. . .
• Is a ternary relation ≈⊆ Σ1 × H × Σ2, connecting pais of states under a bijection
that tracks the history.
• In particular, s1 ≈h s2 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;
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.
• Υ1 ≈ Υ2 if there exists a partial bijection h0 such that s01 ≈h0 s02.
Marco Montali Verification of Relational DCDSs PODS 2013 24 / 25
unibz.itunibz.it
History-Preserving Bisimulation
Given Υ1, Υ2 over = data domains ∆1 and ∆2, with states Σ1 and Σ2. . .
• Is a ternary relation ≈⊆ Σ1 × H × Σ2, connecting pais of states under a bijection
that tracks the history.
• In particular, s1 ≈h s2 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;
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.
• Υ1 ≈ Υ2 if there exists a partial bijection h0 such that s01 ≈h0 s02.
Theorem
If Υ1 ≈ Υ2, then for every µLA closed formula Φ, we have:
Υ1 |= Φ if and only if Υ2 |= Φ.
Marco Montali Verification of Relational DCDSs PODS 2013 24 / 25
unibz.itunibz.it
Persistence-Preserving Bisimulation
Given Υ1, Υ2 over = data domains ∆1 and ∆2, with states Σ1 and Σ2. . .
• It is a ternary relation ∼⊆ Σ1 × H × Σ2, connecting pairs of states under a
bijection that tracks the history of persisting objects.
• In particular, s1 ∼h s2 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 exists an s2 with s2 ⇒2 s2 and a
bijection h that extends h restricted on
adom(db1(s1)) ∩ adom(db1(s1)), such that s1 ∼h s2;
3 for each s2, if s2 ⇒2 s2 then there exists an s1 with s1 ⇒1 s1 and a
bijection h that extends h restricted on
adom(db1(s1)) ∩ adom(db1(s1)), such that s1 ∼h s2.
• Υ1 ∼ Υ2 if there exists a partial bijection h0 such that s01 ∼h0 s02.
Marco Montali Verification of Relational DCDSs PODS 2013 25 / 25
unibz.itunibz.it
Persistence-Preserving Bisimulation
Given Υ1, Υ2 over = data domains ∆1 and ∆2, with states Σ1 and Σ2. . .
• It is a ternary relation ∼⊆ Σ1 × H × Σ2, connecting pairs of states under a
bijection that tracks the history of persisting objects.
• In particular, s1 ∼h s2 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 exists an s2 with s2 ⇒2 s2 and a
bijection h that extends h restricted on
adom(db1(s1)) ∩ adom(db1(s1)), such that s1 ∼h s2;
3 for each s2, if s2 ⇒2 s2 then there exists an s1 with s1 ⇒1 s1 and a
bijection h that extends h restricted on
adom(db1(s1)) ∩ adom(db1(s1)), such that s1 ∼h s2.
• Υ1 ∼ Υ2 if there exists a partial bijection h0 such that s01 ∼h0 s02.
Theorem
If Υ1 ∼ Υ2, then for every µLP closed formula Φ, we have:
Υ1 |= Φ if and only if Υ2 |= Φ.
Marco Montali Verification of Relational DCDSs PODS 2013 25 / 25

More Related Content

Similar to PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems with External Services

CP3_SDM_2010_Souma
CP3_SDM_2010_SoumaCP3_SDM_2010_Souma
CP3_SDM_2010_Souma
MDO_Lab
 
Applying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPKApplying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPK
Jeremy Chen
 
Advanced Econometrics L13-14.pptx
Advanced Econometrics L13-14.pptxAdvanced Econometrics L13-14.pptx
Advanced Econometrics L13-14.pptx
akashayosha
 
Linux capacity planning
Linux capacity planningLinux capacity planning
Linux capacity planning
Francisco Gonçalves
 
Distributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for AgreementsDistributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for Agreements
Miguel Rebollo
 
C*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
C*ollege Credit: CEP Distribtued Processing on Cassandra with StormC*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
C*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
DataStax
 
Data Streaming (in a Nutshell) ... and Spark's window operations
Data Streaming (in a Nutshell) ... and Spark's window operationsData Streaming (in a Nutshell) ... and Spark's window operations
Data Streaming (in a Nutshell) ... and Spark's window operations
Vincenzo Gulisano
 
U1 p2 breakeven analysis
U1 p2 breakeven analysisU1 p2 breakeven analysis
U1 p2 breakeven analysis
gautam buddha university
 
C:\Documents And Settings\User\桌面\Sciece Talk投影片\Science Talk 100111 陸行
C:\Documents And Settings\User\桌面\Sciece Talk投影片\Science Talk 100111 陸行C:\Documents And Settings\User\桌面\Sciece Talk投影片\Science Talk 100111 陸行
C:\Documents And Settings\User\桌面\Sciece Talk投影片\Science Talk 100111 陸行
guestf4730f1
 
Science Talk-100111-陸行
Science Talk-100111-陸行Science Talk-100111-陸行
Science Talk-100111-陸行
nccuscience
 
A new efficient fpga design of residue to-binary converter
A new efficient fpga design of residue to-binary converterA new efficient fpga design of residue to-binary converter
A new efficient fpga design of residue to-binary converter
VLSICS Design
 
Fall 2016 Insurance Case Study – Finance 360Loss ControlLoss.docx
Fall 2016 Insurance Case Study – Finance 360Loss ControlLoss.docxFall 2016 Insurance Case Study – Finance 360Loss ControlLoss.docx
Fall 2016 Insurance Case Study – Finance 360Loss ControlLoss.docx
lmelaine
 
PF_MAO_2010_Souam
PF_MAO_2010_SouamPF_MAO_2010_Souam
PF_MAO_2010_Souam
MDO_Lab
 
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Efficient Re-computation of Big Data Analytics Processes in the Presence of C...
Efficient Re-computation of Big Data Analytics Processes in the Presence of C...Efficient Re-computation of Big Data Analytics Processes in the Presence of C...
Efficient Re-computation of Big Data Analytics Processes in the Presence of C...
Paolo Missier
 
ReComp, the complete story: an invited talk at Cardiff University
ReComp, the complete story:  an invited talk at Cardiff UniversityReComp, the complete story:  an invited talk at Cardiff University
ReComp, the complete story: an invited talk at Cardiff University
Paolo Missier
 
How to valuate and determine standard essential patents
How to valuate and determine standard essential patentsHow to valuate and determine standard essential patents
How to valuate and determine standard essential patents
MIPLM
 
Advanced Digital Design With The Verilog HDL
Advanced Digital Design With The Verilog HDLAdvanced Digital Design With The Verilog HDL
Advanced Digital Design With The Verilog HDL
Tony Lisko
 
Keynote IDEAS 2013 - Peter Boncz
Keynote IDEAS 2013 - Peter BonczKeynote IDEAS 2013 - Peter Boncz
Keynote IDEAS 2013 - Peter Boncz
LDBC council
 

Similar to PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems with External Services (20)

CP3_SDM_2010_Souma
CP3_SDM_2010_SoumaCP3_SDM_2010_Souma
CP3_SDM_2010_Souma
 
Applying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPKApplying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPK
 
Advanced Econometrics L13-14.pptx
Advanced Econometrics L13-14.pptxAdvanced Econometrics L13-14.pptx
Advanced Econometrics L13-14.pptx
 
Linux capacity planning
Linux capacity planningLinux capacity planning
Linux capacity planning
 
Distributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for AgreementsDistributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for Agreements
 
C*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
C*ollege Credit: CEP Distribtued Processing on Cassandra with StormC*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
C*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
 
Data Streaming (in a Nutshell) ... and Spark's window operations
Data Streaming (in a Nutshell) ... and Spark's window operationsData Streaming (in a Nutshell) ... and Spark's window operations
Data Streaming (in a Nutshell) ... and Spark's window operations
 
U1 p2 breakeven analysis
U1 p2 breakeven analysisU1 p2 breakeven analysis
U1 p2 breakeven analysis
 
C:\Documents And Settings\User\桌面\Sciece Talk投影片\Science Talk 100111 陸行
C:\Documents And Settings\User\桌面\Sciece Talk投影片\Science Talk 100111 陸行C:\Documents And Settings\User\桌面\Sciece Talk投影片\Science Talk 100111 陸行
C:\Documents And Settings\User\桌面\Sciece Talk投影片\Science Talk 100111 陸行
 
Science Talk-100111-陸行
Science Talk-100111-陸行Science Talk-100111-陸行
Science Talk-100111-陸行
 
A new efficient fpga design of residue to-binary converter
A new efficient fpga design of residue to-binary converterA new efficient fpga design of residue to-binary converter
A new efficient fpga design of residue to-binary converter
 
Fall 2016 Insurance Case Study – Finance 360Loss ControlLoss.docx
Fall 2016 Insurance Case Study – Finance 360Loss ControlLoss.docxFall 2016 Insurance Case Study – Finance 360Loss ControlLoss.docx
Fall 2016 Insurance Case Study – Finance 360Loss ControlLoss.docx
 
Cost oncept
Cost onceptCost oncept
Cost oncept
 
PF_MAO_2010_Souam
PF_MAO_2010_SouamPF_MAO_2010_Souam
PF_MAO_2010_Souam
 
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
 
Efficient Re-computation of Big Data Analytics Processes in the Presence of C...
Efficient Re-computation of Big Data Analytics Processes in the Presence of C...Efficient Re-computation of Big Data Analytics Processes in the Presence of C...
Efficient Re-computation of Big Data Analytics Processes in the Presence of C...
 
ReComp, the complete story: an invited talk at Cardiff University
ReComp, the complete story:  an invited talk at Cardiff UniversityReComp, the complete story:  an invited talk at Cardiff University
ReComp, the complete story: an invited talk at Cardiff University
 
How to valuate and determine standard essential patents
How to valuate and determine standard essential patentsHow to valuate and determine standard essential patents
How to valuate and determine standard essential patents
 
Advanced Digital Design With The Verilog HDL
Advanced Digital Design With The Verilog HDLAdvanced Digital Design With The Verilog HDL
Advanced Digital Design With The Verilog HDL
 
Keynote IDEAS 2013 - Peter Boncz
Keynote IDEAS 2013 - Peter BonczKeynote IDEAS 2013 - Peter Boncz
Keynote IDEAS 2013 - Peter Boncz
 

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

Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Matjaž Lipuš
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
Howard Spence
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
Vladimir Samoylov
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
IP ServerOne
 
Eureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 PresentationEureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 Presentation
Access Innovations, Inc.
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
Faculty of Medicine And Health Sciences
 
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Orkestra
 
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
OWASP Beja
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 

Recently uploaded (13)

Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
 
Eureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 PresentationEureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 Presentation
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
 
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
 
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
 

PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems with External Services

  • 1. unibz.itunibz.it Verification of Relational Data-Centric Dynamic Systems with External Services Marco Montali Joint work with: B. Bagheri Hariri, D. Calvanese, G. De Giacomo, A. Deutsch KRDB Research Centre for Knowledge and Data Free University of Bozen-Bolzano, Italy PODS 2013 New York, USA Marco Montali Verification of Relational DCDSs PODS 2013 1 / 25
  • 2. unibz.itunibz.it Introduction This talk is about verification of systems merging data and processes. See yesterday’s keynote by Diego Calvanese. Process (Wil van der Aalst) looking at data (Victor Vianu) @BPM 2011 Marco Montali Verification of Relational DCDSs PODS 2013 2 / 25
  • 3. unibz.itunibz.it Introduction Data-Centric Dynamic Systems (DCDSs) An abstract, pristine framework to formally describe processes that manipulate data. • Captures virtually all existing approaches to data-aware processes, such as the artifact-centric paradigm. DCDS Data Layer Process Layer external service external service external service UpdateRead • Data layer: relational database (with constraints). • Process layer: condition-action rules (include service calls that input new data). Marco Montali Verification of Relational DCDSs PODS 2013 3 / 25
  • 4. unibz.itunibz.it DCDS A DCDS S is a pair D, P . Data layer D • Relational schema. • Constraints (equality constraints/domain-independent FOL). • Initial DB. Marco Montali Verification of Relational DCDSs PODS 2013 4 / 25
  • 5. unibz.itunibz.it DCDS A DCDS S is a pair D, P . Data layer D • Relational schema. • Constraints (equality constraints/domain-independent FOL). • Initial DB. Process layer P • Services to introduce new data into the system - results taken from a countably infinite domain. • Actions with parameters, specified in terms of effects that: 1 query the current DB (with UCQs + domain-independent FO filters); 2 transfer the obtained answers, together with service call results, into facts that constitute the new DB. • Declarative description of the process with condition-action rules. Condition: (domain-independent) FO query. Each rule queries the current DB and determines the executability of the corresponding action with params. Marco Montali Verification of Relational DCDSs PODS 2013 4 / 25
  • 6. unibz.itunibz.it An Example: Hotels and Price Conversion Data Layer: Info about hotels and room prices Cur = UserCurrency CH = Hotel, Currency PEntry = Hotel, Price, Date Process Layer/1 User selection of a currency. • Process: true −→ ChooseCur() • Service call for currency selection: uInputCurr() Models user input with non-deterministic behavior: same-argument calls possibly return different values at different time moments. • ChooseCur() : true Cur(uInputCurr()) CH(h, c) CH(h, c) PEntry(h, p, d) PEntry(h, p, d) Marco Montali Verification of Relational DCDSs PODS 2013 5 / 25
  • 7. unibz.itunibz.it An Example: Hotels and Price Conversion Data Layer: Info about hotels and room prices Cur = UserCurrency CH = Hotel, Currency PEntry = Hotel, Price, Date Process Layer/2 Price conversion for a hotel. • Process: Cur(c) ∧ CurHotel(h, ch) ∧ ch = c −→ ApplyConv(h, c) • Service call for currency selection: conv(price, from, to, date) Models historical conversion with deterministic behavior: same-argument calls always return the same value along a run. • ApplyConv(h, c) :   PEntry(h, p, d) ∧ CH(h, cold) ∧ Cur(c) PEntry(h, conv(p, cold, c, d), d) PEntry(h , p, d) ∧ h = h PEntry(h , p, d) CH(h, cold) CH(h, c) CH(h , c ) ∧ h = h CH(h , c ) Cur(c) Cur(c)    Marco Montali Verification of Relational DCDSs PODS 2013 5 / 25
  • 8. unibz.itunibz.it Run HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
  • 9. unibz.itunibz.it Run HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 ChooseCur(): uInputCurr() = ? Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
  • 10. unibz.itunibz.it Run HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Cur usd ChooseCur(): uInputCurr() = usd Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
  • 11. unibz.itunibz.it Run HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Cur usd ChooseCur(): uInputCurr() = usd ApplyConv(h1,usd) ChooseCur() ApplyConv(h2,usd) Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
  • 12. unibz.itunibz.it Run HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Cur usd ChooseCur(): uInputCurr() = usd ApplyConv(h1,usd): conv(95,eur,usd,apr-25) = ? conv(80,eur,usd,sep-18) = ? Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
  • 13. unibz.itunibz.it Run HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Cur usd HC h1 usd h2 eur PEntry h1 115 apr-25 h1 95 sep-18 h2 80 sep-18 Cur usd ChooseCur(): uInputCurr() = usd ApplyConv(h1,usd): conv(95,eur,usd,apr-25) = 115 conv(80,eur,usd,sep-18) = 95 Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
  • 14. unibz.itunibz.it Run HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Cur usd HC h1 usd h2 eur PEntry h1 115 apr-25 h1 95 sep-18 h2 80 sep-18 Cur usd ChooseCur(): uInputCurr() = usd ApplyConv(h1,usd): conv(95,eur,usd,apr-25) = 115 conv(80,eur,usd,sep-18) = 95 ChooseCur() ApplyConv(h2,usd) Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
  • 15. unibz.itunibz.it Run HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Cur usd HC h1 usd h2 eur PEntry h1 115 apr-25 h1 95 sep-18 h2 80 sep-18 Cur usd HC h1 usd h2 usd PEntry h1 115 apr-25 h1 95 sep-18 h2 95 sep-18 Cur usd ChooseCur(): uInputCurr() = usd ApplyConv(h1,usd): conv(95,eur,usd,apr-25) = 115 conv(80,eur,usd,sep-18) = 95 ApplyConv(h2,usd) conv(80,eur,usd,sep-18) = 95 Marco Montali Verification of Relational DCDSs PODS 2013 6 / 25
  • 16. unibz.itunibz.it Execution Semantics Transition system accounting for all possible runs of the DCDS: • States: each linked to a DB - instance of the data layer; • Transitions: legal applications of action+params+service call evals. Action+params: executable according to the process rules. Deterministic services behave consistently with the previous results. We obtain a possibly infinite-state (relational) transition system: • from the initial DB; • by applying transitions in all possible ways. Marco Montali Verification of Relational DCDSs PODS 2013 7 / 25
  • 17. unibz.itunibz.it Sources of Unboundedness/Infinity In general: service calls cause. . . ..... . ..... . . . . • Infinite branching (due to all possible results of service calls). • Infinite runs (usage of values obtained from unboundedly many service calls). • Unbounded DBs (accumulation of such values). HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Cur usd . . . . . . . . . . . . ApplyConv(h1,usd): exchange rate = 1.2 ApplyConv(h1,usd): exchange rate = 1.23 ApplyConv(h1,usd): exchange rate = 1.3 ApplyConv(h1,usd): exchange rate = ... Marco Montali Verification of Relational DCDSs PODS 2013 8 / 25
  • 18. unibz.itunibz.it Verification of DCDSs Verification Given a DCDS S (with transition system ΥS), and a temporal/dynamic property Φ, check whether ΥS |= Φ Requirements for temporal/dynamic properties: • to capture data ; first-order queries; • to capture dynamics ; temporal modalities; • to capture evolution of data ; quantification across states. Marco Montali Verification of Relational DCDSs PODS 2013 9 / 25
  • 19. unibz.itunibz.it Verification of DCDSs Verification Given a DCDS S (with transition system ΥS), and a temporal/dynamic property Φ, check whether ΥS |= Φ Requirements for temporal/dynamic properties: • to capture data ; first-order queries; • to capture dynamics ; temporal modalities; • to capture evolution of data ; quantification across states. Our goal Investigate “robust” conditions on decidability of verification: • for sophisticated branching- and linear-time temporal properties; • exploiting conventional, finite-state model checking via construction of a faithful (sound and complete), finite-state abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 9 / 25
  • 20. unibz.itunibz.it Design Space We employ variants of first-order µ-calculus (µLFO): Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ • Employs fixpoint constructs to express sophisticated properties defined via induction or co-induction. • Subsumes virtually all logics used in verification, such as LTL, CTL, CTL*. PDLLTL CTL µL µLFO Marco Montali Verification of Relational DCDSs PODS 2013 10 / 25
  • 21. unibz.itunibz.it Design Space We employ variants of first-order µ-calculus (µLFO): Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ • Employs fixpoint constructs to express sophisticated properties defined via induction or co-induction. • Subsumes virtually all logics used in verification, such as LTL, CTL, CTL*. PDLLTL CTL µL µLFO Problem 1 Unrestricted first-order quantification: no hope of reducing verification to finite-state model checking. See: ∃x1, . . . , xn. i=j xi = xj ∧ i∈{1,...,n} − Q(xi) ; We need to consider fragments of µLFO with controlled quantification. Marco Montali Verification of Relational DCDSs PODS 2013 10 / 25
  • 22. unibz.itunibz.it Design Space We employ variants of first-order µ-calculus (µLFO): Φ ::= Q | ¬Φ | Φ1 ∧ Φ2 | ∃x.Φ | − Φ | Z | µZ.Φ • Employs fixpoint constructs to express sophisticated properties defined via induction or co-induction. • Subsumes virtually all logics used in verification, such as LTL, CTL, CTL*. PDLLTL CTL µL µLFO Problem 1 Unrestricted first-order quantification: no hope of reducing verification to finite-state model checking. See: ∃x1, . . . , xn. i=j xi = xj ∧ i∈{1,...,n} − Q(xi) ; We need to consider fragments of µLFO with controlled quantification. Problem 2 Verification is undecidable for simple propositional CTL ∩ LTL properties. ; We need to pose restrictions on DCDSs. Marco Montali Verification of Relational DCDSs PODS 2013 10 / 25
  • 23. unibz.itunibz.it History-Preserving µ-calculus (µLA) Active-domain quantification: restricted to those individuals present in the current database. ∃x.Φ ; ∃x.live(x) ∧ Φ where live(x) states that x is present in the current active domain. PDLLTL CTL µL µLA µLFO 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 eventually leading to a graduation of the student (with some final mark y). Marco Montali Verification of Relational DCDSs PODS 2013 11 / 25
  • 24. unibz.itunibz.it Persistence-Preserving µ-calculus (µLP) In some cases, objects maintain their identity only if they persist in the active domain (cf. business artifacts and their IDs). . . . StudId : 123 . . . StudId : 123 . . .dismiss(123) newStud() ID() = 123 Marco Montali Verification of Relational DCDSs PODS 2013 12 / 25
  • 25. unibz.itunibz.it Persistence-Preserving µ-calculus (µLP) In some cases, objects maintain their identity only if they persist in the active domain (cf. business artifacts and their IDs). . . . StudId : 123 . . . StudId : 123 . . .dismiss(123) newStud() ID() = 123 µLP restricts µLA to quantification over persisting objects only, i.e., objects that continue to be live. ∃x.Φ ; ∃x.live(x) ∧ Φ − Φ(x) ; live(x) ∧ − Φ(x) [−]Φ(x) ; live(x) ∧ [−]Φ(x) PDLLTL CTL µL µLP µLA µLFO Marco Montali Verification of Relational DCDSs PODS 2013 12 / 25
  • 26. unibz.itunibz.it Persistence-Preserving µ-calculus (µLP) In some cases, objects maintain their identity only if they persist in the active domain (cf. business artifacts and their IDs). . . . StudId : 123 . . . StudId : 123 . . .dismiss(123) newStud() ID() = 123 µLP restricts µLA to quantification over persisting objects only, i.e., objects that continue to be live. ∃x.Φ ; ∃x.live(x) ∧ Φ − Φ(x) ; live(x) ∧ − Φ(x) [−]Φ(x) ; live(x) ∧ [−]Φ(x) PDLLTL CTL µL µLP µLA µLFO Example (“strong persistence”) ν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. Marco Montali Verification of Relational DCDSs PODS 2013 12 / 25
  • 27. unibz.itunibz.it Persistence-Preserving µ-calculus (µLP) In some cases, objects maintain their identity only if they persist in the active domain (cf. business artifacts and their IDs). . . . StudId : 123 . . . StudId : 123 . . .dismiss(123) newStud() ID() = 123 µLP restricts µLA to quantification over persisting objects only, i.e., objects that continue to be live. ∃x.Φ ; ∃x.live(x) ∧ Φ − Φ(x) ; live(x) ∧ − Φ(x) [−]Φ(x) ; live(x) ∧ [−]Φ(x) PDLLTL CTL µL µLP µLA µLFO Example (“weak persistence”) ν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. Marco Montali Verification of Relational DCDSs PODS 2013 12 / 25
  • 28. unibz.itunibz.it Bisimulations We introduce two novel notions of bisimulation to account for µLA/µLP. History-Preserving Bisimulation Invariant Languages Persistence-Preserving Bisimulation Invariant Languages Propositional Bisimulation Invariant Languages PDLLTL CTL µL µLP µLA µLFO These bisimulation relations capture: • dynamics ; standard notion of bisimulation; • data ; DB isomorphism; • evolution of data ; compatibility of the bijections witnessing the isomorphisms along a run. Marco Montali Verification of Relational DCDSs PODS 2013 13 / 25
  • 29. unibz.itunibz.it Bisimulations History-preserving bisimulation requires each isomorphism to be witnessed by a bijection that extends the bijection used in the previous step. Theorem If Υ1 and Υ2 are history-preserving bisimilar, then for every µLA closed formula Φ, we have: Υ1 |= Φ if and only if Υ2 |= Φ. Marco Montali Verification of Relational DCDSs PODS 2013 14 / 25
  • 30. unibz.itunibz.it Bisimulations History-preserving bisimulation requires each isomorphism to be witnessed by a bijection that extends the bijection used in the previous step. Theorem If Υ1 and Υ2 are history-preserving bisimilar, then for every µLA closed formula Φ, we have: Υ1 |= Φ if and only if Υ2 |= Φ. Persistence-preserving bisimulation requires each isomorphism to be witnessed by a bijection that extends the bijection used in the previous step, restricted only to the persisting objects. Theorem If Υ1 and Υ2 are persistence-preserving bisimilar, then for every µLP closed formula Φ, we have: Υ1 |= Φ if and only if Υ2 |= Φ. Marco Montali Verification of Relational DCDSs PODS 2013 14 / 25
  • 31. unibz.itunibz.it Conditions for DCDSs We devise two conditions over the transition system ΥS of a DCDS S. Run boundedness Each run of ΥS accumulates only a bounded number of objects. • No bound on the overall number of objects: ΥS is still infinite-state, due to infinite branching induced by service calls. • Unboundedly many deterministic service calls can still be issued with a bounded number of inputs. • Only boundedly many nondeterministic service calls can be issued. Marco Montali Verification of Relational DCDSs PODS 2013 15 / 25
  • 32. unibz.itunibz.it Conditions for DCDSs We devise two conditions over the transition system ΥS of a DCDS S. Run boundedness Each run of ΥS accumulates only a bounded number of objects. • No bound on the overall number of objects: ΥS is still infinite-state, due to infinite branching induced by service calls. • Unboundedly many deterministic service calls can still be issued with a bounded number of inputs. • Only boundedly many nondeterministic service calls can be issued. State boundedness Each state of ΥS contains only bounded number of objects. • Relaxation of run-boundedness: unboundedly many objects along a run, provided that they are not accumulated in the same state. • ΥS can contain infinite branches and infinite runs. Marco Montali Verification of Relational DCDSs PODS 2013 15 / 25
  • 33. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 34. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) Unrestricted µLFO U µLA U µLP U µL U D: decidable; U: undecidable; N: no finite abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 35. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) Finite-stateDCDSs Unrestricted Finite-state µLFO U D µLA U D µLP U D µL U D D: decidable; U: undecidable; N: no finite abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 36. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) Finite-stateDCDSs Finite-range DCDSs Unrestricted Finite-state µLFO U D µLA U D µLP U D µL U D D: decidable; U: undecidable; N: no finite abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 37. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) Run-boundedDCDSs Finite-stateDCDSs Finite-range DCDSs Unrestricted Run-bounded Finite-state µLFO U N D µLA U D D µLP U D D µL U D D D: decidable; U: undecidable; N: no finite abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 38. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) Run-boundedDCDSs Finite-stateDCDSs Weakly-acyclic DCDSs with det. services Finite-range DCDSs Unrestricted Run-bounded Finite-state µLFO U N D µLA U D D µLP U D D µL U D D D: decidable; U: undecidable; N: no finite abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 39. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) State-boundedDCDSs Run-boundedDCDSs Finite-stateDCDSs Weakly-acyclic DCDSs with det. services Finite-range DCDSs Unrestricted State-bounded Run-bounded Finite-state µLFO U U N D µLA U U D D µLP U D D D µL U D D D D: decidable; U: undecidable; N: no finite abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 40. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) State-boundedDCDSs Run-boundedDCDSs Finite-stateDCDSs GR-acyclic DCDSs Weakly-acyclic DCDSs with det. services Finite-range DCDSs Unrestricted State-bounded Run-bounded Finite-state µLFO U U N D µLA U U D D µLP U D D D µL U D D D D: decidable; U: undecidable; N: no finite abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 41. unibz.itunibz.it Summary of ResultsUnrestrictedDCDSs(Turingcomplete) State-boundedDCDSs Run-boundedDCDSs Finite-stateDCDSs GR+-acyclic DCDSs GR-acyclic DCDSs Weakly-acyclic DCDSs with det. services Finite-range DCDSs Unrestricted State-bounded Run-bounded Finite-state µLFO U U N D µLA U U D D µLP U D D D µL U D D D D: decidable; U: undecidable; N: no finite abstraction. Marco Montali Verification of Relational DCDSs PODS 2013 16 / 25
  • 42. unibz.itunibz.it Run-Bounded Systems: Decidability for µLA Theorem Verification of µLA over run-bounded DCDSs is decidable and can be reduced to model checking of propositional µL over a finite TS. Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite branching. .. . .. . .. . .. . . . . Marco Montali Verification of Relational DCDSs PODS 2013 17 / 25
  • 43. unibz.itunibz.it Run-Bounded Systems: Decidability for µLA Theorem Verification of µLA over run-bounded DCDSs is decidable and can be reduced to model checking of propositional µL over a finite TS. Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite branching. • We use isomorphic types instead of actual service call results. .. . .. . .. . .. . . . . ≈ representatives for all isomorphic types Marco Montali Verification of Relational DCDSs PODS 2013 17 / 25
  • 44. unibz.itunibz.it State-bounded Systems: Undecidability for µLA Theorem Verification of µLA over state-bounded DCDSs is undecidable. Intuition: µLA can use quantification to store and compare the unboundedly many values encountered along the runs. Crux: reduction from satisfiability of LTL with freeze quantifiers. • µLA can express LTL with freeze quantifier by making registers explicit. • There is a state-bounded DCDS that simulates all the possible traces with register assignments (i.e., data words). • Satisfiability via model checking. Marco Montali Verification of Relational DCDSs PODS 2013 18 / 25
  • 45. unibz.itunibz.it State-bounded Systems: Decidability for µLP Theorem Verification of µLP over state-bounded DCDSs is decidable and can be reduced to model checking of propositional µ-calculus over a finite transition system. Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite branching and compacting infinite runs. 1 Prune infinite branching (isomorphic types). ..... . ..... . ..... . ..... . . . . Marco Montali Verification of Relational DCDSs PODS 2013 19 / 25
  • 46. unibz.itunibz.it State-bounded Systems: Decidability for µLP Theorem Verification of µLP over state-bounded DCDSs is decidable and can be reduced to model checking of propositional µ-calculus over a finite transition system. Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite branching and compacting infinite runs. 1 Prune infinite branching (isomorphic types). ..... . ..... . ..... . ..... . . . . ∼ representatives for isomorphic types Marco Montali Verification of Relational DCDSs PODS 2013 19 / 25
  • 47. unibz.itunibz.it State-bounded Systems: Decidability for µLP Theorem Verification of µLP over state-bounded DCDSs is decidable and can be reduced to model checking of propositional µ-calculus over a finite transition system. Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite branching and compacting infinite runs. 1 Prune infinite branching (isomorphic types). ..... . ..... . ..... . Marco Montali Verification of Relational DCDSs PODS 2013 19 / 25
  • 48. unibz.itunibz.it State-bounded Systems: Decidability for µLP Theorem Verification of µLP over state-bounded DCDSs is decidable and can be reduced to model checking of propositional µ-calculus over a finite transition system. Crux: construct a faithful abstraction ΘS for ΥS, collapsing infinite branching and compacting infinite runs. 1 Prune infinite branching (isomorphic types). 2 Finite abstraction along the runs: Recycle old, non-persisting objects instead of inventing new ones. .. . .. . .. . Marco Montali Verification of Relational DCDSs PODS 2013 19 / 25
  • 49. unibz.itunibz.it Sufficient Syntactic Conditions State- and run-boundedness are semantic conditions. We show they are undecidable to check. We then introduce two incomparable sufficient syntactic conditions: • Weak acyclicity (cf. data exchange), to check whether a DCDS with deterministic services is run-bounded. • Generate-recall acyclicity, to check whether a DCDS is state-bounded. Both conditions are checked against a dependency graph that abstracts the data-flow of the DCDS process layer. Marco Montali Verification of Relational DCDSs PODS 2013 20 / 25
  • 50. unibz.itunibz.it Sufficient Syntactic Conditions - Example 1 Example Consider a DCDS S with process {true −→ α()}, action α() :    P(x) P(x) P(x) Q(f (x)) Q(x) Q(x)    P,1 Q,1* Consider nondeterministic service calls. S is not state-bounded. The problem comes from the interplay between: • a generate cycle that continuously feeds a path issuing service calls; • a recall cycle that accumulates the obtained results. • (+ the fact that both cycles are active at the same time) GR-acycliclity detects exactly these undesired situations. Marco Montali Verification of Relational DCDSs PODS 2013 21 / 25
  • 51. unibz.itunibz.it Sufficient Syntactic Conditions - Example 2 Example Consider a DCDS S with process {true −→ α(), true −→ β()}, actions α() : {P(x) Q(f (x))} β() : {Q(x) P(x)} P,1 Q,1 * Consider deterministic service calls. S is not run-bounded. The problem comes from: • repeated calls to the same service. . . • every time using fresh values that are directly (or indirectly) obtained by manipulating previous results produced by the same service. Weak acycliclity detects these undesired situations. Marco Montali Verification of Relational DCDSs PODS 2013 22 / 25
  • 52. unibz.itunibz.it Conclusions • Our work is grounded in real-world data-aware processes. • We study robust conditions for decidability. no conditions on the structure of the database; the database changes over time; suitable restrictions are posed on the process layer. • Complexity wise, our techniques are exponential in the size of the initial database. • However, most often processes change only a small (logarithmic ?) portion of the entire database. • Next step: formalize this intuition. Marco Montali Verification of Relational DCDSs PODS 2013 23 / 25
  • 53. unibz.itunibz.it History-Preserving Bisimulation Given Υ1, Υ2 over = data domains ∆1 and ∆2, with states Σ1 and Σ2. . . • Is a ternary relation ≈⊆ Σ1 × H × Σ2, connecting pais of states under a bijection that tracks the history. • In particular, s1 ≈h s2 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; 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. • Υ1 ≈ Υ2 if there exists a partial bijection h0 such that s01 ≈h0 s02. Marco Montali Verification of Relational DCDSs PODS 2013 24 / 25
  • 54. unibz.itunibz.it History-Preserving Bisimulation Given Υ1, Υ2 over = data domains ∆1 and ∆2, with states Σ1 and Σ2. . . • Is a ternary relation ≈⊆ Σ1 × H × Σ2, connecting pais of states under a bijection that tracks the history. • In particular, s1 ≈h s2 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; 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. • Υ1 ≈ Υ2 if there exists a partial bijection h0 such that s01 ≈h0 s02. Theorem If Υ1 ≈ Υ2, then for every µLA closed formula Φ, we have: Υ1 |= Φ if and only if Υ2 |= Φ. Marco Montali Verification of Relational DCDSs PODS 2013 24 / 25
  • 55. unibz.itunibz.it Persistence-Preserving Bisimulation Given Υ1, Υ2 over = data domains ∆1 and ∆2, with states Σ1 and Σ2. . . • It is a ternary relation ∼⊆ Σ1 × H × Σ2, connecting pairs of states under a bijection that tracks the history of persisting objects. • In particular, s1 ∼h s2 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 exists an s2 with s2 ⇒2 s2 and a bijection h that extends h restricted on adom(db1(s1)) ∩ adom(db1(s1)), such that s1 ∼h s2; 3 for each s2, if s2 ⇒2 s2 then there exists an s1 with s1 ⇒1 s1 and a bijection h that extends h restricted on adom(db1(s1)) ∩ adom(db1(s1)), such that s1 ∼h s2. • Υ1 ∼ Υ2 if there exists a partial bijection h0 such that s01 ∼h0 s02. Marco Montali Verification of Relational DCDSs PODS 2013 25 / 25
  • 56. unibz.itunibz.it Persistence-Preserving Bisimulation Given Υ1, Υ2 over = data domains ∆1 and ∆2, with states Σ1 and Σ2. . . • It is a ternary relation ∼⊆ Σ1 × H × Σ2, connecting pairs of states under a bijection that tracks the history of persisting objects. • In particular, s1 ∼h s2 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 exists an s2 with s2 ⇒2 s2 and a bijection h that extends h restricted on adom(db1(s1)) ∩ adom(db1(s1)), such that s1 ∼h s2; 3 for each s2, if s2 ⇒2 s2 then there exists an s1 with s1 ⇒1 s1 and a bijection h that extends h restricted on adom(db1(s1)) ∩ adom(db1(s1)), such that s1 ∼h s2. • Υ1 ∼ Υ2 if there exists a partial bijection h0 such that s01 ∼h0 s02. Theorem If Υ1 ∼ Υ2, then for every µLP closed formula Φ, we have: Υ1 |= Φ if and only if Υ2 |= Φ. Marco Montali Verification of Relational DCDSs PODS 2013 25 / 25