彭 益,魏立柱
(中國電子科學研究院,北京 100041)
信息是信息化戰爭中的決定因素,數據鏈的根本作用就是解決信息獲取、信息處理和信息傳輸的結合問題,并從速度上進行優化,極大地增強部隊的整體作戰效能。
Link-16 數據鏈,又稱戰術數字信息鏈路- J(TADIL-J),是美國和北約部隊廣泛采用的一種戰術數據鏈路。Link-16 數據鏈已裝備美國和北約全部的預警機和許多地面防空指揮所,以及戰斗機、直升機、驅逐艦和航母等典型的作戰平臺,可在指揮控制系統與飛機、導彈等武器系統平臺之間以及在各作戰單元之間傳輸各種格式化戰術數據信息,有效連接信息源、指揮控制中心與武器系統平臺,實現戰場資源共享[1-2]。
HLA,即高層體系結構(HLA,High Level Architecture),它是一個通用的仿真技術框架,定義了構成仿真各部分的功能及相互關系[3-4]。在HLA 中,聯邦(Federation)是用于達到某一特定仿真目的的分布仿真系統,其運行過程稱為聯邦執行,它由若干個相互作用的聯邦成員構成。聯邦成員由若干相互作用的對象構成,對象是成員的基本元素,可以是對具體實體的抽象,也可以是對某個物理過程的抽象。聯邦成員間的信息交互通過RTI(運行支持環境)提供的服務來實現。
HLA 在解決異構、分布、協同的仿真模型和仿真系統的互操作及可重用性方面具有較大的技術優勢。它為復雜大系統的建模和仿真提供了公共的技術支撐框架,支持各類系統(包括物理實裝系統)的仿真互連,還能支持基于組件的仿真應用開發模式。HLA提供通用的數據交換通信協議和通用的、開放的、可根據不同應用領域定制的數據語義互操作協議,各聯邦成員之間僅通過RTI 來實現系統的底層互聯和信息交互,完全屏蔽了不同系統之間的差異性。
Link-16 推演支持系統通過加載想定和網絡規劃,在統一的推演控制下,在網絡運行模擬設備、各參與平臺和支撐平臺的參與下,對任務規劃和行動需求一致性、Link-16 網絡規劃以及網絡資源的合理性進行驗證。
Link-16 推演支持系統由預案管理子系統、推演控制子系統、支撐平臺子系統、參與平臺子系統和網絡運行模擬子系統組成,分別接入導調控制網和數據消息網。Link-16 推演支持系統的總體結構如圖1 所示。

圖1 Link-16 推演支持系統總體結構圖
預案管理子系統由服務器及操作臺和相應的軟件組成,完成想定和數據鏈預案的生成、加載管理和維護,在推演開始前將Link-16 數據鏈網絡組織預案傳輸到推演控制子系統。
推演控制子系統負責整個推演過程的導調控制,具備數據鏈網絡組織預案接收和分解,行動態勢推演管理和分發、發布干預指令、參與平臺響應信息處理等功能。
參與平臺子系統即為Link-16 網絡典型參與平臺的模擬器。
支撐平臺子系統由支持驗證測試J 序列格式化消息交互背景生成的多平臺模擬器和傳感器模擬器等設備組成;多平臺模擬器和傳感器模擬器能夠輔助推演控制子系統參與信息交互。
Link-16 網絡運行模擬子系統由Link-16 網絡運行模擬器根據網絡規模配置組成,嚴格按照加載的Link-16 網絡規劃控制Link-16 網絡的運行,逼真模擬Link-16 網絡信息交換。
導調控制網負責分發統一的推演態勢和導調指令;數據消息網負責分發格式化消息,消息格式嚴格遵循Link-16的J 序列消息標準[2]。
Link-16 推演支持系統的各子系統在功能上相對獨立,在整個系統的設計上采用模塊化、松耦合的設計,先獨立開發各子系統的業務功能,最后再統一集成。對于數據消息網,其上傳輸的都是Link-16的J 序列消息,各子系統與數據消息網之間的接口按照J 序列消息標準設計即可。對于導調控制網,各接入子系統都通過其接收和上傳導調指令,在本系統的設計過程中,考慮通過HLA 技術框架來實現。
導調控制網通過HLA 實現,在推演過程中,可協調各子系統按照統一的邏輯時間步進,完成想定推演,并在推演過程中,完成各平臺間信息交互。為了保持系統接口的統一性,并減少各子系統在實現導調控制網接入時的工作量,在本系統的設計過程中,專門設計了HLA 接口控件,使各子系統可以通過DLL(動態鏈接庫)以事件驅動的方式訪問導調控制網,進而與推演控制子系統協同工作。HLA 接口控件如圖2 所示。

