張子鵬,魏新宇,張晨昊,李 旺
(1.西安交通大學核科學與技術學院,西安 710049;2.中國核動力研究設計院核反應堆系統設計技術重點實驗室,成都 610213)
配置管理是核安全級DCS 工程設計活動的重要部分,針對安全重要的構筑物、系統和設備,國家核安全法規已經提出與配置管理相關的要求。HAF102—2004《核動力廠設計安全規定》中要求“當安全重要系統設計依賴于基于計算機的系統的可靠性時,必須確定或制定有關開發和試驗和(或)驗證計算機硬件和軟件的相應標準,并在系統的整個生命周期,特別是在軟件開發期間,就必須加以實施”[1]。
盡管傳統配置管理的原理和目的同樣適用于軟件,但軟件更側重設計流程,交付物項是設計輸出。在軟件生產中,設計過程信息可能衍生出和最終設計輸出相關的多個中間設計輸出。通常在實現(編碼)和測試階段會產生大量的軟件設計變更。核安全級DCS 應用軟件代碼結構復雜、變更種類繁多、形式多樣,且用戶較多,因此在代碼實現階段需要制定合適的配置管理策略以應對其特點。
核安全級DCS 系統結構復雜,冗余度高。從軟件設計的角度上,按照實現的功能不同可以將整個系統劃分為各種功能站點,例如控制站、傳輸站和網關站等。以華龍一號核安全級DCS 系統為例,該系統包含四個保護組(保護組I、保護組II、保護組III 以及保護組IV)和兩個邏輯系列(邏輯系列A和邏輯系列B),每個保護組分為兩個多樣性子組,每個邏輯系列包含FSC1、F-SC2 兩個安全等級的專設驅動系統,其系統架構如圖1所示。

圖1 華龍一號核安全級DCS系統架構示意圖
由于聯鎖、局部脫扣、與盤臺接口、與非安全級DCS 通訊等復雜的系統結構,信號需要在功能站之間傳遞,各功能站之間相互關聯,因此在設計過程中需要考慮各站的關聯性。作為核安全級DCS 系統中重要的組成部分,應用軟件代碼對于整個系統執行安全功能至關重要,也是后續軟硬件集成、工程測試(FT)和V&V 等過程的重要輸入。此外,在代碼實現和測試階段,由于V&V 異常或測試異常,代碼需要頻繁變更。由此可見,核安全級DCS 應用軟件代碼重要程度高,結構復雜,規模龐大,變更頻繁[2-3]。因此必須配備完善的配置管理策略以保證其正確性。
核安全級DCS 應用軟件設計流程如圖2 所示,其中在需求、設計和實現階段分別輸出軟件需求規格書、儀控功能圖和應用軟件代碼包[4]。

圖2 應用軟件設計流程示意圖
設計人員使用工程師站軟件NASPES,依據上游設計輸入和系統設計輸入開發核安全級DCS 應用軟件,主要工作包含站點組態、設備組態、算法組態和變量組態等內容。應用軟件設計的輸出主要包含兩種形式:
(1)以文件形式:如算法組態以儀控功能圖形式進行出版,變量組態以IO 分配清單,設定值清單的形式出版;
(2)以工程文件(包)形式:如站點組態信息、設備組態信息、變量組態信息、可下裝代碼等集成到應用軟件代碼包中進行出版。
以華龍一號的安全級DCS 系統為例,系統共計有28 個功能站點,每個站點均需要出版一份儀控功能圖(或者畫面組態文件),并在實現階段出版應用軟件代碼包。
從用途來說,核安全級DCS 應用軟件代碼需要提供給V&V 人員進行V&V 活動,提供給代碼下裝人員進行下裝活動,提供給測試人員進行工廠測試活動等。如果應用軟件代碼的版本控制發生錯誤,將會給DCS 系統的設計、V&V和測試等活動帶來較大的影響,甚至影響到產品質量和項目進度。
一般來說,應用軟件代碼包的配置管理和其他常規軟件的配置項一樣進行管理。但因其信息量巨大,變更頻繁,且存在各功能站的子版本,現有的配置管理策略越來越不能適應新的需求。歸納起來,應用軟件代碼配置管理主要有如下難點:
(1)因系統功能復雜,導致應用軟件代碼結構復雜,且各個功能站點相互影響,軟件設計文件之間互相影響;
(2)在使用工程師站軟件NASPES 進行應用軟件下裝時,為保證下裝站點的正確性,須通過總體工程進行各站點的下裝,而不能單獨將各功能站點的下裝文件獨立入庫;
(3)核安全級DCS 應用軟件涉及到V&V 過程,異常的處理會導致軟件版本變更比較頻繁;
(4)應用軟件代碼算法組態部分與設計階段的儀控功能圖有關聯關系,設備組態和變量組態部分與設計階段的硬件設計有關聯關系。在變更較為頻繁的情況下,為了便于開展實現階段或者后續測試階段的相關工作,需要明確代碼與不同階段以及不同文件之間的關系;
(5)代碼下裝人員、V&V 人員和測試人員需要了解每個功能站的代碼變更情況、版本情況等信息,從而進行軟件下裝、實現V&V 和測試V&V等工作;
(6)工程師站軟件NASPES、SVDU 組態軟件、算法庫等工具軟件對核安全級DCS 應用軟件代碼的版本也有一定影響。
本文提出的依托于核電廠數字化安全級儀控系統(NASPIC 平臺)的應用軟件代碼配置管理策略,可以較好地控制核安全級DCS 應用軟件代碼版本。應用軟件工程代碼包文件中的文件夾對應著各功能站,并以站號命名。功能站的站號是設計人員根據軟件需求規格書在站點組態時進行設置,以保護組為例,應用軟件站點信息如表1所示。

