李 亞,張亞東,郭 進,周 慧
(西南交通大學信息科學與技術學院,成都 611756)
列控系統是保證列車運行安全的分布式實時控制系統[1]。采用建模仿真的方法對其進行研究分析能夠減少列控系統現場測試成本,提高測試效率,對不斷完善列控系統具有重要意義[2-3]。同時通過仿真系統能夠驗證現場不易測試的情況,對列控系統安全性的研究具有重要的應用價值。隨著列控系統的不斷發展,列控系統具有了交互性、混合性、反應性和并發性的復雜特性[4-5]。研究一種有效并滿足列控系統復雜特性的建模仿真方法,能夠為列控系統的研究提供高效全面的仿真環境支撐,為列控系統的研究奠定重要基礎。
基于Agent的多智能體方法是研究分布式復雜系統的前沿技術,為實現分布式復雜系統提供了一種有效的途徑[6-7]。目前列控系統已應用了多智能體仿真,如文獻[8]對CTCS-4級列控系統進行多智能體仿真,文獻[9]對RBC切換場景進行多智能體仿真,文獻[10]對列控系統中列車追蹤運行進行多智能體仿真,文獻[11]對列控監控系統進行多智能體仿真,文獻[12]建立多智能體調度員訓練模擬器。但文獻[8-9]采用的是面向對象的建模方式,文獻[10-12]只是使用了多智能體理論,未使用基于Agent的多智能體建模方法進行模型構建。
多智能體的建模方法是基于Agent對系統進行模型構建,能夠簡化建模過程[13]。目前已發展出多種建模方式[14],其中以UML2.0擴展的基于Agent的AUML統一規范建模語言[15-16],因UML的廣泛應用具有很大的優勢,利用該優勢,使得在應用AUML構建多智能體模型時,有著很好的基礎。
因此,本文研究基于AUML對列控系統運營場景構建多智能體模型的方法,最后以RBC切換場景為例,展示該方法的應用過程,并結合模型和多智能體仿真平臺進行仿真。
多智能體因其具有的自主性、靈活性、可擴展性和交互協作等特性,使其成為一種能夠很好體現復雜系統特性的建模仿真方式[17-18]。它通過一種自低向上的建模仿真方式對系統進行分析設計[19]。其建模過程分為如下步驟。
(1)系統的界定和描述:在對一個系統進行分析設計時,首先應明確該系統的功能目標,界定系統的邊界。
(2)個體Agent的劃分:采用面向Agent的方法,從系統的物理實體或者系統的功能出發,抽象出系統的Agent。
(3)個體Agent的建模:抽象出個體Agent模型后,便是對系統的每個Agent進行詳細的內部結構設計。
(4)建立宏觀模型:根據已有的Agent模型,建立Agent之間的交互,確定系統的宏觀模型。
AUML與UML均采用圖形的建模方式,目前在UML的基礎上擴展研究了AUML的交互圖和類圖。AUML的交互圖通過如圖1所示的3種交互協議連接符來增加Agent交互間的并發機制。同時,通過在交互圖中添加嵌套或交叉協議來促進模型的可重用性。嵌套協議經常被用來定義一個循環。

圖1 AUML交互協議連接符
圖中“與”表示消息并行發送,“或”表示不發送或發送其中幾條消息,“異或”則表示只發送其中一條消息。
AUML的類圖在UML類圖的基礎上發展成如圖2所示的Agent類圖。

圖2 Agent類圖
本文使用的Agent類圖只包含Agent名稱、狀態描述、行為和方法。Agent名稱定義Agent的名,區分模型中的各個Agent。狀態描述與UML類圖的屬性類似,用于Agent的邏輯描述。行為是指被Agent本身觸發或接收了其他Agent發送的消息被觸發時產生的行為。方法是實現Agent行為的操作。
結合多智能體構建模型的方法和列控系統相關技術規范,在對列控系統運營場景采用AUML進行多智能體模型構建時,分為4個步驟如圖3所示。

