SlideShare una empresa de Scribd logo
1 de 62
Generalized Property-Directed
Reachability for Hybrid Systems
1
Kohei Suenaga
Kyoto University
Dynamical systems exhibiting
both discrete-time dynamics
and continuous-time dynamics
A software model checking technique
proposed by Hoder and Bjørner [SAT’12]
Takuya Ishizawa
Kyoto University
Sabbatical at Arizona
State Univ. until this
March
This talk
• HGPDR: Extension of generalized property-
directed reachability (GPDR) to hybrid systems
• The main focus of this work is theory; an
implementation is left as future work
2
• Given:
– Hybrid system: S
– Safety specification: P
• Return:
– Safe: If S always satisfies P
– Unsafe: If there is an execution of S that violates P
• with a concrete execution path that lead to an
unsafe state
The problem: Safety verification
3
e.g., |x|<2
Outline
• Transition system and safety verification
• GPDR for software model checking
[Hoder and Bjørner SAT’12]
• HGPDR: Extension of GPDR for hybrid systems
• Conclusion
4
Running example of software
(w/o continuous-time dynamics)
5
Safety spec. P := x < 5
(We want to make sure that x never
reaches 5)
x0∈[-1,0],y0∈[0,1]
x := x0; y := y0;
while (true) {
if (x≧0) {
(x,y) := (-x,-y)
} else {
(x,y) := (-x,y)
}
}
l1
x<0
l0
x≧0
(x,y) :=
(-x,-y)
x := x0
v := v0
(x,y) :=
(-x,y)
x < 0
x ≧ 0
Software system as a transition system
6
Initial
condition
Command
executed in the
transition
Mode: Location in the
source code
Stay condition: System can
stay in this mode while this
condition is satisfied
Guard: Condition for this
transition to be enabled
Dynamics of the transition system
on x-y plane
7
y
x
Task: Verifying the system
does not go out of this
region
Safety spec. P := x < 5
(We want to make sure that x never
reaches 5)
For this initial cond.
9
v
x
x0∈[-1,0],y0∈[0,1]
x := x0; y := y0;
while (true) {
if (x≧0) {
(x,y) := (-x,-y)
} else {
(x,y) := (-x,y)
}
}
The reachable set
10
x0∈[-1,0],y0∈[0,1]
x := x0; y := y0;
while (true) {
if (x≧0) {
(x,y) := (-x,-y)
} else {
(x,y) := (-x,y)
}
}
10
v
x
Safe, indeed
11
x0∈[-1,0],y0∈[0,1]
x := x0; y := y0;
while (true) {
if (x≧0) {
(x,y) := (-x,-y)
} else {
(x,y) := (-x,y)
}
}
11
v
x
Outline
• Transition system and safety verification
• GPDR for software model checking
[Hoder and Bjørner SAT’12]
– IC3/PDR [Bradeley SAT’11]
– GPDR
• HGPDR: Extension of GPDR for hybrid systems
• Conclusion
13
IC3/PDR [Bradeley SAT’11]
• Model checking algorithm for safety
verification
– Compute an inductive invariant incrementally
– Iteratively refines a sequence of
over-approximations of the reachable set
14
IC3/PDR in our example
• Maintains i-step over-approximations of the reachable
set
– Typically represented as logical formulas
15
0th frame
Called frames
1st frame
Initial states Over-approx. of
1-step reachable states
(set to True here)
IC3/PDR in our example
• Look for a counter-example to safety
16
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(set to True here)
(x,y)=(5,0) violates the
safety spec.
Safety spec. P := x < 5
(We want to make sure that x never
reaches 5)
IC3/PDR in our example
• Try to refute that (x,y)=(5,0) is 1-step reachable
from 0-th frame
17
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(set to True here)
1-step prev. of this point
is …
This point (x,y)=(-5,0)
(-5,0) is not in 0th frame; therefore
(5,0) is not 1-step reachable from 0th frame
Reasoning is done by encoding these conditions as a query to an
SMT solver
IC3/PDR in our example
• Refine the 1st frame by (x,y)≠(5,0)
18
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(x≠5 ∨ y≠0)
Refinement in practice
• Generalization to exclude more states
19
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(x≠5 ∨ y≠0)
Exclude x≧5
rather than x=5
• We don’t go into a concrete generalization
strategy in this work
x<5 after
generalization
No counter-example in 1st frame
• Proved: The system does not violates safety in
1 step
• However, inductive invariant not reached yet
20
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(x < 5)
Extend the frame sequence
21
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(x < 5)
2nd frame
Over-approx. of
2-step reachable states
(True)
Counterexample in Frame 2
22
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(x < 5)
2nd frame
Over-approx. of
2-step reachable states
(True)
(x,y)=(5,0)
Previous state computation
23
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(x < 5)
2nd frame
Over-approx. of
2-step reachable states
(True)
(x,y)=(-5,0): Still in
Frame 1
(x,y)=(5,0)
Previous state computation
24
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(x < 5)
2nd frame
Over-approx. of
2-step reachable states
(True)
(x,y)=(-5,0): Still in
Frame 1
(x,y)=(5,0): Not in
Frame 0 
Refinement (x,y)=(5,0)
Previous state computation
25
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(-5 < x < 5)
2nd frame
Over-approx. of
2-step reachable states
(True)
(x,y)=(-5,0): Still in
Frame 1
(x,y)=(5,0): Not in
Frame 0 
Refinement
NB: By applying so called “induction” operation, we can propagate
-5<x<5 to Frame 2 from Frame 1
(x,y)=(5,0)
Counterexample in Frame 2
26
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(-5 < x < 5)
2nd frame
Over-approx. of
2-step reachable states
(True)
(x,y)=(5,0)
Previous state computation
27
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(-5 < x < 5)
2nd frame
Over-approx. of
2-step reachable states
(True)
(x,y)=(5,0)
(x,y)=(-5,0): Not
in Frame 1 
Refinement
Refinement
28
0th frame 1st frame
Initial states Over-approx. of
1-step reachable states
(-5 < x < 5)
2nd frame
Over-approx. of
2-step reachable states
(-5 < x < 5)
• Invariant found: Frame 1 and Frame 2 are
equivalent
Outline
• Transition system and safety verification
• GPDR for software model checking
[Hoder and Bjørner SAT’12]
– IC3/PDR [Bradeley SAT’11]
– GPDR
• HGPDR: Extension of GPDR for hybrid systems
• Conclusion
29
Generalized Property-Directed Reachability
(GPDR) [Hoder and Bjørner SAT’12]
• Generalization of IC3/PDR [Bradeley SAT’11]
– Abstraction of IC3/PDR as a set of rewriting rules
for frame sequences
– System dynamics is encapsulated by a forward
predicate transformer F
30
F(R) :=
(x ∈ 0 ∧ v ∈ [0,1])
∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v)
∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v)
The set of states
1-step reachable from R
Invariant on frame sequence
31
R0 R1 R2 R3 R4 RN-1 RN…
Ensures the intuition that Ri is an over-approx. of i-step reachable set
Invariant on frame sequence
32
• Rule 1: R0 is equal to the initial states
= init.
states
R0 R1 R2 R3 R4 RN-1 RN…
Ensures the intuition that Ri is an over-approx. of i-step reachable set
Invariant on frame sequence
33
• Rule 1: R0 is equal to the initial states
• Rule 2: “Ri implies Ri+1” has to hold for 0≦i<N
= init.
states
R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒
R0, R1, … becomes
weaker monotonically
Ensures the intuition that Ri is an over-approx. of i-step reachable set
Invariant on frame sequence
34
• Rule 1: R0 is equal to the initial states
• Rule 2: “Ri implies Ri+1” has to hold for 0≦i<N
• Rule 3: F(Ri) implies Ri+1 for i=0,…,N-1
F(R0) …F(R1) F(R2) F(R3) F(RN-1)
⇒
⇒
⇒
⇒
⇒
= init.
states
R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒
R0, R1, … becomes
weaker monotonically
Ensures the intuition that Ri is an over-approx. of i-step reachable set
Invariant on frame sequence
35
• Rule 1: R0 is equal to the initial states
• Rule 2: “Ri implies Ri+1” has to hold for 0≦i<N
• Rule 3: F(Ri) implies Ri+1 for i=0,…,N-1
• Rule 4: Each of R0,…,RN-1 implies safety cond.
= init.
states F(R0) …F(R1) F(R2) F(R3) F(RN-1)
⇒
⇒
⇒
⇒
⇒
R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒
P P P P P P…
⇒
⇒
⇒
⇒
⇒
⇒
Ensures the intuition that Ri is an over-approx. of i-step reachable set
GPDR manipulates frame sequence
respecting this invariant
Rewriting rules for frame sequences
(Rule [Candidate])
36
{} || R0,…,RN