表1 核安全級DCS應用軟件站點信息列表
每個功能站點的文件夾下有如下信息,以11站RTC-11為例,如圖3所示。

圖3 應用軟件代碼包功能站主要信息
其中download 文件夾中是編譯完成待下裝的代碼,包括三個部分:
(1)devconfig_版本號:設備文件;
(2)exportPara_版本號:參數文件;
(3)LowerCom_Bin_版本號:算法文件。
分別對應站點的設備組態信息、變量組態信息和算法組態信息。代碼管理的核心就是管理各功能站的download 文件夾中的各可下裝文件的版本,以及其與設計階段文件的關系。
核安全級DCS 應用軟件配置管理建議采取如下策略:
策略一:代碼整體入庫
首先,在進行各功能站代碼下裝時,各功能站點需通過整個工程進行下裝,因此工程代碼需要整體出、入庫。這樣做可以避免多功能站分別入庫、出庫可能導致的版本混亂。其次,在進行應用軟件下裝時,下裝人員首先會確認硬件通路正確,再從工程中選擇對應的功能站進行下裝,可在一定程度上提高代碼下裝效率和降低錯誤概率。最后,為了方便后續分析問題以及進行版本回溯,需要在代碼入庫時明確產生每一版應用軟件代碼包的工具軟件版本,因為工具軟件的版本變化也會影響到應用軟件的版本。
如表2所示,應用軟件代碼配置項信息主要包括配置項標識、代碼包版本和生成該版本代碼包的工具軟件版本,如NASPES、SCADE、SVDU 組態軟件和算法庫版本等,這些信息也應包含在策略二中提到的代碼版本信息說明文件中。

表2 應用軟件代碼配置項信息
策略二:應用軟件代碼包說明文件
在代碼實現階段配合應用軟件代碼出版代碼版本信息說明文件,用以說明代碼包中的具體信息。如表3所示,具體明確各功能站點的信息(包括對應的功能站點站號、所在機柜號、站名等)和維護網絡IP地址,方便下裝人員通過站號找到對應的功能站和通過機柜號找到對應的機柜,從而快速匹配軟、硬件信息,并通過維護網絡對目標站點進行代碼下裝,這將使下裝人員不必查閱多份文件就可以快速識別目標站點,極大提高應用軟件代碼的下裝效率。

表3 功能站點信息及維護網絡IP地址列表
此外,該文件中還應包含產生每一版應用軟件代碼包對應的工具軟件版本、功能站點子版本信息、站點修改記錄以及與設計階段文件的對應關系等內容,這部分內容將在其他策略中進行闡述。
策略三:功能站點子版本信息
以華龍一號為例,其標準工程就有28 個功能站點,每個功能站都含有大量的信息,且需要下裝到對應的主控模塊中,因此需要對工程中功能站點的子版本信息進行明確和管理。
應用軟件代碼包發布時,有時并不是所有的功能站點都會發生變化,此時需要快速識別各功能站的版本變化情況,方便下游專業開展工作。如對變化站點代碼進行實現V&V、下裝和測試等工作。
因此,需要對工程中所有功能站的子版本進行明確,并列出上一版本工程中該功能站的子版本,方便使用人員可以快速識別該功能站是否發生了變化,從而開展相關工作。如表4所示,功能站點版本信息表中顯示RTC-11站點版本發生了變化,由J.1 變為K.1,而RTC-31 版本沒有發生變化,仍為J.1,因此RTC-31 就無需重新下裝。

表4 功能站點版本信息表
此外,每個功能站點的詳細修改記錄也應分站進行體現,供下游人員使用。如表5 所示,提供了一種展現形式,表中包含代碼包的主版本和各功能站的詳細修改情況。對于邏輯算法部分,會在代碼包中使用云線進行標記。

表5 功能站詳細修改信息
策略四:與設計階段文件的對應
為方便測試人員進行測試用例設計,需要明確實現階段的應用軟件代碼包所對應的設計階段文件(主要為儀控功能圖)。如表6所示,對應關系表中可包含功能站的站號,其對應設計階段文件的名稱,文件編號和版本等信息,這些信息有助于測試人員在進行測試用例設計時提高效率。

表6 功能站與設計階段文件對應關系表
核安全級DCS 應用軟件代碼對保護系統執行安全功能至關重要,且具有功能站點多,結構復雜,相互關聯,用戶種類多和變更頻繁等特點。傳統的配置策略只能從宏觀的角度去對代碼進行管理,考慮到核安全級應用軟件代碼的特點和實際的使用要求,制定符合其特點,并能考慮實際使用要求的配置管理策略至關重要。
本文綜合考慮了核安全級DCS 系統結構和應用軟件代碼特點,并結合用戶的具體需求,提出了一種可行的核安全級DCS 應用軟件代碼管理策略,為同類項目的應用軟件代碼管理提供參考。