Formal Verification of Cyber-Physical Systems
Matthew Chan, Daniel Ricketts, Sorin Lerner, Gregory Malecha University of California, San Diego veridrone.ucsd.edu
Formal Verification of Cyber-Physical Systems Matthew Chan , Daniel - - PowerPoint PPT Presentation
Formal Verification of Cyber-Physical Systems Matthew Chan , Daniel Ricketts, Sorin Lerner, Gregory Malecha University of California, San Diego veridrone.ucsd.edu Cyber-Physical Systems Cyber-Physical Systems Cyber-Physical Systems
Matthew Chan, Daniel Ricketts, Sorin Lerner, Gregory Malecha University of California, San Diego veridrone.ucsd.edu
Program
World Program
World Program
Sensor
World Program
Actuator Sensor
Program World
Program
World
v t
Program
World
v t
Program
World
v t
Program
World
v t
∆
Program
World
x t
∆
Program
World
v t
∆
Program World
v t
∆
Program
Actuator Sensor
World
Program
Actuator Sensor
World
a! = − v ∆
Program
Actuator Sensor
World
a! = − v ∆
Program
Actuator Sensor
World
a! = − v ∆ a!
Program
Actuator Sensor
World
a! = − v ∆
∂v ∂t = a a!
Program World
a! = − v ∆
∂v ∂t = a
Program World
a! = − v ∆
∂v ∂t = a
Program World
a! = − v ∆
∂v ∂t = a
P
Program World
a! = − v ∆ ˙ x = ∂v ∂t = a
Safe
Program World
Safe
Program World
[Ricketts et al. MEMOCODE 15]
Velocity Height Boundary box …etc
Program World
Stable
v t
∀α > 0 → ∃
α
v t
∀α > 0 → ∃β > 0 ∧ (|x| < β)
α
β
v t
∀α > 0 → ∃β > 0 ∧ (|x| < β) → ⇤(|x| < α) v t
∀α > 0 → ∃β > 0 ∧ (|x| < β) → ⇤(|x| < α) v t
∀α > 0 → ∃β > 0 ∧ (|x| < β) → ⇤(|x| < α) v t
∀α > 0 → ∃β > 0 ∧ (|x| < β) → ⇤(|x| < α) v t
v t
∀α > 0 → ∃β > 0 ∧ (|x| < β) → ⇤(|x| < α) v t
∀α > 0 → ∃β > 0 ∧ (|x| < β) → ⇤(|x| < α) v t
Spec = Ctrl ∨ World
Spec = Ctrl ∨ World
a! = − v ∆
Spec = Ctrl ∨ World
a! = − v ∆ ∂v ∂t = a
Spec = Ctrl ∨ World
a! = − v ∆ ∂v ∂t = a
Inv = v < 0 → −vt ≤ x ∧ v ≥ 0 → vt ≤ −x
Spec = Ctrl ∨ World
a! = − v ∆ ∂v ∂t = a
Spec ` (Inv ! next(Inv))
Inv = v < 0 → −vt ≤ x ∧ v ≥ 0 → vt ≤ −x
v t
Displacement (x)
`v t
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
Displacement (x)
`v t
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
Displacement (x)
`v t
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
Displacement (x)
`v t
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
Displacement (x)
`v t
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
Displacement (x)
`v t
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
v t
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
where v t
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
α = c|v0| γ = 1 ∆
v t where
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
α = c|v0| γ = 1 ∆
v t where
∃α > 0, ∃γ > 0 ∧ ⇤(|v| ≤ αe−γ(t−t0))
α = c|v0| γ = 1 ∆
The difficulty of proving stability manually is
The difficulty of proving stability manually is
The difficulty of proving stability manually is
The difficulty of proving stability manually is
46 lines using Lyapunov function
E(v) v
E(v) v
E(0) = 0
E(v) 0, v 6= 0
E(0) = 0
E(v) 0, v 6= 0
Lyapunov stable: ˙ E(v) ≤ 0
E(0) = 0
E(v) 0, v 6= 0
Lyapunov stable: ˙ E(v) ≤ 0
˙ E(v) ≤ αE(v)
Exponentially stable: