Meeting A Powertrain Verification Challenge
Parasara Sridhar Duggirala, Chuchu Fan, Sayan Mitra, and Mahesh Viswanathan
Challenge Parasara Sridhar Duggirala, Chuchu Fan, Sayan Mitra, and - - PowerPoint PPT Presentation
Meeting A Powertrain Verification Challenge Parasara Sridhar Duggirala, Chuchu Fan, Sayan Mitra, and Mahesh Viswanathan Powertrain Control Systems Fuel control and transmission subsystem Software control: increasing complexity (100M
Parasara Sridhar Duggirala, Chuchu Fan, Sayan Mitra, and Mahesh Viswanathan
CAV 2015 2
CAV 2015 3
CAV 2015 4
This paper: Verifying one of the models in the powertrain control benchmark
CAV 2015 5
Hybrid id Systems Model
Polynomial ODE Plant + Modes of operation Pr Property rise ⇒ □[𝜃,𝜂][0.98 𝜇𝑠𝑓𝑔, 1.02𝜇𝑠𝑓𝑔]
C2E2
(Hybrid Systems Verification Tool)
Yes No
𝑦 = 1, ሶ 𝑧 = 2]
CAV 2015 6
Pr Property rise ⇒ □[𝜃,𝜂][0.98 𝜇𝑠𝑓𝑔, 1.02𝜇𝑠𝑓𝑔]
C2E2
(Hybrid Systems Verification Tool)
Yes No
𝑦 = 1, ሶ 𝑧 = 2]
CAV 2015 7
Pr Property rise ⇒ □[𝜃,𝜂][0.98 𝜇𝑠𝑓𝑔, 1.02𝜇𝑠𝑓𝑔]
C2E2
(Hybrid Systems Verification Tool)
Yes No
𝑦 = 1, ሶ 𝑧 = 2]
CAV 2015 8
Pr Property rise ⇒ □[𝜃,𝜂][0.98 𝜇𝑠𝑓𝑔, 1.02𝜇𝑠𝑓𝑔]
C2E2
(Hybrid Systems Verification Tool)
Yes No
ሶ p = c1 2θ c20p2 + c21p + c22 − c12 c2 + c3ωp + c4ωp2 + c5ωp2 ሶ λ = c26(c15 + c16c25Fc + c17c25
2 Fc 2 + c18
ሶ mc + c19 ሶ mcc25Fc − λ) ሶ pe = c1 2c23θ c20p2 + c21p + c22 − c2 + c3ωp + c4ωp2 + c5ωp2 ሶ i = c14(c24λ − c11)
where Fc =
1 c11 (1 + i + c13(c24λ − c11))(c2 + c3ωp + c4ωp2 + c5ωp2)
ሶ mc = c12(c2 + c3ωp + c4ωp2 + c5ωp2)
CAV 2015 9
S-Taliro Annpureddy et.al.[TACAS’11], Breach Donze et.al.[CAV’10].
…
CAV 2015 10
Model I Delay Differential Equations + Lookup Tables + Hierarchical Components Model II Nonlinear ODE Plant ( Non – polynomial ) + Discrete update control software Model III Polynomial ODE Plant + Continuous controller + Modes of operation
S-Taliro Annpureddy et.al.[TACAS’11], Breach Donze et.al.[CAV’10].
…
CAV 2015 11
Model III Polynomial ODE Plant + Continuous controller + Modes of operation
(Model III)
CAV 2015 12
startup ሶ 𝒚 = 𝒈𝒕 𝒚 normal ሶ 𝒚 = 𝒈𝒐 𝒚 sensor_fail ሶ 𝒚 = 𝒈𝒕𝒈 𝒚 power ሶ 𝒚 = 𝒈𝒒 𝒚 𝑢𝑗𝑛𝑓𝑠 = 𝑈
𝑡
𝜄𝑗𝑜 ≤ 50𝑝 𝜄𝑗𝑜 ≥ 70𝑝 𝑡𝑓𝑜𝑡𝑝𝑠𝐺𝑏𝑗𝑚
No Feedback Control Open Loop mode, feedforward estimator Feedback Control Closed-loop mode, feedback PI control + feedforward estimator
(Model III)
𝜇 – Air/fuel ratio 𝑞 – Intake manifold pressure 𝑞𝑓 – Estimate of 𝑞 𝑗 – PI control variable
CAV 2015 13
startup ሶ 𝒚 = 𝒈𝒕 𝒚 normal ሶ 𝒚 = 𝒈𝒐 𝒚 sensor_fail ሶ 𝒚 = 𝒈𝒕𝒈 𝒚 power ሶ 𝒚 = 𝒈𝒒 𝒚 𝑢𝑗𝑛𝑓𝑠 = 𝑈
𝑡
𝜄𝑗𝑜 ≤ 50𝑝 𝜄𝑗𝑜 ≥ 70𝑝 𝑡𝑓𝑜𝑡𝑝𝑠𝐺𝑏𝑗𝑚
No Feedback Control Open Loop mode, feedforward estimator Feedback Control Closed-loop mode, feedback PI control + feedforward estimator
(Model III)
𝜇 – Air/fuel ratio 𝑞 – Intake manifold pressure 𝑞𝑓 – Estimate of 𝑞 𝑗 – PI control variable
CAV 2015 14
startup ሶ 𝒚 = 𝒈𝒕 𝒚 normal ሶ 𝒚 = 𝒈𝒐 𝒚 sensor_fail ሶ 𝒚 = 𝒈𝒕𝒈 𝒚 power ሶ 𝒚 = 𝒈𝒒 𝒚 𝑢𝑗𝑛𝑓𝑠 = 𝑈
𝑡
𝜄𝑗𝑜 ≤ 50𝑝 𝜄𝑗𝑜 ≥ 70𝑝 𝑡𝑓𝑜𝑡𝑝𝑠𝐺𝑏𝑗𝑚 𝜄𝑗𝑜 𝑢 𝑢 𝜇
No Feedback Control Open Loop mode, feedforward estimator Feedback Control Closed-loop mode, feedback PI control + feedforward estimator
(Challenges)
CAV 2015 15
startup ሶ 𝒚 = 𝒈𝒕 𝒚 normal ሶ 𝒚 = 𝒈𝒐 𝒚 sensor_fail ሶ 𝒚 = 𝒈𝒕𝒈 𝒚 power ሶ 𝒚 = 𝒈𝒒 𝒚 𝑢𝑗𝑛𝑓𝑠 = 𝑈
𝑡
𝜄𝑗𝑜 ≤ 50𝑝 𝜄𝑗𝑜 ≥ 70𝑝 𝑡𝑓𝑜𝑡𝑝𝑠𝐺𝑏𝑗𝑚
(Challenges)
CAV 2015 16
startup ሶ 𝒚 = 𝒈𝒕 𝒚 normal ሶ 𝒚 = 𝒈𝒐 𝒚 sensor_fail ሶ 𝒚 = 𝒈𝒕𝒈 𝒚 power ሶ 𝒚 = 𝒈𝒒 𝒚 𝑢𝑗𝑛𝑓𝑠 = 𝑈
𝑡
𝑢𝑗𝑛𝑓𝑠 ∈ 𝐽1 𝑢𝑗𝑛𝑓𝑠 ∈ 𝐽2 𝑡𝑓𝑜𝑡𝑝𝑠𝐺𝑏𝑗𝑚 𝜄𝑗𝑜 𝑢
Consider family of input signals 𝜄𝑗𝑜 and construct closed hybrid system
𝐽1 𝐽2
(Challenges)
CAV 2015 17
startup ሶ 𝒚 = 𝒈𝒕 𝒚 normal ሶ 𝒚 = 𝒈𝒐 𝒚 sensor_fail ሶ 𝒚 = 𝒈𝒕𝒈 𝒚 power ሶ 𝒚 = 𝒈𝒒 𝒚 𝑢𝑗𝑛𝑓𝑠 = 𝑈
𝑡
𝑢𝑗𝑛𝑓𝑠 ∈ 𝐽1 𝑢𝑗𝑛𝑓𝑠 ∈ 𝐽2 𝑡𝑓𝑜𝑡𝑝𝑠𝐺𝑏𝑗𝑚 𝜄𝑗𝑜 𝑢
Consider family of input signals 𝜄𝑗𝑜 and construct closed hybrid system
𝐽1 𝐽2
(Challenges)
CAV 2015 18
startup ሶ 𝒚 = 𝒈𝒕 𝒚 normal ሶ 𝒚 = 𝒈𝒐 𝒚 sensor_fail ሶ 𝒚 = 𝒈𝒕𝒈 𝒚 power ሶ 𝒚 = 𝒈𝒒 𝒚 𝑢𝑗𝑛𝑓𝑠 = 𝑈
𝑡
𝑢𝑗𝑛𝑓𝑠 ∈ 𝐽1 𝑢𝑗𝑛𝑓𝑠 ∈ 𝐽2 𝑡𝑓𝑜𝑡𝑝𝑠𝐺𝑏𝑗𝑚 𝜄𝑗𝑜 𝑢
Consider family of input signals 𝜄𝑗𝑜 and construct closed hybrid system
𝐽1 𝐽2 Closed loop Dynamics ሶ p = c1 2θ c20p2 + c21p + c22 − c12 c2 + c3ωp + c4ωp2 + c5ωp2 ሶ λ = c26(c15 + c16c25Fc + c17c25
2 Fc 2 + c18
ሶ mc + c19 ሶ mcc25Fc − λ) ሶ pe = c1 2c23θ c20p2 + c21p + c22 − c2 + c3ωp + c4ωp2 + c5ωp2 ሶ i = c14(c24λ − c11)
where Fc =
1 c11 (1 + i + c13(c24λ − c11))(c2 + c3ωp + c4ωp2 + c5ωp2)
ሶ mc = c12(c2 + c3ωp + c4ωp2 + c5ωp2)
CAV 2015 19
□[60,100] 𝑦 < 0.1 □[0,100] 𝑦 ∈ [1,3]
100 50 1 3
t
𝑦
100 1
+0.1
60
t
𝑦
CAV 2015 20
□[60,100] 𝑦 < 0.1 □[0,100] 𝑦 ∈ [1,3]
100 50 1 3
t
𝑦
100 1
+0.1
60
t
𝑦 𝐕 ≜ (𝒚 < −𝟏. 𝟐 ∨ 𝒚 > 𝟏. 𝟐) ∧ (𝒖 ≥ 𝟕𝟏 ∧ 𝒖 ≤ 𝟐𝟏𝟏) 𝐕 ≜ (𝒚 < 𝟐 ∨ 𝒚 > 𝟒) ∧ (𝒖 ≤ 𝟐𝟏𝟏)
CAV 2015 21
□[60,100] 𝑦 < 0.1 □[0,100] 𝑦 ∈ [1,3] 𝐬𝐣𝐭𝐟 ⇒ □[𝜽,𝜼][𝟏. 𝟘𝟗 𝝁𝒔𝒇𝒈, 𝟐. 𝟏𝟑𝝁𝒔𝒇𝒈]
100 50 1 3
t
𝑦
100 1
+0.1
60
t
𝑦
Initial Set
𝜃 𝜂
t
𝜇
𝜇𝑠𝑓𝑔
𝐕 ≜ (𝒚 < 𝟐 ∨ 𝒚 > 𝟒) ∧ (𝒖 ≤ 𝟐𝟏𝟏)
Verification goal: Given initial set 𝚾 and switching signals 𝝉 Prove that
𝐕 ≜ (𝒚 < −𝟏. 𝟐 ∨ 𝒚 > 𝟏. 𝟐) ∧ (𝒖 ≥ 𝟕𝟏 ∧ 𝒖 ≤ 𝟐𝟏𝟏) Technique: Reachability Computation
CAV 2015 22
23
Θ
𝑦0
𝑉
ሶ 𝑦 = 𝑔(𝑦)
24
Θ
𝑦0
𝑉
ሶ 𝑦 = 𝑔(𝑦) 𝑦(𝑢)
25
all trajectories from the cover
Θ
𝑦0
𝑉
ሶ 𝑦 = 𝑔(𝑦) 𝐶𝜗(𝑦(𝑢))
26
all trajectories from the cover
Θ
𝑦0
𝑉
ሶ 𝑦 = 𝑔(𝑦) 𝐶𝜗(𝑦(𝑢))
27
all trajectories from the cover
Θ
𝑦0
𝑉
ሶ 𝑦 = 𝑔(𝑦) 𝐶𝜗(𝑦(𝑢))
28
all trajectories from the cover
Θ
𝑦0
𝑉
ሶ 𝑦 = 𝑔(𝑦)
How much to bloat the sample simulation?
𝐶𝜗(𝑦(𝑢))
Discrepancy Function: capturing the continuity of ODE solutions executions that start close, stay close
𝛾 is called a discrepancy function of the system if for any two states 𝑦1 and 𝑦2, |𝑦1(𝑢) − 𝑦2(𝑢)| ≤ 𝛾(𝑦1, 𝑦2, 𝑢)
29
|𝑦1 − 𝑦2| 𝑦1 𝑦2 𝑦2(𝑢) 𝑦1(𝑢)
≤ 𝛾(𝑦1, 𝑦2, 𝑢) = 𝛾(𝑦1, 𝑦2, 𝑢)
Discrepancy Function: capturing the continuity of ODE solutions executions that start close, stay close
𝛾 is called a discrepancy function of the system if for any two states 𝑦1 and 𝑦2, |𝑦1(𝑢) − 𝑦2(𝑢)| ≤ 𝛾(𝑦1, 𝑦2, 𝑢)
30
|𝑦1 − 𝑦2| 𝑦1 𝑦2 𝑦2(𝑢) 𝑦1(𝑢)
≤ 𝛾(𝑦1, 𝑦2, 𝑢) = 𝛾(𝑦1, 𝑦2, 𝑢)
Discrepancy functions are given as model annotations, i.e. 𝛾 is given by the user
Use proof techniques in Control Theory to compute discrepancy function [EMSOFT’13]
Discrepancy Function: capturing the continuity of ODE solutions executions that start close, stay close
𝛾 is called a discrepancy function of the system if for any two states 𝑦1 and 𝑦2, |𝜊(𝑦1, 𝑢) − 𝜊(𝑦2, 𝑢)| ≤ 𝛾(𝑦1, 𝑦2, 𝑢)
31
|𝑦1 − 𝑦2| 𝑦1 𝑦2 𝜊 𝑦2, 𝑢 𝜊 𝑦1, 𝑢
≤ 𝛾(𝑦1, 𝑦2, 𝑢) = 𝛾(𝑦1, 𝑦2, 𝑢)
Discrepancy functions are given as model annotations, i.e. 𝛾 is given by the user
ሶ 𝑞 = 𝑑1(2𝜄 𝑑20𝑞2 + 𝑑21𝑞 + 𝑑22 − 𝑑12(𝑑2 + 𝑑3𝜕𝑞 + 𝑑4𝜕𝑞2 + 𝑑5𝜕𝑞2)) ሶ 𝜇 = 𝑑26(𝑑15 + 𝑑16𝑑25𝐺
𝑑 + 𝑑17𝑑25 2 𝐺 𝑑 2 + 𝑑18
ሶ 𝑛𝑑 + 𝑑19 ሶ 𝑛𝑑𝑑25𝐺
𝑑 − 𝜇)
ሶ 𝑞𝑓 = 𝑑1(2𝑑23𝜄 𝑑20𝑞2 + 𝑑21𝑞 + 𝑑22 − (𝑑2 + 𝑑3𝜕𝑞 + 𝑑4𝜕𝑞2 + 𝑑5𝜕𝑞2)) ሶ 𝑗 = 𝑑14 𝑑24𝜇 − 𝑑11 where 𝐺
𝑑 =
1 𝑑11 (1 + 𝑗 + 𝑑13(𝑑24𝜇 − 𝑑11))(𝑑2 + 𝑑3𝜕𝑞 + 𝑑4𝜕𝑞2 + 𝑑5𝜕𝑞2) ሶ 𝑛𝑑 = 𝑑12(𝑑2 + 𝑑3𝜕𝑞 + 𝑑4𝜕𝑞2 + 𝑑5𝜕𝑞2) All known tools failed to find any discrepancy functions
analysis Fan & Mitra [ATVA’15]
CAV 2015 32
analysis Fan & Mitra [ATVA’15]
𝜖𝑦
trajectories converge in 𝐒
CAV 2015 33
𝐒 ሶ 𝒚 = 𝒈(𝒚)
analysis Fan & Mitra [ATVA’15]
𝜖𝑦
trajectories converge in 𝐒
CAV 2015 34
𝐒 ሶ 𝒚 = 𝒈(𝒚) 𝑦1 𝑦2
≤ 𝑓−𝜇𝑢 𝑦1 − 𝑦2
analysis Fan & Mitra [ATVA’15]
𝜖𝑦
trajectories converge in 𝐒
function in region 𝐒
CAV 2015 35
𝐒 ሶ 𝒚 = 𝒈(𝒚) 𝑦1 𝑦2
≤ 𝑓−𝜇𝑢 𝑦1 − 𝑦2
analysis Fan & Mitra [ATVA’15]
𝜖𝑦
trajectories converge in 𝐒
function in region 𝐒
CAV 2015 36
𝐒 ሶ 𝒚 = 𝒈(𝒚) 𝑦1 𝑦2
≤ 𝑓−𝜇𝑢 𝑦1 − 𝑦2
We apply on–the–fly discrepancy function for verifying powertrain control system
If eig(𝐾 + 𝐾𝑈) returns values close to 0, fails to prove convergence of traj. Performs linear basis transformation for getting useful discrepancy function. Involves multiplicative costs.
The differential equation was reduced to a simpler one in power and start-up mode.
CAV 2015 37
If eig(𝐾 + 𝐾𝑈) returns values close to 0, fails to prove convergence of traj. Performs linear basis transformation for getting useful discrepancy function. Involves multiplicative costs.
The differential equation was reduced to a simpler one in power and start-up mode.
How often to perform domain transformation
Extension of C2E2 tool using eigen library and interval arithmetic for matrix norms.
CAV 2015 38
Verified many key specification for a given set of driver behaviors
CAV 2015 39
Property Mode Sat Sim. Time □ 𝜇 ∈ [0.8𝜇𝑠𝑓𝑔, 1.2𝜇𝑠𝑓𝑔] all modes Yes 53 11m58s □ 𝜇 ∈ [0.8𝜇𝑠𝑓𝑔, 1.2𝜇𝑠𝑓𝑔] startup Yes 50 10m21s □ 𝜇 ∈ [0.8𝜇𝑠𝑓𝑔, 1.2𝜇𝑠𝑓𝑔] normal Yes 50 10m21s □ 𝜇 ∈ [0.8𝜇𝑠𝑓𝑔
𝑞𝑥𝑠, 1.2𝜇𝑠𝑓𝑔 𝑞𝑥𝑠]
power Yes 53 11m12s □ 𝜇 ∈ [0.8𝜇′𝑠𝑓𝑔, 1.2𝜇′𝑠𝑓𝑔] power No 4 0m43s 𝑠𝑗𝑡𝑓 ⇒ □(𝜃,𝜊)𝜇 ∈ [0.98 𝜇𝑠𝑓𝑔, 1.02𝜇𝑠𝑓𝑔] normal Yes 50 10m15s (𝑚 = 𝑞𝑥𝑠) ⇒ □(𝜃,𝜊)𝜇 ∈ [0.95 𝜇𝑠𝑓𝑔, 1.05𝜇𝑠𝑓𝑔] power Yes 53 11m35s (𝑚 = 𝑞𝑥𝑠) ⇒ □(𝜃/2,𝜊)𝜇 ∈ [0.95 𝜇𝑠𝑓𝑔, 1.05𝜇𝑠𝑓𝑔] power No 4 0m45s Safety properties Performance properties
CAV 2015 40
Control Benchmark
industrial complexity Future Work:
CAV 2015 41
CAV 2015 42