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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend