文獻標識碼:B文章編號:1003-0492(2025)09-106-05中圖分類號:TP311
★高賀,周良,馮健村,徐先柱(北京廣利核系統工程有限公司,北京100094)
關鍵詞:驗證與確認;自動化;風險識別;實現V&V活動;FirmSys;工具研究
1 引言
核安全級DCS應用驗證與確認(Verification and Validation,V&V)是一門系統工程的技術學科,其目的是幫助開發組織在生命周期中將質量融入系統[1]。V&V生命周期存在六個階段,即概念V&V活動、需求V&V活動、設計V&V活動、實現V&V活動、測試V&V活動以及安裝與檢驗V&V活動[2]。每個驗證階段都需要按照法規、標準的要求開展相應的V&V工作。由于不可避免地會出現多項目并行沖突或執行驗證的人員減少等狀況,固有的V&V執行模式及方法已無法滿足實際的任務需求,在這種背景下開展自動化驗證研究是十分必要的。隨著數字化時代的不斷發展,機器人流程自動化(Robotic Process Automation,RPA)技術應用越來越廣泛,為V&V活動的自動化研究分析提供了理論和技術支持。

圖1儀控系統生命周期過程與驗證和確認活動之間的典型關系[3]
根據工程項目實際出現的問題和經驗反饋,核安全級DCS應用軟件實現階段出現過因人因失誤導致的算法庫版本使用錯誤、編譯出現錯誤等問題。在對相關問題進行根本原因分析的過程中,我們發現工程項目V&V人員在執行實現V&V活動的應用軟件驗證過程中因驗證技術手段不足,導致上述問題出現。為避免此類問題再次發生,深入研究該問題驗證執行方法和技防手段十分有必要。
基于FirmSys平臺的工程應用軟件展示的信息多為用于人機交互的必要信息。從安全方面考慮,除必要信息外,其它數據信息將完全隱藏于工程底層文件中,工程應用軟件編譯數據也存在于此。人工執行V&V任務時無法分析這些數據,如何將這些信息挖掘出來并進行分析是亟待解決的問題。
采用計算機編程語言可以很好地彌補人工驗證的不足,提升V&V任務質量屬性,是一種降低人力成本、提升工作可靠性的有效方式。采用編程語言實現自動化解析底層數據,再將該功能集成到專用V&V自動化工具中,在后續算法庫、環網及控制站編譯驗證的過程中便可以代替人工驗證,實現自動化驗證。
技術思路:研究與算法庫、控制站、環網編譯相關的文件有哪些,文件中的哪些技術參數可以直接反饋工程應用軟件的實際情況,不同的底層文件之間存在什么樣的技術關聯,依此實現V&V活動的技術研究,從根本上解決當前無據可依的情況。
2 技術方案
2.1 實現V&V活動方法分析
從實現V&V活動方法研究的可行性來看,V&V驗證方法是基于平臺技術特性以及相關技術指標歸納總結得出,通過對得出的技術方法通過討論、評審等方式確定,因此滿足方法研究的可行性要求。根據FirmSys平臺特點,對風險引入過程進行分析。
2.1.1 風險引入過程分析
核安全法規HAF102-2016[4]明確提出了需開展V&V活動,核安全導則HAD102/10-2021[3]進一步給出了V&V的要求。對于每個V&V階段具體的V&V任務,需結合相應設計、測試、分析等技術領域的通用標準,并將其與核安全領域的法規、導則和標準的特定要求相結合,制定出符合要求并且可行的具體執行方法[5]。因此在進行相關研究之前,有必要對有可能引入風險的工作環節進行分析。
工程應用軟件從應用軟件設計階段到應用軟件實現階段的流程如圖2所示。
圖2應用軟件實現流程圖
根據上圖可知,在工程應用軟件設計和應用軟件實現的過程中,主要分三步進行。
第一步:導入算法庫和組態文件進行編譯生成組態源文件。該環節存在人因導致的算法庫導入錯誤以及編譯順序錯誤或漏編譯的風險。
第二步:該步驟中工程算法轉換成代碼,由代碼生成器自動完成,人員無法干預,因此不存在人為引入異常的風險。
第三步:該步驟進行工程編譯,由編譯器自動完成,人員無法干預,因此不存在人為引入異常的風險。
通過以上分析可知,第一步是需要重點研究分析的過程。
2.1.2 庫版本驗證方法研究
工程應用軟件底層文件中存在算法庫版本信息,但每個控制站中的庫版本信息無法獲取,這為驗證庫版本信息帶來了障礙。通過深入研究分析,我們發現在FirmSys平臺每個控制站的底層文件路徑下均有一個組態源文件,該文件中恰好儲存了編譯使用的算法庫版本信息。
組態源文件的產生機制:工程設計人員在進行工程應用軟件實現時,每一個控制站單獨導入算法庫文件進行保存編譯。該組態源文件會自動生成,將當前算法庫信息存儲到該文件中,后續如果算法庫內容如有更新,組態源文件隨之更新。
由此產生一個思路,將工程應用軟件中每一個控制站中的組態源文件進行備份(對象),然后將當前算法庫刪除,重新導入正確版本的算法庫,生成新的組態源文件(基準),通過對比對象和基準的內容差異來判斷該控制站算法庫版本是否正確。
2.1.3 控制站編譯驗證方法研究
基于FirmSys平臺的工程應用軟件,控制站在完成編譯后,會在相應文件目錄下生成一個包含編譯標識碼的文件,其中保存的是對應控制站編譯后的十進制標識碼。同時位于環網下裝文件夾下的也存在包含標識碼的文件,該文件的第一行前八位是十六進制的標識碼。將這兩個文件的標識碼統一進制后進行比對,標識碼一致表明當前控制站的編譯過程和結果正確。
2.1.4 環網站編譯驗證方法研究
工程應用軟件的環網站編譯驗證方式與控制站的編譯驗證方式相似,同樣要對編譯的標識碼進行驗證。實際情況表明,環網站編譯僅依據標識碼的一致性判斷相對片面,存在誤判風險。根據架構特點,與單個環網相關聯的控制站有很多,若要保證編譯后的工程完全無誤,就需要每一個與之相關聯的控制站先于環網編譯。但負責編譯的人員極有可能在這個環節出錯。如果實現V&V活動的驗證執行人員,不了解這深層的原理,根據常規方式執行驗證活動,則該類風險能被識別出來的可能性極低。如若該隱患跟隨設備出廠,將為現場核電機組的安全運行帶來巨大的安全隱患。
如何判斷控制站與環網編譯的先后順序呢?經研究得知,可以根據工程的底層文件中的相關文件時間戳進行判斷。控制站編譯完成時會生成或更新包含標識碼的文件,因此該文件的最終更新日期即為控制站完成編譯的時間。環網編譯完成時,同樣會更新對應環網路徑標識碼文件,而這個更新的時間即為環網完成過編譯的時間。環網站的編譯時間必須要晚于與之相關的控制站編譯時間才能保證整個工程應用軟件的正確性。
2.2 自動化驗證工具研究
風險識別方案研究完成后,自然而然為方案的自動化實現研究提供了基礎。工具研究的意義在于解放生產力、提升效率、保證質量。根據歷史上的眾多安全事件分析可知,一切問題發生的原因歸根結底都是人的問題。在建立了明確的規則下,人在各種環境因素影響下會犯錯,但依托代碼的、經過嚴謹測試過的工具不會出錯。
自動化工具應具有自動識別風險的功能。除此之外,還應盡可能地減少人的操作。為達到這種效果,需要從人機交互界面和邏輯處理進行設計。整體結構流程如圖3所示。
圖3整體流程
2.2.1 自動化開發可行性論證
工具開發不僅僅是想做即做這么簡單,還需要對開發的可行性、可靠性、有效性進行分析研究。只有滿足以上各方面的要求,才能保證開發出的工具是可用、可信的。
從工具開發的可行性上來看,FirmSys平臺的工程應用軟件的底層文件均為常規的文件類型,因此采用編程語言可以對這些文件進行解析處理,不存在技術難題。滿足可行性要求。
從工具開發的可靠性上來看,工具在開發過程中體量不大,不存在服務器或聯網等操作,并且在計劃的時間范圍內可以完成既定的驗證任務。滿足可靠性要求。
從工具開發的有效性上來看,工具開發流程管控十分嚴格,要經過需求分析、概要設計、測試計劃、測試設計和測試執行等一系列管控環節,尤其在測試階段需要針對不同的項目、不同的測試項插入不同類型、不同數量的故障點,來測試工具實際的運行情況。滿足有效性要求。
2.2.2 算法庫版本驗證工具研究
通過2.1.2章節對算法庫版本驗證方法的研究可知,工程應用軟件的算法庫版本信息,在每次算法庫導入控制站使用時,會生成一個組態源文件,如果算法庫版本變化,那么該文件必然發生變化。基于該特性,將原組態源文件重命名為對象文件,將每個控制站中的算法庫刪除,重新導入新的算法庫,選中根路徑保存,這時生成新的組態源文件,命名為基準文件。
采用編程語言開發出的工具可以自動對比對象文件與基準文件之間的差異性。若兩者內容完全一致,則算法庫版本正確;若兩者內容不完全一致,則算法庫版本異常,由人工復核判定最終結果,并對相關信息進行統計。
使用廣利核公司自研產品和睦至臻中的工程組態V&V工具(VD-Vert)構建人機交互界面,如圖4所示。
圖4 算法庫編譯驗證人機交互界面
工具開發到這里已經可以完成自動化驗證過程,但是這種比對結果無法以一種直觀的方式展現出來。因此我們針對文件內容把每一份文件轉換成一份MD5碼。MD5碼通常被用于數據加密,一份文件僅有一個MD5碼與之對應,一旦文件內容發生變化,MD5碼必然隨之變化。根據這個特點,可以將基準文件和對象文件轉化成的MD5進行比對,且結果也可以將MD5碼體現出來,驗證基準文件和對象文件是否一致。
在工具實現的過程中,需要代碼實現自動化提取必要的信息,這些信息包括:
(1)控制站站號;
(2)對象文件;
(3)對象文件的MD5碼;
(4)基準文件;
(5)基準文件的MD5碼。
為進一步降低該工作人員在上面所用時間,依據已經發布的標準檢查記錄模板進行檢查記錄內容自動整理填充,一鍵生成驗證工作所需要的所有過程文件和結果文件。
2.2.3 控制站編譯驗證工具研究
通過2.1.3章節對控制站編譯完成情況驗證方法的研究可知,基于FirmSys平臺的工程應用軟件中,進行控制站編譯后的版本配置文件中的十進制標識碼與控制站下裝文件中的十六進制標識碼相同,需要提取各控制站中的相關信息進行換算比較。
在工具實現的過程中,需要代碼實現自動化提取必要的信息,這些信息包括:
(1)控制站信息;
(2)版本配置文件中的十進制標識碼;
(3)版本配置文件中的十進制標識碼轉化成的十六進制標識碼;
(4)控制站下裝中的十六進制標識碼;
(5)控制站下裝文件的時間戳;
(6)工程應用軟件發布文檔中的標識碼表格信息。
將(2)和(3)中標識碼與(5)中的標識碼信息進行一致性比對,這三個標識完全一致即可以認為控制站編譯結果正確。
2.2.4 環網編譯驗證工具研究
通過2.1.4章節對環網站編譯情況驗證方法的研究可知,基于FirmSys平臺的工程中,進行控制站編譯后的控制站下裝文件中的時間戳與環網下裝文件時間戳之間存在關系特性。對工程應用軟件中的相關信息提取并進行比較,符合上述特性,則認為該控制站或環網進行了編譯;不符合上述特性,則交由人工復核判斷是否該控制站或環網未進行編譯,并對相關信息進行統計。
因此在使用代碼進行信息提取時,需要自動化提取的信息如下:
(1)環網下裝文件時間戳;
(2)環網下裝文件中的十六進制標識碼;
(3)分析環網-控制站映射關系文件中的控制站節點信息。
獲取以上信息后,可以根據環網-控制站映射關系文件中的控制站節點信息,來判斷當前環網與哪些控制站相關。再將(1)的時間戳信息與2.2.3中獲取的(5)的時間戳信息對比,如果(3)中所涉及的所有控制站的時間戳時間均早于(1)的時間,則認定為環網編譯正常;若其中存在任意一個控制站的時間戳信息晚于(1),則認定該環網編譯過程存在問題,將問題項轉人工復核。
該過程會將相關信息存儲到工具驗證過程文件中,環網的結果寫入對應的檢查記錄中。
2.3 應用實踐
本文研究成果已在中廣核集團的多臺典型“華龍一號”項目上進行了應用,并產生了良好效果,在保證質量的前提下,使總體效率提升達三至七倍。實踐證明,該成果既提升了工作效率,又保證了驗證質量,對實現V&V活動自動化風險識別的推進產生了實質性的作用。
3 結論
本文為解決核安全級DCS工程應用軟件在實現V&V活動階段因人因引入風險難以識別的難題,對FirmSys平臺編譯過程原理和底層數據文件架構進行了深入研究,總結出自動化風險識別的方案,以及開發出適用的工具。通過核安全級典型工程項目的應用實踐,該成果被證明是可行有效的,可以起到核安全級DCS高質量控制的要求,對實現V&V活動自動風險識別有了新的突破。
作者簡介:
高 賀(1992-),男,河北人,工程師,學士,現就職于北京廣利核系統工程有限公司,主要從事核安全級儀控系統的工程V&V工作。
參考文獻:
[1] 張亞棟, 周良, 徐先柱, 等. 核級系統、軟件和硬件的V&V研究與應用[J]. 自動化儀表, 2023, (6) : 90 - 95 + 99.
[2] IEEE 1012 - 2004, IEEE Standard for Software Verification and Validation[S].
[3] HAD102/10 - 2021, 核動力廠儀表和控制系統設計[S].
[4] HAF102 - 2016, 核動力廠設計安全規定[S].
[5] 張亞棟, 左新, 尹寶娟, 等. 數字化核安全級儀控系統軟件的驗證與確認[J]. 核科學與工程, 2012, (12) : 227 - 231.
摘自《自動化博覽》2025年9月刊





案例頻道