樊曉東
(國(guó)核工程有限公司,上海 200233)
三代核電的代表堆芯APl000系列采用非能動(dòng)安全理念,通過簡(jiǎn)化電廠配置,降低對(duì)能動(dòng)裝置的需求,進(jìn)一步提高了核電廠的安全性。全廠唯一的安全級(jí)儀控系統(tǒng)—保護(hù)和安全監(jiān)測(cè)系統(tǒng)(PMS)采用全數(shù)字化儀控平臺(tái),簡(jiǎn)化了控制邏輯,提高了集約化、智能化水平。為進(jìn)一步提高核電運(yùn)行的安全性、可靠性及經(jīng)濟(jì)性,核電廠儀控系統(tǒng)的主流趨勢(shì)是從模擬系統(tǒng)向數(shù)字系統(tǒng)過渡。數(shù)字化儀控系統(tǒng)由于硬軟件集成度高,系統(tǒng)質(zhì)量驗(yàn)證的難度大為提高。其中軟件準(zhǔn)確性、可靠性保證主要依靠的是貫穿整個(gè)安全級(jí)軟件生命周期的質(zhì)量管理,主體工作為獨(dú)立驗(yàn)證與確認(rèn)(IV & V)。
以AP1000保護(hù)與安全監(jiān)測(cè)系統(tǒng)為例,核電廠數(shù)字化保護(hù)系統(tǒng)實(shí)現(xiàn)反應(yīng)堆事故停堆功能、專設(shè)安全觸發(fā)功能以及1E級(jí)數(shù)據(jù)處理功能。安全級(jí)儀控系統(tǒng)的軟件用于驅(qū)動(dòng)硬件實(shí)現(xiàn)核電廠安全功能。根據(jù)設(shè)計(jì)要求,為保證可以對(duì)軟件功能進(jìn)行可靠驗(yàn)證,保護(hù)與安全監(jiān)測(cè)系統(tǒng)中運(yùn)行的軟件必須采用明確的模塊化功能結(jié)構(gòu),基于安全功能單元實(shí)現(xiàn)。為了便于驗(yàn)證與測(cè)試,每一個(gè)安全功能單元內(nèi)部按照數(shù)據(jù)處理的不同邏輯以子模塊的形式劃分,一般情況下,每一個(gè)安全功能單元都要經(jīng)過信號(hào)輸入、初步處理、表決邏輯、優(yōu)先級(jí)選擇及數(shù)據(jù)控制等幾個(gè)步驟,這些都需要通過軟件來實(shí)現(xiàn)。軟件是數(shù)字化儀控系統(tǒng)相較基于模擬技術(shù)實(shí)現(xiàn)的儀控系統(tǒng)的最大不同。軟件錯(cuò)誤僅靠系統(tǒng)集成后的外部功能測(cè)試是難以被完全識(shí)別的,因而軟件設(shè)計(jì)者必須關(guān)注軟件開發(fā)過程中的質(zhì)量控制,與整個(gè)軟件開發(fā)過程緊密結(jié)合、貫穿軟件全生命周期的獨(dú)立驗(yàn)證與確認(rèn)活動(dòng)是保證軟件功能完備、具有高可信度、高質(zhì)量水平的重要手段。
在基于核質(zhì)保體系的管理框架下,針對(duì)安全級(jí)軟件的IV & V要求嚴(yán)格按照既定程序?qū)浖?duì)象進(jìn)行質(zhì)量控制,是平行于整個(gè)軟件開發(fā)工作中的長(zhǎng)期獨(dú)立的任務(wù)。IV & V工作必須覆蓋軟件設(shè)計(jì)、開發(fā)、測(cè)試、維護(hù)整個(gè)生命周期,以驗(yàn)證符合性且排除潛在問題,涵蓋從最初的軟件定義到后期的維護(hù)升級(jí)的全程,并且需要同時(shí)考慮軟件本身以及其與整個(gè)系統(tǒng)的集成。
保護(hù)與安全監(jiān)測(cè)系統(tǒng)是在AP1000核電廠中唯一的安全級(jí)系統(tǒng),集成了電廠所有的安全功能的控制功能,直接關(guān)系到整個(gè)核電廠的安全。原則上,軟件開發(fā)包括IV & V活動(dòng)必須遵循我國(guó)核安全法規(guī)相關(guān)規(guī)定以及被其背書的行業(yè)標(biāo)準(zhǔn),這意味著每項(xiàng)具體的V & V活動(dòng)均需對(duì)照相應(yīng)的要求進(jìn)行全面策劃并精準(zhǔn)執(zhí)行。我國(guó)核安全法規(guī)HAF102中針對(duì)核安全級(jí)軟件的開發(fā)明確提出了獨(dú)立驗(yàn)證與確認(rèn)要求,并在核安全法規(guī)配套的導(dǎo)則HAD102第16分卷中提供了指導(dǎo)性的參考模型。在實(shí)際運(yùn)用中,HAD102/16因缺乏具體的實(shí)施細(xì)則指導(dǎo),實(shí)踐性較差,因此國(guó)內(nèi)外廠家在開展軟件IV & V活動(dòng)過程中更多是使用成熟的行業(yè)標(biāo)準(zhǔn),如IEC 60880—2006以及IEEE 1012—2004等。在AP1000安全級(jí)儀控系統(tǒng)軟件開發(fā)過程中,相應(yīng)的IV & V活動(dòng)參照IEEE體系開展。
獨(dú)立性是安全級(jí)軟件IV & V工作的前提,只有確保相關(guān)活動(dòng)在技術(shù)、財(cái)務(wù)以及行政上的獨(dú)立性,才能使IV & V發(fā)揮作用,給出客觀有效的結(jié)論。AP1000儀控系統(tǒng)供貨商在軟件開發(fā)實(shí)踐中組建了在行政、財(cái)務(wù)和技術(shù)方面(指的是測(cè)試技術(shù))獨(dú)立于研發(fā)部門的V & V團(tuán)隊(duì),以實(shí)現(xiàn)IEEE標(biāo)準(zhǔn)中對(duì)IV & V獨(dú)立性的要求。事實(shí)上,IV & V團(tuán)隊(duì)在開展相關(guān)工作時(shí)需要與設(shè)計(jì)研發(fā)團(tuán)隊(duì)緊密合作,然而IV & V獨(dú)立性要求又使得V & V團(tuán)隊(duì)必須與研發(fā)團(tuán)隊(duì)在業(yè)務(wù)上進(jìn)行隔離,因此相關(guān)管理架構(gòu)的制定一般需要由企業(yè)高級(jí)別管理者直接介入。
為了規(guī)范數(shù)字化核電廠安全級(jí)系統(tǒng)軟件的獨(dú)立驗(yàn)證與確認(rèn)工作,美國(guó)核管會(huì)通過引用IEEE的相關(guān)標(biāo)準(zhǔn)推出了一些可被用于開發(fā)安全級(jí)軟件的過程模型。AP1000保護(hù)與安全監(jiān)測(cè)系統(tǒng)(PMS)的軟件開發(fā)過程應(yīng)用了其中的瀑布模型。相應(yīng)的,其IV & V活動(dòng)參照IEEE 1012—1988標(biāo)準(zhǔn)中的各項(xiàng)要求開展。瀑布模型將軟件系統(tǒng)開發(fā)的生命周期過程分為定義階段、需求階段、設(shè)計(jì)階段(也可以進(jìn)一步拆分為概念設(shè)計(jì)、基礎(chǔ)設(shè)計(jì)和詳細(xì)設(shè)計(jì))、開發(fā)階段、測(cè)試階段以及運(yùn)維階段。此模型通過將復(fù)雜的軟件開發(fā)過程劃分為承上啟下、互相作用的幾個(gè)階段,以便開發(fā)團(tuán)隊(duì)根據(jù)不同的階段制定開發(fā)計(jì)劃以及相對(duì)應(yīng)的IV & V計(jì)劃,提高了管理效率。
項(xiàng)目定義階段又稱項(xiàng)目啟動(dòng)策劃階段,軟件開發(fā)項(xiàng)目定義階段主要工作內(nèi)容為項(xiàng)目范疇定義、初步項(xiàng)目開展計(jì)劃以及確定初始需求基線。從IV & V的角度來看,此階段的主要任務(wù)是確定IV & V工作范圍以及初步開展計(jì)劃,主要有以下幾個(gè)工作內(nèi)容:①通過項(xiàng)目大綱確定IV & V的工作內(nèi)容,制定軟件IV & V計(jì)劃;②確立IV & V團(tuán)隊(duì)與項(xiàng)目管理團(tuán)隊(duì)的聯(lián)絡(luò)接口以及管理關(guān)系;③審核初步需求基線,確定所有制定的系統(tǒng)要求與用戶的需求文件(系統(tǒng)規(guī)格書)相符,所有的要求足夠明確,可以通過測(cè)試或分析來驗(yàn)證。
需求核對(duì)階段開展的基礎(chǔ)是系統(tǒng)需求文件的發(fā)布,安全級(jí)軟件項(xiàng)目需求文件一般以系統(tǒng)規(guī)格書的形式出現(xiàn)。其V & V活動(dòng)主要是驗(yàn)證設(shè)計(jì)團(tuán)隊(duì)根據(jù)上級(jí)系統(tǒng)需求文件制定,細(xì)化的各類技術(shù)要求文件是否覆蓋了系統(tǒng)設(shè)計(jì)規(guī)格書中所有的需求。從宏觀層面看,軟件需求包括軟件功能邏輯需求、硬件對(duì)軟件需求和軟件集成需求。在開展此階段工作時(shí)開發(fā)者需確認(rèn)這3方面的需求是否滿足系統(tǒng)需求說明,同時(shí)也要確保識(shí)別的需求可以通過某種方法進(jìn)行有效的驗(yàn)證。因此需求驗(yàn)證的關(guān)鍵任務(wù)之一是要制定出一個(gè)可追溯的技術(shù)要求體系,建立所有技術(shù)要求與上級(jí)需求間的映射關(guān)系,從而便于驗(yàn)證與確認(rèn)工作的開展。
系統(tǒng)設(shè)計(jì)階段的軟件IV & V工作主要是針對(duì)各模塊的概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)的驗(yàn)證,通過審查、評(píng)估等活動(dòng),確認(rèn)軟件的設(shè)計(jì)實(shí)現(xiàn)了需求核對(duì)階段所制定的軟件功能要求,這不僅包括了功能性需求,同時(shí)也包括非功能性需要。在針對(duì)安全級(jí)軟件設(shè)計(jì)文件進(jìn)行審核的過程中,除了可以采用軟件設(shè)計(jì)規(guī)范以及系統(tǒng)技術(shù)要求規(guī)范書進(jìn)行審查外,還需依據(jù)核領(lǐng)域的國(guó)家法規(guī)和行業(yè)標(biāo)準(zhǔn)進(jìn)行審查,以保證所設(shè)計(jì)的軟件可以實(shí)現(xiàn)既定的核安全相關(guān)功能。
軟件開發(fā)IV & V階段的目標(biāo)是驗(yàn)證軟件設(shè)計(jì)是否準(zhǔn)確地轉(zhuǎn)化為成品代碼、是否全面實(shí)現(xiàn)功能,同時(shí)還要核實(shí)是否引入了額外的可能會(huì)影響到所需求功能的代碼。在此階段IV & V活動(dòng)的常見的實(shí)現(xiàn)形式為靜態(tài)分析和人工代碼走查,以確保源代碼準(zhǔn)確、有序及可被測(cè)試等特性,同時(shí)也需要對(duì)可追溯性進(jìn)行驗(yàn)證。在針對(duì)代碼進(jìn)行審查后,需要根據(jù)每一項(xiàng)功能需求制定系統(tǒng)集成測(cè)試的測(cè)試案例以及相應(yīng)的接受準(zhǔn)則。
此階段IV & V工作的重點(diǎn)是確認(rèn)所有既定的功能要求已得到實(shí)現(xiàn),并通過前一階段制定的測(cè)試案例以及驗(yàn)收準(zhǔn)則進(jìn)行驗(yàn)證,即通常所說的系統(tǒng)集成測(cè)試。在集成測(cè)試過程中,一般通過獨(dú)立運(yùn)行每一個(gè)功能邏輯通道來驗(yàn)證軟件與相應(yīng)的硬件可以可靠實(shí)現(xiàn)所要求執(zhí)行的功能。在驗(yàn)證與確認(rèn)過程中,IV & V需關(guān)注軟件對(duì)需求的符合性、覆蓋性,即軟件可以正確地實(shí)現(xiàn)系統(tǒng)需求,而又不引入新的不確定性。
維護(hù)升級(jí)階段的V & V活動(dòng)主要針對(duì)的是軟件投用后的維護(hù)工作。軟件開發(fā)工作的結(jié)束并不意味著軟件生命周期的結(jié)束,由于功能擴(kuò)展需要、設(shè)計(jì)變更需要,軟件即使在開發(fā)完成投運(yùn)后還是可能會(huì)有大量的修改或升級(jí)。此階段IV & V的工作主要是確認(rèn)軟件的修改不會(huì)影響以往軟件IV & V相關(guān)工作的有效性,同時(shí)對(duì)軟件中新的功能要素進(jìn)行補(bǔ)充的IV & V。
在安全級(jí)軟件研發(fā)過程中,審查、分析和測(cè)試是IV & V的3種主要方法。
對(duì)軟件研發(fā)過程各階段產(chǎn)生的文檔以及產(chǎn)品的審查,主要包括各階段任務(wù)輸入輸出文件。常見的審查對(duì)象如系統(tǒng)需求規(guī)范書、軟件功能說明書、需求矩陣、第三方工具認(rèn)證文件、設(shè)計(jì)規(guī)范、代碼文本、測(cè)試大綱、測(cè)試規(guī)程、工廠測(cè)試報(bào)告、回歸分析報(bào)告、階段總結(jié)報(bào)告,任務(wù)報(bào)告等。審查工作的有效性取決于IV & V團(tuán)隊(duì)的能力與經(jīng)驗(yàn),常用的手段為核對(duì)表。IV & V團(tuán)隊(duì)中高級(jí)別管理人員會(huì)在核對(duì)表中逐項(xiàng)列出要求審查人員關(guān)注的要素,并對(duì)審查結(jié)果進(jìn)行復(fù)核。核對(duì)表適用于所有IV & V任務(wù)。
(1)需求跟蹤。需求跟蹤分析的作用是確保所有較低層次的需求(含延伸需求、隱性需求和集合需求)和要求與高一層次的需求相對(duì)應(yīng),確保所有上級(jí)需求均通過低層次的要求的滿足得到了實(shí)現(xiàn)。需求可跟蹤性分析一般通過需求跟蹤矩陣的工具實(shí)現(xiàn),通過在矩陣中記錄各個(gè)階段的需求以及其與需求源之間的關(guān)系。
(2)問題跟蹤系統(tǒng)。問題跟蹤系統(tǒng)(RITS)是一種類似不符合項(xiàng)管理流程的工具,用于記錄與跟蹤所有在IV & V審核分析以及系統(tǒng)測(cè)試過程中發(fā)生的問題,包括問題整改以及關(guān)閉驗(yàn)證。軟件研發(fā)過程中產(chǎn)生的問題從本質(zhì)上說就是需求的不滿足。問題跟蹤系統(tǒng)與需求跟蹤矩陣作用互補(bǔ),主要用于軟件開發(fā)后期及測(cè)試階段,對(duì)尚未得到滿足的需求以及技術(shù)要求進(jìn)行跟蹤處理。
(3)風(fēng)險(xiǎn)/影響分析。風(fēng)險(xiǎn)/影響分析是對(duì)某一階段或任務(wù)進(jìn)行定性分析、定量分析、評(píng)價(jià)和規(guī)劃風(fēng)險(xiǎn)應(yīng)對(duì),避免軟件開發(fā)前期過程中的潛在隱患進(jìn)一步擴(kuò)大進(jìn)而演變成后期無法解決的問題,及時(shí)地采取保守措施或是建立監(jiān)控機(jī)制,從而有效管控風(fēng)險(xiǎn)。風(fēng)險(xiǎn)/影響分析矩陣是最常用的工具,目前已有較多的第三方軟件提供具備相應(yīng)功能的管理平臺(tái)。風(fēng)險(xiǎn)/影響分析結(jié)論是軟件開發(fā)決策以及項(xiàng)目管理的重要參考依據(jù)。
用于實(shí)現(xiàn)特定功能的軟件都需要通過測(cè)試進(jìn)行驗(yàn)證。對(duì)于安全級(jí)軟件,其測(cè)試必須覆蓋所有的功能分支,即測(cè)試案例應(yīng)保證使每一個(gè)軟件模塊內(nèi)的所有分支均至少得到一次驗(yàn)證。另外,除了針對(duì)功能進(jìn)行的測(cè)試外,也需要設(shè)計(jì)一定的框架測(cè)試以確保程序中不包含不需要的額外功能,并對(duì)非功能性的軟件要求(如穩(wěn)定性)進(jìn)行驗(yàn)證。系統(tǒng)測(cè)試采用從下至上的方式。先進(jìn)行低層次部件級(jí)測(cè)試,然后再逐層開展高一級(jí)的測(cè)試。
(1)軟件子模塊測(cè)試。軟件子模塊測(cè)試是對(duì)系統(tǒng)中的一個(gè)處理器或控制節(jié)點(diǎn)的軟件功能進(jìn)行的獨(dú)立測(cè)試。軟件子模塊測(cè)試主要目的是根據(jù)軟件子模塊的單一功能要求對(duì)一定范圍內(nèi)的代碼集合進(jìn)行功能測(cè)試,包括軟件模塊響應(yīng)時(shí)間,確保底層的功能符合性。
(2)通道集成測(cè)試。通道集成測(cè)試在硬軟件集成后開展,通常以一組機(jī)柜或單一功能通道為單位,先測(cè)試每個(gè)機(jī)柜,然后將執(zhí)行某一類特定功能回路相關(guān)的所有機(jī)柜連接起來進(jìn)行整個(gè)功能通道的測(cè)試。機(jī)柜的輸入和輸出間關(guān)系是通道集成測(cè)試對(duì)象,包括一定范圍內(nèi)系統(tǒng)內(nèi)部的通信、通道級(jí)的響應(yīng)時(shí)間等。
(3)系統(tǒng)集成測(cè)試。系統(tǒng)集成測(cè)試在儀控系統(tǒng)集成完成后開展,對(duì)所有機(jī)柜以及功能通道之間的通信、數(shù)據(jù)傳遞、控制邏輯、冗余特性、負(fù)荷裕度、容錯(cuò)性能、魯棒性進(jìn)行整體驗(yàn)證,并測(cè)試系統(tǒng)級(jí)應(yīng)用整體響應(yīng)時(shí)間、人機(jī)接口界面(包括操控性)與外部?jī)x控系統(tǒng)的接口通訊等。
不同于常規(guī)核電設(shè)備,安全級(jí)儀控系統(tǒng)軟件需要通過專門的獨(dú)立驗(yàn)證與確認(rèn)活動(dòng)來確保軟件質(zhì)量。對(duì)核安全級(jí)軟件IV & V,核電技術(shù)領(lǐng)先的發(fā)達(dá)國(guó)家已建立了較為完善的法規(guī)標(biāo)準(zhǔn)體系、具備較高的可操作性,因此深入研究國(guó)外現(xiàn)有成熟的IV & V管理體系,并參照制定適合我國(guó)的核電廠數(shù)字化儀控系統(tǒng)IV & V標(biāo)準(zhǔn)體系具有十分重要的現(xiàn)實(shí)意義。