圖3 列控系統運營場景構建模型結構
系統功能需求即是明確系統的目標。確定系統實現哪些功能,各種功能之間存在的關系,構建系統用例圖來表示系統的功能目標。從高鐵列控系統相關技術規范中對列控系統運營場景過程的描述,可以明確系統在實現某個運營場景時系統所需功能,如車載的通信功能、RBC的切換功能、列控中心的軌道占用檢查功能等。
明確系統功能需求后,從系統的物理實體出發,通過系統的功能需求描述來抽象出Agent,從而確定每個Agent所處的狀態、行為及實現方法,以此來建立個體Agent的類圖。列控系統中的物理實體即是列控系統的組成部分,如應答器、RBC和CTC等。仿真時會通過列車的運行來驗證列控系統的運營場景,因此建模時的物理實體應考慮車載和列車。
建立個體Agent的類圖后,明確了個體Agent間的關系及其包含的狀態、行為,則需通過AUML交互圖來定義系統中各Agent間的信息交互順序。AUML交互圖中的對象即是抽象出的個體Agent,并通過時間序列來表示參與交互的Agent間的信息交互順序。
為了更清晰地描述Agent內部的行為狀態,通過Agent的定義和Agent的交互構建每個Agent內部的結構模型。Agent定義給出了Agent的狀態、行為和方法,而Agent的交互則給出了Agent時間上的邏輯順序,通過將兩者結合構建出Agent在被某個消息事件觸發后處于的行為狀態圖模型。
RBC切換場景是CTCS-3級列控系統的典型運營場景之一,本文選取該場景進行案例分析。RBC切換場景描述的是列車在兩個RBC邊界處,其行車許可控制從一個RBC安全切換到另一個RBC的過程[20]。在雙電臺情況下,RBC切換過程如圖4所示。

圖4 RBC切換示意
(1)RBC切換開始:列車通過RBC預告應答器后,車載發送位置報告給移交RBC,移交RBC在接收到位置報告后,發送RBC切換命令給車載,并將接管列車預告和進路請求發送給接收RBC。接收RBC接到進路請求后,向移交RBC發送進路信息,移交RBC根據進路信息延伸MA。
(2)建立通信:車載接收到RBC切換命令后,開始呼叫接收RBC,接收RBC則返回系統版本,車載向接收RBC發送通信建立信息。
(3)列車通過執行應答器:列車最大前端通過執行應答器后,車載發送位置報告給移交RBC和接收RBC,兩個RBC在接收到位置報告后,移交RBC將該報告信息轉發給接收RBC,接收RBC則發送接管列車的信息給移交RBC。
(4)RBC切換結束:列車尾部通過執行應答器后,車載發送位置報告給兩個RBC,移交RBC接收到位置報告后,開始與車載切斷通信,車載保持與接收RBC的通信,并按接收RBC發送的MA監控列車運行,RBC切換結束。
根據技術規范中RBC切換場景的過程,應用列控系統運營場景AUML建模方法,構建RBC切換場景的多智能體模型。
(1)RBC切換系統功能需求
RBC切換過程中涉及的系統功能主要有RBC的切換功能(RBC Switch)、車載的速度監控(Speed monitor)、車載的通信(Communication)和列車定位(Train position)。移交RBC和接收RBC在切換過程中的切換功能又包含不同的子功能。移交RBC的切換子功能包含RBC切換命令發送(RBC Switch command)、行車許可計算(RBC Generate MA)、移交列車預告(Take over train forenotice)、進路請求(Request route)。接收RBC的切換子功能包含行車許可計算、進路信息(Route message)和接管列車信息(Take over message)。車載速度監控依賴于靜態速度曲線計算(Static velocity curve calculation)和動態速度曲線的計算(Dynamic velocity curve calculation)。車載的通信包含呼叫RBC(Call RBC)、建立通信(Build communication)和切斷通信(Cut off communication)。列車定位包含接收應答器信息(Balise message)和列車運行位置(Train running)。根據各功能間的包含、依賴和關聯關系,建立如圖5所示的系統功能需求用例圖模型。

圖5 RBC切換場景系統功能需求用例
(2)RBC切換抽象Agent定義
完成RBC切換過程主要參與的物理實體有兩個RBC、車載、應答器和列車,因此抽象出車載(OBE)、移交RBC(HandRBC)、接收RBC(ReciveRBC)、應答器(Balise)和列車(Train)5個Agent。再根據系統功能需求用例圖確定各Agent類圖中的狀態、行為和方法,設計出如圖6所示的Agent類圖模型。

