吳正中,鄧能文,姜子旺,張燕武,粟紫怡
(北京城建智控科技股份有限公司,北京 100075)
截至2022年12月31日,中國內地累計有55座城市開通運營軌道交通,運營里程達10 291.96 km[1]。在已開通的運營線路中多采用基于無線通信的列車自動控制系統(Communication Based Train Control System,CBTC)。 CBTC關鍵系統包括列車自動監控系統(Automatic Train Supervision,ATS)、區域控制器系統(Zone Controller ,ZC)、計算機聯鎖系統(Computer Interlocking,CI)、列車自動保護系統(Automatic Train Protection,ATP)、列車自動駕駛系統(Automatic Train Operation,ATO)和數據通信系統(Data Communication System,DCS)等安全苛求系統。為滿足安全苛求系統“故障-安全”的設計需要,高實時性、多任務處理的嵌入式系統成為系統設計首選。信號核心控制系統軟件的失效會危及國家安全和人員生命,導致嚴重的經濟損失;因此,需要對嵌入式軟件進行嚴格測試[2]。自動化測試作為嵌入式系統的高級測試手段,通過自動化測試平臺實施功能、數據和接口測試,實現測試結果和測試數據的分類匯集;同時,加入自動化分析接口,根據需求和用例編寫自動化分析腳本,從而實現測試結果的自動化分析[3]。傳統的CBTC系統測試多采用仿真系統結合人工執行案例的方式,存在執行效率低、問題分析時效差等劣勢,如何解決系統功能、數據和接口測試的效率問題,有效提高系統的自動化測試程度已成為亟需解決的關鍵問題之一。
隨著城市軌道交通的高速發展及運營規模的擴大,地鐵運營人員存在專業技術知識和技能水平參差不齊的特征[4],特別是緊急情況下應急處置能力不足[5]。運營培訓作為系統交付后用戶快速培養應用人才的關鍵手段,越來越得到地鐵運營公司的關注。當前,運營培訓多通過真實系統的備品備件搭建培訓環境,培訓效果受到真實設備無法進行故障場景模擬的影響,效果較差。為加強城市軌道交通高技能專業人才的指導、協調、培養工作,組織各類員工進行標準化和應急處置方案培訓[6],強化培訓崗位的實操技能,建立健全完善的城市軌道交通運營公司人才培訓體系,亟需建立基礎運營培訓教學平臺。
本文采用CBTC系統仿真技術作為自動化測試和運營培訓的基礎,通過分析CBTC系統架構特征、系統測試需求和運營場景等特點,闡述平臺的設計和架構理念,提出基于服務導向架構(Service Oriented Architecture,SOA)的平臺實現方法,通過構建不同的業務分層和模塊化設計,根據不同的業務場景數據解決用戶不同的應用場景需求。同時,采用統一的平臺架構和標準化系統接口(Application Programming Interface,API),減少系統開發時間和成本,有效提高系統利用率。
CBTC系統結構如圖1所示。CBTC各子系統、軌旁基礎設施(信號機、道岔、應答器、計軸器、屏蔽門、緊急停車按鈕、無人自動折返按鈕、防淹門等)和軌旁電子單元(Trackside electronic unit,LEU)等統一構成了基于通信的全信息交互控制系統。由于各子系統實現不同功能,單個系統、設施或元素均具有多種運行狀態,加之系統運行場景的隨機性和可組合性特征,形成了以時間和事件為主線且成倍增長的場景復雜度,CBTC主要場景如圖2所示。

圖1 CBTC系統結構

圖2 CBTC主要場景
從測試角度分析,每個待測系統需基于其他系統或設備的狀態變化而產生相應的影響,每種影響將構成對應的測試案例,案例需包括運行場景、功能點、測試需求、案例內容、測試步驟、測試結果等元素[7]。從培訓角度分析,各種設備或系統的正常或非正常狀態為培訓提供基礎的數據來源。同時,多系統的場景聯動應建立一套完整的場景構建系統,以滿足運營培訓和應急場景處置等需求。
CBTC系統的運行是基于數據實時交互產生的控制邏輯和控制流程[8],子系統與子系統之間實時進行數據交互,子系統內部通過數據輸入、邏輯處理和數據輸出產生新的狀態數據,并輸出至其他子系統。整個系統正常運行狀態基于時序向前發展,在時間軸上子系統或設備各自產生狀態更新并進行交互,進而控制全系統的運行狀態變化。
從測試角度分析,人為干預的方式無法滿足對系統狀態變化的實時和精確控制。例如,執行列車進入待測計軸區段而不產生占壓關系的測試案例,由于列車運行速度高和系統采集頻率高的限制,人為干預無法進行精準停車的控制。從時序上分析,人為干預同樣無法滿足系統運行狀態的實時設置。例如,執行列車進入待測計軸區段并同時進行防掩門狀態的更新案例,人為干預無法進行時序上的精確控制,無法達到測試該場景的目的。
為滿足基于CBTC業務邏輯的自動化測試和運營培訓的不同業務場景需求,在進行平臺方案設計時應滿足三方面的要求:首先,核心系統運行場景需全覆蓋,滿足全場景測試要求;其次,通用性自動化測試服務需滿足架構與運行模式和業務場景解耦的通用性設計要求,提供具備場景組織和二次開發的擴展能力,使場景數據具有可擴展性;最后,建立標準化的平臺管理和規范流程,實現系統標準化建設。
基于場景數字化的CBTC自動化測試和運營培訓平臺對現有的測試案例場景、運營場景、故障場景、應急場景和系統邏輯場景進行總結,提出一套基于業務層次結構、功能模塊化和統一場景數據源的SOA平臺。基于SOA平臺,在解決自動化測試和運營培訓適配結構上,從數據服務、數據存儲、應用邏輯、人機交互和平臺管理五大塊構建綜合服務平臺,平臺架構如圖3所示。