{<N,σ>} || R0,…,RN
if σ witnesses RN ∧ ¬P
Set to keep found
counter-examples
If σ is a counter-example
to safety in RN
Bookkeep that
σ is found in RN
Rewriting rules for frame sequences
(Rule [Decide])
37
{<i+1, σ’>} ∪ M || R0,…,RN

{<i, σ>, <i+1,σ‘>} ∪ M || R0,…,RN
if σ’ is 1-step reachable from σ that witnesses Ri
If σ is a counter-example
to safety in Ri
Bookkeep that
σ is found in Ri
If σ’ is a counter-example
in Ri+1
Rewriting rules for frame sequences
(Rule [Conflict])
38
{<i+1, σ’>} ∪ M || R0,…,RN

{ } || R0,R1∧R, …,Ri+1∧R, Ri+2, …,RN
if 1-step reachable states to σ’ does not intersect with Ri
If σ’ is found not to be
reachable in (i+1)-step
reachable from init.
Refine R1, …, Ri+1 with R
If σ’ is a counter-example
in Ri+1
Any R that is a Craig
interpolant of F(Ri) and σ’
can be used for refinement
Key properties to
the soundness proof of GPDR
• If σ witnesses R and σ’ is 1-step reachable from
σ, then σ’ witnesses F(R)
• F(false) is equivalent to the initial condition
• F(R) is monotonic with respect to R
– i.e., F(R) implies F(R’) if R implies R’
39
GPDR can be applied to other kinds of
systems as long as we keep these
properties!
Outline
• Transition system and safety verification
• GPDR for software model checking
[Hoder and Bjørner SAT’12]
• HGPDR: Extension of GPDR for hybrid systems
• Conclusion
40
Hybrid systems
• Dynamical systems exhibiting discrete-time
dynamics and continuous-time dynamics
41
jump
l1
dx/dt = v
dv/dt = 1
x<0
l0
dx/dt = v
dv/dt = -1
x≧0
x := 0
v := v0
x < 0
x ≧ 0
ODE that specifies the
flow in each mode
flow
For extension of GPDR for hybrid systems…
• If σ witnesses R and σ’ is 1-step reachable from
σ, then σ witnesses F(R)
• F(false) is equivalent to the initial condition
• F(R) is monotonic with respect to R
– i.e., F(R) implies F(R’) if R implies R’
42
We need to define F that satisfies
these conditions!
For extension of GPDR for hybrid systems…
• If σ witnesses R and σ’ is 1-step reachable from
σ, then σ witnesses F(R)
• F(false) is equivalent to the initial condition
• F(R) is monotonic with respect to R
– i.e., F(R) implies F(R’) if R implies R’
43
We need to define F that satisfies
these conditions!
Definition of F
• In our current example…
44
F(R(x,v)) :=
(x ∈ 0 ∧ v ∈ [0,1])
∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v)
∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v)
D0
D1
Definition of F
• In our current example…
45
F(R(x,v)) :=
(x ∈ 0 ∧ v ∈ [0,1])
∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v)
∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v)
D0
D1
Continuous reachability
predicate (CRP)
Continuous reachability predicate (CRP)
46
〈D|φ〉φ’
• Expresses reachability via a flow specified by ODE
• Intuition: σ witnesses this formula if:
– There is a trajectory T from σ via D,
– All the point on T satisfies φ, and
– φ’ is satisfied at the end of T
• Special case of differential dynamic logic (dL)
[Platzer J. Autom. Reasoning’08]
ODE
Stay
cond.
Post
cond.
Definition of F
47
F(R(x,v)) :=
(x ∈ 0 ∧ v ∈ [0,1])
∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v)
∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v)
D0
D1
If there is (x’,y’) that
satisfies R …
Such that
stay cond.
of l0 is
satisfied …
and if there is a
trajectory along
which stay cond.
is satisfied …
and at the end
guard from l0 to
l1 satisfied
Intuition: Reachable from R
by a flow in l0 and a jump from l0 to l1
Definition of F
48
F(R(x,v)) :=
(x ∈ 0 ∧ v ∈ [0,1])
∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v)
∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v)
D0
D1
Intuition: Reachable from R
by a flow in l1 and a jump from l1 to l0
Conformance to ”key properties”
• If σ witnesses R and σ’ is 1-step reachable from
σ, then σ witnesses F(R)
• F(false) is equivalent to the initial condition
• F(R) is monotonic with respect to R
– i.e., F(R) implies F(R’) if R implies R’
49
F(R(x,v)) :=
(x ∈ 0 ∧ v ∈ [0,1])
∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v)
∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v)
Problem of naïve application of GPDR
50
F(R0) …F(R1) F(R2) F(R3) F(RN-1)
⇒
⇒
⇒
⇒
⇒
R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒
P P P P P P…⇒
⇒
⇒
⇒
⇒
⇒
Only guarantees safety for trajectories that
end with a jump
Tweak needed for sound procedure
51
F(R0) …F(R1) F(R2) F(R3) F(RN-1)
⇒
⇒
⇒
⇒
⇒
R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒
P P P P P P…
⇒
⇒
⇒
⇒
⇒
⇒
R’⇒
⇒
C(R)
Remainder frame: Overapproximates reachable
states from RN by a flow (not followed by a jump)
Flow transformer: States reachable from R
by a flow (not followed by a jump)
Soundness proof in the full version (https://arxiv.org/abs/1910.03784)
More in the paper…
52
• Precise definitions
• Soundness statement
– Proof in the full version in the arXiv.org
• Specification of GPDR in “mode-aware” style
– Frame is a function from mode names to a
predicate
• PoC implementation
– Proves the safety of a simple system
– User provides (quite a lot of) information
Conclusion
53
• HGPDR: Extension of GPDR to hybrid systems
– Defines F so that it expresses the dynamics of hybrid
systems using CRP
– Tweak to the procedure
• Remainder frame
• Flow transformer
– PoC implementation
• Future direction
– Decent implementation and experiments
• Important question to be answered: Is PDR-style
model checking useful for hybrid systems?
• Requires an external solver that understands flow
dynamics …
– Hybrid system verification by Horn-clause solving?
Appendix
54
System dynamics as
forward predicate transformer
• In our current example…
55
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
System dynamics as
forward predicate transformer
• In our current example…
56
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
System dynamics as
forward predicate transformer
• In our current example…
57
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
F takes a frame on
x and y
System dynamics as
forward predicate transformer
• In our current example…
58
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
F takes a frame on
x and y
• This part encodes “1-step reachable state
from R, or init. state”
• Disjunction of 3 formulae
System dynamics as
forward predicate transformer
• In our current example…
59
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
F takes a frame on
x and y
Transition from l0 to l0
System dynamics as
forward predicate transformer
• In our current example…
60
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
F takes a frame on
x and y
If there are x’’ and y’’
that satisfies R If x’’≧0 and if x=-x’’ and y=-y’’
Then, (x,y) is 1-step ahead
of the states satisfying R
System dynamics as
forward predicate transformer
• In our current example…
61
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
F takes a frame on
x and y
For x’’ and y’’ that
satisfies R If x’’<0 and if x=-x’’ and y=y’’
System dynamics as
forward predicate transformer
• In our current example…
62
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
F takes a frame on
x and y
Initial state
System dynamics as
forward predicate transformer
• In our current example…
63
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
F takes a frame on
x and y
• This part encodes “1-step reachable state
from R, or init. state”
• Disjunction of 3 formulae
System dynamics as
forward predicate transformer
• In our current example…
64
F(R(x,y)) :=
(x ∈ [-1,0] ∧ y ∈ [0,1])
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’)
∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
F is the fwd.
pred. trans.
F takes a frame on
x and y
• This part encodes “1-step reachable state
from R, or init. state”
• Disjunction of 3 formulae
NB: In the paper, a frame is a function from mode names to formulae

