黃清淮,劉明明,黃 鵬,曾 山,呂 曦
(中國核動力研究設計院 核反應堆系統(tǒng)設計技術重點實驗室,成都 610213)
核電站數(shù)字化控制系統(tǒng)是保障核電廠安全運行的核心,尤其是安全級DCS。結合目前核電站安全級DCS 的工程實踐,為了提高安全級DCS 軟件的安全性[1],根據(jù)IEEE1012等相關標準的要求,對安全級DCS 應用軟件的開發(fā)過程進行驗證和確認(V&V)活動,對應用軟件開發(fā)過程中的危險進行分析[2]。
2018 年12 月6 日,中國核動力研究設計院自主開發(fā)的安全級DCS 平臺NASPIC 正式發(fā)布,成功打破了國外廠商在核安全級DCS 領域的壟斷地位,為核安全級DCS 市場帶來了新鮮血液。隨著NASPIC 平臺的正式發(fā)布,應用NASPIC 平臺的核電站工程項目逐漸鋪開[3],本院在安全級DCS 工程設計和實施過程中,除了在V&V 活動中對軟件開發(fā)過程的危險進行分析以外[4],探索了在安全級DCS 工程設計和實施的各個階段,由工程設計與實施人員對安全級DCS 系統(tǒng)及軟件開展安全分析,從另一個角度加強了安全級DCS 的縱深防御,以確保核電站安全穩(wěn)定運行。本文重點闡述工程設計與實施人員進行的安全分析技術活動。
安全級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
通過在生命周期的各個階段開展危害分析活動,實現(xiàn)危害分析技術活動,每個階段的危害分析技術活動主要包含3 方面內(nèi)容:危害識別、危害評估、危害控制[6]。
本節(jié)規(guī)定了安全級DCS 工程設計和實施生命周期中,為保證項目系統(tǒng)和軟件的安全性所要開展的與危害性分析相關的全部活動。危害分析的難點在于危害的識別,因此本節(jié)主要針對危害的識別進行描述。
初步危害分析(PHA)是一種初始的識別技術,它與專家對系統(tǒng)各個部分的自由討論會議相似,系統(tǒng)的關鍵功能清單和不期望的事件清單提供了PHA 的起點并定義了PHA 的范圍。在執(zhí)行初步危害分析前,應確定系統(tǒng)的關鍵功能清單和不期望的事件清單。完成初步危害分析后會得出項目的初步危害清單(PHL),依據(jù)PHL 在工程設計和實施生命周期的各個階段分別進行各階段的危害分析。危害識別的方法本身有很多,本文提出了其中一種方法,且將根據(jù)項目實踐過程逐步優(yōu)化。系統(tǒng)初步危害清單舉例見表1。
表1 初步危害分析內(nèi)容Table 1 Contents of preliminary hazard analysis
2.2.1 需求危害分析
工程軟件負責人負責組織并開展軟件需求的危害分析活動。軟件需求危害識別過程涉及到對軟件需求、接口需求和軟件單元結構(各個站之間)的評估,其目的是識別可能導致系統(tǒng)危害的需求,如不合理的需求實現(xiàn),可能影響安全功能的執(zhí)行或遺漏的需求可能導致系統(tǒng)存在缺陷。軟件需求危害分析可從以下幾個對軟件質(zhì)量特性產(chǎn)生影響的方面進行考慮。
軟件的其他質(zhì)量特性,如完備性、一致性、正確性、可追蹤性、無二義性、可驗證性等,通常被認為是軟件需求規(guī)范必備的質(zhì)量特性,宜將其視為需求分析和驗證的內(nèi)容,而非危害分析的要素。
表2 軟件質(zhì)量特性Table 2 Software quality characteristics
2.2.2 設計危害分析
工程軟件負責人負責組織并開展軟件設計的危害分析活動。軟件設計基于已經(jīng)驗證的模塊(算法塊)組合實現(xiàn),因此工程設計的設計危害分析活動能夠直接在應用和功能的層次開展(非代碼層次)。針對計算機化的軟件設計危害識別還需對潛在的計算問題進行危害分析,如不正確的公式、以不正確的順序執(zhí)行公式要素的運算、不充分的精度和掃描速率、不正確的單位、非法數(shù)字、超范圍的結果、符號法則故障。軟件設計危害分析活動可從以下方面進行考慮,同時軟件負責人和軟件組成員有義務對以下內(nèi)容進行補充。
2.2.3 實現(xiàn)危害分析
工程軟件負責人負責組織并開展軟件實現(xiàn)的危害分析活動。實現(xiàn)階段的危害分析主要是檢查軟件實現(xiàn)階段的代碼編譯是否帶來了新的危害。軟件實現(xiàn)階段也可能產(chǎn)生危害,可能引入的危害包括:
◇ 工具的使用。
◇ 編碼/編程的實際操作。
◇ 開發(fā)環(huán)境。
◇ 配置控制。
如軟件設計基于一個比較完整的算法庫進行,如在軟件實現(xiàn)時對未使用的算法塊進行了編譯,可能會對最終的編譯結果產(chǎn)生影響。
2.3.1 需求危害分析
工程硬件負責人負責組織并開展硬件需求的危害分析活動。執(zhí)行硬件需求危害分析前,應由硬件負責人整理應用硬件的所有需求。硬件需求危害識別過程涉及到對硬件功能性能要求、系統(tǒng)接口、設計要求和環(huán)境要求的評估,其目的是識別可能導致系統(tǒng)危害的需求,如不合理的需求實現(xiàn),可能影響安全功能的執(zhí)行或遺漏的需求可能導致系統(tǒng)存在缺陷。硬件需求危害分析的主要工作見表4。
表3 軟件設計危害分析內(nèi)容Table 3 Software design hazard analysis content
表4 硬件需求危害分析Table 4 Hazard analysis of hardware requirements
2.3.2 硬件設計危害分析
工程硬件負責人負責組織并開展硬件設計的危害分析活動。硬件設計的危害分析需要在需求階段的可能危害以外,識別出詳細設計階段可能引入的新的危害,并進行分析、評估和處理。硬件設計危害分析活動可從以下方面進行考慮,同時硬件負責人和硬件組成員有義務對以下內(nèi)容進行補充。
2.3.3 生產(chǎn)制造危害分析
生產(chǎn)制造負責人負責組織并開展硬件生產(chǎn)制造的危害分析活動。生產(chǎn)制造階段的危害分析主要是檢查硬件的生產(chǎn)制造是否帶來了新的危害。生產(chǎn)制造階段也可能產(chǎn)生危害,可能引入的危害包括:
表5 硬件設計危害分析Table 5 Hazard analysis of hardware design
◇ 工具的使用。
◇ 生產(chǎn)制造的實際操作。
◇ 生產(chǎn)環(huán)境。
集成測試階段主要是系統(tǒng)軟硬件集成,包含硬件集成和軟件代碼下裝,集成階段的危害分析主要檢查軟硬件集成是否引入新的危害。集成階段由生產(chǎn)制造負責人組織并開展危害分析活動,危害分析活動的開展可按如表6 所示的方面進行。
表6 集成危害分析Table 6 Integrated hazard analysis
系統(tǒng)確認階段與其他階段不同,系統(tǒng)確認階段的危害分析活動主要針對危害進行測試和驗證,測試時應特別注意對危害措施是否正確實施進行驗證,同時根據(jù)常規(guī)的測試活動分析判斷是否存在其他危害。該活動由測試負責人組織和實施。
系統(tǒng)安裝和調(diào)試階段主要是安全級DCS 發(fā)貨到現(xiàn)場進行安裝和調(diào)試。因電廠調(diào)試期間現(xiàn)場環(huán)境的復雜性,系統(tǒng)安裝和調(diào)試階段的危害分析活動包含兩部分:
1)系統(tǒng)安裝和調(diào)試前進行,評估系統(tǒng)安裝和調(diào)試過程中可能引入的危害,并采取措施進行預防。
2)系統(tǒng)安裝和調(diào)試后進行,分析系統(tǒng)現(xiàn)場安裝和調(diào)試實際過程中是否引入了新的危害。該活動由測試負責人組織和實施。
系統(tǒng)修改階段是安全級DCS 到現(xiàn)場后需要進行更改,系統(tǒng)的修改和系統(tǒng)設計制造過程中的迭代一樣,可能引入新的、嚴重的危害,因此在系統(tǒng)修改后應進行全面的、覆蓋各個階段的危害分析,具體分析方法按照各個階段執(zhí)行。系統(tǒng)修改危害分析由工程設計負責人牽頭,相關專業(yè)負責人協(xié)同執(zhí)行。
為了提高核電站安全級DCS 系統(tǒng)及軟件的安全性,在驗證與確認活動中所進行的危害分析之外,本文提出了工程設計和實施人員在安全級DCS 全生命周期進行系統(tǒng)及軟件安全分析的方法和實踐經(jīng)驗,重點討論工程軟件、硬件設計過程的危害分析,并根據(jù)分析結果將危害和風險消除或控制在可接受范圍內(nèi),保證安全級DCS 系統(tǒng)及應用軟件的功能安全。