肖安洪,楊大為,曾 輝,蔣 亮,陳曉凡
(中國核動力研究設計院核反應堆系統(tǒng)設計技術重點實驗室,四川 成都 610041)
核反應堆儀控系統(tǒng)軟件驗證與確認過程研究
肖安洪,楊大為,曾 輝,蔣 亮,陳曉凡
(中國核動力研究設計院核反應堆系統(tǒng)設計技術重點實驗室,四川 成都 610041)
儀控系統(tǒng)通過軟件程序和硬件設備對核反應堆進行監(jiān)測、運行以及安全保護,對核安全具有重要作用。為保證儀控系統(tǒng)中軟件的安全性、可靠性,需要在軟件生命周期過程中,開展驗證與確認工作。論述了在核反應堆儀控系統(tǒng)軟件開發(fā)過程中需要定義的驗證與確認階段,對每個階段驗證與確認的活動、輸入、輸出進行定義,以指導軟件驗證與確認工作的有效實施。
反應堆;儀控系統(tǒng);軟件;驗證與確認
隨著數(shù)字化的發(fā)展,軟件的應用領域不斷擴展,模擬儀控系統(tǒng)被數(shù)字化儀控系統(tǒng)取代是普遍趨勢,因為數(shù)字化儀控系統(tǒng)具有如下優(yōu)點:1)系統(tǒng)靈活,易維護,具有冗余、容錯、故障安全等功能;2)使用通訊網(wǎng)絡進行數(shù)據(jù)傳輸,提供數(shù)據(jù)傳輸?shù)陌踩院涂煽啃裕?)系統(tǒng)邏輯運算能力強大,計算效率和精度高;4)成本低,安全性高。國外儀控系統(tǒng)的數(shù)字化研究較早,并推出了成熟的商業(yè)化產(chǎn)品,如西門子公司的TELEPERM XP、TELEPERM XS等,廣泛應用于核電廠儀控系統(tǒng)。國內數(shù)字化儀控系統(tǒng)數(shù)字化研發(fā)進展相對緩慢,直到現(xiàn)在還未推出成熟的、具有自主知識產(chǎn)權的數(shù)字化儀控系統(tǒng)產(chǎn)品,嚴重制約了我國核行業(yè)的發(fā)展,對國家“核電走出去”戰(zhàn)略也帶來不利影響。造成這種困境的原因有兩個方面:一方面是由于儀控系統(tǒng)是核反應堆的關鍵系統(tǒng),國外對相關技術一直進行嚴密封鎖;另一方面也是由于核反應堆安全的極端重要性,難以對數(shù)字化儀控系統(tǒng)中軟件的安全性、可靠性提供值得信賴的保障,從而導致受制于人的現(xiàn)狀。
為解決國內核反應堆儀控系統(tǒng)面臨的困境,國內各大核電集團都開展了基于軟件的數(shù)字化儀控系統(tǒng)產(chǎn)品的研發(fā),中國廣核集團已經(jīng)在數(shù)字化儀控系統(tǒng)研發(fā)方面開展了大量工作,并已取得良好進展。中國核工業(yè)集團公司利用科研創(chuàng)新項目,也在開展數(shù)字化儀控系統(tǒng)的研發(fā)工作。數(shù)字化儀控系統(tǒng)研發(fā)能否成功的一大關鍵點便是儀控系統(tǒng)中的軟件驗證和確認工作,它關系到儀控系統(tǒng)是否滿足核安全法規(guī)的要求[1]。本文闡述了在核反應堆儀控系統(tǒng)研發(fā)過程中需要開展的軟件驗證與確認工作階段,明確每個階段的任務、輸入和輸出,為提高軟件的安全性、可靠性,滿足核安全法規(guī)要求提供技術支持。
軟件驗證與確認作為軟件工程中的重要環(huán)節(jié),需要按照軟件工程規(guī)范開展工作。因此,參考CMMI和GJB5000A體系建立軟件驗證與確認體系文件框架,指導軟件驗證和確認工作的開展,如圖1所示。
體系文件框架由3個層次的文件組成,第一層次是過程文件,即軟件驗證與確認工作的頂層文件,包含驗證和確認,以及相關的其他軟件工程過程文件。第二層次是作業(yè)文件,即指導開展可追蹤性分析、安全保密分析、軟件測試等驗證與確認活動的文件。第三層次是操作文件,即實施驗證與確認活動所需要的驗證工具操作指南、各類檢查單以及異常(缺陷)報告單。
根據(jù)IEEE1012-2004標準要求,軟件驗證與確認可以在軟件全生命周期過程中實施,也可以選取合適的過程實施[2]。在核反應堆儀控系統(tǒng)軟件研發(fā)項目中,軟件開發(fā)過程是保證系統(tǒng)安全性、可靠性的關鍵所在,因此針對軟件開發(fā)過程實施軟件驗證與確認,既能滿足軟件安全性要求,也可以減少工作量。在軟件開發(fā)過程中,軟件驗證與確認可以劃分為如下階段(過程管理貫穿整個過程),如圖2所示。
2.1過程管理
管理活動應按照項目進度建立或更新軟件驗證與確認計劃,以適應軟件開發(fā)狀態(tài);持續(xù)地對驗證與確認工作進行審查,對輸出產(chǎn)品進行監(jiān)督、控制和評價,詳細要求在體系文件《項目監(jiān)督與控制》中定義;定義并規(guī)范開發(fā)團隊和驗證與確認團隊之間的工作接口,詳細要求見體系文件《驗證與確認團隊和開發(fā)團隊接口管理》;對驗證與確認工作的配置管理進行計劃,建立并維護基線,對配置項的出庫、入庫、變更進行評審和狀態(tài)審核,詳細要求在體系文件《配置管理》中定義;按照質量保證要求對驗證與確認工作的管理過程、工作產(chǎn)品進行審核,發(fā)現(xiàn)不符合項時及時與相關人員進行溝通并督促解決,對于無法解決的不符合項要上報并跟蹤其狀態(tài),詳細要求在體系文件《過程與產(chǎn)品質量保證》中定義;對開展的驗證與確認工作進行總結。
2.2軟件驗證與確認策劃階段
在軟件驗證與確認策劃階段,應根據(jù)核反應堆儀控系統(tǒng)的總體要求、開發(fā)計劃等,編制軟件驗證與確認計劃,其內容應與體系文件《軟件驗證與確認過程》中定義內容一致。
軟件驗證與確認計劃需要通過評審,并在整個軟件驗證與確認工作過程中進行維護。
2.3系統(tǒng)需求評價階段
儀控系統(tǒng)是軟件、硬件結合的系統(tǒng),結構和邏輯都十分復雜。為實現(xiàn)系統(tǒng)開發(fā)任務,需要將系統(tǒng)需求進行分解,在此階段驗證與確認活動的任務就是對系統(tǒng)需求分解的正確性、準確性和完整性進行評價。
2.3.1任務
1)關鍵性分析。
根據(jù)儀控系統(tǒng)的安全等級,確定其中的軟件完整性等級,再確定采取的驗證與確認活動。對于安全等級為1E級的系統(tǒng),對應的軟件完整性等級為4,因此應采取最嚴格的驗證和確認活動。
2)可追蹤性分析。
識別出所有需要由軟件完整實現(xiàn)或部分實現(xiàn)的系統(tǒng)需求,驗證這些系統(tǒng)需求可以追蹤到系統(tǒng)需求規(guī)格書中的相應條目或核安全法規(guī)、導則、設計標準/規(guī)范、運行規(guī)定、業(yè)務規(guī)則等,建立需求跟蹤矩陣中的系統(tǒng)需求條目和系統(tǒng)軟件需求條目??勺粉櫺苑治鼍唧w方法定義在體系文件《可追蹤性分析作業(yè)指導書》中。
3)安全保密性分析。
評價系統(tǒng)軟件需求規(guī)格書的安全保密性的需求,是否符合系統(tǒng)需求規(guī)格書的要求,是否符合法規(guī)和標準,是否具有可操作性和可測試性。
4)評審系統(tǒng)軟件需求規(guī)格書。
組織評審系統(tǒng)軟件需求規(guī)格書,以確認滿足系統(tǒng)要求;確認系統(tǒng)接口間的約束條件、所提議方法的約束條件或限制條件[3]。
2.3.2輸入
系統(tǒng)需求規(guī)格書;系統(tǒng)軟件需求規(guī)格書;系統(tǒng)需求分析活動記錄(需求追蹤矩陣、需求評審記錄)。
2.3.3輸出
系統(tǒng)需求評價階段工作報告;異常報告;需求追蹤矩陣(系統(tǒng)需求與系統(tǒng)軟件需求的映射)。
2.4軟件需求評價階段
軟件需求來源于系統(tǒng)需求,確定了軟件的功能、性能、外部接口等信息。在此階段驗證與確認的目標是確保軟件需求的完備性、正確性、一致性和可測試性。
2.4.1任務
1)可追蹤性分析。
檢查軟件需求與系統(tǒng)軟件需求條目間的雙向關系,以確定其雙向追蹤關系的正確性、一致性、完備性、準確性,更新需求跟蹤矩陣。
2)審查軟件需求。
審查軟件需求的正確性、一致性、完備性、準確性、可讀性、可測試性。可采用同行評審的方法對軟件需求規(guī)格說明進行審查。
3)審查接口需求。
審查軟件接口需求,以確認軟件與硬件、用戶、操作人員、其他系統(tǒng)間接口需求的正確性、一致性、準確性、可測試性??刹捎猛性u審的方法對軟件接口需求進行審查。
4)配置管理評估。
依據(jù)開發(fā)配置管理計劃和體系文件《配置管理》檢查開發(fā)配置管理過程的完整性、充分性。
5)編寫軟件系統(tǒng)測試計劃。
對軟件系統(tǒng)測試過程進行策劃,編制測試計劃并通過評審。
2.4.2輸入
軟件需求規(guī)格說明;軟件開發(fā)計劃(含配置管理、質量保證計劃)、軟件需求分析活動記錄;變更申請及變更記錄;上一階段工作報告及異常報告。
2.4.3輸出
軟件需求評價階段工作報告;異常報告;需求追蹤矩陣(系統(tǒng)軟件需求與軟件需求之間的映射),軟件系統(tǒng)測試計劃。
2.5軟件設計評價階段
此階段對軟件需求轉化的部件及其詳細設計進行驗證,確保軟件需求與設計的一致性。
2.5.1任務
1)可追蹤性分析。
審查軟件設計與軟件需求條目間的雙向關系,以確定其雙向追蹤關系的正確性、一致性、完備性、準確性。
2)軟件設計審查。
審查軟件設計的正確性、一致性、完備性、準確性、可讀性、可測試性??刹捎猛性u審的方法對軟件設計說明進行審查。
3)接口設計審查。
審查軟件接口設計,以確認軟件設計與硬件、用戶、操作人員、軟件、其他系統(tǒng)接口的正確性、一致性、完備性、準確性、可測試性??刹捎猛性u審的方法對軟件接口設計進行審查。
4)編寫軟件集成測試計劃。
編寫集成測試計劃,明確對軟件部件的集成測試策略以及測試的通過準則,并通過評審。
2.5.2輸入
軟件設計說明;軟件設計活動記錄;變更申請及變更記錄,上一階段工作報告及異常報告。
2.5.3輸出
軟件設計評價階段工作報告;異常報告;需求追蹤矩陣(軟件需求與軟件設計之間的映射),集成測試計劃。
2.6軟件代碼審查與部件測試階段
本階段工作是對軟件代碼進行審查,設計測試用例,開展軟件部件測試。
2.6.1任務
1)可追蹤性分析。
組織檢查源代碼部件與軟件設計條目間的雙向關系,以確定其雙向追蹤關系的正確性、一致性、完備性、準確性。
2)審查源代碼、文檔。
審查軟件源代碼、文檔的正確性、一致性、完備性、準確性、可讀性、可測試性??刹捎么a審查、同行評審的方法對軟件源代碼、文檔進行審查。
3)開展部件測試。
根據(jù)軟件設計說明開展部件測試用例和測試流程設計,并通過評審,按測試流程執(zhí)行部件測試用例,記錄測試用例運行結果,發(fā)現(xiàn)缺陷并上報,并對缺陷處理情況進行跟蹤。缺陷、異常處理流程如圖3所示。
2.6.2輸入
軟件源代碼;軟件設計說明;軟件需求規(guī)格說明;軟件開發(fā)活動記錄,變更申請及變更記錄;上一階段工作報告及異常報告。
2.6.3輸出
軟件部件測試說明,軟件缺陷報告;需求追蹤矩陣(軟件設計—部件代碼,部件代碼—部件測試說明)。
2.7軟件集成與系統(tǒng)測試階段
本階段按照集成測試計劃、系統(tǒng)測試計劃開展軟件系統(tǒng)的集成測試和系統(tǒng)測試工作。
2.7.1任務
1)可追蹤性分析。
分析集成測試用例與軟件需求、系統(tǒng)測試用例與系統(tǒng)需求間的關系,以確定其雙向追蹤關系的正確性、完備性。
2)開展軟件集成測試。
根據(jù)軟件需求規(guī)格書設計集成測試用例和測試流程,并通過評審,執(zhí)行集成測試,報告缺陷并進行跟蹤處理。
3)開展軟件系統(tǒng)測試。
根據(jù)系統(tǒng)軟件需求規(guī)格書設計系統(tǒng)測試用例和測試流程,并通過評審,執(zhí)行測試,報告缺陷并進行跟蹤處理。
2.7.2輸入
通過部件測試的軟件代碼;系統(tǒng)軟件需求規(guī)格書;軟件需求規(guī)格說明;軟件設計說明;變更申請及記錄。
2.7.3輸出
集成測試說明;系統(tǒng)測試說明;軟件缺陷報告;軟件測試報告。
2.8軟件交付確認階段
軟件交付確認是軟件驗證與確認工作在軟件開發(fā)過程的最后一個階段,該階段應按照用戶需求對軟件系統(tǒng)進行最終確認,一般可采用工廠接受測試方法或現(xiàn)場接受測試方法。
在該階段需要完成軟件驗證和確認報告,對整個工作過程進行總結。
本文通過對核反應堆儀控系統(tǒng)軟件開展驗證與確認過程的研究,形成軟件驗證與確認的體系流程,并運用在核電廠DCS平臺軟件的研制項目中,對提升軟件質量,滿足核安全法規(guī)、導則以及核行業(yè)相關標準對儀控軟件的功能安全要求,發(fā)揮了不可忽視的作用。當然,該流程還有可以改進的空間,應當在項目具體實施的過程中,根據(jù)軟件開發(fā)實際情況,針對不同領域軟件的特性,對本文闡述的軟件驗證與確認過程進行適應性調整,然后實施。
[1] 國家核安全局. HAD12/16-2004 核動力廠基于計算機的安全重要系統(tǒng)軟件[S]. 北京: 國家核安全局,2004.
[2] IEEE Computer Society. IEEE Std 1012-2004 IEEE Standard for Software Verification and Validation[S]. New York: IEEE,2004.
[3] IEC. IEC 60880: 2006 nuclear power plants-Instrumentation and control systems important to safety-Software aspects for computer-based systems performing category a functions[S]. GENEV: IEC,2006.
Research on software verification and validation process of reactor instrument and control system
XIAO Anhong, YANG Dawei, ZENG Hui, JIANG Liang, CHEN Xiaofan
(State Key Laboratory of Reactor System Design Technology,Nuclear Power Institute of China, Sichuan Chengdu, 610041, China)
The instrument and control system is important for nuclear security operation such as monitoring and operating and protecting the reactor in software and hardware. The safety and reliability of software need to verify and valid in the lifecycle of software. This paper expounds the defined phases of software verification and validation such as the activities, inputs and outputs within the development of instrument and control system software. This can instruct the verification and validation actions.
reactor, Instrument and control system; software; verification and validation
10.3969/j.issn.2095-509X.2015.05.017
2015-04-10
肖安洪(1981—),男,重慶人,中國核動力研究設計院工程師,主要從事核動力裝置軟件研發(fā)及高性能計算機技術應用工作。
TP311
A
2095-509X(2015)05-0073-05