郭 璐,韓安平
計算機聯鎖系統采用計算機完成聯鎖的邏輯運算,將運算結果形成控制命令來驅動相應的電子電路設備,從而實現對站場設備和進路的控制,是保證行車安全的重要鐵路信號設備[1]。聯鎖車站軟件(以下簡稱“車站軟件”)是實現車站信號系統功能安全的核心軟件模塊,是根據具體車站的站型在標準軟件的基礎上配置特定應用數據形成的軟件。
隨著計算機聯鎖系統的不斷發展,設備需求的變化、設備制式的更新,以及為克服軟件本身缺陷的需要,大量的軟件變更不可避免[2]。為了能夠幫助工作人員更好地記錄與控制版本變更[3],多數企業是通過引入配置管理工具如SVN、Git 等來進行配置管理,能夠自動化地協助開發人員完成代碼和產品的版本管理。每次檢入的代碼均會由工具分配一個commit id(提交標識號),來唯一標識這個版本[4]。配置管理工具可以保存及追溯到個人上傳至服務器上的各個歷史版本,還支持多人修改同一文件并由系統合并保存。在標準軟件的開發階段,通過配置管理工具來管理軟件版本較有優勢。
但在具體車站軟件的生產階段,更需要重點關注軟件中關鍵數據配置是否正確,變更的測試范圍是否完全覆蓋需求,測試過程是否完整,測試過程發現的問題是否全部關閉等,僅關注到軟件的歷史版本無法滿足要求,故本文提出一種基于質量檢查的聯鎖車站軟件配置管理方法,用于提高車站軟件的生產質量。
配置管理的主要目的是保證產品整個生命周期內,工作產品處于受控狀態、為項目參與者提供準確的信息、實現歷史版本維護,以及保證產品可追溯性[5]。為完成配置管理工作,需進行前期準備,具體內容見圖1。

圖1 配置管理質量檢查前期準備內容
1)建立配置管理組織。需配備配置管理員,運行并控制其過程[6],以有效地實施質量管理體系。配置管理員獨立于數據實現人員和軟件測試人員,負責執行配置管理方案、版本控制和變更控制方案,編制配置管理報告,并跟蹤處理過程中發現的不符合項。配置管理員需掌握聯鎖基礎知識、車站軟件數據配置知識、配置管理和質量管理知識,經培訓考核后持證上崗。
2)建立配置庫。選用高性能、安全可靠的服務器建立配置庫。服務器的硬盤、網卡、內存、電源等需穩定耐用,且需冗余備份。強化網絡安全理念[7],配置庫所在網絡應與辦公網物理隔離,需設置訪問權限,測試通過后的車站軟件進入配置庫進行受控管理。只有配置管理員具有讀寫和刪除權限,其他相關人員只能具有讀取權限。
3)識別配置項。車站軟件生產過程中各個版本的車站軟件及生產輸出記錄,兩者間具有繼承關系[8],前后版本之間相互銜接,都需被識別為需要配置管理的配置項。
4)制定配置項命名方式。配置管理通過標識記錄配置項的功能和特性,通過控制這些特性的變更,記錄和報告變更的過程和狀態[9],故配置項命名是配置管理的重要工作。合理、科學地命名是區分配置項的有效方法,配置項命名需包含配置項名稱和版本,且具有唯一性和可追溯性。
5)制定配置庫準入規則。需對車站軟件和生產輸出記錄的質量檢查內容,制定詳細的檢查規則及放行準則,配置管理員根據規則對相關配置項進行檢查,檢查通過后的配置項才可以入配置庫進行受控管理。
6)入庫復核和配置審計。車站軟件的最終目的是要交付現場安裝使用,為防止軟件前期生產工作順利完成后,入庫階段配置了錯誤路徑或內容,而造成下一環節取用軟件錯誤甚至現場安裝失敗,所以配置管理工作完成后還需要設置后續人員進行監督和審查。
配置管理員根據入庫準則對車站軟件和生產輸出記錄進行質量檢查,通過后配置項才能入庫。這一環節對軟件的功能及安全性有直接影響,是車站軟件生產的關鍵過程[10]。依據多年的生產管理經驗,質量檢查應包括軟件類配置項檢查和記錄類配置項檢查,工作流程見圖2。