圖2 HLA 接口控件
按照HLA 標準開發流程[4],導調控制網的實現按照如下步驟進行:
(1)根據Link-16 推演的實際需求,建立FOM和SOM;
(2)編制HLA 軟件框架;
(3)在HLA 軟件框架基礎上構建HLA 接口控件。在HLA 接口控件中,封裝HLA 接口服務;
(4)在需要接入導調控制網的推演控制子系統、參與平臺子系統和支撐平臺子系統上嵌入HLA接口控件,通過主動調用該控件所提供的服務或響應該控件的事件,來完成與RTI的交互;
(5)將各子系統部署在同一推演環境中;
(6)在HLA 提供的統一時間步進下進行推演,在推演過程中進行信息交互。
HLA 接口控件的調用是通過一系列的方法和事件來完成的。其中方法可理解為各子系統和參與平臺向推演控制子系統申請某種服務;事件可理解為各子系統和參與平臺對推演控制子系統指令的響應。
整個推演過程可分為推演初始化、推演交互和推演結束三個階段,下面對各階段的方法和事件進行簡要介紹。
4.3.1 初始化階段主要的方法和事件
(1)聯邦初始化方法(FedInit)。各平臺調用此方法來加入數據鏈推演環境聯邦。
(2)仿真對象注冊方法(PlatRegister)。該方法用于聯邦成員向推演控制子系統注冊一個仿真對象(模擬對象實例)。
(3)仿真對象初始化事件(OnInitPlat)。各聯邦成員對FedInit 方法的響應。
(4)態勢訂購方法(SubmitInfo)。該方法用于聯邦成員向推演控制子系統訂購態勢對象。
(5)設置命令響應范圍方法(SetCmdRange)。該方法用于聯邦成員設置命令響應范圍的上下限。
(6)請求網絡規劃方法(ReqDatalinkProg)。該方法用于聯邦成員從推演引擎下載數據鏈網絡規劃。
(7)收到網絡規劃事件(OnRecvDatalinkProg)。各聯邦成員對ReqDatalinkProg 方法的響應。
(8)聯邦準備就緒方法(ReadyForStart)。該方法用于通知推演控制子系統本模擬平臺所在聯邦成員已經準備就緒。聯邦成員準備就緒的條件包括:各聯邦成員的FedInit 方法、FedRegister 方法、SubmitInfo 方法、SetCmdRange 方法和GetDatalinkProg方法完成。
以上各方法和事件的調用過程如圖3 所示。
4.3.2 推演交互階段主要的方法和事件
(1)態勢更新事件(OnPlatChanged)。當態勢信息發生更新時,觸發此事件,并將新的態勢對象清單傳遞給事件接收聯邦成員。

圖3 推演初始化過程
(2)查詢態勢信息方法(ReqStepSts)。該方法用于聯邦成員查詢指定仿真平臺對象在當前的態勢信息。
(3)下行指令事件(OnCmd)。推演引擎根據劇情,不定期激發此事件,聯邦成員接收此事件。
(4)上行指令方法(SendCmd)。該方法用于人工干預仿真平臺對象(如改變航向等)時,聯邦成員進行調用。
(5)請求步進方法(ReqForward)。該方法用于當聯邦成員處理完本步進的任務后,調用本方法向推演控制子系統請求推進下一步進。
上述各方法和事件的調用過程如圖4 所示。

圖4 推演交互過程
4.3.3 推演結束階段主要的方法和事件
推演結束事件(OnEnd),在劇情推演結束時,各聯邦成員接收此事件,結束整個推演過程。調用過程如圖5 所示。

圖5 推演結束過程
通過分析Link-16 推演支持系統的功能需求,利用HLA 架構解決了多個子系統按統一時間步進及相互之間的互操作問題。采用事件驅動的方式完成了對HLA 服務的封裝,開發了HLA 接口控件,簡化了HLA 應用開發難度,便于現有仿真平臺、半實裝平臺和實裝平臺的接入實現。本系統的研制對于其他類似系統的開發可提供很大的借鑒。
[1]孫義民,楊麗萍.信息化戰爭中的戰術數據鏈[M].北京:北京郵電大學出版社,2005.
[2]梅文華,蔡善法.JTIDS/Link 16 數據鏈[M].北京:國防工業出版社,2007.
[3]周彥,戴劍偉.HLA 仿真程序設計[M].北京:電子工業出版社,2002.
[4]付正軍,王永紅,譯.計算機仿真中的HLA 技術[M].北京:國防工業出版社,2003.
[5]董光波,張錫恩.某裝備分布式仿真訓練基于HLA的實現[J].系統仿真學報,2004,16(1):101-103.
[6]張霞,黃莎白.基于HLA 訓練仿真系統開發研究[J].計算機仿真,2004,21(2):85-86.