王志樂,董軍宇,孫忠云
(1.海軍航空大學青島校區(qū) 軍用虛擬仿真研究與訓練中心,山東 青島 266041;2.中國海洋大學 計算機科學與技術系,山東 青島 266000)
現(xiàn)代飛機航電系統(tǒng)已經(jīng)由原先的分立式、聯(lián)合式變?yōu)楝F(xiàn)在的集成模塊化、分布式[1],由于先進的電子信息技術在航電系統(tǒng)上的應用,使得航電系統(tǒng)功能越來越強大,系統(tǒng)之間的通信數(shù)據(jù)量成倍增長,交聯(lián)越來越復雜,涵蓋了飛控、顯控、雷達、導航、通信、火控等子系統(tǒng)[2],該系統(tǒng)也成為現(xiàn)代先進飛機的核心系統(tǒng)。在航電系統(tǒng)仿真的設計、建模、使用過程中,對系統(tǒng)仿真模型缺乏統(tǒng)一的標準,系統(tǒng)仿真模型的開發(fā)還處在比較低的層次。主要表現(xiàn)在:(1)仿真模型建立的過程、仿真粒度、實現(xiàn)方法沒有統(tǒng)一的標準,系統(tǒng)集成缺乏優(yōu)化算法;(2)仿真模型接口不規(guī)范,對模型接口數(shù)據(jù)的優(yōu)化不足,無法形成工業(yè)化的仿真產品,模型缺乏重用性,無法根據(jù)任務需求進行二次開發(fā)。因此,在模擬系統(tǒng)開發(fā)過程中需要重點研究航電系統(tǒng)仿真模型抽象描述技術和接口技術。
文中提出了以任務需求為驅動數(shù)據(jù),基于XML技術[3-5]設計了想定任務-飛機-機載裝備三層描述關系,分別給出了想定任務組成及描述結構,機載航電系統(tǒng)的組成及描述結構,形成了任務和系統(tǒng)仿真的結構化描述方法、存儲方法,并在此基礎上形成規(guī)范的想定數(shù)據(jù)結構,為系統(tǒng)建模提供重要的技術基礎。
XML文件結構主要表現(xiàn)為語義節(jié)點間的相互嵌套關系[6]。XML文件的數(shù)據(jù)內容通常被抽象為XML標簽有向樹模型[7],可以將該模型定義為T=(V,E,R,L),其中T表示標簽有向樹模型,V表示有向樹中所有節(jié)點的集合,E表示有向樹模型中所有關聯(lián)節(jié)點之間邊的集合,R表示有向樹的根節(jié)點,L表示有向樹中所有節(jié)點所帶標簽的集合。
根據(jù)上述定義的XML數(shù)據(jù)模型和表示方法,可以將XML文件描述的數(shù)據(jù)節(jié)點之間的關系分為三種情況,而且這三種情況與XML有向樹模型的節(jié)點關系是對應的。假設T、V、E、R、L存在下列集合表達式。
T={T1,T2,T3,…},V1={V11,V12,V13,…},
V2={V21,V22,V23,…}
其中,V1∈T1,V2∈T2。
則可以將T1,T2兩個XML數(shù)據(jù)模型的節(jié)點集合V1,V2所包含的節(jié)點通過關系示意圖表示出來,如圖1所示,這樣可以更好地說明有向樹所包含節(jié)點之間的結構關系。
(a)節(jié)點緊包含結構 (b)節(jié)點包含結構
圖1 XML文件節(jié)點之間關系示意圖
例如在圖1(a)中節(jié)點V11與節(jié)點V12之間的結構關系為緊包含關系,且節(jié)點V11的層級比節(jié)點V12高,因此V11與V12之間構成了父子關系,V11稱為父節(jié)點,V12稱為子節(jié)點。節(jié)點V11與節(jié)點V13屬于相同層級,因此構成的結構關系為兄弟關系,V11與V13是兄弟節(jié)點。在圖1(b)中,節(jié)點V21與節(jié)點V23之間的結構關系為包含關系,且節(jié)點V21的層級比節(jié)點V23高一級以上,則節(jié)點V21與節(jié)點V23構成了祖先-后代關系,V21為祖先節(jié)點,V23為后代節(jié)點。
飛機模擬訓練系統(tǒng)的開發(fā)都是依據(jù)想定任務需求,設計相關的機載仿真模型,各系統(tǒng)的仿真模型可以根據(jù)系統(tǒng)的重要性和關鍵程度設計仿真的粒度。另外模擬訓練是在一定的自然環(huán)境中進行的,因此在進行任務想定設計過程中,需要考慮環(huán)境因素對仿真模型逼真度的影響。想定任務的組成要素包括了飛機實體、自然環(huán)境、從任務想定角度來分析,需要描述統(tǒng)一的實體數(shù)據(jù)模型和自然環(huán)境資源,以及系統(tǒng)環(huán)境及任務屬性等輔助特性。按層次化描述體系,首先描述想定任務,下面以最具代表性的戰(zhàn)術飛行仿真訓練系統(tǒng)中的實體資源和環(huán)境資源為例,介紹基于XML的仿真系統(tǒng)中任務想定的結構化描述。
戰(zhàn)術飛行仿真訓練系統(tǒng)的總體任務定位是進行基本的戰(zhàn)術程序訓練,通過綜合航電/武器系統(tǒng)的使用進行單機對抗科目的近距空中格斗、中遠距攔截;對地(海)面進行轟炸和戰(zhàn)術打擊,因此想定任務包括至少2型飛機實體,及與飛行、航電武器有關的實體資源、自然環(huán)境。根據(jù)XML的數(shù)據(jù)模型描述機載航電系統(tǒng)仿真模型結構過程中存在多個有向樹模型。
T={Tm,Tf1,Tf2,Tw}
其中,Tm表示任務想定描述的節(jié)點集合;Tf1表示飛機實體1描述的節(jié)點集合;Tf2表示飛機實體2描述的節(jié)點集合;Tw表示武器實體描述的節(jié)點集合,文中以某型導彈實體的描述為例。
想定任務主要描述任務的屬性、系統(tǒng)參數(shù)、機場信息、實體屬性及初始信息??梢杂眯问交硎菊Z言[8-9]描述為:
Mission::<
<任務屬性<任務ID>,<任務類型>,<任務名稱>,<創(chuàng)建者>,<創(chuàng)建時間>>,
<系統(tǒng)參數(shù)<開始時間>,<結束時間>,<步長時間>,
<地形參數(shù)<地形ID>,<地形名稱>,<紋理類型>,
<數(shù)據(jù)時間>,<版本>>,
<網(wǎng)絡參數(shù)<服務器IP>,<當前實體ID>,
<客戶IP>,<端口號>,<實體ID>,
<在線>,
<氣象參數(shù)<天氣類型>,<等級>,<能見度>,<日期時間>,
<風<風速>,<風向>>,<云<類型>,<高度>,
<厚度>,<等級>>,<紅外輻射等級>,
<電磁輻射等級>>,
<機場參數(shù)
<跑道<跑道長度>,<跑道航向>>,
<決策高度
<仿真實體<實體ID>,<類別>,<類型>,<名稱>,
<等級>,<國家>,<紅藍方>,
<實體描述<文件路徑>>,
<基本參數(shù)<經(jīng)度>,<緯度>,<高度>,
<速度>,<航向>,<狀態(tài)>>>
>
XML語言結構具有一定的約束性,在描述對象時需要遵循一定的語法格式和嵌套規(guī)則[10],因此XML主要關注的是數(shù)據(jù)的內容和數(shù)據(jù)之間的結構關系。利用XML數(shù)據(jù)模型可以將想定任務結構化語言描述方式轉化成有向樹,例如圖2是想定任務總體有向樹結構,圖3是氣象參數(shù)有向樹結構,圖4是仿真實體數(shù)據(jù)有向樹結構。因此想定任務也就是XML數(shù)據(jù)模型的樹形表示方式,可以快速轉化成XML文件進行存儲,如圖4所示。
圖2 想定任務總體有向樹結構
圖3 氣象參數(shù)有向樹結構
圖4 實體基本信息有向樹
利用XML的結構化嵌套語言對Mission想定任務有向樹結構進行描述,如圖5所示,描述了Mission想定任務的屬性、氣象參數(shù)。
圖5 XML描述想定任務
想定任務資源描述作為第一層級的數(shù)據(jù)模型,重點是描述的任務資源之間相互影響、彼此交互的基本信息,如系統(tǒng)參數(shù)、氣象參數(shù)、機場參數(shù)以及實體的基本位置信息、姿態(tài)和速度的描述,并且定義了實體描述文件的路徑。對實體內部系統(tǒng)的描述定義在第二層級的數(shù)據(jù)模型中實現(xiàn),即機載航電結構化描述,在第三層級描述子實體,即導彈武器。
機載航電系統(tǒng)包括支持飛機完成飛行、作戰(zhàn)等任務的所有與電子學相關的設備和系統(tǒng)[11],對于現(xiàn)代作戰(zhàn)飛機來說,航空電子系統(tǒng)需要完成導航功能、大氣數(shù)據(jù)計算、人機接口、目標探測和跟蹤、通信導航、任務解算等,對于運輸機需要增加貨物裝載系統(tǒng)等[1],因此機載航電系統(tǒng)的特點是系統(tǒng)多、數(shù)據(jù)交互多、交聯(lián)關系復雜。機載航電系統(tǒng)仿真結構化語言模型描述為:
Entity::<
<配置信息<是否帶座艙顯示>,<是否使用專用模型>,
<是否使用專用接口>,<飛行控制類型>>,
<加載模型
<懸掛物<武器
<重量>,<描述文件路徑>>,
<......>,
<武器
<重量>,<描述文件路徑>>>,
<航炮<炮彈數(shù)量>>,
<飛行計劃<起飛機場ID>,<航路點<航路點號>,
<經(jīng)度>,<緯度>,<高度>,<切入航向>,
<切入距離>,<剩余時間>,<磁差>>,
<......>,
<航路點<航路點號>,<經(jīng)度>,<......>>>,
<科目<數(shù)量>,<科目1<科目ID>,<類型>,<速度>,
<航向>,<高度>,<經(jīng)度>,<緯度>>,
<......>,<科目4<科目ID>,<......>>>,
>
利用結構化嵌套語言對機載航電系統(tǒng)結構模型、屬性特征進行了描述,在此基礎上可以快速構建有向樹,最后基于XML對機載航電系統(tǒng)進行樹型嵌套結構的建模,存儲后可以用于仿真軟件、想定軟件等的實驗建模、應用開發(fā)。圖6描述了某飛機實體的機載航電系統(tǒng)XML文件。
導彈武器是獨立的飛行器,同時又作為飛機實體作戰(zhàn)系統(tǒng)的一部分,由航電子系統(tǒng)中的外掛物系統(tǒng)進行交互管理,因此應當作為第三層級的實體進行建模描述,以某型導彈為例,其模型通過結構化描述語言表示為:
MISSILE::<
>
圖6 某飛機實體的機載航電系統(tǒng)XML文件
該型導彈對應的XML描述文件如圖7所示。
圖7 導彈對應的XML描述文件
每個XML描述文件中定義了相應數(shù)據(jù)源的樹形結構、節(jié)點標記、數(shù)據(jù)類型、模型路徑、屬性等信息。以描述的XML文件作為系統(tǒng)加載的初始化數(shù)據(jù)、模型配置數(shù)據(jù)、模型交互數(shù)據(jù)等,由于XML描述文件的數(shù)據(jù)受Schema約束的性質[12-14],所以系統(tǒng)間要交互的信息按照XML Schema標準進行描述[15],以此保證應用系統(tǒng)間交流的數(shù)據(jù)都具有標準的、統(tǒng)一的數(shù)據(jù)結構形式[16]。
仿真應用系統(tǒng)通過XML文件完成數(shù)據(jù)的交互,主要是實現(xiàn)對XML文件的讀取、節(jié)點操作、元素及屬性更新等。建立CXmlParseSTL類對XML文件進行訪問,在該類中完成所有的訪問操作和數(shù)據(jù)處理,既方便航電各系統(tǒng)仿真模型的使用,也有利于仿真系統(tǒng)的集成交互。對XML文件的訪問數(shù)據(jù)操作和修改數(shù)據(jù)操作的設計如表1和表2所示。
表1 XML訪問數(shù)據(jù)操作
表2 XML修改數(shù)據(jù)操作
航電仿真應用平臺基于設計的XML數(shù)據(jù)文件采用配置項的模塊化設計方法,每個模塊是基于模型組件模板類進行開發(fā),開發(fā)的模型組件形成模型資源庫,因此設計的航電仿真應用平臺資源庫包括實體資源庫和模型資源庫。該平臺基于XML描述的想定任務驅動文件調用相應的實體資源庫及模板類,建立實體對象和實體容器列表,平臺可以對實體進行實時管理,平臺類架構如圖8所示。
實體對象根據(jù)XML想定任務描述文件和機載航電系統(tǒng)描述文件在初始化方法中調用平臺提供的模型組件或模型模板,快速地創(chuàng)建模型對象和模型容器列表,并可實時管理模型。
圖8 基于XML數(shù)據(jù)模型的仿真平臺架構
依據(jù)飛機實體與模型之間、各航電仿真模型之間的數(shù)據(jù)控制關系和收發(fā)傳輸關系,在仿真平臺架構下快速地實現(xiàn)實體裝配(即模型之間的集成),就可以構建出某型飛機的仿真訓練系統(tǒng)。通過平臺可以實現(xiàn)系統(tǒng)的運行管理和實體(模型)的實時更新、調度、刪除等。
以想定任務需求作為系統(tǒng)仿真的驅動數(shù)據(jù),對仿真資源、想定任務和實體資源進行結構化描述,形成了三層結構化數(shù)據(jù)模型和系統(tǒng)仿真資源庫調用接口,利用XML數(shù)據(jù)模型建立有向樹結構,在此基礎上利用XML結構化嵌套語言[17]對想定任務、仿真資源、實體資源進行了系統(tǒng)性的描述,形成了系統(tǒng)性接口文件,可以用于機載航電系統(tǒng)仿真模型平臺的建設。最后,根據(jù)有向樹結構的特點和XML語言的特點,以節(jié)點和元素為基本單元,給出了XML文件數(shù)據(jù)訪問的操作函數(shù)定義,可以作為機載航電系統(tǒng)仿真模型建設平臺的基本資源。該方法用于機載航電系統(tǒng)仿真平臺的建設將很大程度上提高仿真模型資源的重用性和共享性,提高系統(tǒng)開發(fā)的效率和可靠性。