Más contenido relacionado

La actualidad más candente

Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...Amr E. Mohamed
 
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...Amr E. Mohamed
 
TIME RESPONSE ANALYSIS
TIME RESPONSE ANALYSISTIME RESPONSE ANALYSIS
TIME RESPONSE ANALYSISDeep Chaudhari
 
Chapter 4 time domain analysis
Chapter 4 time domain analysisChapter 4 time domain analysis
Chapter 4 time domain analysisBin Biny Bino
 
Time response and analysis kaushal shah
Time response and analysis kaushal shahTime response and analysis kaushal shah
Time response and analysis kaushal shahKaushal Shah
 
Performance of second order system
Performance of second order systemPerformance of second order system
Performance of second order systemTrupesh Rupareliya
 
Modern Control - Lec 06 - PID Tuning
Modern Control - Lec 06 - PID TuningModern Control - Lec 06 - PID Tuning
Modern Control - Lec 06 - PID TuningAmr E. Mohamed
 
01 intro to algorithm--updated 2015
01 intro to algorithm--updated 201501 intro to algorithm--updated 2015
01 intro to algorithm--updated 2015Hira Gul
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Amr E. Mohamed
 
OpenSees: modeling and performing static analysis
OpenSees: modeling and  performing static analysisOpenSees: modeling and  performing static analysis
OpenSees: modeling and performing static analysisDhanaji Chavan
 

La actualidad más candente (20)

