吳志建,方勝良,朱 林
(電子工程學院,合肥230037)
隨著軍用仿真研究的不斷深入,模型的輔助決策技術在現代信息化戰爭中得到了越來越廣泛的重視和運用,同時積累了一大批基礎模型和專用模型資源,但也為模型管理帶來了挑戰。其主要呈現以下特點:研制單位采用不同技術研制的模型導致模型在物理上的分布和技術上的異構;基于特定背景下研制的模型與模型、數據之間的固定性,導致模型重用性差,使多領域模型的集成非常困難,模型可組合性和可重用性不足的問題十分突出。
本文在對現有組合建模技術研究的基礎上,對FLAMES柔性仿真框架下的模型組合和重用進行了研究,解決了不同研制單位基于FLAMES開發的模型在戰術和戰役仿真中的組合和重用性問題。
組合建模可以快速建立新的模型,提高模型的重用性,加快仿真系統的開發,提高模型的質量和降低開發成本。組合建模是最為活躍的一種自動建模方法,基本思想是在給定的條件(具體建模任務的細節描述和前提假設)下,遵循一定的建模規則,選取模型庫中的預定義模型片斷子集,并通過組合方式獲得模型。在軍事仿真領域內最早使用“可組合性”術語是在1990年代中期開展的可組合行為技術(CBT)研究中。CBT的目的是使半自動組件形成(ModSAF)用戶可以在不使用SAF源代碼的情況下,進行新實體行為建模[1]。
Page和Opper從可計算性和計算復雜性的角度對仿真可組合問題進行了初步的理論探索。Davis等人從建模領域、建模理論方法、建模規范標準及管理等不同角度對仿真可組合問題進行了全面分析,并指出可組合性對美國國防部的意義和影響[2-3]。Wilke Havinga基于不同需求條件下組合技術不同的事實,提出了聯合對象和組合算子的組合模型,使多種組合算子在同一種應用中進行組合、重用和完善組合算子、開發特定領域組合算子成為可能[4]。王維平教授將可組合型劃分為技術、語法、語義、語用和概念5個層次,并提出多層次的組合建模仿真框架。
目前組合仿真的方法包括:基本對象模型、可移植仿真模型標準、基于公共模型庫的方法、基于產品線的組合仿真方法、模型驅動的組合仿真方法等?;緦ο竽P停˙OM)以及仿真對象模型(SOM)的開發促進了對象模型重用的發展??梢浦卜抡婺P蜆藴剩⊿MP)由歐洲航天局制定,實現仿真模型的平臺獨立性、跨仿真平臺重用和實現基于組件的開發。
基于公共模型庫(CLA)的組合仿真方法依賴于一個公共的可重用模型庫,模型庫建立在公共的假設及數據傳輸協議之上。產品線(PL)方法提供的層次化的產品族可加快具體仿真應用系統的開發過程,降低開發費用,仿真開發人員可以利用PL方法提供的服務與工具對產品進行配置、組裝及運行,從而便于仿真模型的組合[5]。模型驅動的軟件開發(MDSD)提升抽象層次、隔離抽象行為邏輯與具體實現技術細節,使用戶的關注點集中在領域問題本身,而不是各種環境與平臺的具體細節,從而促進了模型的重用,通過提供模型轉換方法,實現異構平臺之間的互操作?;ゲ僮鲄f議方法利用某種標準互操作協議如DIS、HLA等,將不同的仿真組分連接起來,通過運行時的仿真數據及服務交換實現仿真組分的集成。
柔性行為分析與建模評估系統(FLAMES)是美國Ternion公司20世紀80年代中期開發研制并于2001年公布的仿真開發軟件。FLAMES是基于行為仿真的開放式仿真框架軟件,其軟件本身不能滿足用戶的具體仿真要求,它僅是一個仿真框架,用戶可以在此仿真框架的基礎上建立各種裝備模型、行為模型和消息模型形成符合自己需求的仿真軟件。運用FLAMES可以模擬多種類型系統的行為,它的應用領域包括:新概念武器論證、戰術和戰役仿真、新戰法研究和驗證[6]。
基于FLAMES裝備行為模式的建模方法是完成軍事仿真的有效方法,其基本思想是:采用3類模型協調工作,直觀、形象、逼真地模擬雙方作戰力量的對抗過程,即用裝備模型來模擬各種類型裝備的特征和行為屬性,這些裝備模型可以和外部環境以及其它加載這些裝備模型的實體進行交互;用行為模型模擬人的決策處理過程并賦予實體存儲處理信息、決策和控制裝備的能力;用消息模型來模擬利用通信裝備接收和發送一定格式的消息,并處理此消息的過程,消息模型是行為模型的特例。通過在作戰實體上加載這3類模型來控制實體的移動、感知、通信、決策等活動,同時也可通過動態增加、減少或修改加載在實體上的模型來改變作戰實體的功能。
2.2.1 FLAMES建模思路
FLAMES提供了消息模型、認知模型和8種基礎裝備模型(平臺模型、通信裝備模型、傳感器模型、數據處理器模型、有源干擾裝備模型、子系統模型、彈藥模型、武器系統模型)。用戶可以通過FLAMES代碼產生器產生指定類的FLAMES模型外殼的源代碼,通過執行模型原型編輯器對生成的模型原型進行編輯,最后基于C++的工程框架對模型進行修改,添加功能函數和消息響應函數,實現模型具體功能?;贔LAMES的實體構成如圖1所示。
2.2.2 FLAMES組合仿真概念框架
面向重用的建模仿真框架為了支持模型重用,將模型劃分為仿真概念框架以及仿真實現模型2個層次,根據王維平教授提出的仿真模型的可組合性具有層次的特征,結合FLAMES柔性仿真框架,形成基于FLAMES的多層次電子戰仿真模型描述的組合仿真概念框架,如圖2所示。