圖3 自動化測試和運營培訓平臺架構
4.1.1 仿真系統
基于CBTC核心系統需求構建信號控制仿真服務,通過系統功能劃分,構建基于核心控制子系統數據交互、基礎線路數據和車輛仿真相結合的整套系統仿真,并借助計算機仿真技術對設備進行測試[9],平臺數據連接如圖4所示。

圖4 平臺數據連接
通過計算機軟件技術,從基礎設備、地面系統邏輯、列車控制邏輯、模擬駕駛、線路仿真等方面入手,實現CI系統、ZC系統、ATP/ATO系統、軌旁系統和列車駕駛臺的全系統仿真。
(1)基礎設備方面對線路設備(信號機、道岔、屏蔽門、緊急停車按鈕、無人折返按鈕)狀態進行模擬和控制。
(2)地面系統邏輯對列車運行狀態、進路狀態、道岔狀態、區段狀態、系統運行和故障狀態、移動授權計算等進行功能設計。
(3)列車控制邏輯實現列車控制曲線計算、超速防護管理、車門管理、列車自動控制管理、自動駕駛和自動折返等主要功能。
(4)模擬駕駛通過模擬列車駕駛臺的相關操作接口,通過駕駛臺介入相關列車控制系統,提供可實現駕駛臺介入的人工干預(自動化測試時可不用)方式。
通過仿真系統搭建,完成對固定閉塞模式、準移動閉塞模式和移動閉塞模式的全模式系統進行仿真和控制。
4.1.2 場景系統
場景系統依據仿真系統的功能仿真,結合基礎設備、信號仿真系統、數據交互通道等,實現基于系統級API接口的場景模擬。例如,針對列車ATP和ATO模式下的運行控制、通信設置、位置設置、車門控制、步進控制、換端控制、駕駛模式、最高預設、救援和模擬器連接等進行基礎場景設置。
4.2.1 系統測試
自動化測試組件完成測試相關功能的管理,分為測試序列管理器、測試缺陷管理系統和數據分析及優化系統。自動化測試主要針對系統軟件功能測試、數據測試、接口測試和性能測試,同時針對硬件基礎平臺完成硬件功能驗證。
(1)測試序列管理器。通過對測試腳本進行數據加載,將測試腳本從時間和事件的維度進行序列化劃分,基于仿真系統的線路數據加載,動態調配仿真系統,實現仿真系統的初始化、故障注入、事件注入和流程管理,完成對真實待測系統的自動化測試過程管控。
(2)測試缺陷管理系統。采用軟件項目管理平臺(Azure DevOps),通過二次開發實現與自動化測試平臺的缺陷信息管理,如圖5所示。將實時測試中存在的缺陷信息在系統中記錄,同時,將信息中結構化數據和非結構化數據進行持久化存儲,便于開發人員進行數據訪問和問題分析。

