coasterx a case study in component driven hybrid systems
play

CoasterX: A Case Study in Component-Driven Hybrid Systems Proof - PowerPoint PPT Presentation

CoasterX: A Case Study in Component-Driven Hybrid Systems Proof Automation Based on ADHS 18 [BLCP18] Brandon Bohrer (joint work with Adriel Luo, Xuean Chuang, Andr e Platzer) Logical Systems Lab Computer Science Department Carnegie


  1. CoasterX: A Case Study in Component-Driven Hybrid Systems Proof Automation Based on ADHS ’18 [BLCP18] Brandon Bohrer (joint work with Adriel Luo, Xuean Chuang, Andr´ e Platzer) Logical Systems Lab Computer Science Department Carnegie Mellon University Speaking Skills, Mar 26 2018 1 / 49

  2. Outline 1 Motivation 2 Approach 3 Modeling and Verification Background: d L Identifying Assumptions Formal Specification Formal Verification 4 Evaluation 5 Future Work and Conclusion 2 / 49

  3. Roller Coasters are Safety-Critical Systems Top Thrill Steel Phantom Mindbender [BLCP18] Joker’s Jinx Phantom’s Revenge Fujin Raijin II Rollback Head Injury Derailment 3 / 49

  4. Formal Proofs in d L Ensure Safe Designs [BLCP18] Top Thrill Steel Phantom Mindbender Rollback Head Injury Derailment ⇓ Pre → [ phys ] Post Identify: • Notion of safety Post ( acc < acc hi ) 4 / 49

  5. Formal Proofs in d L Ensure Safe Designs [BLCP18] Top Thrill Steel Phantom Mindbender Rollback Head Injury Derailment ⇓ Pre → [ phys ] Post Identify: • Notion of safety Post ( acc < acc hi ) • Safe conditions Pre ( v = v 0 ) 4 / 49

  6. Formal Proofs in d L Ensure Safe Designs [BLCP18] Top Thrill Steel Phantom Mindbender Rollback Head Injury Derailment ⇓ Pre → [ phys ] Post Identify: • Notion of safety Post ( acc < acc hi ) • Safe conditions Pre ( v = v 0 ) Verify physical environment design phys ( { x ′ = . . . , y ′ = . . . } ) 4 / 49

  7. Design Verification Supplements Simulation Simulations typically used today [XXLY12, Wei15] Approach Pro Con Simulate Rich dynamics, easy Low rigor+precision Verify High rigor+precision Simple dynamics, hard 5 / 49

  8. Verifying Physical Designs is a Challenge • How do we verify models at scale? • How do we make verification accessible to non-experts? 6 / 49

  9. Verifying Environment Designs is Important ⇓ 7 / 49

  10. Outline 1 Motivation 2 Approach 3 Modeling and Verification Background: d L Identifying Assumptions Formal Specification Formal Verification 4 Evaluation 5 Future Work and Conclusion 8 / 49

  11. Component-Driven Proof Automation Enables Design Verification KeYmaera X Prover Core d L fml. GUI Builder (1700 Lines) CoasterX [FMQ + 15] Backend Component d L pf. model Goal Solution Accessible High-level graphical modeling 9 / 49

  12. Component-Driven Proof Automation Enables Design Verification KeYmaera X Prover Core d L fml. GUI Builder (1700 Lines) CoasterX [FMQ + 15] Backend Component d L pf. model Goal Solution Accessible High-level graphical modeling Rigorous Formal proof checked by small prover core 9 / 49

  13. Component-Driven Proof Automation Enables Design Verification KeYmaera X Prover Core d L fml. GUI Builder (1700 Lines) CoasterX [FMQ + 15] Backend Component d L pf. model Goal Solution Accessible High-level graphical modeling Rigorous Formal proof checked by small prover core Scalable Proof scales by exploiting component structure 9 / 49

  14. Track Sections are Components for Coasters Generic Component 10 / 49

  15. Track Sections are Components for Coasters Generic Component � � � Automatic Composition 10 / 49

  16. Track Sections are Components for Coasters Generic Component � � � Automatic Composition 11 / 49

  17. Track Sections are Components for Coasters Generic Component � � � Automatic Composition 12 / 49

  18. Track Sections are Components for Coasters Generic Component � � � Automatic Composition 13 / 49

  19. Track Sections are Components for Coasters Generic Component � � � Automatic Composition 14 / 49

  20. Outline 1 Motivation 2 Approach 3 Modeling and Verification Background: d L Identifying Assumptions Formal Specification Formal Verification 4 Evaluation 5 Future Work and Conclusion 15 / 49

  21. Outline 1 Motivation 2 Approach 3 Modeling and Verification Background: d L Identifying Assumptions Formal Specification Formal Verification 4 Evaluation 5 Future Work and Conclusion 16 / 49

  22. Background: d L Formulas P , Q ::= P ∧ Q | ¬ P | ∀ xP | ∃ xP | θ 1 ≥ θ 2 | [ α ] P | � α � P Example: Pre → [ phys ] Post Construct Meaning P ∧ Q , ¬ P Classical propositional connectives 17 / 49

  23. Background: d L Formulas P , Q ::= P ∧ Q | ¬ P | ∀ xP | ∃ xP | θ 1 ≥ θ 2 | [ α ] P | � α � P Example: Pre → [ phys ] Post Construct Meaning P ∧ Q , ¬ P Classical propositional connectives ∀ x P , ∃ x P First-order real quantifiers θ 1 ≥ θ 2 Real arithmetic comparisons 17 / 49

  24. Background: d L Formulas P , Q ::= P ∧ Q | ¬ P | ∀ xP | ∃ xP | θ 1 ≥ θ 2 | [ α ] P | � α � P Example: Pre → [ phys ] Post Construct Meaning P ∧ Q , ¬ P Classical propositional connectives ∀ x P , ∃ x P First-order real quantifiers θ 1 ≥ θ 2 Real arithmetic comparisons [ α ] P After α runs, P always holds � α � P After α runs, P sometimes holds 17 / 49

  25. Background: Hybrid Programs α, β ::= ? P | x := θ | { x ′ = θ & P } | α ∪ β | α ; β | α ∗ Construct Meaning ? P Assert formula P , else fail 18 / 49

  26. Background: Hybrid Programs α, β ::= ? P | x := θ | { x ′ = θ & P } | α ∪ β | α ; β | α ∗ Construct Meaning ? P Assert formula P , else fail x := θ Assign value of term θ to x 18 / 49

  27. Background: Hybrid Programs α, β ::= ? P | x := θ | { x ′ = θ & P } | α ∪ β | α ; β | α ∗ Construct Meaning ? P Assert formula P , else fail x := θ Assign value of term θ to x { x ′ = θ & P } Evolve x at continuous rate θ 18 / 49

  28. Background: Hybrid Programs α, β ::= ? P | x := θ | { x ′ = θ & P } | α ∪ β | α ; β | α ∗ Construct Meaning ? P Assert formula P , else fail x := θ Assign value of term θ to x { x ′ = θ & P } Evolve x at continuous rate θ Evolution domain constraint P asserted continuously 18 / 49

  29. Background: Hybrid Programs α, β ::= ? P | x := θ | { x ′ = θ & P } | α ∪ β | α ; β | α ∗ Construct Meaning ? P Assert formula P , else fail x := θ Assign value of term θ to x { x ′ = θ & P } Evolve x at continuous rate θ Evolution domain constraint P asserted continuously P must also hold initially (like ? P ) 18 / 49

  30. Background: Hybrid Programs α, β ::= ? P | x := θ | { x ′ = θ & P } | α ∪ β | α ; β | α ∗ Construct Meaning ? P Assert formula P , else fail x := θ Assign value of term θ to x { x ′ = θ & P } Evolve x at continuous rate θ Evolution domain constraint P asserted continuously P must also hold initially (like ? P ) α ∪ β Choose either α or β nondeterministically 18 / 49

  31. Background: Hybrid Programs α, β ::= ? P | x := θ | { x ′ = θ & P } | α ∪ β | α ; β | α ∗ Construct Meaning ? P Assert formula P , else fail x := θ Assign value of term θ to x { x ′ = θ & P } Evolve x at continuous rate θ Evolution domain constraint P asserted continuously P must also hold initially (like ? P ) α ∪ β Choose either α or β nondeterministically α ; β First α then β in any resulting state 18 / 49

  32. Background: Hybrid Programs α, β ::= ? P | x := θ | { x ′ = θ & P } | α ∪ β | α ; β | α ∗ Construct Meaning ? P Assert formula P , else fail x := θ Assign value of term θ to x { x ′ = θ & P } Evolve x at continuous rate θ Evolution domain constraint P asserted continuously P must also hold initially (like ? P ) α ∪ β Choose either α or β nondeterministically α ; β First α then β in any resulting state α ∗ Loop α nondeterministically n ≥ 0 times 18 / 49

  33. Outline 1 Motivation 2 Approach 3 Modeling and Verification Background: d L Identifying Assumptions Formal Specification Formal Verification 4 Evaluation 5 Future Work and Conclusion 19 / 49

  34. Velocity and Acceleration Bounds are Fundamental Rollback Head Injury Derailment 0 < v lo ≤ v | a | ≤ a hi | a | ≤ a hi [AST17] 20 / 49

  35. Tracks are 2D • 2D modeling greatly simplifies GUI • Vertical and horizontal bounds only (no lateral bound) • Ignores banking, wind, roll resistance (1-2%) ⇒ 21 / 49

  36. Acceleration Bound is Conservative Top Thrill Steel Phantom Mindbender Joker’s Jinx Phantom’s Revenge Fujin Raijin II Rollback Head Injury Derailment ( > ) ( < ) ( < ) 22 / 49

  37. Conservative Bound Suffices for Phantom Top Thrill Steel Phantom Mindbender Joker’s Jinx Phantom’s Revenge Fujin Raijin II Rollback Head Injury Derailment ( > ) ( < ) ( < ) 23 / 49

  38. Outline 1 Motivation 2 Approach 3 Modeling and Verification Background: d L Identifying Assumptions Formal Specification Formal Verification 4 Evaluation 5 Future Work and Conclusion 24 / 49

  39. Example √ √ √ phys ≡ {{ x ′ = 2 / 2 v , y ′ = 2 / 2 v , v ′ = − 2 / 2 g & 0 ≤ x ≤ 100 } √ ∪ { x ′ = dx v , y ′ = dy , v ′ = − dy g , dx ′ = − dy v / 100 2 , √ dy ′ = dx v / 100 2 & 100 ≤ x ≤ 200 } √ √ √ ∪ { x ′ = 2 / 2 v , y ′ = − 2 / 2 v , v ′ = 2 / 2 g & 200 ≤ x ≤ 300 }} ∗ 25 / 49

  40. Example phys ≡ {{ Line( . . . ) & 0 ≤ x ≤ 100 } ∪ { Arc( . . . ) & 100 ≤ x ≤ 200 } ∪ { Line( . . . ) & 200 ≤ x ≤ 300 }} ∗ 26 / 49

Recommend


More recommend