Automated Analysis of Reli liability Architecture Fondazione Bruno Kessler Marco Bozzano, Alessandro Cimatti, and Cristian Mattarei Alpine Verification Meeting, 2013
Outline • Architectural Design in Critical Systems • Redundant systems • Reliability Analysis • Automated Approaches • EUF modeling and Fault Tree Analysis • Efficient Analysis via predicate abstraction • Conclusion 2
Power system: …in a perfect world + Engine - 3
Power system: …in real world 4
Power system: …in real world 5
Power system: …in real world 6
Power system: …in real world 7
Outline • Architectural Design in Critical Systems • Redundant Systems • Reliability Analysis • Automated Approaches • EUF modeling and Fault Tree Analysis • Efficient Analysis via Predicate Abstraction • Conclusion 8
Redundant systems definition: TMR [Abraham74] 𝑵 𝟒 𝑵 𝟐 𝑵 𝟓 𝑵 𝟕 𝑵 𝟑 𝑵 𝟔 Nominal architecture 9
Redundant systems definition: TMR [Abraham74] 𝑵 𝟒 𝑵 𝟐 𝑵 𝟓 𝑵 𝟕 𝑵 𝟑 𝑵 𝟔 Nominal architecture Redundant architecture • Increase reliability for critical design • Usage of redundant scheme (e.g. Triple Modular Redundancy) • Hard to analyze and optimize system reliability 10
Triple Modular Redundancy patterns 1 voter 2 voters 3 voters 11
Reliability analysis: manual approach [Hamamatsu10] 12
Reliability analysis: manual approach [Hamamatsu10] 13
Reliability analysis: manual approach [Hamamatsu10] 14
Reliability analysis: manual approach [Hamamatsu10] 15
Reliability analysis: manual approach [Hamamatsu10] Triple Redundant Module comparison (1 voter) 16
Reliability analysis: manual approach [Hamamatsu10] Triple Redundant Module comparison (1 voter) 17
Reliability analysis: manual approach • Time expensive and error prone reliability computation • Specific approach for linear structures (not generalizable) • Needs space discretization
Outline • Architectural Design in Critical Systems • Redundant Systems • Reliability Analysis • Automated Approaches • EUF modeling and Fault Tree Analysis • Efficient Analysis via Predicate Abstraction • Conclusion 19
Modeling of the extended system 20
Modeling of the extended system • Duplicate the behavior (nominal and faulty) • Introduce a multiplexer, triggered by the fault event • Model the (generic) behavior of components using uninterpreted functions (e.g. x = y → 𝑔 𝑦 = 𝑔 𝑧 ) 21
Modeling of the extended system 22
Fault Tree Analysis: equivalence check 𝐽 𝑈𝑀𝐹 𝑈𝑀𝐹 𝐽, 𝐺 = 𝑂𝑝𝑛𝑗𝑜𝑏𝑚 𝐽 ≠ 𝑆𝑓𝑒𝑣𝑜𝑒𝑏𝑜𝑢(𝐽, 𝐺) 𝐺𝑈 𝐺, 𝑈𝑀𝐹 = {𝑔 ∈ 2 𝐺 |∃𝑗 ∈ 𝐽. 𝑈𝑀𝐹 𝑗, 𝑔 ∧ 𝑔 𝑗𝑡 𝑛𝑗𝑜𝑗𝑛𝑏𝑚} 23
Fault Tree Analysis: equivalence check 𝐺𝑈 = 𝐺𝑁 11 ∧ 𝐺𝑁 12 ∨ 𝐺𝑁 11 ∧ 𝐺𝑁 13 ∨ ⋯ ∨ (𝐺𝑁 23 ∧ 𝐺𝑊 2 ) 24
Reliability Function Extraction 𝑮 𝒘 𝑡𝑧𝑡 ∶ ℝ 0,1 × ⋯ × ℝ 0,1 ⟼ ℝ 0,1 𝐺 𝑮 𝒏𝟐 𝑮 𝒏𝟑 𝑮 𝒏𝟑 𝑮 𝒏𝟒 ⊤ ⊥ BDD representation of the Fault Tree 25
Reliability Function Extraction 𝑮 𝒘 𝑡𝑧𝑡 ∶ ℝ 0,1 × ⋯ × ℝ 0,1 ⟼ ℝ 0,1 𝐺 𝐺 𝑡𝑧𝑡 𝐺 𝑤 , 𝐺 𝑛1 , 𝐺 𝑛2 , 𝐺 𝑛3 = 𝑮 𝒏𝟐 𝑮 𝒘 + 𝑮 𝒏𝟑 𝑮 𝒏𝟑 𝑮 𝒏𝟒 ⊤ ⊥ BDD representation of the Fault Tree 26
Reliability Function Extraction 𝑮 𝒘 𝑡𝑧𝑡 ∶ ℝ 0,1 × ⋯ × ℝ 0,1 ⟼ ℝ 0,1 𝐺 𝐺 𝑡𝑧𝑡 𝐺 𝑤 , 𝐺 𝑛1 , 𝐺 𝑛2 , 𝐺 𝑛3 = 𝑮 𝒏𝟐 𝐺 𝑤 + +(𝟐 − 𝑮 𝒘 ) ∗ 𝑮 𝒏𝟐 ∗ 𝑮 𝒏𝟑 + 𝑮 𝒏𝟑 𝑮 𝒏𝟑 𝑮 𝒏𝟒 ⊤ ⊥ BDD representation of the Fault Tree 27
Reliability Function Extraction 𝑮 𝒘 𝑡𝑧𝑡 ∶ ℝ 0,1 × ⋯ × ℝ 0,1 ⟼ ℝ 0,1 𝐺 𝐺 𝑡𝑧𝑡 𝐺 𝑤 , 𝐺 𝑛1 , 𝐺 𝑛2 , 𝐺 𝑛3 = 𝑮 𝒏𝟐 𝐺 𝑤 + +(1 − 𝐺 𝑤 ) ∗ 𝐺 𝑛1 ∗ 𝐺 𝑛2 + 𝑮 𝒏𝟑 𝑮 𝒏𝟑 +(𝟐 − 𝑮 𝒘 ) ∗ 𝑮 𝒏𝟐 ∗ (𝟐 − 𝑮 𝒏𝟑 ) ∗ 𝑮 𝒏𝟒 + 𝑮 𝒏𝟒 ⊤ ⊥ BDD representation of the Fault Tree 28
Reliability Function Extraction 𝑮 𝒘 𝑡𝑧𝑡 ∶ ℝ 0,1 × ⋯ × ℝ 0,1 ⟼ ℝ 0,1 𝐺 𝐺 𝑡𝑧𝑡 𝐺 𝑤 , 𝐺 𝑛1 , 𝐺 𝑛2 , 𝐺 𝑛3 = 𝑮 𝒏𝟐 𝐺 𝑤 + +(1 − 𝐺 𝑤 ) ∗ 𝐺 𝑛1 ∗ 𝐺 𝑛2 + 𝑮 𝒏𝟑 𝑮 𝒏𝟑 +(1 − 𝐺 𝑤 ) ∗ 𝐺 𝑛1 ∗ (1 − 𝐺 𝑛2 ) ∗ 𝐺 𝑛3 + +(𝟐 − 𝑮 𝒘 ) ∗ (𝟐 − 𝑮 𝒏𝟐 ) ∗ 𝑮 𝒏𝟑 ∗ 𝑮 𝒏𝟒 𝑮 𝒏𝟒 ⊤ ⊥ BDD representation of the Fault Tree 29
Reliability Function Extraction 𝑮 𝒘 𝑡𝑧𝑡 ∶ ℝ 0,1 × ⋯ × ℝ 0,1 ⟼ ℝ 0,1 𝐺 𝐺 𝑡𝑧𝑡 𝐺 𝑤 , 𝐺 𝑛1 , 𝐺 𝑛2 , 𝐺 𝑛3 = 𝑮 𝒏𝟐 𝐺 𝑤 + +(1 − 𝐺 𝑤 ) ∗ 𝐺 𝑛1 ∗ 𝐺 𝑛2 + 𝑮 𝒏𝟑 𝑮 𝒏𝟑 +(1 − 𝐺 𝑤 ) ∗ 𝐺 𝑛1 ∗ (1 − 𝐺 𝑛2 ) ∗ 𝐺 𝑛3 + +(1 − 𝐺 𝑤 ) ∗ (1 − 𝐺 𝑛1 ) ∗ 𝐺 𝑛2 ∗ 𝐺 𝑛3 𝑮 𝒏𝟒 ⊤ ⊥ BDD representation of the Fault Tree 30
Automated Analysis of Reliability Architecture 1. Model the extended system with uninterpreted functions 2. Perform Fault Tree Analysis 3. Extract Reliability Function, from BDD representation of Fault Tree 31
Automated Analysis of Reliability Architecture 1. Model the extended system with uninterpreted functions 2. Perform Fault Tree Analysis 3. Extract Reliability Function, from BDD representation of Fault Tree 4. Evaluate the results with analytical tools (Octave/Matlab) 32
Automated Analysis of Reliability Architecture 33
Automated Analysis of Reliability Architecture 34
Automated Analysis of Reliability Architecture 2 − 3 ∗ 𝐺 2 … 𝐺 𝑡𝑧𝑡 = 𝐺 𝑤 + 3 ∗ 𝐺 𝑤 ∗ 𝐺 𝑛 𝑛 35
Automated Analysis of Reliability Architecture Triple Redundant Module comparison (1 voter) e d c 1-Rm b a 1-Rv 2 − 3 ∗ 𝐺 2 … 𝐺 𝑡𝑧𝑡 = 𝐺 𝑤 + 3 ∗ 𝐺 𝑤 ∗ 𝐺 𝑛 𝑛 36
Uniform probability analysis 1 voter patterns comparison 1 voter patterns comparison (2D) (3D) 37
Uniform probability analysis 1 vs 2 voters comparison 1 vs 2 voters comparison (2D) (3D) 38
Not uniform probability analysis Varying 𝐺 𝑛 for 𝑁 1 (1 voter) Varying 𝐺 𝑤 for 𝑊 1 (2 voters) 39
Automated Analysis of Reliability Architectures • Full automated technique for the Analysis of Reliability Architecture • Symbolic technique (it generates the closed form of Reliability function) • Allows for the reusability of analysis results (i.e. generation of Reliability Functions Libraries) • AllSMT approach: Hard to deal with big system definition (> 10 stages)
Outline • Architectural Design in Critical Systems • Redundant Systems • Reliability Analysis • Automated Approaches • EUF modeling and Fault Tree Analysis • Efficient Analysis via Predicate Abstraction • Conclusion 41
Modular Abstraction Boolean Data 42
Modular Abstraction 43
𝑄 𝑝1 𝑝 𝑜 = 𝑝 1 Modular Abstraction 𝑄 𝑝2 𝑝 𝑜 = 𝑝 2 𝑄 𝑝3 𝑝 𝑜 = 𝑝 3 … 𝑄 𝑗1 𝑗 𝑜1 = 𝑗 11 𝑄 𝑗2 𝑗 𝑜1 = 𝑗 21 𝑄 𝑗3 𝑗 𝑜1 = 𝑗 31 𝑄 𝑗4 𝑗 𝑜2 = 𝑗 12 … 𝐵 𝐵 1 𝑇 1 𝐷 1 = = … 𝐺 1 44
𝑄 𝑝1 𝑝 𝑜 = 𝑝 1 Modular Abstraction 𝑄 𝑝2 𝑝 𝑜 = 𝑝 2 𝑄 𝑝3 𝑝 𝑜 = 𝑝 3 … 𝑄 𝑗1 𝑗 𝑜1 = 𝑗 11 𝑄 𝑗2 𝑗 𝑜1 = 𝑗 21 𝑄 𝑗3 𝑗 𝑜1 = 𝑗 31 𝑄 𝑗4 𝑗 𝑜2 = 𝑗 12 … 𝐵 𝐵 2 𝑇 2 𝐷 2 𝐵 𝐵 1 𝑇 1 𝐷 1 = = … … 𝐺 2 𝐺 1 45
𝑄 𝑝1 𝑝 𝑜 = 𝑝 1 Modular Abstraction 𝑄 𝑝2 𝑝 𝑜 = 𝑝 2 𝑄 𝑝3 𝑝 𝑜 = 𝑝 3 … 𝑄 𝑗1 𝑗 𝑜1 = 𝑗 11 𝑄 𝑗2 𝑗 𝑜1 = 𝑗 21 𝑄 𝑗3 𝑗 𝑜1 = 𝑗 31 𝑄 𝑗4 𝑗 𝑜2 = 𝑗 12 … 𝐵 𝐵 2 𝑇 2 𝐷 2 𝐵 𝐵 1 𝑇 1 𝐷 1 = = … … 𝐺 2 𝐺 1 𝐵 𝐵 𝐵 1 𝑇 1 𝑇 2 𝐷 2 = ≠? = V … … 𝐺 𝐺 2 1 46
Modular Abstraction 47
Concrete vs Abstraction: linear
DAG like example with 60 modules 49
Concrete vs Abstraction: Tree and DAG (< 15 modules)
Abstraction: Tree and DAG
Outline • Architectural Design in Critical Systems • Redundant Systems • Reliability Analysis • Manual Reliability techniques • Automated Approaches • EUF modeling and Fault Tree Analysis • Efficient Analysis via Predicate Abstraction • Conclusion 52
Recommend
More recommend