摘要:隨著數(shù)字化儀控系統(tǒng)在核電廠保護(hù)系統(tǒng)中的應(yīng)用,核安全級(1E級)軟件的質(zhì)量和可信性成為業(yè)內(nèi)關(guān)注的焦點。平臺軟件,即操作系統(tǒng)軟件,是數(shù)字化儀控系統(tǒng)運行的核心軟件,幾乎所有功能都依靠平臺軟件來實現(xiàn)。相關(guān)法規(guī)和標(biāo)準(zhǔn)對其提出了嚴(yán)格的管理和技術(shù)要求,除此之外,平臺軟件要在設(shè)計上充分考慮滿足系統(tǒng)的可靠性、安全性、實時性和確定性等要求,如何開發(fā)安全、可靠的平臺軟件成為實現(xiàn)核數(shù)字化安全級儀控系統(tǒng)所必須解決的關(guān)鍵難題。本文基于標(biāo)準(zhǔn)要求和保護(hù)系統(tǒng)功能特征分析,提出了數(shù)字化核安全級儀控(和睦系統(tǒng))平臺軟件的關(guān)鍵技術(shù)特征,闡述了該軟件所采取的時間空間和行為確定性設(shè)計、無操作系統(tǒng)下通用平臺架構(gòu)設(shè)計、故障安全和自診斷設(shè)計、無中斷下的軟件簡化設(shè)計等關(guān)鍵設(shè)計技術(shù),并簡要介紹平臺軟件的開發(fā)生命周期模型。這些設(shè)計技術(shù)為和睦系統(tǒng)平臺軟件成功應(yīng)用在安全級系統(tǒng)中發(fā)揮了重要作用,對開發(fā)安全級軟件具有重要的參考價值。
關(guān)鍵詞: 核電廠;數(shù)字化儀控系統(tǒng);核安全級;平臺軟件;確定性;故障安全;自診斷
Abstract: With the employment of digital I&C systems in NPP (nuclear power plant) protection system, the quality and confidence of the safety (1E Class) software has become the focus of the nuclear industry. The platform software, i.e., operating system software, is the kernel software of digital I&C system, and almost all of functions relies on it. Although some related regulations and standards have proposed strict technical and anagement requirements, the platform software should be seriously designed to meet the demand of reliability, safety, real-time and determination. It has become a critical problem for implementing a safety digital I&C system of how to develop a safety and reliable platform software. In this paper,
based on the analysis of nuclear standard requirement and function feature of protection system, the critical technical characteristics of digital nuclear safety I&C system (FirmSys) are introduced. In addition, the key techniques of designing FirmSys platform software are expounded such as design for spatial-temporal and behavior determination, general platform architecture design with non-commercial operating software, fail-safe design, self-diagnose design, etc. Meanwhile, a brief description of the development life cycle model for the platform software is provided.
These techniques play an important role for designing FirmSys platform software and is a significant guidance for developing nuclear safety software.
Key words: NPP;DCS;1E Class;Platform Software;Determination;Fail-safe;Self-diagnose
1 引言
數(shù)字化核安全級控制保護(hù)系統(tǒng)FirmSys——“和睦系統(tǒng)”提供一個通用的核電站安全級儀控系統(tǒng)平臺,可應(yīng)用于不同類型的核反應(yīng)堆安全級儀控系統(tǒng),包括反應(yīng)堆保護(hù)系統(tǒng)(RPS)、事故后監(jiān)測系統(tǒng)(PAMS)、專設(shè)安全設(shè)施控制系統(tǒng)等。儀控系統(tǒng)是核電站的大腦和神經(jīng)中樞,對保證核電廠設(shè)備和人員及環(huán)境的安全起著至關(guān)重要的作用。按照安全等級劃分,和睦系統(tǒng)為安全級(1E級)。
和睦系統(tǒng)平臺軟件,即標(biāo)準(zhǔn)中所定義的操作系統(tǒng)軟件,是數(shù)字化儀控系統(tǒng)運行的核心軟件,各種功能幾乎都依靠平臺軟件來完成。與單純硬件系統(tǒng)相比,軟件的實現(xiàn)更復(fù)雜、也就更容易發(fā)生設(shè)計錯誤 [2] 。安全級軟件失效常常導(dǎo)致系統(tǒng)出錯、失效、崩潰,造成重大生命財產(chǎn)損失,如何開發(fā)安全可靠的軟件成為核電領(lǐng)域重要的研究內(nèi)容。軟件的安全性和可靠性首先是設(shè)計出來的,要滿足核電相關(guān)法規(guī)和標(biāo)準(zhǔn)對安全級軟件提出了嚴(yán)格的管理和技術(shù)的要求,設(shè)計上需要充分考慮安全功能和關(guān)鍵特性。本文在分析標(biāo)準(zhǔn)要求的基礎(chǔ)上,結(jié)合保護(hù)系統(tǒng)的功能特點,提出平臺軟件的安全特性,然后基于安全特性,研究并提出平臺軟件的時間空間和行為確定性設(shè)計、無操作系統(tǒng)下通用平臺架構(gòu)設(shè)計、故障安全和自診斷設(shè)計、無中斷下的軟件簡化設(shè)計等關(guān)鍵設(shè)計技術(shù),從而解決平臺軟件在滿足安全性、可靠性、確定性、實時性要求所面臨的技術(shù)問題。針對開發(fā)過程對安全軟件的重要性,本文簡要介紹平臺軟件的開發(fā)生命周期模型。和睦系統(tǒng)平臺軟件經(jīng)過歷時7年的開發(fā),申請了多項專利或軟件著作權(quán),開發(fā)出擁有完全自主知識產(chǎn)權(quán)的安全級軟件,能夠滿足安全性、確定性、實時性、可靠性要求,各項性能達(dá)到和超過國外同類產(chǎn)品水平。該軟件獲得了國家安審機構(gòu)的認(rèn)可,并取得德國TüV SIL3、ISTec獨立第三方V&V認(rèn)證證書,成功應(yīng)用在陽江核電站5、6號機組安全級儀控系統(tǒng)等項目。這些設(shè)計技術(shù)的研究對于開發(fā)安全級系統(tǒng)軟件具有重要的參考價值。
2 安全級軟件標(biāo)準(zhǔn)研究
2.1 核電廠安全級軟件相關(guān)標(biāo)準(zhǔn)
第一層:儀控系統(tǒng)總體要求。核安全級軟件遵循中國和國際原子能機構(gòu)(IAEA)、IEC、IEEE組織關(guān)于核動力廠安全規(guī)定和導(dǎo)則,同時滿足基本安全系列標(biāo)準(zhǔn)IEC 61508《電氣/電子/可編程電子安全有關(guān)系統(tǒng)(E/E/PES)的功能安全》。儀控系統(tǒng)總體要求全面規(guī)定了安全重要儀表和控制系統(tǒng)在核電工程整個生命周期內(nèi)(包括設(shè)計階段、建造階段和運行期間)各項活動中的安全準(zhǔn)則,為儀控系統(tǒng)的總體設(shè)計提供指導(dǎo)。該層標(biāo)注的一些基本要求由下一層的基干標(biāo)準(zhǔn)加以補充或直接相互引用。
第二層:核動力廠安全重要儀控系統(tǒng)軟件相關(guān)標(biāo)準(zhǔn)。在頂層標(biāo)準(zhǔn)的指導(dǎo)下,形成了核安全級軟件研究和開發(fā)需要滿足的安全重要I&C系統(tǒng)軟件的基礎(chǔ)標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)對核安全級軟件的設(shè)計開發(fā)提出了下面的要求:
· 計算機軟件的一般要求;
· 軟件需求、設(shè)計、實現(xiàn)和集成的具體要求;
· 軟件驗證與確認(rèn)的要求;
· 軟件共因故障的防御;
· 設(shè)備質(zhì)量鑒定和質(zhì)量保證對軟件的要求;
第三層:相關(guān)審查和設(shè)計指導(dǎo)。NRC的RG1.168、1.172、1.173和BTP 7-14提供了核安全級審查和設(shè)計指導(dǎo),從獨立于標(biāo)準(zhǔn)體系的方面,對核安全級軟件的設(shè)計和實現(xiàn)進(jìn)行審查和驗證。
2.2 操作系統(tǒng)軟件設(shè)計要求
(1)按IEC 60880的劃分,儀控系統(tǒng)的軟件分為操作系統(tǒng)軟件和應(yīng)用軟件。應(yīng)用軟件通常使用操作系統(tǒng)軟件提供的服務(wù)。
操作系統(tǒng)軟件:系統(tǒng)運行期間在目標(biāo)處理器上執(zhí)行的軟件,例如用于如下項目的軟件:輸入/輸出驅(qū)動,服務(wù)、中斷管理、調(diào)度程序、通訊驅(qū)動、面向應(yīng)用的庫、在線診斷、冗余和適當(dāng)?shù)慕导壒芾怼?捎糜诓煌椖俊?br/>應(yīng)用軟件:系統(tǒng)中實現(xiàn)應(yīng)用功能的那部分軟件。包括互鎖邏輯、控制回路、顯示格式、報警邏輯等。它基于操作系統(tǒng)軟件,用于特定項目。
(2)針對軟件的安全性,標(biāo)準(zhǔn)提出安全分析和安全設(shè)計,要分析軟件潛在的安全威脅,將安全分析中確定的軟件設(shè)計對策的要求落實在軟件設(shè)計要求中。
對于軟件設(shè)計,標(biāo)準(zhǔn)提出以下具體要求 [4] :
· 在設(shè)計和程序開發(fā)的實現(xiàn)階段開始之前,應(yīng)先有軟件需求并有可用的文檔。
· 設(shè)計和實現(xiàn)階段執(zhí)行軟件需求規(guī)格書,并為驗證軟件的設(shè)計和實現(xiàn)提供基準(zhǔn)。
· 軟件設(shè)計應(yīng)包含自監(jiān)督。
· 在失效監(jiān)測方面,應(yīng)采取適當(dāng)?shù)拇胧?br/>· 程序結(jié)構(gòu)宜基于模塊分解。
· 程序結(jié)構(gòu)在總體設(shè)計和詳細(xì)設(shè)計方面均宜簡單、易于理解。
· 宜避免采用各種技巧、遞歸結(jié)構(gòu)和代碼壓縮方法。
· 源程序易于未參加軟件開發(fā)過程的專業(yè)技術(shù)人員理解。
· 源程序宜符合文件規(guī)定的編碼規(guī)則,以提高確定性、可修改性、可測試性。
· 任何與設(shè)計原則不一致的地方,都應(yīng)該被證明是合理的。
· 應(yīng)提供全面、明確的書面文檔。
· 通信鏈路的設(shè)計應(yīng)符合NB/T20026中給出的數(shù)據(jù)通信要求。
· 同一冗余列內(nèi)使用的通信鏈路應(yīng)具有確定性。
(3)操作系統(tǒng)軟件詳細(xì)要求
針對操作系統(tǒng)軟件的詳細(xì)要求,IEC 60880主要從操作系統(tǒng)軟件的功能簡化、接口定義、驗證角度等進(jìn)行要求 [4] 。
3 和睦系統(tǒng)平臺軟件安全特性
3.1 保護(hù)系統(tǒng)平臺軟件功能特點
核電站保護(hù)系統(tǒng)RPS典型功能為采集并處理過程信號,實現(xiàn)自動反應(yīng)堆緊急停堆、產(chǎn)生專設(shè)安全設(shè)施驅(qū)動局部脫扣信號等功能,并將相關(guān)參數(shù)信息、觸發(fā)信號以及控制命令通過通信網(wǎng)絡(luò)傳送到控制室進(jìn)行指示和報警。
圖3是一種典型的RPS系統(tǒng)結(jié)構(gòu),包括四重冗余的獨立通道,每個通道均包括兩組控制站,每個控制站為冗余結(jié)構(gòu)設(shè)計。功能多樣性的反應(yīng)堆停堆參數(shù)被分配到這兩組控制站中,每組控制站均可觸發(fā)反應(yīng)堆緊急停堆。
不管具體的應(yīng)用功能如何,RPS的平臺軟件功能仍是為應(yīng)用軟件運行提供服務(wù)的基礎(chǔ)性功能。需要具備高安全、高可靠和實時性。
(1)作為操作系統(tǒng)軟件,提供信號采集、運算處理、指令輸出、數(shù)據(jù)通信等基礎(chǔ)性功能。
(2)能夠為應(yīng)用軟件提供運行環(huán)境,可以組態(tài),能適用不同功能的應(yīng)用軟件,有一定通用性。
(3)需要具備高安全、高可靠和實時性,能在規(guī)定的時間內(nèi)正確地做出響應(yīng)。
3.2 平臺軟件的模型分析
核電領(lǐng)域使用確定性的方法來確定系統(tǒng)的安全重要性及相關(guān)的風(fēng)險嚴(yán)重性的影響。為了解決系統(tǒng)的確定性問題,學(xué)界提出了一種同步模型 [7] 。同步模型依賴于一個同步假設(shè)(synchrony hypothesis):當(dāng)前周期(cycle)的輸入事件出現(xiàn)時,系統(tǒng)能夠在下一周期的輸入事件出現(xiàn)之前足夠快地產(chǎn)生相應(yīng)當(dāng)前周期的輸出。規(guī)定的時間范圍是由實時系統(tǒng)的環(huán)境決定的。檢查同步假設(shè)的有效性就等于評估系統(tǒng)對環(huán)境的最大響應(yīng)時間能否滿足環(huán)境的要求。同步模型把實時系統(tǒng)分成連續(xù)的原子時間片,成為響應(yīng)周期;每個周期又分為三個階段,分別是事件采集,邏輯運算和事件輸出。
基于同步模型,保護(hù)系統(tǒng)平臺軟件抽象成在固定的連續(xù)周期內(nèi)按順序執(zhí)行采集、運算、輸出的軟件,能在周期內(nèi)完成最差時間的事件響應(yīng),其性能可以要求確保完成上述功能。
3.3 平臺軟件設(shè)計原則
(1)應(yīng)滿足確定性要求
以上所提出的同步模型即為解決確定性問題而設(shè)計的一種模型。能夠確保在激勵源與響應(yīng)之間的時間延遲在全部所要求的條件下有一個保證的最大值和最小值。
其通信技術(shù)及其規(guī)模能在由預(yù)期電廠瞬態(tài)(包括在正常失去電源的情況下雪崩式的狀態(tài)改變)產(chǎn)生的所有數(shù)據(jù)負(fù)載下滿足性能要求。
同時應(yīng)提供設(shè)計,例如看門狗,以便軟件發(fā)生不可預(yù)知的錯誤時,監(jiān)督與確定特性的任何偏離,并在失去控制下能進(jìn)入的確定的狀態(tài)。
(2)滿足故障安全要求
系統(tǒng)性故障要通過自診斷予以檢測,發(fā)現(xiàn)故障時應(yīng)將被設(shè)置在預(yù)先規(guī)定的優(yōu)選故障安全狀態(tài),同時對外輸出故障信息。
(3)滿足簡化設(shè)計要求
盡量簡化的設(shè)計有助于保障軟件的安全性。HAD102/16提出應(yīng)證明在系統(tǒng)功能及其實現(xiàn)方面都已避免不必要的復(fù)雜性。遵循結(jié)構(gòu)化設(shè)計、編程規(guī)范和編碼規(guī)則的證據(jù)應(yīng)是證明的一部分。系統(tǒng)的模塊化和接口定義的邏輯結(jié)構(gòu)應(yīng)盡可能簡單 [3] 。
(4)具備自診斷設(shè)計
為了提高系統(tǒng)的可靠性,平臺軟件應(yīng)在運行期間,在確定的時間間隔診斷硬件和軟件的行為。通過自診斷可以檢測出硬部件的隨機故障,軟件錯誤的行為,以及不同的處理單元之間錯誤的數(shù)據(jù)傳輸。
(5)采用模塊化設(shè)計
平臺軟件總體上是比較復(fù)雜的軟件,適用于控制器軟件、通信軟件、安全顯示軟件,往往涉及到多人協(xié)同開發(fā)。模塊化設(shè)計就是把軟件整體劃分,劃分后的塊組成了軟件。這些塊都相對獨立,之間用接口(協(xié)議)通信,每個塊完成一個功能,多個塊組合可以完成一系列功能。模塊化設(shè)計對于較為復(fù)雜的平臺軟件來說是有效的設(shè)計,一方面提高了軟件的可復(fù)用性,有利于提高軟件的整體質(zhì)量和可維護(hù)性,另一方面可提高工作效率,降低開發(fā)成本。
4 關(guān)鍵設(shè)計技術(shù)研究與實現(xiàn)
4.1 軟件時間、空間、行為確定性設(shè)計時間確定性方面,平臺軟件采用固定周期運行,每個功能在預(yù)先指定的時間完成執(zhí)行。為保證各功能之間互不影響,所有功能模塊采用相同的優(yōu)先級,運行的功能模塊獨占系統(tǒng)資源,不會受到其它功能的影響。這樣可以有效解決在多優(yōu)先級任務(wù)執(zhí)行中,因任務(wù)調(diào)度導(dǎo)致某些任務(wù)被掛起而而影響該任務(wù)的預(yù)期執(zhí)行,導(dǎo)致在規(guī)定時間能不能響應(yīng)的隱患。
空間確定性方面,平臺軟件所有內(nèi)存采用預(yù)先靜態(tài)內(nèi)存分配,禁止動態(tài)分配內(nèi)存。所有功能模塊所需的內(nèi)存均預(yù)先定義,一旦運行不允許更改。堆、棧和緩沖區(qū)是計算機軟件經(jīng)常用到存儲區(qū),也是容易出現(xiàn)安全隱患的多發(fā)區(qū),歷史上因堆棧泄露緩沖區(qū)溢出帶來的系統(tǒng)崩潰時有發(fā)生。和睦系統(tǒng)平臺軟件禁止采用動態(tài)內(nèi)存分配,從根本上消除了堆的使用。棧和緩沖區(qū)預(yù)先分配且固定大小,并設(shè)計足夠大的裕量,輸入、輸出、網(wǎng)絡(luò)收發(fā)、中間變量等數(shù)據(jù)區(qū)靜態(tài)分配,與工程組態(tài)無關(guān),在最大配置使用下不會溢出,能保證內(nèi)存空間在最大負(fù)載下滿足性能要求。
行為確定性方面,不使用軟件中斷,消除了在中斷發(fā)生下程序被打斷而造成執(zhí)行功能一定時間內(nèi)不可預(yù)期的可能。在通信處理方面,實現(xiàn)嚴(yán)格的通信獨立性。在負(fù)責(zé)處理安全功能和負(fù)責(zé)通信的模塊間,使用了支持兩套訪問地址的雙口RAM內(nèi)存,軟件上采用雙緩沖設(shè)計和互斥訪問,使雙方軟件不受對方的影響。該項技術(shù)獲得發(fā)明專利《一種雙口RAM互斥訪問的實現(xiàn)方法》 [6] 。
4.2 無操作系統(tǒng)下的通用軟件架構(gòu)設(shè)計
現(xiàn)代通用計算機一般采用多任務(wù)操作系統(tǒng)。如果CPU負(fù)荷越高,表明單位時間內(nèi)CPU被占用率越高,調(diào)度資源越緊張,可能導(dǎo)致某些進(jìn)程在需要占用CPU但不能及時得到資源。這會嚴(yán)重影響該進(jìn)程的響應(yīng)時間。如果是重要進(jìn)程,還會導(dǎo)致重要功能得不到及時處理引發(fā)嚴(yán)重后果。
基于安全性和簡化程序考慮,平臺軟件采用無操作系統(tǒng)的設(shè)計。面對越來越復(fù)雜的功能,從可擴展性、可維護(hù)性、平臺化的角度出發(fā),采用模塊化、層次化和結(jié)構(gòu)化設(shè)計。平臺軟件層中的硬件抽象層是硬件與上層軟件的中間紐帶,提供操作和控制具體硬件的接口。平臺軟件通過硬件抽象層與底層硬件分離開來,使系統(tǒng)軟件的驅(qū)動程序與硬件無關(guān)。
平臺軟件存儲在FLASH指定地址并負(fù)責(zé)引導(dǎo)計算機啟動。從安全性,啟動地址和啟動程序均預(yù)先給定,不支持中途修改。另外從硬件無關(guān)性以及向系統(tǒng)軟件提供通用界面考慮,在硬件抽象層以下實現(xiàn)底層硬件的初始化、基礎(chǔ)輸入/輸出操作功能。一旦硬件平臺或上層軟件發(fā)生變化,不會導(dǎo)致全面變化。
在運行模式中,在應(yīng)用軟件和嵌入式平臺軟件間設(shè)計輸入?yún)^(qū)、參數(shù)區(qū)、中間變量區(qū)等數(shù)據(jù)區(qū),應(yīng)用軟件實現(xiàn)編譯執(zhí)行以提高執(zhí)行效率。應(yīng)用軟件下裝到控制器中,平臺軟件直接調(diào)用固定地址的應(yīng)用軟件,執(zhí)行相應(yīng)的應(yīng)用功能,這樣提高了軟件通用性和實時性。
平臺軟件封裝所有的驅(qū)動程序,并提供應(yīng)用接口和服務(wù),應(yīng)用軟件能直接調(diào)用這些接口。通過這種方式,用戶不用關(guān)系平臺軟件的實現(xiàn)細(xì)節(jié),實現(xiàn)了靈活組態(tài)和平臺化設(shè)計。
4.3 單任務(wù)無中斷下的可靠性、實時性設(shè)計
為了提高可靠性,該軟件采用單任務(wù)周期運行的方案,消除了多任務(wù)同時執(zhí)行所帶來的安全隱患。為了避免因中斷造成執(zhí)行程序的正常邏輯被打擾和破壞,還采取了無中斷的設(shè)計方案。為了保證系統(tǒng)的實時性要求,在15ms甚至更低的運行時間下,軟件引入高效驅(qū)動程序設(shè)計和輪詢訪問機制。同時采取精巧的調(diào)度控制算法,確保時間較長的在線診斷模塊分不同周期運行,有效解決實時性的要求。15ms的周期下仍可以將CPU負(fù)荷率控制在70%以下。
4.4 故障安全和高覆蓋自診斷設(shè)計
和睦系統(tǒng)平臺軟件的故障安全設(shè)計和自診斷設(shè)計實踐過程依據(jù)于安全完整性設(shè)計指標(biāo)。按照硬件安全完整設(shè)計約束,包括架構(gòu)性約束和量化硬件隨機失效約束兩個頂層設(shè)計指標(biāo),在安全架構(gòu)(HFT),SIL等級要求確定情況下,可得出安全失效分?jǐn)?shù)(SFF)要求,以及總的FPD/FPH指標(biāo)要求,為了達(dá)到這些安全性設(shè)計指標(biāo)均要求盡可能提高自診斷覆蓋率(DC),在具體實現(xiàn)上可參考IEC61508-2:Annex A 中推薦的技術(shù)措施與方法,選取具有足夠診斷覆蓋率的自診斷設(shè)計方法開展具體的自診斷設(shè)計實現(xiàn)。同時在設(shè)計驗證層面,可通過開展FMEDA分析工作結(jié)合故障插入測試對自診斷設(shè)計需求目標(biāo)進(jìn)行分析驗證和測試驗證。通過自診斷設(shè)計,系統(tǒng)的診斷覆蓋率達(dá)到90%以上,獲得SIL3功能安全認(rèn)證。
表1所示為以CPU、RAM為例描述了自診斷針對不同對象所采用的診斷方法和達(dá)到的覆蓋率。
表1 自診斷方法示例
4.5 簡化設(shè)計技術(shù)和嚴(yán)格編碼規(guī)范
為了提高軟件的可維護(hù)性、可驗證性和可靠性,平臺軟件采取簡化設(shè)計原則。簡化設(shè)計從兩方面入手:一方面是從軟件架構(gòu)設(shè)計,包括前面所述的固定周
期、單任務(wù)、無中斷、無操作系統(tǒng)、分層化設(shè)計。另一方面從詳細(xì)設(shè)計入手,軟件所有功能函數(shù)都采用單入口單出口設(shè)計,要求每個異常都必須處理,模塊之間低耦合高內(nèi)聚,公共數(shù)據(jù)和公共變量采用封裝接口。
在實現(xiàn)階段,根據(jù)IEC 60880并采用比MISRA-C更嚴(yán)格的編碼規(guī)范,定義C語言安全子集:和睦系統(tǒng)嵌入式軟件語言FirmC。其中要求函數(shù)圈復(fù)雜度不超過20,不允許存在無法執(zhí)行到的代碼,不允許定義參數(shù)個數(shù)可變的函數(shù),函數(shù)體的規(guī)模必須控制在200行代碼之內(nèi),函數(shù)內(nèi)的控制流保持函數(shù)只有唯一出口,尋址數(shù)組元素應(yīng)避免繁雜的下標(biāo)計算等。
4.6 高效的安全軟件開發(fā)過程
眾所周知,對于軟件的開發(fā)而言,正確的安全軟件開發(fā)過程對保證軟件的開發(fā)過程變得可控,而且它能夠有助于合理證明安全系統(tǒng)的運行。標(biāo)準(zhǔn)提出了安全生命周期模型,可用于指導(dǎo)軟件開發(fā)過程。伴隨對核安全級軟件研發(fā)流程的深入理解和靈活應(yīng)用,和睦系統(tǒng)形成一套真正可應(yīng)用并且完善的全生命周期的軟件開發(fā)過程模型。該模型的特點在于,它在依據(jù)于標(biāo)準(zhǔn)的同時,提出了圖8所示的全生命周期模型及質(zhì)量保障,發(fā)布了系統(tǒng)、軟件、硬件、 邏輯過程控制程序和50多份技術(shù)規(guī)范和開發(fā)模板。對于軟件設(shè)計階段,細(xì)化分解成概要設(shè)計和詳細(xì)設(shè)計,制定相應(yīng)的技術(shù)規(guī)范,使軟件架構(gòu)設(shè)計和模塊設(shè)計得到側(cè)重和加強,并提出測試與審查的手段進(jìn)行驗證,同時進(jìn)行迭代,將執(zhí)行中發(fā)現(xiàn)的經(jīng)驗及時反饋到模型中去優(yōu)化和改進(jìn),為推動軟件的順利研發(fā)提供了有效的過程支持。
5 實施效果
和睦系統(tǒng)平臺軟件歷經(jīng)6年開發(fā),內(nèi)核代碼2.2萬行,公共庫和驅(qū)動程序3萬行。該軟件具有功能穩(wěn)定、安全性高、資源確定、時間確定和行為確定,允許組態(tài)和下裝,便于使用等特點。
獲得了國家安審機構(gòu)的認(rèn)可,并獲得德國TüVSIL3(2013.7)認(rèn)證、ISTec獨立第三方V&V認(rèn)證(2013.12)證書,成功應(yīng)用在陽江核電站5、6號機組安全級儀控系統(tǒng)、紅沿河核電站5、6號機組項目,以及大亞灣、嶺澳堆芯測量系統(tǒng)(RIC)改造等項目。已在“大亞灣堆芯測量系統(tǒng)(RIC)改造項目”、“高
溫氣冷堆核電站數(shù)字化保護(hù)系統(tǒng)工程樣機研制項目”、“高溫氣冷堆核電站安全級控制保護(hù)系統(tǒng)項目”、“陽江5、6號機組DCS項目”、“紅沿河5、6號機組DCS項目”中得到應(yīng)用。各項指標(biāo)達(dá)到國外同類產(chǎn)品技術(shù)水平。
6 結(jié)論
核安全級儀控系統(tǒng)平臺軟件是系統(tǒng)的核心軟件,和睦系統(tǒng)平臺軟件采用完全自主開發(fā),全面遵循國家及國際核級法規(guī)和標(biāo)準(zhǔn)。軟件采用時間、空間、行為確定性設(shè)計、無操作系統(tǒng)下的通用軟件架構(gòu)設(shè)計、故障安全和高覆蓋率自診斷設(shè)計、簡化設(shè)計技術(shù)和嚴(yán)格編碼規(guī)范、高效的安全軟件開發(fā)過程,內(nèi)核代碼2.2萬行,公共庫和驅(qū)動程序3萬行,各項指標(biāo)達(dá)到國外同類產(chǎn)品技術(shù)水平。這些技術(shù)的研究對于開發(fā)安全級系統(tǒng)軟件具有重要的參考價值。
摘自《自動化博覽》2018年5月刊