f formal modeling and verification of l m d li d v ifi ti
play

F Formal Modeling and Verification of l M d li d V ifi ti f - PowerPoint PPT Presentation

Submitted to IEEE Software 2009 - Special issue on Software Development for Embedded Systems F Formal Modeling and Verification of l M d li d V ifi ti f Safety-Critical Software implemented in PLC JUNBEOM YOO JUNBEOM YOO KONKUK


  1. Submitted to IEEE Software 2009 - Special issue on “Software Development for Embedded Systems” F Formal Modeling and Verification of l M d li d V ifi ti f Safety-Critical Software implemented in PLC JUNBEOM YOO JUNBEOM YOO KONKUK University, Korea jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr

  2. Other Authors Other Authors Sungdeok Cha Sungdeok Cha Enukyoung Jee Enukyoung Jee - Professor in Korea University - PhD Candidate in KAIST 2

  3. Contents Contents • I Introduction d i – Safety-Critical Software in Nuclear Power Plants – Software Development Process (Existing vs. Proposed) p ( g p ) • Software Development Process for NPPs – Development Process – Verification Process – Safety Analysis Process y y • Conclusion and Future Work 3

  4. Introduction 1. Safety-Critical Software in Nuclear Power Plants 2. Software Development Process (Existing vs. Proposed)

  5. Safety Critical Software in Nuclear Power Plants Safety-Critical Software in Nuclear Power Plants • RPS RPS (Reactor Protection System) • ESF-CCS (Engineering Safety Features Component Control System) RPS DCS (Distributed Computing System) ESF CCS ESF-CCS PLC (Programmable Logic Controller) 5

  6. Existing Software Development Process Existing Software Development Process • F For Most NPPs in Korea (e.g. Wolsung NPP) M t NPP i K 6

  7. Proposed Software Development Process Proposed Software Development Process • F For KNICS RPS for APR-1400 [1] (http://www.knics.re.kr) KNICS RPS f APR 1400 [1] – APR-1400 : Next generation nuclear reactor being developed in Korea 7

  8. Software Development Process for NPPs 1 1. Development Process Development Process 2. Verification Process 3. Safety-Analysis Process

  9. Development Process 1. Formal Requirements Specification 2. Automatic Design Synthesis

  10. 1 Formal Requirements Specification 1. Formal Requirements Specification • N SCR [3] NuSCR [3] – Formal requirements specification language – Customized SCR [2] for nuclear applications • Listened to opinions offered by domain experts – 4 constructs • SDT (Structured Decision Table) • FSM (Finite State Machine) • TTS (Timed Transition System) • • FOD (Function Overview Diagram) FOD (Function Overview Diagram) SDT TTS / FSM 10

  11. 1 Formal Requirements Specification 1. Formal Requirements Specification • N SRS NuSRS (ver 2.0) – CASE tool supporting • NuSCR specification • S lf Ch Self-Checking (on-going) ki • SMV program translation (NuSCR � SMV) • SMV verification (CTL Model Checking) – Case Study C St d • KNICS-RPS-SRS101, Rev,00, 2003. (by NuSRS 1.0) • KNICS-RPS-SVR131-01, Rev.00, 2005. (by NuSRS 2.0) NuSRS (ver. 2.0) 11

  12. 2 Automatic Design Synthesis 2. Automatic Design Synthesis • N SCRt FBD S NuSCRtoFBD Synthesis Procedure [8] th i P d [8] – Synthesizes FBD programs from NuSCR specification automatically • More than twice FBD blocks than manually coded and optimized ones – Unused in the project, because unable to develop CASE tools in advance U d i h j b bl d l CASE l i d – However, can be used as a baseline for FBD programming in design phase • NuSCRtoFBD (ver 1.0) – CASE tool supporting • Automatic FBD synthesis from NuSCR – Reads NuSCR specification in XML format – Stores FBD programs in standard XML format (on going) Stores FBD programs in standard XML format (on-going) • Algorithm is being optimized 12

  13. NuSCRtoFBD (ver. 1.0) - Synthesized from KNICS RPS BP SRS (KNICS-RPS-SVR131-01, Rev.00, 2005) 13

  14. Verification Process 1 1. Model Checking Requirements Model Checking Requirements 2. Model Checking Design 3. Equivalence Checking Designs NuSCR Executable Formal FBD FBD Development Development Automatic Automatic Machine Code Machine Code Compiled into Specification Synthesis Process Programs for PLCs * NuSCRtoFBD * NuSRS 2.0 Automatic * Automatic * NuSRS 2.0 FBD Verifier 1.0 Translation Translation Equivalence Verification Model Checking Model Checking Checking Process Cadence SMV Cadence SMV VIS 2.0 * VIS Analyzer 1.0 * FBD Verifier 1.0

  15. 1 Model Checking Requirements 1. Model Checking Requirements • F Formal verification for requirements specification l ifi ti f i t ifi ti NuSRS 2.0 – Target : NuSCR formal specification – Tool : Cadence SMV [5] – Technique : CTL model checking • NuSRS (ver. 2.0) – Automatic translation from NuSCR into SMV programs [10] p g [ ] – Seamless execution of SMV – Case Study Case Study • KNICS-RPS-SVR131-01, Rev.00, 2005 • Found 157 errors (25 critical) Cadence SMV 15

  16. FBD Verification using FBD Verification using - SMV model checking & VIS Equivalence checking

  17. 2 Model Checking Design 2. Model Checking Design • F Formal verification for design specification l ifi ti f d i ifi ti – Target : FBD program – Tool : Cadence SMV [5] – Technique : LTL model checking • FBD Verifier (ver. 1.0 / 2.0) – Automatic translation from FBD programs into Verilog programs [11] – Seamless execution of SMV Seamless execution of SMV – Case Study • KNICS-RPS-SDS231 Rev 01 2006 KNICS RPS SDS231, Rev.01, 2006 • Found 60 errors (13 critical) 17

  18. 18

  19. 3 Equivalence Checking Designs 3. Equivalence Checking Designs • F Formal verification for design specifications l ifi ti f d i ifi ti – Target : Two FBD programs – Tool : VIS Verification System [4] – Technique : Equivalence checking, Simulation • VIS Analyzer (ver. 1.0) – Seamless execution of VIS (VIS has no GUI) – Visualization of VIS’s process and verification results [12] Visualization of VIS s process and verification results [12] – Unused in the project, because unable to develop CASE tools in advance – – Case Study Case Study • KNICS-RPS-SDS101, Rev.00, 2005 • No official result Compared FBD Original FBD Trip Logic Error Type (Num. of Errors) (Num. of Errors) Fixed Set-Point Rising Trip Syntactic 0 0 without Operating Bypass Logical 0 1 Manual Reset Variable Set-Point Trip Syntactic 0 3 19 without Operating Bypass Logical 6 2

  20. 20

  21. Execute VIS equivalence checking Execute VIS simulation 21

  22. VIS Analyzer (ver. 1.0) - Visualized and reorganized result - counterexample 22

  23. Safety Analysis Process 1. Fault Tree Analysis for Requirements 2. Fault Tree Analysis for Design

  24. 1. Fault Tree Analysis for Requirements 2. Fault Tree Analysis for Design • Fault Tree Analysis F lt T A l i – performed manually – Totally depends on analyst’s experience and ability • We provided FTA templates for NuSCR [13] and FBD [15] FTA templates for FBDs 24

  25. Conclusion and Future Work

  26. Conclusion Conclusion • We proposed software development processes using formal methods W d ft d l t i f l th d – Target: KNICS RPS for APR-1400 – Development process Development process • NuSCR formal requirements specification • Automatic FBD design synthesis – Verification process p • Model checking NuSCR requirements • Model checking FBD design • Equivalence checking FBD designs – Safety analysis process Safety analysis process • FTA templates for NuSCR requirements • FTA templates for FBD programs – Case Study • KNICS-RPS-SVR131-01, Rev.00, 2005 • KNICS-RPS-SDS231, Rev.01, 2006 26

  27. Future Work Future Work 1 1. Integrated Tool-set I t t d T l t 2. Tool Enhancement – Self checking : completeness & consistency (N SRS) Self-checking : completeness & consistency (NuSRS) – Synchronous Verilog issue in model checking FBD programs using SMV (FBD Verifier) – Optimization of FBD synthesis algorithm (NuSCRtoFBD) – Add other functions to VIS Analyzer (VIS Analyzer) y ( y ) 3. Traceability Analysis – From requirements to design – From requirements’ FTA to design’s FTA 4. FBD Testing – Measures Measures (coverage criteria) – Testing tool support 5. Application to Other Domains 5. Application to Other Domains 27

Recommend


More recommend