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