圖6 RBC切換場景Agent類圖
RBC切換場景的Agent類圖給出了各Agent間的關系。應答器與車載之間的直接關聯關系,表示應答器信息發送給車載。列車與車載之間的依賴關系,表示列車的運行依賴與車載的控制。兩個RBC之間的關聯關系,表示兩個RBC之間存在一定的關聯關系,如移交RBC需要發送進路請求給接收RBC,接收RBC需要發送進路信息給移交RBC。
列控系統中Agent的狀態描述即是抽象出的Agent的屬性變量,如列車的位置和速度、車載的控制策略等。Agent的行為表示系統中Agent的可能操作行為,如列車的運行和停車、車載的控車等。Agent的實現方法表示Agent實現操作的具體方法,如實現列車運行和停車需根據接收車載發送的信息和牽引計算更新列車的位置和速度。
(3)RBC切換Agent信息交互
Agent類圖抽象出的Balise、HandRBC、OBE、ReciveRBC和Train 5個Agent作為交互圖中的對象,按照實現場景的時間邏輯順序建立如圖7所示的RBC切換場景Agent交互圖。

圖7 RBC切換場景Agent交互
Train和OBE兩個Agent之間在RBC切換的整個過程中的信息交互是一直循環存在的,因此使用嵌套協議的方式將其定義在RBC切換場景交互圖中。
(4)RBC切換Agent內部設計
RBC切換過程定義了5個Agent,這里以RBC切換過程中移交RBCAgent的狀態圖模型進行說明,如圖8所示。移交RBC的初始狀態是ControlOBE,即根據線路情況計算行車許可CountMA(),發送給車載控制列車運行的狀態。當列車位置報告Train pass LTA時觸發移交RBC的切換狀態,該狀態下,移交RBC的SendMessage()包括RBC切換命令給車載,移交列車預告信息和進路請求信息給接收RBC。如果移交RBC接收到RouteMessage,則更新發送給車載的MA。當列車位置報告Train head pass RN,移交RBC的SendMessage()為轉發的位置報告。當列車位置報告Train tail pass RN,移交RBC執行Stop communication command的命令,當切斷通信后,RBC切換結束。

圖8 移交RBCAgent狀態模型
根據模型,使用MASON多智能體仿真平臺,以武廣線武漢高速場到龍泉東的線路數據構建仿真的線路環境,進行RBC切換場景多智能體仿真。模型映射到仿真平臺時繼承的類、接口或使用的方法如表1所示。

表1 模型映射到MASON仿真平臺
通過如圖9和圖10所示的模型監控器與列車運行示意圖可以監控RBC切換過程。仿真開始前設置仿真步長StepTime為0.01 s,仿真動態顯示與實際長度的比例LengthScale為0.25像素/m。最終通過obe1State實時監控車載與RBC通信情況,HRBCcontrolTrain和RRBCcontrolTrain分別監控移交RBC與接收RBC接管列車情況。圖10中的speed與position實時動態顯示列車的實際速度與位置。

圖9 模型監控器

圖 10 列車運行示意
圖11所示的系統各Agent運行監控反映了系統每運行一個step時,各Agent是隨機順序執行,以此符合系統的并發性。同時系統通過Network網絡的Edge在各個Agent間進行通信,圖11反映了Agent接收信息的情況,通過該仿真數據可以得出系統滿足RBC切換過程的功能和信息交互,符合系統的交互性。

圖11 系統各Agent運行監控
圖12反映了系統實時計算連續速度監控曲線的特性,同時能夠根據速度監控曲線采取離散的牽引制動,符合系統的混合性。速度監控曲線的計算是車載根據地面設備的行車許可和自身的速度位置計算,并利用該曲線對列車的速度進行監控,符合系統的反應性。

圖12 速度監控曲線
結合研究分布式復雜系統的多智能體建模理論和AUML建模語言,提出一種基于AUML構建列控系統運營場景多智能體模型的方法。并以RBC切換場景為例,詳細描述了應用該方法的建模過程,根據模型設計得到RBC切換場景的多智能體仿真。分析仿真結果,該方法滿足了列控系統的并發性、交互性、混合性和反應性,證明了該方法的可行性,為支撐列控系統研究的建模仿真提供了一種更符合其復雜特性的方法。