黃清淮,劉明明,黃 鵬,曾 山,呂 曦
(中國核動力研究設計院 核反應堆系統設計技術重點實驗室,成都 610213)
核電站數字化控制系統是保障核電廠安全運行的核心,尤其是安全級DCS。結合目前核電站安全級DCS 的工程實踐,為了提高安全級DCS 軟件的安全性[1],根據IEEE1012等相關標準的要求,對安全級DCS 應用軟件的開發過程進行驗證和確認(V&V)活動,對應用軟件開發過程中的危險進行分析[2]。
2018 年12 月6 日,中國核動力研究設計院自主開發的安全級DCS 平臺NASPIC 正式發布,成功打破了國外廠商在核安全級DCS 領域的壟斷地位,為核安全級DCS 市場帶來了新鮮血液。隨著NASPIC 平臺的正式發布,應用NASPIC 平臺的核電站工程項目逐漸鋪開[3],本院在安全級DCS 工程設計和實施過程中,除了在V&V 活動中對軟件開發過程的危險進行分析以外[4],探索了在安全級DCS 工程設計和實施的各個階段,由工程設計與實施人員對安全級DCS 系統及軟件開展安全分析,從另一個角度加強了安全級DCS 的縱深防御,以確保核電站安全穩定運行。本文重點闡述工程設計與實施人員進行的安全分析技術活動。
安全級DCS 危害分析相關的技術活動與工程設計和實施活動、V&V 活動相關,并行開展具體工作。在安全級DCS 生命周期模型中,上述各種活動之間的對應關系如圖1 所示[5]。

圖1 安全級DCS生命周期模型及其危害分析、V&V活動Fig.1 Safety-level DCS life cycle model and its hazard analysis,V&V activities
通過在生命周期的各個階段開展危害分析活動,實現危害分析技術活動,每個階段的危害分析技術活動主要包含3 方面內容:危害識別、危害評估、危害控制[6]。
本節規定了安全級DCS 工程設計和實施生命周期中,為保證項目系統和軟件的安全性所要開展的與危害性分析相關的全部活動。危害分析的難點在于危害的識別,因此本節主要針對危害的識別進行描述。
初步危害分析(PHA)是一種初始的識別技術,它與專家對系統各個部分的自由討論會議相似,系統的關鍵功能清單和不期望的事件清單提供了PHA 的起點并定義了PHA 的范圍。在執行初步危害分析前,應確定系統的關鍵功能清單和不期望的事件清單。完成初步危害分析后會得出項目的初步危害清單(PHL),依據PHL 在工程設計和實施生命周期的各個階段分別進行各階段的危害分析。危害識別的方法本身有很多,本文提出了其中一種方法,且將根據項目實踐過程逐步優化。系統初步危害清單舉例見表1。

表1 初步危害分析內容Table 1 Contents of preliminary hazard analysis
2.2.1 需求危害分析
工程軟件負責人負責組織并開展軟件需求的危害分析活動。軟件需求危害識別過程涉及到對軟件需求、接口需求和軟件單元結構(各個站之間)的評估,其目的是識別可能導致系統危害的需求,如不合理的需求實現,可能影響安全功能的執行或遺漏的需求可能導致系統存在缺陷。軟件需求危害分析可從以下幾個對軟件質量特性產生影響的方面進行考慮。
軟件的其他質量特性,如完備性、一致性、正確性、可追蹤性、無二義性、可驗證性等,通常被認為是軟件需求規范必備的質量特性,宜將其視為需求分析和驗證的內容,而非危害分析的要素。

