Verification of Data-Centric Dynamic Systems Diego Calvanese Joint - - PowerPoint PPT Presentation
Verification of Data-Centric Dynamic Systems Diego Calvanese Joint - - PowerPoint PPT Presentation
Verification of Data-Centric Dynamic Systems Diego Calvanese Joint work with: B. Bagheri Hariri, G. De Giacomo, A. Deutsch, M. Montali KRDB Research Centre for Knowledge and Data Free University of Bozen-Bolzano, Italy Currently on sabbatical
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Outline
1
Combining static and dynamic aspects
2
Data-Centric Dynamic Systems
3
Semantics of DCDS
4
Verification
5
Run-boundedness
6
State-boundedness
7
Conclusions
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (1/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Outline
1
Combining static and dynamic aspects
2
Data-Centric Dynamic Systems
3
Semantics of DCDS
4
Verification
5
Run-boundedness
6
State-boundedness
7
Conclusions
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (2/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Combining static and dynamic aspects: Artifacts
Artifacts are a sort of middle ground between a conceptual formalization of a dynamic system and an actual implementation of the system itself. Artifacts systems are characterized by: Information model: takes into account the structural properties. Process: takes into account the dynamic properties.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (3/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
The problem: reasoning on dynamic entities carrying data
We need to decide whether dynamic/temporal properties of interest hold over the life of such systems: Verification of temporal formulas. Checking dominance/simulation/bisimulation/containment properties. Automated composition of artifacts-based systems. Automated process synthesis from dynamic/temporal specifications. Note: Currently (i.e., 2010’s), the scientific community is quite good at each of these, but only in a finite state setting!
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (4/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
The problem: reasoning on dynamic entities carrying data
Information model affects the number of different states of the system. Presence of data makes the systems potentially infinite-state. Usual techniques, e.g., model checking, used for finite-state systems don’t work off-the-shelf. We aim at exploring suitable representation formalisms: that are expressive enough some real life scenarios; should admit decidability of reasoning.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (5/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
A solution for reasoning on dynamic entities carrying data
We make use of contribution coming from different areas: work on data integration and data exchange that advocate a semantic view
- f the data ← Databases;
work on data access and update through ontologies and description logics ← KR and Databases; work in reasoning about actions formalize dynamic systems using logics ← KR and AI; nice results for verification/dominance/composition/synthesis available for finite-state systems. ← Formal Methods. Key idea Work by Fagin & Kolaitis (IBM Almaden) and others on the use of data dependency theory for data exchange (Databases) can be seen as talking about actions effects (KR and AI). Finite chase ← → Finite state system We devise a reduction to reasoning on finite state systems.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (6/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Outline
1
Combining static and dynamic aspects
2
Data-Centric Dynamic Systems
3
Semantics of DCDS
4
Verification
5
Run-boundedness
6
State-boundedness
7
Conclusions
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (7/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Data-Centric Dynamic Systems
We consider systems where the process controlling the dynamics and the manipulated data are equally central: Provides a general, abstract framework. Artifact-centric systems are a special case of DCDSs. Two key components: Data Layer: holds the relevant information to be manipulated Process Layer:
Atomic actions: access and update data. Process: finite state control over conditional action invocation. External service calls: to communicate with the external environment (other systems, user choices, . . . ), possibly acquiring new data objects.
DCDS
Process Layer
service service service
Data Layer
Environment
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (8/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Data Layer
Represents the information of interest in our application. We focus on relational data. The data layer 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, i.e. a set of relation schemas. E is a finite set of equality constraints Qi →
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). Note: we could generalize to denials and arbitrary constraints!
I0 is a database instance representing the initial state of the data layer:
It conforms to the database schema R. It satisfies the constraints E: for each constraint Qi →
j=1,...,k zij = yij
and for each tuple θ ∈ ans(Qi, I0), zijθ = yijθ.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (9/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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. Parallelism 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 atomic actions; ̺ is a finite set of condition-action rules forming the specification of the
- verall process.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (10/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Actions
An action is constituted by: a name; a list x of input parameters (to be substituted by individuals/constants); a set {e1( x), . . . , en( x)} of effects, which are assumed to take place simultaneously when the action is executed. Each effect ei( x) has the form q+
i (
x, y) ∧ Q−
i (
x, y) Ei( x, y) where: q+
i (
x, y) ∧ Q−
i (
x, y) is a query over R and constants of adom(I0):
q+
i is a UCQ over R that acts as a selector of data of interest.
Q−
i is a FOL query that acts as a filter (i.e., the free variables of Q− i are
included in those of q+
i ).
Note: the query may include some of the input parameters x as terms.
Ei is a set of facts over R, which may include as terms:
constants in adom(I0), parameters x and other free variables y of q+
i , and
functions calls that formalize calls to (atomic) external services. These calls may introduce new values in the data maintained by the DCDS!
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (11/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Outline
1
Combining static and dynamic aspects
2
Data-Centric Dynamic Systems
3
Semantics of DCDS
4
Verification
5
Run-boundedness
6
State-boundedness
7
Conclusions
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (12/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Process and action execution
The process is a finite set of condition-action rules Q( x) → α( x), where: α( x) is an action in A with parameters ( x); Q( x) is a FO query over R with free variables x, whose other terms can be either quantified variables or constants in adom(I0). To execute an action α( x) in state s according to Q( x) → α( x):
1
evaluate Q( x) over db(s), and if the result is non-empty, then α( x) is executable;
2
among the returned tuples choose a parameters assignment σ for x;
3
ασ is executed: for each effect q+
i ∧ Q− i Ei
1
(q+
i ∧ Q− i )σ is evaluated over db(s), getting variables assignments
θ1, . . . , θn;
2
for each θi, the grounded facts Eiθi are obtained;
3
all service calls contained in Eiθi are issued;
4
the next state is obtained by asserting each Eiθi after the inclusion of all service call results.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (13/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
DCDS: Example
Data Layer
Schema
Customer In Debt Customer Gold Customer Loan
closed
- wes
peer
Instance
Cust(ann) peer(mark, john) Gold(john)
- wes(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)}
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (14/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Transition systems
Semantics of a DCDS is given in terms of a 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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (15/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Construction of ΥS
1
Start from s0 = I0, ∅ ∈ Σ.
2
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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (16/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Deterministic vs. non-deterministic services
We distinguish between two different semantics for service-execution: Deterministic services semantics Along the same run, when the same service is invoked again with the same arguments, it returns the same result as in the previous call. Are used to model an environment whose behavior is completely determined by the parameters. Example: temperature, given the location and the date and time Non-deterministic services semantics Along the same run, when the same service is invoked again with the same arguments, it may return a different value than in the previous call. Are used to model: an environment whose behavior is determined by parameters that are
- utside the control of the system;
input of external users, whose choices depend on external factors. Example: current temperature, given the location
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (17/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (18/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Deterministic services semantics – Via transition systems
P(x) P(x) ∧ Q(f(x), g(x)) Q(a, a) ∧ P(x) R(x), I = {P(a), Q(a, a)}
P(a) Q(a,a) 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)→b g(a)→b P(a) R(a) Q(b,b) 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) . . .
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (19/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Outline
1
Combining static and dynamic aspects
2
Data-Centric Dynamic Systems
3
Semantics of DCDS
4
Verification
5
Run-boundedness
6
State-boundedness
7
Conclusions
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (20/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Verification
For a DCDS S, action execution starting from the initial state according to the process gives rise to a transition system ΥS. We are interested in the verification of temporal properties over ΥS. Problem: ΥS is in general infinite state . . . since the calls to external services inject new data values into the system: Unbounded number of new values. Size of the database in each state is not bounded a priori. Idea:
1
Devise a finite-state transition system ΘS that is a faithful abstraction
- f ΥS independent of the formula to verify.
2
Reduce the verification problem ΥS | = Φ to the verification of ΘS | = Φ.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (21/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Verification: Procedure
To verify temporal properties over a DCDS S we proceed as follows:
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
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (22/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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 PDL LTL CTL µL µLFO µLA µLP
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (23/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Outline
1
Combining static and dynamic aspects
2
Data-Centric Dynamic Systems
3
Semantics of DCDS
4
Verification
5
Run-boundedness
6
State-boundedness
7
Conclusions
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (24/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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).
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (25/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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 s′
1, if s1 ⇒1 s′ 1 then there is an s′ 2 with s2 ⇒2 s′ 2 and a bijection
h′ that extends h, such that s′
1, h′, s′ 2 ∈ B;
3
for each s′
2, if s2 ⇒2 s′ 2 then there is an s′ 1 with s1 ⇒1 s′ 1 and a bijection
h′ that extends h, such that s′
1, h′, s′ 2 ∈ 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 | = Φ.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (26/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
(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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (27/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (28/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Outline
1
Combining static and dynamic aspects
2
Data-Centric Dynamic Systems
3
Semantics of DCDS
4
Verification
5
Run-boundedness
6
State-boundedness
7
Conclusions
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (29/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (30/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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 untileither x does not persist,
- r she eventually graduates.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (31/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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 s′
1, if s1 ⇒1 s′ 1 then there exists an s′ 2 with s2 ⇒2 s′ 2 and a
bijection h′ that extends h|adom(db1(s1))∩adom(db1(s′
1)), such that
s′
1, h′, s′ 2 ∈ B;
3
for each s′
2, if s2 ⇒2 s′ 2 then there exists an s′ 1 with s1 ⇒1 s′ 1 and a
bijection h′ that extends h|adom(db1(s1))∩adom(db1(s′
1)), such that
s′
1, h′, s′ 2 ∈ 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 | = Φ.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (32/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (33/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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
- f propositional µ-calculus over a finite transition system.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (34/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (35/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (36/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (37/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Outline
1
Combining static and dynamic aspects
2
Data-Centric Dynamic Systems
3
Semantics of DCDS
4
Verification
5
Run-boundedness
6
State-boundedness
7
Conclusions
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (38/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
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 Main Contribution A way to mix data and process that is robust: expressive data representation formalism: relational databases; full fledged verification logic: variants of FO mu-calculus; not too restrictive conditions for decidability: weak acyclicity / generate-recall acyclicity.
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (39/40)
unibz.it unibz.it
Static and dynamic aspects DCDSs Semantics of DCDS Verification Run-boundedness State-boundedness Conclusions
Ongoing and future work
Consider various settings with incomplete information:
the data is directly represented through an ontology; an ontology-layer is built on top of the data layer, and connected to it through mappings (OBDA). Major challenge: propagation of updates done at the ontology-level to the relational level; the system deals with inconsistency with respect to the ontological constraints;
Generalize syntactic conditions for run-boundedness and state-boundedness. Establish relationship to other popular models for representing processes and data, and carry over decidability results. These topics are currently being explored in the EU FP7 Project ACSI (Artifact Centric Service Interoperation).
Diego Calvanese (FUB) Verification of DCDSs EPCL BTC – 10–21/12/2012 (40/40)