圖2 配置管理工作流程
1)版本控制。版本控制屬于軟件配置管理中的核心功能。配置管理員首先需要確認車站軟件使用的標準軟件版本是否為已正式發布,再確認車站軟件的名稱、版本是否正確。《鐵路信號產品運用管理辦法》第四十條、四十三條、四十六條都有規定,所有軟件實現版本號規范管理并可查詢,要保證軟件的完整性、唯一性、可追溯性。車站版本號格式為VA.B.C.D[11]。D 位為車站軟件的數據版本號,每次軟件變更都需要變更數據版本號,2 位的數據版本號取值范圍為01~99,即可支持99 次變更。單一車站任務生產,軟件版本號比較容易控制,但在實際的生產活動中,經常會出現多任務版本車站穿插修改的情況,現場安裝施工調試也可能出現多版本交替換裝的情況,配置管理要特別關注多任務號版本的命名方式。為解決多任務間版本相互穿插的情況,可以在車站軟件名稱的標識上體現車站任務的標識及數據版本號,采用雙保險的方式保障軟件生產和現場施工取用正確的版本。
2)標準軟件升級檢查。車站軟件是在標準軟件基礎上添加車站的特定應用數據,但標準軟件多年來不斷優化,更新過多個版本,故車站軟件在有條件的情況下也會通過升級標準軟件版本來完善功能。在軟件升級過程中,標準軟件需執行程序變更和配置項變更,有些配置項變更后,測試人員不易通過可視化的檢驗手段來驗證,故在配置管理階段增加相應檢查就非常必要。配置管理階段需識別每個版本的變更內容,確認升級前后新舊軟件使用的可執行程序和配置項內容的正確。
3)軟硬件匹配性檢查。計算機聯鎖產品經歷多年的發展,產品由最早自主研發的雙機熱備型,到目前各路局廣泛應用的引進國外技術的國產二乘二取二型,再到現在軟硬件系統均為自主研發的二乘二取二型,產品和工控機的型號、內置各種板卡的型號都有變化。車站軟件可通過修改軟件中的相關配置項(如看門狗、中斷、端口號)來適配不同的硬件設備。實驗室測試完畢后,為避免提交受控管理的車站軟件沒有修改為現場硬件需使用的配置項,需要對軟硬件匹配相關的配置項進行識別并檢查,保障變更后現場設備可順利運行。
4)文件時序性檢查。車站軟件里部分文件有時序性要求,如軟件生產修改的數據文件,需要轉換成機器能夠讀取的二進制文件,軟件才能執行。如果修改了數據文件,沒有做相應的轉換工作,會出現執行結果不正確的情況;再如聯鎖軟件需要將可執行文件燒錄入CPU 板,系統才能正確運行,如果修改了數據文件,沒有重新生成相應的可執行文件,也會造成軟件執行不正確。故需要識別出有時序性要求的文件清單并加以檢查,才能保證車站軟件的正確運行。
5)文件一致性檢查。車站軟件里的有些文件為多個軟件共用,如站場圖形文件為操作機和維修機共用,如果操作機軟件修改了站場圖形文件中的數據,沒有及時更新至維修機軟件,會造成維修機界面顯示與操作機不一致,對后續電務人員維護造成影響,所以需要識別出各軟件共用文件清單并加以檢查。識別出來的文件一致性檢查項目包括:網絡圖配置文件聯鎖機軟件和維修機軟件的一致性、站場圖形文件操作機軟件和維修機軟件的一致性、采集執行層數據文件操作機軟件和聯鎖機軟件的一致性、采集/驅動信息表文件聯鎖軟件和維修機軟件的一致性等。
6)軟件結構正確性檢查。為避免因設備運行環境問題,車站軟件在壓縮或解壓縮過程中出現冗余、缺失文件(夾)的現象,需要識別車站軟件的文件夾結構和文件組成,對相關冗余或缺失的情況做出識別,并完成相應檢查。在檢查過程中還要注意,本次變更不涉及修改的文件要保持和變更前一致,檢查內容示例見圖3。

