(環(huán)境保護(hù)部核與輻射安全中心,北京 100082)
目前,核電廠以及其他核設(shè)施已經(jīng)普遍采用數(shù)字化儀表和控制平臺(tái)。隨著國(guó)內(nèi)核安全電氣設(shè)備的技術(shù)和工業(yè)的發(fā)展,越來越多的生產(chǎn)廠商開始在其產(chǎn)品中引進(jìn)軟件。按照國(guó)務(wù)院發(fā)布的第500號(hào)令規(guī)定[1]和相關(guān)釋義[2],中國(guó)核安全電氣設(shè)備監(jiān)管采用許可證管理制度,軟件作為數(shù)字化核安全電氣設(shè)備的組成部分,是技術(shù)審評(píng)中的重中之重,軟件驗(yàn)證與確認(rèn)的獨(dú)立性是技術(shù)審評(píng)中一個(gè)重要方面。
核安全法規(guī)HAF102 5.5.1章節(jié)指出“必須采用設(shè)備鑒定的程序來確認(rèn)安全重要物項(xiàng)能夠在其整個(gè)設(shè)計(jì)運(yùn)行壽期內(nèi)滿足處于需要起作用時(shí)的環(huán)境條件(如振動(dòng)、溫度、壓力、噴射流沖擊、電磁干擾、輻照、濕度或這些因素的任何可能組合)下執(zhí)行其安全功能的要求”[3],核安全監(jiān)管當(dāng)局對(duì)核安全級(jí)設(shè)備提出了必須進(jìn)行質(zhì)量鑒定的要求。對(duì)基于計(jì)算機(jī)的系統(tǒng)在保護(hù)系統(tǒng)中的應(yīng)用,核安全法規(guī)HAF 102 6.4.8(3)指出“為了確認(rèn)基于計(jì)算機(jī)的系統(tǒng)可靠性的可信度,必須由獨(dú)立于設(shè)計(jì)者和供應(yīng)商的專家對(duì)基于計(jì)算機(jī)的系統(tǒng)進(jìn)行評(píng)價(jià)”[3],對(duì)基于計(jì)算機(jī)的系統(tǒng)評(píng)價(jià)提出了要求。核安全法規(guī)HAD 102-16中第3.4.5.1章節(jié)進(jìn)一步明確了對(duì)安全系統(tǒng)應(yīng)采用第三方評(píng)定”[4]的相關(guān)要求。為了貫徹加強(qiáng)核安全監(jiān)管的要求,結(jié)合軟件驗(yàn)證與確認(rèn)實(shí)際活動(dòng),本文對(duì)如何滿足相關(guān)要求進(jìn)行了探討。
核安全級(jí)軟件驗(yàn)證與確認(rèn)內(nèi)涵包括核安全級(jí)軟件和驗(yàn)證與確認(rèn)兩部分內(nèi)容。核安全級(jí)軟件是從核安全角度定義的一個(gè)名稱,指的是執(zhí)行核安全功能的數(shù)字化設(shè)備的軟件部分。相對(duì)于普通軟件,核安全級(jí)軟件的一個(gè)顯著設(shè)計(jì)特征是它的可確定性[5]。軟件驗(yàn)證與確認(rèn)指的是在系統(tǒng)生存周期內(nèi)保證一個(gè)階段能夠滿足前一階段所提需求的過程(驗(yàn)證)和為保證集成后的計(jì)算機(jī)系統(tǒng)(硬件和軟件)符合功能、特性和接口需求,對(duì)其進(jìn)行測(cè)試和評(píng)價(jià)的過程(確認(rèn))。
核安全級(jí)軟件驗(yàn)證與確認(rèn)的獨(dú)立性指的是開發(fā)人員和軟件驗(yàn)證與確認(rèn)隊(duì)伍之間的獨(dú)立程度。
對(duì)于核安全級(jí)軟件驗(yàn)證與確認(rèn)獨(dú)立性,通常從技術(shù)、管理和財(cái)務(wù)方面進(jìn)行描述。具體獨(dú)立性要求如下。①技術(shù)獨(dú)立性:工作應(yīng)由不同的人員使用不同的技術(shù)和工具完成。②管理獨(dú)立性:工作應(yīng)由不同的人員來領(lǐng)導(dǎo)和推動(dòng);驗(yàn)證與確認(rèn)工作組與開發(fā)工作組應(yīng)有不同的管理渠道,應(yīng)記錄獨(dú)立小組之間的正式通信。③財(cái)務(wù)獨(dú)立性:應(yīng)有分開的財(cái)務(wù)預(yù)算,以限制資金在開發(fā)和驗(yàn)證與確認(rèn)之間流動(dòng)。
以上為原則性要求,具體如何在核安全級(jí)軟件驗(yàn)證與確認(rèn)活動(dòng)中要求和評(píng)價(jià),法律法規(guī)中并沒有給出詳細(xì)的指導(dǎo)書。
核安全級(jí)軟件驗(yàn)證與確認(rèn)的執(zhí)行方式通??梢苑譃閮煞N情形:①軟件驗(yàn)證與確認(rèn),由具備獨(dú)立法人的單位承擔(dān)(外部);②軟件驗(yàn)證與確認(rèn)隊(duì)伍和軟件開發(fā)隊(duì)伍同屬一個(gè)獨(dú)立法人(內(nèi)部)。
按照法規(guī)要求,對(duì)基于計(jì)算機(jī)的整個(gè)系統(tǒng)進(jìn)行評(píng)價(jià)必須由第三方進(jìn)行評(píng)價(jià),但對(duì)于核安全級(jí)軟件驗(yàn)證與確認(rèn)并沒有明確必須由第三方進(jìn)行評(píng)價(jià)。
如果軟件開發(fā)單位(或核安全設(shè)備供應(yīng)單位)的核安全級(jí)軟件驗(yàn)證與確認(rèn)活動(dòng)只由具有獨(dú)立法人的單位承擔(dān),即在第一種情形下,則會(huì)產(chǎn)生以下問題:外部接口比較復(fù)雜、手續(xù)繁雜,即使是理想情況下,軟件交付周期也較長(zhǎng);由于軟件設(shè)計(jì)過程中不可避免會(huì)出現(xiàn)不符合項(xiàng),驗(yàn)證與確認(rèn)活動(dòng)出現(xiàn)多次反復(fù),導(dǎo)致工程處于失控狀態(tài);需要解決商業(yè)保密問題,驗(yàn)證與確認(rèn)隊(duì)伍肯定會(huì)接觸源代碼。
在第一種情形下,軟件開發(fā)單位(或核安全設(shè)備供應(yīng)單位)的核安全級(jí)軟件具有以下優(yōu)勢(shì):由于獨(dú)立性高,一方面可以提高采購(gòu)單位對(duì)軟件可靠性的信心度;另一方面可以增強(qiáng)安全審評(píng)單位對(duì)軟件可靠性的信心度,縮短審批時(shí)間。
核安全級(jí)軟件驗(yàn)證與確認(rèn)影響涉及工程使用(采購(gòu)單位)和安全審評(píng)單位(安全審評(píng))。如果軟件開發(fā)單位(或核安全設(shè)備供應(yīng)單位)的核安全級(jí)軟件驗(yàn)證與確認(rèn)活動(dòng)在第二種情形下,則會(huì)產(chǎn)生以下問題:工程單位采購(gòu)時(shí),通常會(huì)認(rèn)為軟件開發(fā)獨(dú)立性不夠高、產(chǎn)品可信度不夠,拒絕采購(gòu);安全審評(píng)單位在沒有提前介入時(shí),也可能出現(xiàn)由于獨(dú)立性程度不夠?qū)е聦徳u(píng)人員信心降低,從而難以獲得批準(zhǔn)或者導(dǎo)致獲批時(shí)間很長(zhǎng)。
在第二種情形下,軟件開發(fā)單位(或核安全設(shè)備供應(yīng)單位)的核安全級(jí)軟件具有以下優(yōu)勢(shì):由于源代碼不會(huì)泄露,因此可以很好地解決商業(yè)保密問題;不出現(xiàn)外部接口,內(nèi)部協(xié)調(diào)相對(duì)容易,工程進(jìn)度有保障。
針對(duì)獨(dú)立性影響,不同的設(shè)備廠商應(yīng)當(dāng)根據(jù)不同情況進(jìn)行具體對(duì)待。對(duì)于軟件部分比較簡(jiǎn)單的,可以采用軟件驗(yàn)證與確認(rèn)由外部具備獨(dú)立法人的單位承擔(dān);但對(duì)于軟件比較復(fù)雜或者軟件產(chǎn)品種類比較多且所需人員比較多的廠家來說,比較合理的工作方式為同時(shí)采用外部和內(nèi)部?jī)煞N軟件驗(yàn)證與確認(rèn)的工作方式。具體操作可以分為內(nèi)部和外部軟件驗(yàn)證與確認(rèn)均采用同一規(guī)范、內(nèi)部和外部軟件驗(yàn)證與確認(rèn)采用不同的規(guī)范兩種形式。
當(dāng)內(nèi)部和外部軟件驗(yàn)證與確認(rèn)均采用同一規(guī)范時(shí),由于存在內(nèi)部驗(yàn)證與確認(rèn)活動(dòng),因此可以保證外部驗(yàn)證與確認(rèn)活動(dòng)一次性通過,工程進(jìn)度有保障。內(nèi)部研發(fā)隊(duì)伍和內(nèi)部驗(yàn)證與確認(rèn)活動(dòng)重疊部分的測(cè)試不再進(jìn)行,以便減少費(fèi)用開支。
當(dāng)內(nèi)部和外部軟件驗(yàn)證與確認(rèn)采用不同的規(guī)范時(shí),內(nèi)部采用嚴(yán)格的驗(yàn)證與確認(rèn)規(guī)范,外部單位僅對(duì)內(nèi)部驗(yàn)證與確認(rèn)的相關(guān)活動(dòng)(包括質(zhì)量保證、程序、工具、人員和報(bào)告等)進(jìn)行監(jiān)督和評(píng)估。對(duì)此,要求外部單位需要具備相當(dāng)程度的核安全理念,熟悉核安全級(jí)軟件的要求,能正確地監(jiān)督和評(píng)價(jià)相關(guān)活動(dòng)。同時(shí)為了保證工程進(jìn)度,研發(fā)隊(duì)伍必須處于高質(zhì)量活動(dòng)狀態(tài),減少驗(yàn)證與確認(rèn)活動(dòng)反復(fù)的可能性。
軟件驗(yàn)證與確認(rèn)遵循的標(biāo)準(zhǔn)通常采用IEEE 1012,IEEE 1012將獨(dú)立性要求分為四級(jí)[6]。IEEE 1012標(biāo)準(zhǔn)是通用性的標(biāo)準(zhǔn),適用于所有的軟件。但對(duì)于核安全級(jí)軟件來說,由于核設(shè)施中核安全級(jí)設(shè)備的安全要求在預(yù)計(jì)環(huán)境條件下進(jìn)行驗(yàn)證,換句話說,在具備可確定性的情況下考慮概率分析,因此,即使采用IEEE 1012的最高等級(jí)也并不代表滿足核安全級(jí)軟件的要求。核安全法律法規(guī)、IEEE 7- 4.3.2[7]以及IEC 60880[8]都沒有具體給出核安全級(jí)軟件具體的IEEE 1012獨(dú)立性等級(jí),但考慮到核安全電氣設(shè)備的重要性和安全功能,不同的核安全級(jí)軟件要求的IEEE 1012獨(dú)立性等級(jí)不同,但至少應(yīng)當(dāng)達(dá)到IEEE 1012次高等級(jí)。
核安全級(jí)軟件驗(yàn)證與確認(rèn)獨(dú)立性具體實(shí)施要求如下。
① 技術(shù)獨(dú)立性
技術(shù)獨(dú)立性是指應(yīng)當(dāng)列出軟件開發(fā)中直接影響軟件質(zhì)量的技術(shù)和工具清單,軟件驗(yàn)證與確認(rèn)隊(duì)伍必須采用不同的技術(shù)和工具,具備多樣性。
② 管理獨(dú)立性
軟件驗(yàn)證與確認(rèn)隊(duì)伍和軟件開發(fā)隊(duì)伍在單個(gè)項(xiàng)目上必須滿足管理獨(dú)立性。軟件驗(yàn)證與確認(rèn)隊(duì)伍發(fā)現(xiàn)的異常,軟件開發(fā)隊(duì)伍必須按照核質(zhì)量保證中的不符合項(xiàng)[9]進(jìn)行處理;軟件驗(yàn)證與確認(rèn)隊(duì)伍不得對(duì)軟件異常出現(xiàn)的具體原因進(jìn)行分析或提出設(shè)計(jì)要求;軟件驗(yàn)證與確認(rèn)隊(duì)伍工作文件上不得出現(xiàn)軟件開發(fā)隊(duì)伍成員的簽字(這個(gè)要求不僅是獨(dú)立性要求,也是防止工程進(jìn)度失控的要求);軟件驗(yàn)證與確認(rèn)隊(duì)伍和軟件開發(fā)隊(duì)伍不能存在直接接口;內(nèi)部軟件驗(yàn)證與確認(rèn)隊(duì)伍和軟件開發(fā)隊(duì)伍各自直接負(fù)責(zé)人不能為同一人。
③ 財(cái)務(wù)獨(dú)立性
采用外部軟件驗(yàn)證與確認(rèn)時(shí)應(yīng)當(dāng)滿足以下條件:雙方簽署正式合同;合同執(zhí)行費(fèi)用支付方式為一次性提前支付,不得出現(xiàn)分階段、分批或按比例等其他支付方式。
采用內(nèi)部軟件驗(yàn)證與確認(rèn)時(shí)應(yīng)當(dāng)滿足以下條件:軟件驗(yàn)證與確認(rèn)隊(duì)伍和軟件開發(fā)隊(duì)伍的費(fèi)用支付批準(zhǔn)簽字人不同,保證軟件驗(yàn)證與確認(rèn)隊(duì)伍經(jīng)費(fèi)不受軟件開發(fā)隊(duì)伍的約束;軟件驗(yàn)證與確認(rèn)隊(duì)伍的待遇不受軟件開發(fā)的影響,避免軟件驗(yàn)證與確認(rèn)隊(duì)伍由于項(xiàng)目的影響導(dǎo)致質(zhì)量下降,喪失客觀性。
軟件驗(yàn)證與確認(rèn)作為核安全級(jí)中重要一環(huán),應(yīng)當(dāng)高度重視軟件驗(yàn)證與確認(rèn)的獨(dú)立性,同時(shí)要考慮工程的實(shí)際情況,選取合適的工作方式。軟件驗(yàn)證與確認(rèn)費(fèi)用比較高,必須在保證核安全的基礎(chǔ)上,合理減少相關(guān)商業(yè)風(fēng)險(xiǎn)和費(fèi)用。由于核安全相關(guān)法規(guī)或標(biāo)準(zhǔn)沒有給出具體的獨(dú)立性指導(dǎo),對(duì)軟件驗(yàn)證與確認(rèn)獨(dú)立性的探討肯定存在局限性,文中不當(dāng)之處敬請(qǐng)指正。
[1] 中華人民共和國(guó)國(guó)務(wù)院.民用核安全設(shè)備監(jiān)督管理?xiàng)l例[Z].2007.
[2] 張穹,李干杰.民用核安全設(shè)備監(jiān)督管理?xiàng)l例釋義[M].北京:中國(guó)法制出版社,2007.
[3] 國(guó)家核安全局.HAF102核動(dòng)力廠設(shè)計(jì)安全規(guī)定[S].北京,2004.
[4] 國(guó)家核安全局.HAD102-16核動(dòng)力廠基于計(jì)算機(jī)的安全重要系統(tǒng)的軟件[S].北京,2004.
[5] 毛從吉,毋琦.核電廠安全系統(tǒng)軟件設(shè)計(jì)及編碼研究[J].核電子學(xué)與探測(cè)技術(shù),2012,32(4):497-500.
[6] The Institute of Electrical and Electronics Engineers,Inc.IEEE Std 1012TM-2004 IEEE standard for software verification and validation[S].New York,2005.
[7] The Institute of Electrical and Electronics Engineers,Inc.IEEE Std. 7- 4.3.2TM-2003 IEEE standard criteria for digital computers in safety systems of nuclear power generating stations[S].New York,2003.
[8] The International Electrotechnical Commission.CEI/IEC 60880-2006 Nuclear power plants-instrumentation and control systems important to safety-software aspects for computer-based systems performing category A functions[S].Switzerland,2006.
[9] 國(guó)家核安全局.HAF003核電廠質(zhì)量保證安全規(guī)定[S].北京,1998.