圖1 FLAMES實體的構成關系圖

圖2 基于FLAMES組合仿真概念框架
仿真模型的語法層次是模型的具體表現層,通常要求模型接口及其參數采用某種標準格式描述,通過結構化數據的交互實現組合過程。語法層次組合模型有效性主要從語法模型的結構和功能方面進行檢驗,從語法模型的結構來看,主要檢驗模型接口的組成,包括各語法元素的定義及類型關系;從語法模型的功能上看,主要檢驗模型提供功能與需求功能,分別由提供接口和請求接口表示。
語義模型主要是模型的靜態語義描述,不涉及模型各語法元素在實際使用或被使用過程中的含義,該語義信息是模型自身蘊含的,與模型是否與外界發生交互、何時發生以及交互序列無關。對語義模型可組合型的檢驗主要包括對模型各輸入、輸出接口以及模型狀態變量(屬性)的語義約束的檢驗。
語用模型主要關注對模型動態語義的描述,主要指模型在一定時間段內表現出來的交互行為序列,反映了系統內部的一系列狀態轉移。對語用模型的可組合性檢驗主要對模型對外提供的功能和模型對外部的請求、模型對外交互的協議進行檢驗。
仿真模型的概念層次包含了領域專家和仿真開發人員對仿真及其所包含元素的一種概念認知,它所包含的領域權威信息是對仿真的頂層約束。對概念層次可組合型的檢驗主要是對模型組合時的概念描述一致性進行檢驗。
2.2.3 FLAMES組合建模方法
FLAMES組合建模思路:首先,基于C++開發模型組件庫;其次,基于關聯假設的組合建模方法,由所建模的實體,分析組成實體的具體組件;第三,在組件編輯界面,根據仿真模型的語法層次可組合性原則,初始化組件的性能參數,形成具有一定功能的組件單元;最后,在腳本編輯界面,通過腳本語言,完成具體實體單元的組合,形成具備全部功能的實體模型。模型鏈接器模塊在模型組合中,完成對模型配置、組合的檢驗,并輸出檢驗信息。所以基于FLAMES的組合建模方法可分為模型組件開發、模型組件編輯、模型組合、腳本解析、模型靜態檢驗、模型動態檢驗等階段,如圖3所示。
(1)模型組件開發。模型組件開發階段主要是基于FLAMES內核開發模型組件的源代碼以及在C++環境下建立模型的片段,信息流編輯部分主要定義模型方法參數間的傳遞關系,控制流編輯部分負責定義模型組件方法之間的運行結構。
(2)模型組件編輯。在模型組件編輯階段,主要完成對模型組件參數的初始化和模型組件的選擇。在模型組件選擇時,采用基于關聯推理的組合建模方法,依據變量間的因果作用聯系,選擇所有與當前建模任務相關的變量集合,然后選擇一個最簡單的組合模型片斷(CMF)來描述每個變量,同時保證全部CMF的集合是一致的,在不違背建模任務內外部環境的“建模假設”的條件下完成模型組件的選擇,從而得到一個初步的模型組件單元。
(3)模型組合。在模型組合階段,根據建模任務,首先分離出1組感興趣的客觀對象、描述客觀對象的變量和函數關系,然后選擇相應的模型組件來描述這些變量和關系。通過FLAMES內核認可的腳本語言,按照語法規則,將模型組件編輯階段形成的組件單元組合為具備全部功能的裝備實體。
(4)腳本解析。通過腳本完成模型的組合后,運行FIRE,FLAMES內核會對形成實體的腳本進行解析,從而通過腳本調用組成實體的組件模型。