圖3 軟件結構正確性檢查示例
生產輸出記錄是車站軟件數據生產和軟件測試已完成的客觀證據,記錄填寫規范、完整、正確也是質量管理體系有效運行的重要保障。通過記錄的操作流程、測試內容,能綜合反映人、機、料、法、環[12]等生產要素是否滿足要求,記錄的問題還可以為采取糾正、預防措施提供有效的數據來源和方向。應識別的質量檢查項目如下:
1)人,檢查執行的人是否具有上崗資質。
2)機,檢查測試采用的監視測量設備類型是否正確。
3)料,軟件測試對象是車站軟件,軟件測試依據是需求文件,需要檢查軟件生產取用、測試完成的軟件版本是否正確,測試取用的需求是否為最新版本,所有的需求文件是否都已測試,測試中發現的問題是否關閉,測試過程是否完整。
4)法,檢查車站軟件生產是否依照最新的作業指導書。
5)環,檢查生產環境是否滿足安全文明生產的要求。
針對上述檢查項目,制定質量檢查表。由于車站軟件的檢查內容有明確標準,可以通過人工方式逐項檢查確認,也可以制作配置管理質量檢查軟件,使用軟件對質量檢查表涉及的文件及文件中的相關配置項逐一檢查。檢查完成后輸出配置管理檢查記錄,對于不通過的項目必要時還需要重新啟動數據生產及軟件測試的流程,全部項目質量檢查通過后輸出配置管理質量檢查報告。在質量檢查階段發現的問題,出具不合格記錄單,后續跟蹤處理直至問題關閉。
質量檢查通過的車站軟件和生產輸出記錄,由配置管理員執行入配置庫操作,入庫完成后,軟件可以交付下一環節使用或發布后用于現場開通。
配置管理由配置管理員執行,配置管理員如果將車站軟件和記錄配置了錯誤的路徑,就會造成下一生產環節取用軟件錯誤,或者接口調試、客戶仿真驗收取用軟件錯誤,甚至現場安裝調試取用軟件錯誤。因此配置入庫也需要設置復核監督,還要對入庫的配置項定期審計,配置審計的內容包括確認配置項標識無問題、變更符合變更流程、及時入庫等。
對操作流程和實施過程進行質量檢查的目的是提升企業質量管理水平,以保證生產產品的質量[13]。對于各生產階段質量檢查發現的問題,要進行收集和統計,總結經驗、吸取教訓,制定相應的糾正預防措施,避免問題再次發生,優化生產流程,從而提高產品質量。
如在生產輸出記錄的檢查過程中發現車站軟件版本號的填寫方式存在問題:在測試完成后只填寫最終版本,沒有記錄問題及解決版本;忽略早期的測試報告及相關記錄,未體現全部過程,不易跟蹤測試問題是否關閉。后期,質量檢查人員協同測試人員更新測試報告及記錄的模板,優化相關內容的填寫方式,以便后續檢查可以清晰地追蹤到測試過程出現的各個版本,也能看到測試過程中發現的每個問題,從問題出現、分析、解決、驗證到關閉都能得到管控。
近年來,該配置管理方法累計在全路3 000 多個計算機聯鎖車站上開展試驗應用,應用范圍覆蓋普速鐵路、高速鐵路、軌道交通等領域,遍及北京、上海、沈陽、太原、西安等18 個鐵路局及北京、天津、深圳、成都等30 多條城軌線路,取得顯著效果。經統計,2019—2022 年配置管理質量檢查的問題檢出率見圖4。

圖4 配置管理質量檢查的問題檢出率
由圖4 可知,在近4 年的統計周期內配置管理階段的問題檢出率在逐年下降,可見配置管理員站在獨立第三方的角度,依據質量檢查規則對車站軟件和生產輸出記錄進行檢查,在測試階段結束后對易出錯的關鍵點再確認,進一步提高了車站軟件的質量。后續通過對發現問題的收集和分析,也為生產流程的持續優化提供了數據支撐。由此可見,基于質量檢查的聯鎖車站軟件配置管理方法在保障聯鎖車站軟件的生產質量方面有效且可行。
聯鎖系統是整個鐵路信號系統的基礎,車站軟件的生產質量是其重中之重。車站軟件如果出現故障,維護成本及造成的影響巨大。本文提出的基于質量檢查的配置管理方法,在配置管理活動中增加了質量檢查工作,全面貫徹“安全第一,預防為主”的安全技術方針,對軟件測試中可能關注不到的環節進行查漏補缺,做好版本控制和變更管理,爭取在系統生產階段發現并解決全部問題,能夠進一步保障現場計算機聯鎖系統安全可靠的運行,確保軌道交通運輸的安全。