圖5 缺陷管理信息
(3)數據分析及優化系統。數據分析系統采用基于桌面的用戶界面框架(Windows Presentation Foundation,WPF)開發,完成數據分析模塊、數據優化模塊和系統API接口模塊的實現。數據分析模塊進行數據和缺陷的自動化分析,數據優化模塊進行數據聚類分析后給出功能設計優化方案,系統API接口模塊提供針對數據應用的二次開發。
數據分析模塊采用行為-事件分析模型,通過在系統平臺上定義運營事件服務,借助行為-事件分析模型強大的篩選、分組和聚合能力,進行基于運行控制場景的多應用實時數據采集,完成對行為與事件關系的數據分析并給出結果,獲得不同行為下事件處理方案的優化。通過研究與事件發生關聯的所有因素(如加減速度、設備故障、路徑決策、多列車連續運行等)來挖掘行為與事件背后的交互影響、響應策略等。
4.2.2 基礎服務
基礎服務包括腳本管理、事件管理和硬件管理,以公共組件的形式對平臺不同應用場景下的功能進行提取,抽象出公共功能進行模塊組件實現,以滿足不同的應用場景需求。
(1)腳本制作服務是一套基于基本線路數據、測試序列、培訓場景和指令系統,開發基于可擴展標記語言(Extensible Markup Language,XML)的多源異構數據融合體系,通過數據采集、數據清洗和數據融合[10]實現對數據的管理,形成基于運行和培訓的場景腳本文件。
(2)腳本解析服務實現對腳本文件的解析,解析后形成執行指令、運行序列和場景數據信息,并通過仿真系統提供的API接口實現場景數據的導入,輔助系統進行運行場景的執行。
(3)時間和事件管理服務實現對已解析完成的時間類數據和事件類數據管理,通過生成基于時間和事件的測試序列,并通過仿真系統提供的API接口實現時序和事件數據的導入,輔助系統進行時間軸和事件的執行。
(4)硬件管理服務完成對整個平臺的硬件監控和管理,對硬件運行狀態進行實時監控和狀態反饋。
運營培訓主要針對培訓用戶對培訓的相關需求,開發基于場景和考核的可迭代功能模塊組件,包括運營場景管理器和培訓考核系統。
(1)運營場景管理器是一套實現地鐵運營場景制作的工具,實現基本場景(如多車追蹤、大小交路運營、折返作業等)、故障場景(如軌旁設備故障、信號系統故障、列車故障、網絡故障等)和應急場景(如列車火災、列車脫軌、列車沖突、列車救援、大客流等)下的場景制作,用戶通過工具的可視化界面進行新場景制作、既有場景的修改和場景數據文件存儲。
(2)培訓考核系統基于用戶的考核需求,結合培訓的運營場景,將運營場景中涉及到的數據進行可視化,通過系統的流程管理進行步驟化的考核實施。培訓考核系統主要設計五大功能模塊,分別為題庫管理模塊、試卷管理模塊、在線考試模塊、成績管理模塊和公告管理模塊,通過上層人機交互層完成數據的交互。
4.4.1 基于場景、線路、用戶的數據服務
通過數據服務來實現跨域數據集成,提供統一的數據模型,以組合的方式實現用戶應用場景下的數據集合定義。同時,采用集合數據服務的組合法則,通過對數據操作的次序及組合方式進行變換,得到輸出結果相同的若干候選數據服務組合方案。同時,對數據服務組合方案的更新可建立迭代優化的數據集合新模型,實現集合數據分析與組合算法的持續精進,得到最優的數據服務組合方案。
針對多應用場景的組合數據處理問題,首先對多應用流數據共享場景進行分析和抽象,再構建一種通用的可應用于多場景的共享場景流數據服務框架[11]。面向測試和培訓內容,以服務的形式對上層業務系統提供組合數據,形成不同業務邏輯的數據服務。通過業務組合服務,實現跨域異構數據的集成,滿足業務信息管理、業務流程管理等應用場景所需的服務流程。
4.4.2 數據持久化存儲
數據采集服務實現對系統中結構化數據、非結構化數據和集合式數據進行分類存儲。同時,為實現基于多源的數據服務,必須解決從存儲管理到互操作的一系列機制、方法和實現技術。
系統實時狀態數據和系統交互數據采用高效實時Redis內存數據庫,從而提高分析系統進行數據訪問的效率和可擴展性[12]。系統運行的結構化數據和集合式數據采用關系型數據庫,通過二維表建立關系,采用相應的檢索方式,實現數據的快速訪問;系統運行監控的非結構化數據采用文件存儲形式,對系統運行的中間過程、異常問題進行非結構化數據文件與其屬性數據分開存儲。通過多種存儲介質相結合的存儲模式,結合數據的不同使用場景進行規范數據存儲,實現安全、持久的存儲需求。
4.4.3 可視化人機交互
人機交互信息可視化是輔助用戶洞悉應用場景數據的重要方法和工具。系統采用界面設計和交互設計互融的方式進行,人機交互界面實現用戶信息與設備之間的傳遞,利用計算機的軟硬件設備對用戶信息指令進行接收、處理和展示,為用戶帶來使用便捷[13]。基于測試結果或培訓過程建立用戶界面模型,給出界面抽象元素、場景數據元素以及映射關系的形式化描述。
采用主流開源架構后臺管理平臺(dlvm-netcore)進行二次開發和功能裁剪,滿足平臺用戶對自動安裝部署、系統維護、環境配置、用戶管理和安全認證權限的管理工作。從安全、數據應用、接口規范、場景設計、業務自動化流程、業務編碼和基礎數據規則等方面建立可實施規范,保障平臺在服務應用的規范性和可靠性。
基于數字化場景的CBTC自動化測試和運營培訓平臺集場景設計、自動化測試、運營培訓服務、數字化服務和平臺管理為一體,采用業務功能模塊化設計原則,將不同應用場景中的相同功能進行邏輯抽象與實現。不同的應用功能采用不同模塊、工具和系統組合,能夠對CBTC的運營場景進行功能測試、性能驗證以及故障模擬,可配置為地鐵線路運營部門的培訓實踐平臺,提高地鐵運營人員的日常操作效率,加強中心調度員的運營實踐和故障處置能力。同時,整套平臺的設計立足于適用性、實用性和擴展性,能滿足不同廠商的系統場景測試要求,可為優化線路運營計劃和完善人機協同提供模擬環境。