圖3 FLAMES組合建模流程
(5)模型的靜態檢驗。模型組合完畢后,執行模型鏈接器,完成想定中所有組合模型的語法層次的檢驗,并將錯誤信息反饋給用戶。
(6)模型的動態檢驗。執行想定,生成模型仿真的數據庫,檢查模型需求定義和模型完整性信息,主要檢驗組合模型執行任務中功能的實現情況,并通過模型組件的使用條件解決組合模型邊界問題。
以某型電子戰飛機為例,想定設置:我軍某型電子戰飛機對敵地面雷達進行干擾,掩護我軍轟炸機對敵指揮所進行的攻擊行動。
假定此次仿真的重點是研究電子戰飛機對敵雷達的干擾效果。通過關聯假設的組合建模方法[7],如需獲得電子戰飛機模型,必須要有能夠執行電子戰任務的飛機平臺模型;能夠探測敵方雷達的探測器模型和探測器模型上配套的天線模型、數據處理器模型;實時與我方地面指揮所聯系的空對地通信電臺模型;根據敵方雷達型號,確定能夠干擾敵方雷達的干擾機模型;控制飛機平臺飛行的認知模型和控制雷達開關機的認知模型。敵地面雷達模型由搭載雷達設備的平臺模型、探測器模型、與指揮所聯系的通信電臺模型和控制雷達開關機的認知模型組成。下面運用FLAMES仿真模型的組合建模方法,對我方電子戰飛機進行組合建模,如圖4所示。
電子戰飛機腳本描述如下:



圖4 關聯假設的FLAMES電子戰飛機組合建模示意圖

部分仿真實驗數據如圖5所示。
圖5中SimTimeStr顯示仿真時間,Name顯示參與仿真的實體單元,ID是想定中仿真單元的標識,Team是敵我雙方標識(1為敵方,2為我方),Velocity顯示實體單元的速度,Active顯示了單元在參與仿真中開關機狀態。不難觀察發現,在仿真時間08:01:55、08:02:05時,我方電子戰飛機由關機狀態改為開機狀態,由0變為1(其中0代表關機,1代表開機)。

圖5 仿真實體單元信息

圖6 雷達在干擾前后,探測區域變化
圖6中UnitID是雷達仿真中的標識,SimTime為仿真時間,在仿真中以15s為1個步長。Points顯示雷達的探測區域,以經緯度坐標在地圖上顯示,部分數值已經轉化為FLAMES內核可讀的形式。不難發現在08:01:50與08:02:05時,雷達探測區域發生明顯變化,說明敵方雷達的探測區域在我方電子戰飛機中的干擾機開機后明顯受到影響,證實了干擾機在電子戰飛機組合建模中的有效性。
通過仿真實驗,得到了電子戰飛機和敵方雷達的仿真數據,可觀察發現電子戰飛機在探測到敵方雷達、干擾機模型由關機狀態變為開機狀態后,敵方雷達探測區域明顯受到影響,證實了電子戰飛機中的干擾機模型在仿真中發揮了作用,同時證明了本文提出的基于FLAMES的仿真模型的組合建模方法的有效性。
基于FLAMES的仿真模型組合建模方法結合柔性仿真與組合建模理論,提高了模型的適應性,增強了模型的組合性、重用性。本文結合某型電子戰飛機進行仿真,仿真結果驗證了模型組合的有效性。
[1]Courtemanehe A J,von der LIPPe S R,MeCormack J.Developing user-composable behaviors[A].Procee-dings of The Fall Simulation Interoperability Workshop[C],1997:7-10.
[2]Page Ernest H,OPPer Jeffrey M.Observations on the complexity of composable simulation[A].Proceedings of The Winter Simulation Conferenee[C],1999:21-23.
[3]Davis Paul K,Anderson Robert H.Improving the composability of DoD modeling and simulations[A].Rand National Defense Researeh Institute[C].Santa Monica,CA,2003:6-7.
[4]Wilke Havinga,Lodewijk Bergmans,Mehmet Aksit.A model for composable composition operators[A].Software Engineering group-University of Twente[C],2010:15-19.
[5]Courtemanche A J,Wittman R L.OneSAF:A product line approach for a next-generation CGF[A].Proceedings of The Eleventh Conference on Computer-Generated Forces and Behavior Representation[C].Orlando FL,2002:21-25.
[6]FLAMES Simulation Framework-Ternion[EB/OL].http://www.ternion.Corperation,2010-06-09.
[7]王東鋒,尚宏.基于關聯假設的定性組合建模算法[J].計算機仿真,2004,21(40):56-59.