Slides

Parametric Verification of Weighted Systems
April 11, 2015
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T.
Ringsmose, Kim G. Larsen & Radu Mardare
Department of Computer Science
Aalborg University
Denmark
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Motivation
In recent time a lot of effort have been put into capturing important characteristics
of real world systems in various modeling formalisms:
I
Time: timed automata, timed CCS.
I
Uncertainty: probabilistic systems based on markov chains.
I
Costs and resources: weighted systems.
Each modeling formalism is associated with specification languages to verify
requirements.
1
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Motivation
Another important characteristic, usually neglected, is that of incomplete
information:
I
Models containing guesses and estimations for time usage, cost and
probabilistic behavior.
I
Difficult verification of properties as it depend on the inaccurate model.
2
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Related Work
Our work is inspired by:
I
Parametric Kripke Structure and Parametric CTL by Sathawornwichit et al.
I
Symbolic Dependency Graphs by Jensen et al.
3
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Contribution
Based on parametric extensions to weighted transition systems and weighted CTL
we:
I
Define Parametric Dependency Graphs (PDGs) to structurally represent
dependencies.
I
Show how to compute minimal fixed points of assignments to nodes in a PDG
in a finite number of steps.
I
Prove that computing the fixed points solves the model checking problem.
Finally, we have implemented a web-based prototype tool deriving parameter
constraints (pvtool.dk).
4
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Parameters
5
We allow linear expressions over parameters to be used as transition weights and
as upper bounds on path formulae.
Model
{b}
Formula
p + 2q
m
m’
{a}
A>U≤p a
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Parameters
5
We allow linear expressions over parameters to be used as transition weights and
as upper bounds on path formulae.
Model
{b}
Formula
p + 2q
m
m’
{a}
A>U≤p a
This changes the model checking problem into a problem of finding good
parameter values.
Model checking
m satisfies A>U≤p a
if p + 2q ≤ p.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Interpretations
6
We assume a finite set of parameters P and linear expressions in parameters.
Interpretations
i : P −→ N
Interpretations are extended to linear expressions in parameters i.e
if i(p) = 5 and i(q) = 7 then
i(2p + 5q + 1) = 46
The set of all linear expressions is denoted by E.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Parametric Weighted Transition System
7
Definition
A Parametric Weighted Transition System (PTS) M is a triple
M = (M, →
− , `), where
I
M is a finite non-empty set of states.
I
→
− ⊆ M × E × M is the transition relation.
I
` : M −→ 2AP is a labeling function mapping states in M to a set of
atomic propositions
room 1
p + 2q
{ready,clean}
{dirty}
c1
charger 1
q
2
room 2
room 3
p
1
{dirty}
{dirty}
1
{clean}
2
room 4
charger 2
q
{dirty}
{done}
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Parametric Weighted CTL
8
We extend weighted CTL with upper bound parametric constraints:
Definition
The set of PTL state formulae are given by the abstract syntax:
Φ, Ψ ::= > | ⊥ | a | Φ ∧ Ψ | Φ ∨ Ψ | Eϕ | Aϕ
and the set of PTL path formulae are given by the abstract syntax:
ϕ ::= X≤e Φ | ΦU≤e Ψ
where a ∈ AP and e ∈ E.
ρ = m0 e1 m1 · · · ej mj · · ·
Φ
|
Φ
{z
≤e
Ψ
}
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Dependency Graphs
9
Intuition
Dependency graphs are traditionally used to encode dependencies between
properties, where the structure of the graph can be seen as a graphical
representation of a formula’s semantics.
Example
{a, b} m0
2
{a, c} m1
hm0 , a ∨ bi
3
m2
{b, c}
=⇒
hm0 , ai
hm0 , bi
M, m0 |= a ∨ b
Either disjunct must be satisfied, represented by two hyper-edges: one for each
disjunct.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Dependency Graphs
10
Intuition
Dependency graphs are traditionally used to encode dependencies between
properties, where the structure of the graph can be seen as a graphical
representation of a formula’s semantics.
Example
{a, b} m0
2
{a, c} m1
hm0 , a ∧ bi
3
m2
{b, c}
=⇒
hm0 , ai
hm0 , bi
M, m0 |= a ∧ b
Both conjuncts must be satisfied, represented by a single hyper-edge going to
both conjuncts.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Symbolic Dependency Graphs
11
Intuition
Symbolic dependency graphs can be used as an abstraction of problems of
problems with quantitative dependencies.
Example
hm0 , AX≤5 ci
{a, b} m0
2
{a, c} m1
5
3
m2
M, m0 |= AX≤5 c
{b, c}
=⇒
hm0 , AXci
2
hm1 , ci
3
hm2 , ci
The bound is abstracted away by the cover-edge.
The minimal cost of satisfying the (unbounded) formula is accumulated at the
node below the cover-edge and checked against the cover-edge weight.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Parametric Dependency Graphs
12
Intuition
We propose a parametric extension to symbolic dependency graphs called
parametric dependency graphs that allows linear expressions involving
parameters as weights.
Example
hm0 , AX≤r ci
{a, b} m0
5+p
{a, c} m1
r
2q
m2
{b, c}
=⇒
hm0 , AXci
5+p
M, m0 |= AX≤r c
hm1 , ci
2q
hm2 , ci
Besides allowing linear expressions involving parameters, parametric dependency
graphs works just like symbolic dependency graphs.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Parametric Dependency Graphs
13
Definition
Definition
A Parametric Dependency Graph (PDG) is a tuple G = (N, H, C), where
I
N is a finite set of nodes,
I
H ⊆ N × 2E×N is a finite set of hyper-edges and
I
C ⊆ N × E × N is a finite set of cover-edges
Example
Whenever (n, T ) ∈ H we refer to n as the
source node and T as the target-set.
hm0 , AX≤5 ci
5
n0
For each
∈ T we refer to
target-node, or simply target.
n0
as a
hm0 , AXci
5+p
hm1 , ci
2q
hm2 , ci
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Assignments
14
Definition
We use assignments to encode the parametric cost of reaching a truth value in the
PDG.
Definition
Given a PDG G = (N, H, C), an assignment
A : N −→ (I −→ N ∪ {∞})
on G is a mapping from each node n ∈ N to a function that, given a parameter
interpretation, yields a natural number or ∞.
We denote the set of all assignments A.
We use 0 to represent “good” values, i.e. satisfiable, and ∞ to represent “bad”
values, i.e. non-satisfiable.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Assignments
15
Ordering
Definition
(A, v) is a poset such that for A1 , A2 ∈ A:
A1 v A2
iff ∀n ∈ N ∀i ∈ I : A1 (n)(i) ≥ A2 (n)(i)
A∞ denotes the assignment that maps to node a function that assigns the value ∞
regardless of parameter interpretations, i.e.
∀n ∈ N ∀i ∈ I : A∞ (n)(i) = ∞
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Assignments
15
Ordering
Definition
(A, v) is a poset such that for A1 , A2 ∈ A:
A1 v A2
iff ∀n ∈ N ∀i ∈ I : A1 (n)(i) ≥ A2 (n)(i)
A∞ denotes the assignment that maps to node a function that assigns the value ∞
regardless of parameter interpretations, i.e.
∀n ∈ N ∀i ∈ I : A∞ (n)(i) = ∞
(A, v) constitutes a complete lattice with A∞ as bottom element.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Understanding Assignments
6
m00
m
16
hm, EX≤7 ai
4
m0
hm, AX≤7 ai
7
{a}
7
hm, EXai
6
4
hm0 , ai
∅
hm00 , ai
hm, AXai
6
4
hm0 , ai
∅
hm00 , ai
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Understanding Assignments
6
m00
m
17
hm, EX≤7 ai
4
m0
hm, AX≤7 ai
7
{a}
7
hm, EXai
6
4
0 hm0 , ai
∅
∞ hm00 , ai
hm, AXai
6
4
0 hm0 , ai
∅
∞ hm00 , ai
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Understanding Assignments
6
m00
m
18
hm, EX≤7 ai
4
m0
hm, AX≤7 ai
7
{a}
7
hm, EXai min{4, 6 + ∞}
6
4
0 hm0 , ai
∅
∞ hm00 , ai
hm, AXai max{4, 6 + ∞}
6
4
0 hm0 , ai
∅
∞ hm00 , ai
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Understanding Assignments
6
m00
m
4
m0
19
hm, EX≤7 ai 0
hm, AX≤7 ai ∞
7
7
{a}
hm, EXai min{4, 6 + ∞}
6
4
0 hm0 , ai
∅
∞ hm00 , ai
hm, AXai max{4, 6 + ∞}
6
4
0 hm0 , ai
∅
∞ hm00 , ai
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
20
Updating assignments
A global update function iteratively updates the PDG node assignments.
Let min{∅} = ∞ and max{∅} = 0.
Definition
Given a PDG G = (N, H, C), F : A −→ A is a function that given an assignment on G produces a new assignment on G, defined as follows:
(

0 if A(n0 )(i) ≤ i(e)

e


if n 99K n0

 ∞ otherwise
F (A)(n)(i) =





{A(n0 )(i) + i(e)}} otherwise
 min { max
0
(n,T )∈H (e,n )∈T
We let F i (A) denote i repeated applications of F on A.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
21
Example
We encode the model checking problem, M, m0 |= AX≤r c in a PDG.
Example
1 hm0 , AX≤r ci
r
{a, b} m0
5+p
{a, c} m1
2 hm0 , AXci
2q
m2
{b, c}
=⇒
5+p
3 hm1 , ci
2q
hm2 , ci 4
M, m0 |= AX≤r c
∅
∅
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
22
Example
By iteratively applying F on A∞ we compute the fixed point assignment Amin .
Example
n
A∞
1
∞
2
∞
3
∞
4
∞
1 hm0 , AX≤5 ci
r
2 hm0 , AXci
5+p
3 hm1 , ci
∅
2q
hm2 , ci 4
∅
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
22
Example
By iteratively applying F on A∞ we compute the fixed point assignment Amin .
Example
n
A∞
F (A∞ )
1
∞
(
0
if ∞ ≤ r
∞ otherwise
2
∞
3
∞
4
∞
∞
0
0
1 hm0 , AX≤5 ci
r
2 hm0 , AXci
5+p
3 hm1 , ci
∅
2q
hm2 , ci 4
∅
In the first iteration, only nodes with a hyper edge going to an empty target-set
gets updated (nodes 3 and 4).
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
22
Example
By iteratively applying F on A∞ we compute the fixed point assignment Amin .
Example
n
A∞
F (A∞ )
F 2 (A∞ )
1
∞
(
0
if ∞ ≤ r
∞ otherwise
(
0 if ∞ ≤ r
∞ otherwise
2
∞
3
∞
4
∞
∞
0
0
max{5 + p, 2q}
0
0
1 hm0 , AX≤5 ci
r
2 hm0 , AXci
5+p
2q
3 hm1 , ci
∅
In the next iteration, node 2 is updated as it depends on nodes 3 and 4.
hm2 , ci 4
∅
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
22
Example
By iteratively applying F on A∞ we compute the fixed point assignment Amin .
Example
n
A∞
F (A∞ )
F 2 (A∞ )
F
3
(A∞ )
1
∞
(
0
if ∞ ≤ r
∞ otherwise
(
0 if ∞ ≤ r
∞ otherwise
(
0 if max{5 + p, 2q} ≤ r
∞ otherwise
2
∞
3
∞
4
∞
∞
0
0
max{5 + p, 2q}
0
0
1 hm0 , AX≤5 ci
r
2 hm0 , AXci
max{5 + p, 2q}
0
0
5+p
3 hm1 , ci
∅
2q
hm2 , ci 4
∅
Now we have a weight to compare against the bound on the cover-edge, so node
1 gets updated.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
22
Example
By iteratively applying F on A∞ we compute the fixed point assignment Amin .
Example
n
A∞
F (A∞ )
F 2 (A∞ )
F
3
(A∞ )
F 4 (A∞ )
1
∞
(
0
if ∞ ≤ r
∞ otherwise
(
0 if ∞ ≤ r
∞ otherwise
(
0 if max{5 + p, 2q} ≤ r
∞ otherwise
(
0 if max{5 + p, 2q} ≤ r
∞ otherwise
2
∞
3
∞
4
∞
∞
0
0
max{5 + p, 2q}
0
0
1 hm0 , AX≤5 ci
r
2 hm0 , AXci
max{5 + p, 2q}
0
0
max{5 + p, 2q}
0
0
5+p
3 hm1 , ci
∅
2q
hm2 , ci 4
∅
We see that the assignment doesn’t change, and as such a fixed point has been
reached.
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
22
Example
By iteratively applying F on A∞ we compute the fixed point assignment Amin .
Example
n
A∞
F (A∞ )
F 2 (A∞ )
F 3 (A∞ )
F 4 (A∞ )
1
∞
(
0
if ∞ ≤ r
∞ otherwise
(
0 if ∞ ≤ r
∞ otherwise
(
0 if max{5 + p, 2q} ≤ r
∞ otherwise
(
0 if max{5 + p, 2q} ≤ r
∞ otherwise
2
∞
3
∞
4
∞
∞
0
0
max{5 + p, 2q}
0
0
1 hm0 , AX≤5 ci
r
2 hm0 , AXci
max{5 + p, 2q}
0
0
max{5 + p, 2q}
0
0
5+p
3 hm1 , ci
∅
max{5 + p, 2q} ≤ r =⇒ (5 + p ≤ r ) ∧ (2q ≤ r )
2q
hm2 , ci 4
∅
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Model Checking
Fixed point assignments
Lemma
The update function F is monotone on the complete lattice (A, v).
According to Tarski’s Fixed Point Theorem, F must have unique minimal fixed
point which we denote Amin .
Theorem
There exists a natural number i such that Amin = F i (A∞ ).
Termination is guaranteed by the fact that assignments consitute a well-quasi
-ordering and therefore cannot exist infinite antichains.
23
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Prototype Tool
PVTool
As a proof of concept of the method for model checking of PTL on PTS
presented in this work we have implemented a tool on pvtool.dk
24
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Conclusion
We have developed an algorithm for computing minimal fixed points on PDGs and
show that our technique can be used to:
I
Solve model checking using parametric weighted CTL with upper-bound
constraints.
Tool support and preliminary experiments were made to asses the feasibility of our
approach.
25
Peter Christoffersen, Mikkel Hansen, Anders Mariegaard, Julian T. Ringsmose, Kim G. Larsen & Radu Mardare
Future Work
I
Local algorithm instead of global.
I
Other applications of our technique.
I
Minimization of constraints computed by our tool.
I
Proving (non)-existence of solution to parameter constraints.
26