表2 軟件質量特性Table 2 Software quality characteristics
2.2.2 設計危害分析
工程軟件負責人負責組織并開展軟件設計的危害分析活動。軟件設計基于已經驗證的模塊(算法塊)組合實現,因此工程設計的設計危害分析活動能夠直接在應用和功能的層次開展(非代碼層次)。針對計算機化的軟件設計危害識別還需對潛在的計算問題進行危害分析,如不正確的公式、以不正確的順序執行公式要素的運算、不充分的精度和掃描速率、不正確的單位、非法數字、超范圍的結果、符號法則故障。軟件設計危害分析活動可從以下方面進行考慮,同時軟件負責人和軟件組成員有義務對以下內容進行補充。
2.2.3 實現危害分析
工程軟件負責人負責組織并開展軟件實現的危害分析活動。實現階段的危害分析主要是檢查軟件實現階段的代碼編譯是否帶來了新的危害。軟件實現階段也可能產生危害,可能引入的危害包括:
◇ 工具的使用。
◇ 編碼/編程的實際操作。
◇ 開發環境。
◇ 配置控制。
如軟件設計基于一個比較完整的算法庫進行,如在軟件實現時對未使用的算法塊進行了編譯,可能會對最終的編譯結果產生影響。
2.3.1 需求危害分析
工程硬件負責人負責組織并開展硬件需求的危害分析活動。執行硬件需求危害分析前,應由硬件負責人整理應用硬件的所有需求。硬件需求危害識別過程涉及到對硬件功能性能要求、系統接口、設計要求和環境要求的評估,其目的是識別可能導致系統危害的需求,如不合理的需求實現,可能影響安全功能的執行或遺漏的需求可能導致系統存在缺陷。硬件需求危害分析的主要工作見表4。

表3 軟件設計危害分析內容Table 3 Software design hazard analysis content

表4 硬件需求危害分析Table 4 Hazard analysis of hardware requirements
2.3.2 硬件設計危害分析
工程硬件負責人負責組織并開展硬件設計的危害分析活動。硬件設計的危害分析需要在需求階段的可能危害以外,識別出詳細設計階段可能引入的新的危害,并進行分析、評估和處理。硬件設計危害分析活動可從以下方面進行考慮,同時硬件負責人和硬件組成員有義務對以下內容進行補充。
2.3.3 生產制造危害分析
生產制造負責人負責組織并開展硬件生產制造的危害分析活動。生產制造階段的危害分析主要是檢查硬件的生產制造是否帶來了新的危害。生產制造階段也可能產生危害,可能引入的危害包括:

表5 硬件設計危害分析Table 5 Hazard analysis of hardware design
◇ 工具的使用。
◇ 生產制造的實際操作。
◇ 生產環境。
集成測試階段主要是系統軟硬件集成,包含硬件集成和軟件代碼下裝,集成階段的危害分析主要檢查軟硬件集成是否引入新的危害。集成階段由生產制造負責人組織并開展危害分析活動,危害分析活動的開展可按如表6 所示的方面進行。

表6 集成危害分析Table 6 Integrated hazard analysis
系統確認階段與其他階段不同,系統確認階段的危害分析活動主要針對危害進行測試和驗證,測試時應特別注意對危害措施是否正確實施進行驗證,同時根據常規的測試活動分析判斷是否存在其他危害。該活動由測試負責人組織和實施。
系統安裝和調試階段主要是安全級DCS 發貨到現場進行安裝和調試。因電廠調試期間現場環境的復雜性,系統安裝和調試階段的危害分析活動包含兩部分:
1)系統安裝和調試前進行,評估系統安裝和調試過程中可能引入的危害,并采取措施進行預防。
2)系統安裝和調試后進行,分析系統現場安裝和調試實際過程中是否引入了新的危害。該活動由測試負責人組織和實施。
系統修改階段是安全級DCS 到現場后需要進行更改,系統的修改和系統設計制造過程中的迭代一樣,可能引入新的、嚴重的危害,因此在系統修改后應進行全面的、覆蓋各個階段的危害分析,具體分析方法按照各個階段執行。系統修改危害分析由工程設計負責人牽頭,相關專業負責人協同執行。
為了提高核電站安全級DCS 系統及軟件的安全性,在驗證與確認活動中所進行的危害分析之外,本文提出了工程設計和實施人員在安全級DCS 全生命周期進行系統及軟件安全分析的方法和實踐經驗,重點討論工程軟件、硬件設計過程的危害分析,并根據分析結果將危害和風險消除或控制在可接受范圍內,保證安全級DCS 系統及應用軟件的功能安全。