formal verification of cyber physical systems
play

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


  1. Formal Verification of Cyber-Physical Systems Matthew Chan , Daniel Ricketts, Sorin Lerner, Gregory Malecha University of California, San Diego veridrone.ucsd.edu

  2. Cyber-Physical Systems

  3. Cyber-Physical Systems

  4. Cyber-Physical Systems

  5. Cyber-Physical Systems

  6. Cyber-Physical Systems

  7. Cyber-Physical Systems

  8. Cyber-Physical Systems Program

  9. Cyber-Physical Systems Program World

  10. Cyber-Physical Systems Program World Sensor

  11. Cyber-Physical Systems Actuator Program World Sensor

  12. Cyber-Physical Systems Program World

  13. World Program v t

  14. World Program v t

  15. World Program v t

  16. World Program v { ∆ t

  17. World Program x t { ∆

  18. World Program v t { ∆

  19. Program World v t { ∆

  20. Outline

  21. Outline • How we formalize CPSs in Coq

  22. Outline • How we formalize CPSs in Coq • Stability (graphically)

  23. Outline • How we formalize CPSs in Coq • Stability (graphically) • Lyapunov Stability

  24. Outline • How we formalize CPSs in Coq • Stability (graphically) • Lyapunov Stability • Exponential Stability

  25. Outline • How we formalize CPSs in Coq • Stability (graphically) • Lyapunov Stability • Exponential Stability • Proving Stability using Lyapunov Functions

  26. Actuator Program World Sensor

  27. Actuator Program World Sensor a ! = − v ∆

  28. Actuator Program World Sensor a ! = − v ∆ v

  29. a ! Actuator Program World Sensor a ! = − v ∆ v

  30. a ! Actuator Program World Sensor ∂ v a ! = − v ∂ t = a ∆ v

  31. Program World ∂ v a ! = − v ∂ t = a ∆

  32. ∨ Program World ∂ v a ! = − v ∂ t = a ∆

  33. ⇤ ( ) ∨ Program World ∂ v a ! = − v ∂ t = a ∆

  34. ⇤ ( ) ` ∨ Program World P x = ∂ v a ! = − v ˙ ∂ t = a ∆

  35. ⇤ ( ) ⇤ ( ` ∨ Program World Safe

  36. ⇤ ( ) ⇤ ( ` ∨ Program World Safe Velocity Height Boundary box …etc [Ricketts et al. MEMOCODE 15]

  37. ⇤ ( ) ⇤ ( ` ∨ Program World Stable

  38. Stability

  39. Lyapunov stability

  40. Lyapunov stability v t

  41. Lyapunov stability v ∀ α > 0 → ∃ { α t

  42. Lyapunov stability v ∀ α > 0 → ∃ β > 0 ∧ ( | x | < β ) { { α β t

  43. Lyapunov stability v ∀ α > 0 → ∃ β > 0 ∧ ( | x | < β ) → ⇤ ( | x | < α ) t

  44. Lyapunov stability v ∀ α > 0 → ∃ β > 0 ∧ ( | x | < β ) → ⇤ ( | x | < α ) t

  45. Lyapunov stability v ∀ α > 0 → ∃ β > 0 ∧ ( | x | < β ) → ⇤ ( | x | < α ) t

  46. Lyapunov stability v ∀ α > 0 → ∃ β > 0 ∧ ( | x | < β ) → ⇤ ( | x | < α ) t

  47. Proving Lyapunov stability v t

  48. Proving Lyapunov stability v ∀ α > 0 → ∃ β > 0 ∧ ( | x | < β ) → ⇤ ( | x | < α ) t

  49. Proving Lyapunov stability v ∀ α > 0 → ∃ β > 0 ∧ ( | x | < β ) → ⇤ ( | x | < α ) t

  50. Proof Sketch

  51. Proof Sketch Spec = Ctrl ∨ World

  52. Proof Sketch a ! = − v ∆ Spec = Ctrl ∨ World

  53. Proof Sketch ∂ v a ! = − v ∂ t = a ∆ Spec = Ctrl ∨ World

  54. Proof Sketch ∂ v a ! = − v ∂ t = a ∆ Spec = Ctrl ∨ World Inv = v < 0 → − vt ≤ x ∧ v ≥ 0 → vt ≤ − x

  55. Proof Sketch ∂ v a ! = − v ∂ t = a ∆ Spec = Ctrl ∨ World Inv = v < 0 → − vt ≤ x ∧ v ≥ 0 → vt ≤ − x Spec ` ( Inv ! next ( Inv ))

  56. Improving Lyapunov stability v t

  57. Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) Displacement (x) t `

  58. Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) Displacement (x) t `

  59. Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) Displacement (x) t `

  60. Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) Displacement (x) t `

  61. Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) Displacement (x) t `

  62. Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) Displacement (x) t `

  63. Proving Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) t

  64. Proving Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) where α = c | v 0 | γ = 1 ∆ t

  65. Proving Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) where α = c | v 0 | γ = 1 ∆ t

  66. Proving Exponential stability v ∃ α > 0 , ∃ γ > 0 ∧ ⇤ ( | v | ≤ α e − γ ( t − t 0 ) ) where α = c | v 0 | γ = 1 ∆ t

  67. Proving Stability with Lyapunov Functions The difficulty of proving stability manually is

  68. Proving Stability with Lyapunov Functions The difficulty of proving stability manually is • explicit reasoning about time

  69. Proving Stability with Lyapunov Functions The difficulty of proving stability manually is • explicit reasoning about time • complicated inductive invariants

  70. Proving Stability with Lyapunov Functions The difficulty of proving stability manually is • explicit reasoning about time • complicated inductive invariants • manual proof of Lyapunov stability is 190 lines; 46 lines using Lyapunov function

  71. Lyapunov functions E(v) v

  72. Lyapunov functions E(v) v

  73. Lyapunov functions E (0) = 0 E ( v ) � 0 , v 6 = 0

  74. Lyapunov functions E (0) = 0 E ( v ) � 0 , v 6 = 0 ˙ Lyapunov stable: E ( v ) ≤ 0

  75. Lyapunov functions E (0) = 0 E ( v ) � 0 , v 6 = 0 ˙ Lyapunov stable: E ( v ) ≤ 0 ˙ Exponentially stable: E ( v ) ≤ α E ( v )

  76. Recap

  77. Recap • How we formalize CPSs in Coq

  78. Recap • How we formalize CPSs in Coq • Stability (graphically)

  79. Recap • How we formalize CPSs in Coq • Stability (graphically) • Lyapunov Stability

  80. Recap • How we formalize CPSs in Coq • Stability (graphically) • Lyapunov Stability • Exponential Stability

  81. Recap • How we formalize CPSs in Coq • Stability (graphically) • Lyapunov Stability • Exponential Stability • Proving Stability with Lyapunov Functions

  82. Lessons learned

  83. Lessons learned • Coq can be applied to continuous domains • I learned some Coq • I learned some control theory

  84. Lessons learned • Coq can be applied to continuous domains • I learned some Coq • I learned some control theory • Better solvers for real numbers

  85. Lessons learned • Coq can be applied to continuous domains • I learned some Coq • I learned some control theory • Better solvers for real numbers • Real analysis library could be modernized and better organized

  86. Thanks! veridrone.ucsd.edu

Recommend


More recommend