Lecture 23 24-time_response
Lecture 23 24-time_responseLecture 23 24-time_response
Lecture 23 24-time_response
 
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
 
time response analysis
time response analysistime response analysis
time response analysis
 
Time domain analysis
Time domain analysisTime domain analysis
Time domain analysis
 
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
Modern Control - Lec 05 - Analysis and Design of Control Systems using Freque...
 
Digital control book
Digital control bookDigital control book
Digital control book
 
TIME RESPONSE ANALYSIS
TIME RESPONSE ANALYSISTIME RESPONSE ANALYSIS
TIME RESPONSE ANALYSIS
 
Lec22
Lec22Lec22
Lec22
 
Control chap6
Control chap6Control chap6
Control chap6
 
Chapter 4 time domain analysis
Chapter 4 time domain analysisChapter 4 time domain analysis
Chapter 4 time domain analysis
 
Time response and analysis kaushal shah
Time response and analysis kaushal shahTime response and analysis kaushal shah
Time response and analysis kaushal shah
 
Control chap2
Control chap2Control chap2
Control chap2
 
Performance of second order system
Performance of second order systemPerformance of second order system
Performance of second order system
 
Modern Control - Lec 06 - PID Tuning
Modern Control - Lec 06 - PID TuningModern Control - Lec 06 - PID Tuning
Modern Control - Lec 06 - PID Tuning
 
01 intro to algorithm--updated 2015
01 intro to algorithm--updated 201501 intro to algorithm--updated 2015
01 intro to algorithm--updated 2015
 
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
Modern Control - Lec 04 - Analysis and Design of Control Systems using Root L...
 
First order response
First order responseFirst order response
First order response
 
Lec3
Lec3Lec3
Lec3
 
OpenSees: modeling and performing static analysis
OpenSees: modeling and  performing static analysisOpenSees: modeling and  performing static analysis
OpenSees: modeling and performing static analysis
 
5 csp
5 csp5 csp
5 csp
 

Similar a Generalized Property-Directed Reachability for Hybrid Systems (presented in VMCAI 2020)

Implementation of the fully adaptive radar framework: Practical limitations
Implementation of the fully adaptive radar framework: Practical limitationsImplementation of the fully adaptive radar framework: Practical limitations
Implementation of the fully adaptive radar framework: Practical limitationsLuis Úbeda Medina
 
4_CSI_ROBUSTNESS-PART1.pdf
4_CSI_ROBUSTNESS-PART1.pdf4_CSI_ROBUSTNESS-PART1.pdf
4_CSI_ROBUSTNESS-PART1.pdfDPSTech
 
RuleML2015: GRAAL - a toolkit for query answering with existential rules
RuleML2015:  GRAAL - a toolkit for query answering with existential rulesRuleML2015:  GRAAL - a toolkit for query answering with existential rules
RuleML2015: GRAAL - a toolkit for query answering with existential rulesRuleML
 
Sparsenet
SparsenetSparsenet
Sparsenetndronen
 
ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012László Nádai
 
Transfer Function, Concepts of stability(critical, Absolute & Relative) Poles...
Transfer Function, Concepts of stability(critical, Absolute & Relative) Poles...Transfer Function, Concepts of stability(critical, Absolute & Relative) Poles...
Transfer Function, Concepts of stability(critical, Absolute & Relative) Poles...Waqas Afzal
 
Q-Metrics in Theory and Practice
Q-Metrics in Theory and PracticeQ-Metrics in Theory and Practice
Q-Metrics in Theory and PracticeMagdi Mohamed
 
Q-Metrics in Theory And Practice
Q-Metrics in Theory And PracticeQ-Metrics in Theory And Practice
Q-Metrics in Theory And Practiceguest3550292
 
4_CSI_ROBUSTNESS-PART2.pdf
4_CSI_ROBUSTNESS-PART2.pdf4_CSI_ROBUSTNESS-PART2.pdf
4_CSI_ROBUSTNESS-PART2.pdfDPSTech
 
Safety Verification of Deep Neural Networks_.pdf
Safety Verification of Deep Neural Networks_.pdfSafety Verification of Deep Neural Networks_.pdf
Safety Verification of Deep Neural Networks_.pdfPolytechnique Montréal
 
MLHEP 2015: Introductory Lecture #1
MLHEP 2015: Introductory Lecture #1MLHEP 2015: Introductory Lecture #1
MLHEP 2015: Introductory Lecture #1arogozhnikov
 
Chapter 2&3 (java fundamentals and Control Structures).ppt
Chapter 2&3 (java fundamentals and Control Structures).pptChapter 2&3 (java fundamentals and Control Structures).ppt
Chapter 2&3 (java fundamentals and Control Structures).ppthenokmetaferia1
 
Introduction
IntroductionIntroduction
Introductionbutest
 
Planning Under Uncertainty With Markov Decision Processes
Planning Under Uncertainty With Markov Decision ProcessesPlanning Under Uncertainty With Markov Decision Processes
Planning Under Uncertainty With Markov Decision Processesahmad bassiouny
 
Robust Presentation on h ifiinity based full state feedback controller design...
Robust Presentation on h ifiinity based full state feedback controller design...Robust Presentation on h ifiinity based full state feedback controller design...
Robust Presentation on h ifiinity based full state feedback controller design...VivekKumar265461
 
Optimization Techniques.pdf
Optimization Techniques.pdfOptimization Techniques.pdf
Optimization Techniques.pdfanandsimple
 
Get Reactive: Microservices, Programming, and Systems
Get Reactive: Microservices, Programming, and SystemsGet Reactive: Microservices, Programming, and Systems
Get Reactive: Microservices, Programming, and SystemsJeremy Davis
 

Similar a Generalized Property-Directed Reachability for Hybrid Systems (presented in VMCAI 2020) (20)

Implementation of the fully adaptive radar framework: Practical limitations
Implementation of the fully adaptive radar framework: Practical limitationsImplementation of the fully adaptive radar framework: Practical limitations
Implementation of the fully adaptive radar framework: Practical limitations
 
4_CSI_ROBUSTNESS-PART1.pdf
4_CSI_ROBUSTNESS-PART1.pdf4_CSI_ROBUSTNESS-PART1.pdf
4_CSI_ROBUSTNESS-PART1.pdf
 
RuleML2015: GRAAL - a toolkit for query answering with existential rules
RuleML2015:  GRAAL - a toolkit for query answering with existential rulesRuleML2015:  GRAAL - a toolkit for query answering with existential rules
RuleML2015: GRAAL - a toolkit for query answering with existential rules
 
Glowworm Swarm Optimisation
Glowworm Swarm OptimisationGlowworm Swarm Optimisation
Glowworm Swarm Optimisation
 
Sparsenet
SparsenetSparsenet
Sparsenet
 
ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012
 
Transfer Function, Concepts of stability(critical, Absolute & Relative) Poles...
Transfer Function, Concepts of stability(critical, Absolute & Relative) Poles...Transfer Function, Concepts of stability(critical, Absolute & Relative) Poles...
Transfer Function, Concepts of stability(critical, Absolute & Relative) Poles...
 
Self healing data
Self healing dataSelf healing data
Self healing data
 
Q-Metrics in Theory and Practice
Q-Metrics in Theory and PracticeQ-Metrics in Theory and Practice
Q-Metrics in Theory and Practice
 
Q-Metrics in Theory And Practice
Q-Metrics in Theory And PracticeQ-Metrics in Theory And Practice
Q-Metrics in Theory And Practice
 
4_CSI_ROBUSTNESS-PART2.pdf
4_CSI_ROBUSTNESS-PART2.pdf4_CSI_ROBUSTNESS-PART2.pdf
4_CSI_ROBUSTNESS-PART2.pdf
 
Safety Verification of Deep Neural Networks_.pdf
Safety Verification of Deep Neural Networks_.pdfSafety Verification of Deep Neural Networks_.pdf
Safety Verification of Deep Neural Networks_.pdf
 
MLHEP 2015: Introductory Lecture #1
MLHEP 2015: Introductory Lecture #1MLHEP 2015: Introductory Lecture #1
MLHEP 2015: Introductory Lecture #1
 
Chapter 2&3 (java fundamentals and Control Structures).ppt
Chapter 2&3 (java fundamentals and Control Structures).pptChapter 2&3 (java fundamentals and Control Structures).ppt
Chapter 2&3 (java fundamentals and Control Structures).ppt
 
Introduction
IntroductionIntroduction
Introduction
 
Planning Under Uncertainty With Markov Decision Processes
Planning Under Uncertainty With Markov Decision ProcessesPlanning Under Uncertainty With Markov Decision Processes
Planning Under Uncertainty With Markov Decision Processes
 
Control system unit(1)
Control system unit(1)Control system unit(1)
Control system unit(1)
 
Robust Presentation on h ifiinity based full state feedback controller design...
Robust Presentation on h ifiinity based full state feedback controller design...Robust Presentation on h ifiinity based full state feedback controller design...
Robust Presentation on h ifiinity based full state feedback controller design...
 
Optimization Techniques.pdf
Optimization Techniques.pdfOptimization Techniques.pdf
Optimization Techniques.pdf
 
Get Reactive: Microservices, Programming, and Systems
Get Reactive: Microservices, Programming, and SystemsGet Reactive: Microservices, Programming, and Systems
Get Reactive: Microservices, Programming, and Systems
 

Último

User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)Columbia Weather Systems
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024innovationoecd
 
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxmaryFF1
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuinethapagita
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxpriyankatabhane
 
Biological classification of plants with detail
Biological classification of plants with detailBiological classification of plants with detail
Biological classification of plants with detailhaiderbaloch3
 
Citronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayCitronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayupadhyaymani499
 
PROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalPROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalMAESTRELLAMesa2
 
trihybrid cross , test cross chi squares
trihybrid cross , test cross chi squarestrihybrid cross , test cross chi squares
trihybrid cross , test cross chi squaresusmanzain586
 
Manassas R - Parkside Middle School 🌎🏫
Manassas R - Parkside Middle School 🌎🏫Manassas R - Parkside Middle School 🌎🏫
Manassas R - Parkside Middle School 🌎🏫qfactory1
 
CHROMATOGRAPHY PALLAVI RAWAT.pptx
CHROMATOGRAPHY  PALLAVI RAWAT.pptxCHROMATOGRAPHY  PALLAVI RAWAT.pptx
CHROMATOGRAPHY PALLAVI RAWAT.pptxpallavirawat456
 
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》rnrncn29
 
Quarter 4_Grade 8_Digestive System Structure and Functions
Quarter 4_Grade 8_Digestive System Structure and FunctionsQuarter 4_Grade 8_Digestive System Structure and Functions
Quarter 4_Grade 8_Digestive System Structure and FunctionsCharlene Llagas
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentationtahreemzahra82
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...D. B. S. College Kanpur
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPirithiRaju
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPirithiRaju
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationColumbia Weather Systems
 

Último (20)

AZOTOBACTER AS BIOFERILIZER.PPTX
AZOTOBACTER AS BIOFERILIZER.PPTXAZOTOBACTER AS BIOFERILIZER.PPTX
AZOTOBACTER AS BIOFERILIZER.PPTX
 
User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024
 
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptx
 
Biological classification of plants with detail
Biological classification of plants with detailBiological classification of plants with detail
Biological classification of plants with detail
 
Citronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayCitronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyay
 
PROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalPROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and Vertical
 
trihybrid cross , test cross chi squares
trihybrid cross , test cross chi squarestrihybrid cross , test cross chi squares
trihybrid cross , test cross chi squares
 
Manassas R - Parkside Middle School 🌎🏫
Manassas R - Parkside Middle School 🌎🏫Manassas R - Parkside Middle School 🌎🏫
Manassas R - Parkside Middle School 🌎🏫
 
CHROMATOGRAPHY PALLAVI RAWAT.pptx
CHROMATOGRAPHY  PALLAVI RAWAT.pptxCHROMATOGRAPHY  PALLAVI RAWAT.pptx
CHROMATOGRAPHY PALLAVI RAWAT.pptx
 
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
 
