15-819/18-879: Logical Analysis of Hybrid Systems 18: European Train Control System Verification André Platzer [email protected] Carnegie Mellon University, Pittsburgh, PA 0.8 1.0 0.2 0.4 0.6 0.5 0.4 0.3 0.2 0.1 André Platzer (CMU) LAHS/18: ETCS Verification 1 / 18 Outline 1 Train Control Separation Principle Parametric ETCS 2 Parametric European Train Control System Controllability Reactivity Refined Control Safety Liveness 3 Enhancements 4 Summary André Platzer (CMU) LAHS/18: ETCS Verification 1 / 18 Outline 1 Train Control Separation Principle Parametric ETCS 2 Parametric European Train Control System Controllability Reactivity Refined Control Safety Liveness 3 Enhancements 4 Summary André Platzer (CMU) LAHS/18: ETCS Verification 1 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) a 2 1 1 2 3 -1 4 t z v 3.0 6 2.5 5 2.0 4 1.5 3 1.0 2 1 0.5 1 -2 André Platzer (CMU) 2 3 4 t LAHS/18: ETCS Verification 1 2 3 4 t 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) 1 More than computers: André Platzer (CMU) no NullPointerException 6⇒ safe LAHS/18: ETCS Verification 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) 1 More than computers: 2 More than physics: André Platzer (CMU) no NullPointerException 6⇒ safe braking control v 2 ≤ 2b(m − z) 6⇒ safe LAHS/18: ETCS Verification 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) 1 More than computers: 2 More than physics: 3 Joint dynamics requires: André Platzer (CMU) no NullPointerException 6⇒ safe braking control v 2 ≤ 2b(m − z) 6⇒ safe v2 a 2 ε2 a a SB ≥ + + εv + ε2 + εv . . . 2b 2b b 2 LAHS/18: ETCS Verification 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) v 0 z André Platzer (CMU) m LAHS/18: ETCS Verification 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) v 0 z André Platzer (CMU) m LAHS/18: ETCS Verification 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) v 0 z André Platzer (CMU) m LAHS/18: ETCS Verification 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) v 0 z André Platzer (CMU) m LAHS/18: ETCS Verification 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) v 0 z André Platzer (CMU) m ← SB → LAHS/18: ETCS Verification 2 / 18 Hybrid Systems Analysis: Train Control Challenge Hybrid Systems Continuous dynamics (differential equations) Discrete dynamics (control decisions) v 0 z SB ≥ André Platzer (CMU) m ← SB → v2 2b + a 2 ε2 2b a a + εv + ε2 + εv b 2 LAHS/18: ETCS Verification 2 / 18 European Train Control System τ.p Objectives ST SB m.e Overview 1 Collision free 1 No static partitioning of track 2 Maximise throughput & velocity (300 km/h) 2 Radio Block Controller (RBC) manages movement authorities dynamically 3 Moving block principle 3 2.1 ∗ 106 passengers/day André Platzer (CMU) LAHS/18: ETCS Verification 3 / 18 European Train Control System τ.p ST SB m.e Parametric Hybrid Systems continuous evolution along differential equations + discrete change m.e MA τ.pz τ.v v André Platzer (CMU) LAHS/18: ETCS Verification t 3 / 18 European Train Control System τ.p ST SB m.e Parametric Hybrid Systems continuous evolution along differential equations + discrete change m.e MA τ.pz τ.v v André Platzer (CMU) LAHS/18: ETCS Verification t 3 / 18 European Train Control System τ.p ST SB m.e Parametric Hybrid Systems continuous evolution along differential equations + discrete change m.e MA τ.pz τ.v v André Platzer (CMU) LAHS/18: ETCS Verification t 3 / 18 Differential Dynamic Logic (dL) τ.v τ.p m.e Example →[ Precondition André Platzer (CMU) ]( Operation model LAHS/18: ETCS Verification ) Property 4 / 18 Differential Dynamic Logic (dL) τ.v τ.p m.e Example τ.v 2 ≤ 2b(m.e − τ.p) → [ Precondition André Platzer (CMU) ](τ.p ≤ m.e) Operation model LAHS/18: ETCS Verification Property 4 / 18 Differential Dynamic Logic (dL) τ.v τ.p m.e Example τ.v 2 ≤ 2b(m.e − τ.p) → [ Precondition τ.p 0 = τ.v , τ.v 0 = τ.a](τ.p ≤ m.e) Operation model Property Continuous evolution: differential equation André Platzer (CMU) LAHS/18: ETCS Verification 4 / 18 Differential Dynamic Logic (dL) τ.v τ.p m.e Example τ.v 2 ≤ 2b(m.e − τ.p) → [τ.a := ∗; Precondition τ.p 0 = τ.v , τ.v 0 = τ.a](τ.p ≤ m.e) Operation model Property Random assignment André Platzer (CMU) LAHS/18: ETCS Verification 4 / 18 Differential Dynamic Logic (dL) τ.v τ.p m.e Example τ.v 2 ≤ 2b(m.e − τ.p) → [τ.a := ∗; ?τ.a ≤ −b; τ.p 0 = τ.v , τ.v 0 = τ.a](τ.p ≤ m.e) Precondition Operation model Property Test André Platzer (CMU) LAHS/18: ETCS Verification 4 / 18 3D Movement Authorities τ.v τ.p Vectorial MA m = (d, e, r ): Beyond point m.e train not faster than m.d. Train should try to keep recommended speed m.r André Platzer (CMU) LAHS/18: ETCS Verification 5 / 18 3D Movement Authorities τ.v m.r τ.p Vectorial MA m = (d, e, r ): Beyond point m.e train not faster than m.d. Train should try to keep recommended speed m.r André Platzer (CMU) LAHS/18: ETCS Verification 5 / 18 3D Movement Authorities τ.v m.r m1 .d τ.p m1 .e Vectorial MA m = (d, e, r ): Beyond point m.e train not faster than m.d. Train should try to keep recommended speed m.r André Platzer (CMU) LAHS/18: ETCS Verification 5 / 18 3D Movement Authorities τ.v m.r m1 .d τ.p m1 .e Vectorial MA m = (d, e, r ): Beyond point m.e train not faster than m.d. Train should try to keep recommended speed m.r André Platzer (CMU) LAHS/18: ETCS Verification 5 / 18 3D Movement Authorities τ.v m.r m2 .d m2 .e τ.p Vectorial MA m = (d, e, r ): Beyond point m.e train not faster than m.d. Train should try to keep recommended speed m.r André Platzer (CMU) LAHS/18: ETCS Verification 5 / 18 3D Movement Authorities τ.v m.r m2 .d m2 .e τ.p Vectorial MA m = (d, e, r ): Beyond point m.e train not faster than m.d. Train should try to keep recommended speed m.r André Platzer (CMU) LAHS/18: ETCS Verification 5 / 18 3D Movement Authorities τ.v m3 .d m.r τ.p m3 .e Vectorial MA m = (d, e, r ): Beyond point m.e train not faster than m.d. Train should try to keep recommended speed m.r André Platzer (CMU) LAHS/18: ETCS Verification 5 / 18 3D Movement Authorities τ.v m3 .d m.r τ.p m3 .e Vectorial MA m = (d, e, r ): Beyond point m.e train not faster than m.d. Train should try to keep recommended speed m.r André Platzer (CMU) LAHS/18: ETCS Verification 5 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. τ.p André Platzer (CMU) ST SB LAHS/18: ETCS Verification m.e 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. To simplify notation, assume trains are points. André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. To simplify notation, assume trains are points. Consider any point in time ζ. André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. To simplify notation, assume trains are points. Consider any point in time ζ. For n ∈ N, let z1 , . . . , zn be positions of all the trains 1 to n at ζ. André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. To simplify notation, assume trains are points. Consider any point in time ζ. For n ∈ N, let z1 , . . . , zn be positions of all the trains 1 to n at ζ. Let Mi be the MA-range, i.e., the set of positions on the track for which train i has currently been issued MA. André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. To simplify notation, assume trains are points. Consider any point in time ζ. For n ∈ N, let z1 , . . . , zn be positions of all the trains 1 to n at ζ. Let Mi be the MA-range, i.e., the set of positions on the track for which train i has currently been issued MA. Suppose there was a collision at time ζ. André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. To simplify notation, assume trains are points. Consider any point in time ζ. For n ∈ N, let z1 , . . . , zn be positions of all the trains 1 to n at ζ. Let Mi be the MA-range, i.e., the set of positions on the track for which train i has currently been issued MA. Suppose there was a collision at time ζ. Then zi = zj at ζ for some i, j ∈ N. André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. To simplify notation, assume trains are points. Consider any point in time ζ. For n ∈ N, let z1 , . . . , zn be positions of all the trains 1 to n at ζ. Let Mi be the MA-range, i.e., the set of positions on the track for which train i has currently been issued MA. Suppose there was a collision at time ζ. Then zi = zj at ζ for some i, j ∈ N. However, by assumption, zi ∈ Mi and zj ∈ Mj at ζ, thus Mi ∩ Mj 6= ∅, André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Separation Principle Lemma (Principle of separation by movement authorities) Each train respects its movement authority and the RBC partitions into disjoint movement authorities ⇒ trains can never collide. Proof. To simplify notation, assume trains are points. Consider any point in time ζ. For n ∈ N, let z1 , . . . , zn be positions of all the trains 1 to n at ζ. Let Mi be the MA-range, i.e., the set of positions on the track for which train i has currently been issued MA. Suppose there was a collision at time ζ. Then zi = zj at ζ for some i, j ∈ N. However, by assumption, zi ∈ Mi and zj ∈ Mj at ζ, thus Mi ∩ Mj 6= ∅, This contradicts the assumption of disjoint MA. André Platzer (CMU) LAHS/18: ETCS Verification 6 / 18 Model/State Variables Train τ : RBC + MA: τ.v Position m.e End of Authority τ.v Speed m.d Speed limit τ.a Acceleration m.r Recommended speed (t model time) rbc.message Channel Parameters: SB Start Braking ST Start Talking b Braking power/deceleration a Maximum acceleration ε Maximum cycle time ∆ Maximum expected communication delay André Platzer (CMU) LAHS/18: ETCS Verification 7 / 18 Parametric Skeleton of ETCS Read from the informal specification. . . ETCSskel : (train ∪ rbc)∗ train : spd; atp; drive spd : (?τ.v ≤ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ a) ∪(?τ.v ≥ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ 0) atp : if(m.e − τ.p ≤ SB ∨ rbc.message = emergency) τ.a := −b drive : t := 0; (τ.p 0 = τ.v , τ.v 0 = τ.a, t 0 = 1 ∧ τ.v ≥ 0 ∧ t ≤ ε) rbc : (rbc.message := emergency) ∪ (m := ∗; ?m.r > 0) André Platzer (CMU) LAHS/18: ETCS Verification 8 / 18 Parametric Skeleton of ETCS As transition system. . . m0 := m m := ∗ τ.p 0 = τ.v , τ.v 0 = τ.a, t 0 = 1 τ.v ≥ 0 ∧ t ≤ ε rbc.message := emergency t := 0 τ.a := −b ?τ.v ≤ m.r τ.a := ∗ ? − b ≤ τ.a ≤ A ?(m.e − τ.p ≤ SB∨ rbc.message = emergency ) ?τ.v ≥ m.r André Platzer (CMU) τ.a := ∗ ?0 > τ.a ≥ −b LAHS/18: ETCS Verification ?m.e − τ.p ≥ SB∧ rbc.message 6= emergency ) 8 / 18 Parametric Skeleton of ETCS ETCSskel : (train ∪ rbc)∗ train : spd; atp; drive spd : (?τ.v ≤ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ a) ∪(?τ.v ≥ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ 0) atp : if(m.e − τ.p ≤ SB ∨ rbc.message = emergency) τ.a := −b drive : t := 0; (τ.p 0 = τ.v , τ.v 0 = τ.a, t 0 = 1 ∧ τ.v ≥ 0 ∧ t ≤ ε) rbc : (rbc.message := emergency) ∪ (m := ∗; ?m.r > 0) Example (Taks) Verify safety André Platzer (CMU) LAHS/18: ETCS Verification 8 / 18 Parametric Skeleton of ETCS ETCSskel : (train ∪ rbc)∗ train : spd; atp; drive spd : (?τ.v ≤ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ a) ∪(?τ.v ≥ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ 0) atp : if(m.e − τ.p ≤ SB ∨ rbc.message = emergency) τ.a := −b drive : t := 0; (τ.p 0 = τ.v , τ.v 0 = τ.a, t 0 = 1 ∧ τ.v ≥ 0 ∧ t ≤ ε) rbc : (rbc.message := emergency) ∪ (m := ∗; ?m.r > 0) Example (Taks) Verify safety Specification [ETCSskel ](τ.p ≥ m.e → τ.v ≤ m.d) André Platzer (CMU) LAHS/18: ETCS Verification 8 / 18 Parametric Skeleton of ETCS ETCSskel : (train ∪ rbc)∗ train : spd; atp; drive spd : (?τ.v ≤ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ a) ∪(?τ.v ≥ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ 0) atp : if(m.e − τ.p ≤ SB ∨ rbc.message = emergency) τ.a := −b drive : t := 0; (τ.p 0 = τ.v , τ.v 0 = τ.a, t 0 = 1 ∧ τ.v ≥ 0 ∧ t ≤ ε) rbc : (rbc.message := emergency) ∪ (m := ∗; ?m.r > 0) Example (Taks) Verify safety Specification [ETCSskel ](τ.p ≥ m.e → τ.v ≤ m.d) Issue Lots of counterexamples! André Platzer (CMU) LAHS/18: ETCS Verification 8 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d 1 Controllability discovery André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d 1 Controllability discovery André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d 1 Controllability discovery André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d SB 1 Controllability discovery 2 Control refinement André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d SB 1 Controllability discovery 2 Control refinement André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d SB 1 Controllability discovery 2 Control refinement André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v Reaction time ε τ.p m.e m.d SB 1 Controllability discovery 2 Control refinement André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d SB 1 Controllability discovery 2 Control refinement 3 Repeat 2 until safety can be proven André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Iterative Control Refinement Process τ.v τ.p m.e m.d SB 1 Controllability discovery 2 Control refinement 3 Repeat 4 Liveness check 2 until safety can be proven André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 Outline 1 Train Control Separation Principle Parametric ETCS 2 Parametric European Train Control System Controllability Reactivity Refined Control Safety Liveness 3 Enhancements 4 Summary André Platzer (CMU) LAHS/18: ETCS Verification 9 / 18 ETCS Controllability τ.v τ.v 2 − m.d 2 ≤ 2b(m.e − τ.p) τ.p m.e m.d Proposition (Controllability) [τ.p 0 = τ.v , τ.v 0 = −b ∧ τ.v ≥ 0](τ.p ≥ m.e → τ.v ≤ m.d) ≡ τ.v 2 − m.d 2 ≤ 2b(m.e − τ.p) André Platzer (CMU) LAHS/18: ETCS Verification (C) 10 / 18 ETCS RBC Controllability X NEW EOA NEW EOA X EOA NEW EOA Proposition (RBC Controllability) m.d ≥ 0 ∧ b > 0 → [m0 := m; rbc] m0 .d 2 − m.d 2 ≤ 2b(m.e − m0 .e) ∧ m0 .d ≥ 0 ∧ m.d ≥ 0 ↔ ∀τ (hm := m0 iC) → C André Platzer (CMU) LAHS/18: ETCS Verification 11 / 18 ETCS Reactivity τ.v Reaction time ε τ.p m.e m.d SB Proposition (Reactivity) ∀m.e ∀τ.p m.e − τ.p ≥ SB ∧ C → [τ.a := a; drive] C a τ.v 2 − m.d 2 a ≡ SB ≥ + +1 ε2 + ε τ.v 2b b 2 André Platzer (CMU) LAHS/18: ETCS Verification 12 / 18 Refined ETCS Control ETCSr : (train ∪ rbc)∗ train : spd; atp; drive spd : (?τ.v ≤ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ A) ∪(?τ.v ≥ m.r ; τ.a := ∗; ?0 > τ.a ≥ −b) a 2 2 2 a + + 1 ε + ε τ.v atp : SB := τ.v −m.d ; 2b b 2 : if(m.e − τ.p ≤ SB ∨ rbc.message = emergency) τ.a := −b drive : t := 0; (τ.p 0 = τ.v , τ.v 0 = τ.a, t 0 = 1 ∧ τ.v ≥ 0 ∧ t ≤ ε) rbc : (rbc.message := emergency ) ∪ m0 := m; m := ∗; ?m0 .d 2 − m.d 2 ≤ 2b(m.e − m0 .e) ∧ m.r ≥ 0 ∧ m.d ≥ 0 André Platzer (CMU) LAHS/18: ETCS Verification 13 / 18 Refined ETCS Control ETCSr : (train ∪ rbc)∗ train : spd; atp; drive spd : (?τ.v ≤ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ A) ∪(?τ.v ≥ m.r ; τ.a := ∗; ?0 > τ.a ≥ −b) a 2 2 2 a + + 1 ε + ε τ.v atp : SB := τ.v −m.d ; 2b b 2 : if(m.e − τ.p ≤ SB ∨ rbc.message = emergency) τ.a := −b drive : t := 0; (τ.p 0 = τ.v , τ.v 0 = τ.a, t 0 = 1 ∧ τ.v ≥ 0 ∧ t ≤ ε) rbc : (rbc.message := emergency ) ∪ m0 := m; m := ∗; ?m0 .d 2 − m.d 2 ≤ 2b(m.e − m0 .e) ∧ m.r ≥ 0 ∧ m.d ≥ 0 Specification τ.v 2 − m.d 2 ≤ 2b(m.e − τ.p) → [ETCSr ](τ.p ≥ m.e → τ.v ≤ m.d) André Platzer (CMU) LAHS/18: ETCS Verification 13 / 18 Refined ETCS Control ETCSr : (train ∪ rbc)∗ Necessary for safety train : spd; atp; drive spd : (?τ.v ≤ m.r ; τ.a := ∗; ? − b ≤ τ.a ≤ A) ∪(?τ.v ≥ m.r ; τ.a := ∗; ?0 > τ.a ≥ −b) a 2 2 2 a + + 1 ε + ε τ.v atp : SB := τ.v −m.d ; 2b b 2 : if(m.e − τ.p ≤ SB ∨ rbc.message = emergency) τ.a := −b drive : t := 0; (τ.p 0 = τ.v , τ.v 0 = τ.a, t 0 = 1 ∧ τ.v ≥ 0 ∧ t ≤ ε) rbc : (rbc.message := emergency ) ∪ m0 := m; m := ∗; ?m0 .d 2 − m.d 2 ≤ 2b(m.e − m0 .e) ∧ m.r ≥ 0 ∧ m.d ≥ 0 Specification τ.v 2 − m.d 2 ≤ 2b(m.e − τ.p) → [ETCSr ](τ.p ≥ m.e → τ.v ≤ m.d) André Platzer (CMU) LAHS/18: ETCS Verification 13 / 18 ETCS Safety EOA Proposition (Safety) C→ [ETCS](τ.p ≥ m.e → τ.v ≤ m.d) André Platzer (CMU) LAHS/18: ETCS Verification 14 / 18 ETCS Liveness EOA NEW EOA NEW EOA Proposition (Liveness) τ.v ≥ 0 ∧ ε > 0 → ∀P hETCSr i τ.p ≥ P André Platzer (CMU) LAHS/18: ETCS Verification 15 / 18 Outline 1 Train Control Separation Principle Parametric ETCS 2 Parametric European Train Control System Controllability Reactivity Refined Control Safety Liveness 3 Enhancements 4 Summary André Platzer (CMU) LAHS/18: ETCS Verification 15 / 18 Safety Despite Disturbances So far: no wind, friction, etc. Direct control of the acceleration André Platzer (CMU) LAHS/18: ETCS Verification 16 / 18 Safety Despite Disturbances So far: no wind, friction, etc. Issue Direct control of the acceleration This is unrealistic! André Platzer (CMU) LAHS/18: ETCS Verification 16 / 18 Safety Despite Disturbances So far: no wind, friction, etc. Issue Direct control of the acceleration This is unrealistic! Solution Take disturbances into account. Theorem ETCS is controllable, reactive, and safe in the presence of disturbances. André Platzer (CMU) LAHS/18: ETCS Verification 16 / 18 Safety Despite Disturbances So far: no wind, friction, etc. Issue Direct control of the acceleration This is unrealistic! Solution Take disturbances into account. Theorem ETCS is controllable, reactive, and safe in the presence of disturbances. τ.v τ.p m.e m.d André Platzer (CMU) LAHS/18: ETCS Verification 16 / 18 Safety Despite Disturbances So far: no wind, friction, etc. Issue Direct control of the acceleration This is unrealistic! Solution Take disturbances into account. Theorem ETCS is controllable, reactive, and safe in the presence of disturbances. Proof sketch The system now contains τ.a − l ≤ τ.v 0 ≤ τ.a + u instead of τ.v 0 = τ.a. ; We cannot solve the differential equations anymore. ; Use differential invariants for approximation. For details see later. Platzer, A.: Differential-algebraic dynamic logic for differential-algebraic programs. J. Log. Comput. 20(1) (2010) DOI 10.1093/logcom/exn070. André Platzer (CMU) LAHS/18: ETCS Verification 16 / 18 Realistic Speed Control So far Almost completely non-deterministic control. André Platzer (CMU) LAHS/18: ETCS Verification 17 / 18 Realistic Speed Control So far Issue Almost completely non-deterministic control. This is unrealistic! André Platzer (CMU) LAHS/18: ETCS Verification 17 / 18 Realistic Speed Control So far Issue Almost completely non-deterministic control. This is unrealistic! Solution Verify proportional-integral (PI) controllers used in trains. Controller Truncate v0−v v0−v a In −7 Step PI Output −b min 9 1 s Out1 max Plant Speed A Acceleration André Platzer (CMU) LAHS/18: ETCS Verification 17 / 18 Realistic Speed Control So far Issue Almost completely non-deterministic control. This is unrealistic! Solution Verify proportional-integral (PI) controllers used in trains. Controller Truncate v0−v v0−v a In −7 Step −b PI Output min 9 1 s Out1 max Plant Speed A Acceleration K*u [1.679 0.0008; 1 0]*u 1 v0−v min K*u 1 a [0.1995 0.000024; 1 0]*u s André Platzer (CMU) 1 s LAHS/18: ETCS Verification 17 / 18 Realistic Speed Control So far Issue Almost completely non-deterministic control. This is unrealistic! Solution Verify proportional-integral (PI) controllers used in trains. Controller Truncate a v0−v v0−v In −7 Step −b PI Output min 9 1 s Out1 max Plant Speed A Acceleration 1 v0−v 1 a K*u s 1 s Differential equation system τ.v 0 = min a, max −b, `(τ.v − m.r ) − i s − c m.r ∧ s 0 = τ.v − m.r André Platzer (CMU) LAHS/18: ETCS Verification 17 / 18 Realistic Speed Control So far Issue Almost completely non-deterministic control. This is unrealistic! Solution Verify proportional-integral (PI) controllers used in trains. Theorem The ETCS system remains safe when speed is controlled by a PI controller. Proof sketch Cannot solve differential equations really. Use differential invariants! For details see later. Platzer, A.: Differential-algebraic dynamic logic for differential-algebraic programs. J. Log. Comput. 20(1) (2010) DOI 10.1093/logcom/exn070. André Platzer (CMU) LAHS/18: ETCS Verification 17 / 18 Outline 1 Train Control Separation Principle Parametric ETCS 2 Parametric European Train Control System Controllability Reactivity Refined Control Safety Liveness 3 Enhancements 4 Summary André Platzer (CMU) LAHS/18: ETCS Verification 17 / 18 Summary τ.p ST SB m.e Formally verified a major case study with KeYmaera: discovered necessary safety constraints controllability, reactivity, safety and liveness properties Extensions for ETCS with disturbances and for ETCS with PI control André Platzer (CMU) LAHS/18: ETCS Verification 18 / 18
© Copyright 2026 Paperzz