Quarter 4_Grade 8_Digestive System Structure and Functions
Quarter 4_Grade 8_Digestive System Structure and FunctionsQuarter 4_Grade 8_Digestive System Structure and Functions
Quarter 4_Grade 8_Digestive System Structure and Functions
 
Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentation
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdf
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather Station
 

Generalized Property-Directed Reachability for Hybrid Systems (presented in VMCAI 2020)

  • 1. Generalized Property-Directed Reachability for Hybrid Systems 1 Kohei Suenaga Kyoto University Dynamical systems exhibiting both discrete-time dynamics and continuous-time dynamics A software model checking technique proposed by Hoder and Bjørner [SAT’12] Takuya Ishizawa Kyoto University Sabbatical at Arizona State Univ. until this March
  • 2. This talk • HGPDR: Extension of generalized property- directed reachability (GPDR) to hybrid systems • The main focus of this work is theory; an implementation is left as future work 2
  • 3. • Given: – Hybrid system: S – Safety specification: P • Return: – Safe: If S always satisfies P – Unsafe: If there is an execution of S that violates P • with a concrete execution path that lead to an unsafe state The problem: Safety verification 3 e.g., |x|<2
  • 4. Outline • Transition system and safety verification • GPDR for software model checking [Hoder and Bjørner SAT’12] • HGPDR: Extension of GPDR for hybrid systems • Conclusion 4
  • 5. Running example of software (w/o continuous-time dynamics) 5 Safety spec. P := x < 5 (We want to make sure that x never reaches 5) x0∈[-1,0],y0∈[0,1] x := x0; y := y0; while (true) { if (x≧0) { (x,y) := (-x,-y) } else { (x,y) := (-x,y) } }
  • 6. l1 x<0 l0 x≧0 (x,y) := (-x,-y) x := x0 v := v0 (x,y) := (-x,y) x < 0 x ≧ 0 Software system as a transition system 6 Initial condition Command executed in the transition Mode: Location in the source code Stay condition: System can stay in this mode while this condition is satisfied Guard: Condition for this transition to be enabled
  • 7. Dynamics of the transition system on x-y plane 7 y x Task: Verifying the system does not go out of this region Safety spec. P := x < 5 (We want to make sure that x never reaches 5)
  • 8. For this initial cond. 9 v x x0∈[-1,0],y0∈[0,1] x := x0; y := y0; while (true) { if (x≧0) { (x,y) := (-x,-y) } else { (x,y) := (-x,y) } }
  • 9. The reachable set 10 x0∈[-1,0],y0∈[0,1] x := x0; y := y0; while (true) { if (x≧0) { (x,y) := (-x,-y) } else { (x,y) := (-x,y) } } 10 v x
  • 10. Safe, indeed 11 x0∈[-1,0],y0∈[0,1] x := x0; y := y0; while (true) { if (x≧0) { (x,y) := (-x,-y) } else { (x,y) := (-x,y) } } 11 v x
  • 11. Outline • Transition system and safety verification • GPDR for software model checking [Hoder and Bjørner SAT’12] – IC3/PDR [Bradeley SAT’11] – GPDR • HGPDR: Extension of GPDR for hybrid systems • Conclusion 13
  • 12. IC3/PDR [Bradeley SAT’11] • Model checking algorithm for safety verification – Compute an inductive invariant incrementally – Iteratively refines a sequence of over-approximations of the reachable set 14
  • 13. IC3/PDR in our example • Maintains i-step over-approximations of the reachable set – Typically represented as logical formulas 15 0th frame Called frames 1st frame Initial states Over-approx. of 1-step reachable states (set to True here)
  • 14. IC3/PDR in our example • Look for a counter-example to safety 16 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (set to True here) (x,y)=(5,0) violates the safety spec. Safety spec. P := x < 5 (We want to make sure that x never reaches 5)
  • 15. IC3/PDR in our example • Try to refute that (x,y)=(5,0) is 1-step reachable from 0-th frame 17 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (set to True here) 1-step prev. of this point is … This point (x,y)=(-5,0) (-5,0) is not in 0th frame; therefore (5,0) is not 1-step reachable from 0th frame Reasoning is done by encoding these conditions as a query to an SMT solver
  • 16. IC3/PDR in our example • Refine the 1st frame by (x,y)≠(5,0) 18 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (x≠5 ∨ y≠0)
  • 17. Refinement in practice • Generalization to exclude more states 19 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (x≠5 ∨ y≠0) Exclude x≧5 rather than x=5 • We don’t go into a concrete generalization strategy in this work x<5 after generalization
  • 18. No counter-example in 1st frame • Proved: The system does not violates safety in 1 step • However, inductive invariant not reached yet 20 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (x < 5)
  • 19. Extend the frame sequence 21 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (x < 5) 2nd frame Over-approx. of 2-step reachable states (True)
  • 20. Counterexample in Frame 2 22 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (x < 5) 2nd frame Over-approx. of 2-step reachable states (True) (x,y)=(5,0)
  • 21. Previous state computation 23 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (x < 5) 2nd frame Over-approx. of 2-step reachable states (True) (x,y)=(-5,0): Still in Frame 1 (x,y)=(5,0)
  • 22. Previous state computation 24 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (x < 5) 2nd frame Over-approx. of 2-step reachable states (True) (x,y)=(-5,0): Still in Frame 1 (x,y)=(5,0): Not in Frame 0  Refinement (x,y)=(5,0)
  • 23. Previous state computation 25 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (-5 < x < 5) 2nd frame Over-approx. of 2-step reachable states (True) (x,y)=(-5,0): Still in Frame 1 (x,y)=(5,0): Not in Frame 0  Refinement NB: By applying so called “induction” operation, we can propagate -5<x<5 to Frame 2 from Frame 1 (x,y)=(5,0)
  • 24. Counterexample in Frame 2 26 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (-5 < x < 5) 2nd frame Over-approx. of 2-step reachable states (True) (x,y)=(5,0)
  • 25. Previous state computation 27 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (-5 < x < 5) 2nd frame Over-approx. of 2-step reachable states (True) (x,y)=(5,0) (x,y)=(-5,0): Not in Frame 1  Refinement
  • 26. Refinement 28 0th frame 1st frame Initial states Over-approx. of 1-step reachable states (-5 < x < 5) 2nd frame Over-approx. of 2-step reachable states (-5 < x < 5) • Invariant found: Frame 1 and Frame 2 are equivalent
  • 27. Outline • Transition system and safety verification • GPDR for software model checking [Hoder and Bjørner SAT’12] – IC3/PDR [Bradeley SAT’11] – GPDR • HGPDR: Extension of GPDR for hybrid systems • Conclusion 29
  • 28. Generalized Property-Directed Reachability (GPDR) [Hoder and Bjørner SAT’12] • Generalization of IC3/PDR [Bradeley SAT’11] – Abstraction of IC3/PDR as a set of rewriting rules for frame sequences – System dynamics is encapsulated by a forward predicate transformer F 30 F(R) := (x ∈ 0 ∧ v ∈ [0,1]) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v) The set of states 1-step reachable from R
  • 29. Invariant on frame sequence 31 R0 R1 R2 R3 R4 RN-1 RN… Ensures the intuition that Ri is an over-approx. of i-step reachable set
  • 30. Invariant on frame sequence 32 • Rule 1: R0 is equal to the initial states = init. states R0 R1 R2 R3 R4 RN-1 RN… Ensures the intuition that Ri is an over-approx. of i-step reachable set
  • 31. Invariant on frame sequence 33 • Rule 1: R0 is equal to the initial states • Rule 2: “Ri implies Ri+1” has to hold for 0≦i<N = init. states R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ R0, R1, … becomes weaker monotonically Ensures the intuition that Ri is an over-approx. of i-step reachable set
  • 32. Invariant on frame sequence 34 • Rule 1: R0 is equal to the initial states • Rule 2: “Ri implies Ri+1” has to hold for 0≦i<N • Rule 3: F(Ri) implies Ri+1 for i=0,…,N-1 F(R0) …F(R1) F(R2) F(R3) F(RN-1) ⇒ ⇒ ⇒ ⇒ ⇒ = init. states R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ R0, R1, … becomes weaker monotonically Ensures the intuition that Ri is an over-approx. of i-step reachable set
  • 33. Invariant on frame sequence 35 • Rule 1: R0 is equal to the initial states • Rule 2: “Ri implies Ri+1” has to hold for 0≦i<N • Rule 3: F(Ri) implies Ri+1 for i=0,…,N-1 • Rule 4: Each of R0,…,RN-1 implies safety cond. = init. states F(R0) …F(R1) F(R2) F(R3) F(RN-1) ⇒ ⇒ ⇒ ⇒ ⇒ R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ P P P P P P… ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ Ensures the intuition that Ri is an over-approx. of i-step reachable set GPDR manipulates frame sequence respecting this invariant
  • 34. Rewriting rules for frame sequences (Rule [Candidate]) 36 {} || R0,…,RN  {<N,σ>} || R0,…,RN if σ witnesses RN ∧ ¬P Set to keep found counter-examples If σ is a counter-example to safety in RN Bookkeep that σ is found in RN
  • 35. Rewriting rules for frame sequences (Rule [Decide]) 37 {<i+1, σ’>} ∪ M || R0,…,RN  {<i, σ>, <i+1,σ‘>} ∪ M || R0,…,RN if σ’ is 1-step reachable from σ that witnesses Ri If σ is a counter-example to safety in Ri Bookkeep that σ is found in Ri If σ’ is a counter-example in Ri+1
  • 36. Rewriting rules for frame sequences (Rule [Conflict]) 38 {<i+1, σ’>} ∪ M || R0,…,RN  { } || R0,R1∧R, …,Ri+1∧R, Ri+2, …,RN if 1-step reachable states to σ’ does not intersect with Ri If σ’ is found not to be reachable in (i+1)-step reachable from init. Refine R1, …, Ri+1 with R If σ’ is a counter-example in Ri+1 Any R that is a Craig interpolant of F(Ri) and σ’ can be used for refinement
  • 37. Key properties to the soundness proof of GPDR • If σ witnesses R and σ’ is 1-step reachable from σ, then σ’ witnesses F(R) • F(false) is equivalent to the initial condition • F(R) is monotonic with respect to R – i.e., F(R) implies F(R’) if R implies R’ 39 GPDR can be applied to other kinds of systems as long as we keep these properties!
  • 38. Outline • Transition system and safety verification • GPDR for software model checking [Hoder and Bjørner SAT’12] • HGPDR: Extension of GPDR for hybrid systems • Conclusion 40
  • 39. Hybrid systems • Dynamical systems exhibiting discrete-time dynamics and continuous-time dynamics 41 jump l1 dx/dt = v dv/dt = 1 x<0 l0 dx/dt = v dv/dt = -1 x≧0 x := 0 v := v0 x < 0 x ≧ 0 ODE that specifies the flow in each mode flow
  • 40. For extension of GPDR for hybrid systems… • If σ witnesses R and σ’ is 1-step reachable from σ, then σ witnesses F(R) • F(false) is equivalent to the initial condition • F(R) is monotonic with respect to R – i.e., F(R) implies F(R’) if R implies R’ 42 We need to define F that satisfies these conditions!
  • 41. For extension of GPDR for hybrid systems… • If σ witnesses R and σ’ is 1-step reachable from σ, then σ witnesses F(R) • F(false) is equivalent to the initial condition • F(R) is monotonic with respect to R – i.e., F(R) implies F(R’) if R implies R’ 43 We need to define F that satisfies these conditions!
  • 42. Definition of F • In our current example… 44 F(R(x,v)) := (x ∈ 0 ∧ v ∈ [0,1]) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v) D0 D1
  • 43. Definition of F • In our current example… 45 F(R(x,v)) := (x ∈ 0 ∧ v ∈ [0,1]) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v) D0 D1 Continuous reachability predicate (CRP)
  • 44. Continuous reachability predicate (CRP) 46 〈D|φ〉φ’ • Expresses reachability via a flow specified by ODE • Intuition: σ witnesses this formula if: – There is a trajectory T from σ via D, – All the point on T satisfies φ, and – φ’ is satisfied at the end of T • Special case of differential dynamic logic (dL) [Platzer J. Autom. Reasoning’08] ODE Stay cond. Post cond.
  • 45. Definition of F 47 F(R(x,v)) := (x ∈ 0 ∧ v ∈ [0,1]) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v) D0 D1 If there is (x’,y’) that satisfies R … Such that stay cond. of l0 is satisfied … and if there is a trajectory along which stay cond. is satisfied … and at the end guard from l0 to l1 satisfied Intuition: Reachable from R by a flow in l0 and a jump from l0 to l1
  • 46. Definition of F 48 F(R(x,v)) := (x ∈ 0 ∧ v ∈ [0,1]) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v) D0 D1 Intuition: Reachable from R by a flow in l1 and a jump from l1 to l0
  • 47. Conformance to ”key properties” • If σ witnesses R and σ’ is 1-step reachable from σ, then σ witnesses F(R) • F(false) is equivalent to the initial condition • F(R) is monotonic with respect to R – i.e., F(R) implies F(R’) if R implies R’ 49 F(R(x,v)) := (x ∈ 0 ∧ v ∈ [0,1]) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ ≧ 0 ∧〈D0|x’≧0〉(x’<0 ∧ x=x’ ∧ v’=v) ∨ ∃x’,y’. (R(x’,y’) ∧ x’ < 0 ∧〈D1|x’<0〉(x’≧0 ∧ x=x’ ∧ v’=v)
  • 48. Problem of naïve application of GPDR 50 F(R0) …F(R1) F(R2) F(R3) F(RN-1) ⇒ ⇒ ⇒ ⇒ ⇒ R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ P P P P P P…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ Only guarantees safety for trajectories that end with a jump
  • 49. Tweak needed for sound procedure 51 F(R0) …F(R1) F(R2) F(R3) F(RN-1) ⇒ ⇒ ⇒ ⇒ ⇒ R0 R1 R2 R3 R4 RN-1 RN…⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ P P P P P P… ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ R’⇒ ⇒ C(R) Remainder frame: Overapproximates reachable states from RN by a flow (not followed by a jump) Flow transformer: States reachable from R by a flow (not followed by a jump) Soundness proof in the full version (https://arxiv.org/abs/1910.03784)
  • 50. More in the paper… 52 • Precise definitions • Soundness statement – Proof in the full version in the arXiv.org • Specification of GPDR in “mode-aware” style – Frame is a function from mode names to a predicate • PoC implementation – Proves the safety of a simple system – User provides (quite a lot of) information
  • 51. Conclusion 53 • HGPDR: Extension of GPDR to hybrid systems – Defines F so that it expresses the dynamics of hybrid systems using CRP – Tweak to the procedure • Remainder frame • Flow transformer – PoC implementation • Future direction – Decent implementation and experiments • Important question to be answered: Is PDR-style model checking useful for hybrid systems? • Requires an external solver that understands flow dynamics … – Hybrid system verification by Horn-clause solving?
  • 53. System dynamics as forward predicate transformer • In our current example… 55 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’)
  • 54. System dynamics as forward predicate transformer • In our current example… 56 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans.
  • 55. System dynamics as forward predicate transformer • In our current example… 57 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans. F takes a frame on x and y
  • 56. System dynamics as forward predicate transformer • In our current example… 58 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans. F takes a frame on x and y • This part encodes “1-step reachable state from R, or init. state” • Disjunction of 3 formulae
  • 57. System dynamics as forward predicate transformer • In our current example… 59 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans. F takes a frame on x and y Transition from l0 to l0
  • 58. System dynamics as forward predicate transformer • In our current example… 60 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans. F takes a frame on x and y If there are x’’ and y’’ that satisfies R If x’’≧0 and if x=-x’’ and y=-y’’ Then, (x,y) is 1-step ahead of the states satisfying R
  • 59. System dynamics as forward predicate transformer • In our current example… 61 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans. F takes a frame on x and y For x’’ and y’’ that satisfies R If x’’<0 and if x=-x’’ and y=y’’
  • 60. System dynamics as forward predicate transformer • In our current example… 62 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans. F takes a frame on x and y Initial state
  • 61. System dynamics as forward predicate transformer • In our current example… 63 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans. F takes a frame on x and y • This part encodes “1-step reachable state from R, or init. state” • Disjunction of 3 formulae
  • 62. System dynamics as forward predicate transformer • In our current example… 64 F(R(x,y)) := (x ∈ [-1,0] ∧ y ∈ [0,1]) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ ≧ 0 ∧ x = -x’’ ∧ y = -y’’) ∨ ∃x’’,y’’. (R(x’’,y’’) ∧ x’’ < 0 ∧ x = -x’’ ∧ y = y’’) F is the fwd. pred. trans. F takes a frame on x and y • This part encodes “1-step reachable state from R, or init. state” • Disjunction of 3 formulae NB: In the paper, a frame is a function from mode names to formulae

Notas del editor

  1. title
  2. xのinitをx0にする
  3. - 吹き出しをアニメーションに - 例をアニメーションで見せる
  4. - 吹き出しをアニメーションに - 例をアニメーションで見せる
  5. - 吹き出しをアニメーションに - 例をアニメーションで見せる
  6. - 吹き出しをアニメーションに - 例をアニメーションで見せる
  7. - 吹き出しをアニメーションに - 例をアニメーションで見せる
  8. - 吹き出しをアニメーションに - 例をアニメーションで見せる
  9. - 吹き出しをアニメーションに - 例をアニメーションで見せる
  10. 緑修正 safety 出す
  11. 残りの計算も書く
  12. 緑を最初から出しておく
  13. F(R)と矢印も一緒に出す
  14. xのinitをx0にする. アニメで説明
  15. Soundness proof アニメに
  16. title