丁全心,聶志強(qiáng),蘇文強(qiáng)
(中航洛陽光電設(shè)備研究所,河南 洛陽 471009)
建模仿真是理論創(chuàng)新的證實(shí)方法和手段[1],訓(xùn)練仿真系統(tǒng)通過建模仿真獲得功能升級(jí)和性能改善。隨著航空電子系統(tǒng)的發(fā)展,戰(zhàn)斗機(jī)訓(xùn)練仿真系統(tǒng)中的航電仿真建模與產(chǎn)品一樣由分立式、集中式、聯(lián)合式走向了綜合式,其特點(diǎn)就是獨(dú)立的軟硬件一體的模擬器減少,采用通用軟硬件平臺(tái),基于構(gòu)件的軟件框架成為主流,系統(tǒng)采用了分布式架構(gòu),大的分布式仿真廣泛使用了HLA體系。
隨著多層軟件架構(gòu)的廣泛應(yīng)用,系統(tǒng)應(yīng)用層(application layer,AL)的功能如雷達(dá)應(yīng)用、任務(wù)管理、飛行器管理系統(tǒng)、通訊導(dǎo)航和識(shí)別等[2]與下層軟件的關(guān)系相對明晰,而且擴(kuò)展能力極大增強(qiáng)。開放式航電模型正是在此基礎(chǔ)上提出的,它是滿足一定開發(fā)約束規(guī)范,支持航電系統(tǒng)功能擴(kuò)展的模型開發(fā)趨勢,然而,隨著應(yīng)用仿真及算法軟件模型的爆發(fā)式增長,對應(yīng)用層大量的航電建模仿真如何有效管理和使用卻需要認(rèn)真研究。
多層軟件架構(gòu)和模型構(gòu)件模塊化使通用平臺(tái)下的應(yīng)用管理(application management,AM)成為可能,通過建立該管理系統(tǒng),即可以有效管理航電仿真模型,又可以更方便更直觀的展開航電功能與性能分析,直至搭建快速原型軟件系統(tǒng)。
以三層堆棧式結(jié)構(gòu)參考,實(shí)現(xiàn)對航電模型的管理,需要具備以下功能:
1)模擬應(yīng)用層管理的功能。即處理有關(guān)非標(biāo)準(zhǔn)化的系統(tǒng)管理,如模型接口對接處理、模型調(diào)度管理、在線運(yùn)行、在線顯示、控制與操作信號(hào)轉(zhuǎn)換處理等;
圖1 開放式軟件結(jié)構(gòu)模式及接口
2)模擬或過濾操作系統(tǒng)層(operating system layer,OSL)與模塊支持層(module support layer,MSL)功能。由于模型用戶僅關(guān)心模型本身的功能和性能正確性,不需要了解OSL與MSL,而對于構(gòu)建航電系統(tǒng)的用戶來說,除需要包含模型本身內(nèi)容外,還需要了解模型在系統(tǒng)中的運(yùn)行情況、負(fù)載、信號(hào)冗余等,因此,管理系統(tǒng)還需要將用戶關(guān)心的基本內(nèi)容提供調(diào)度接口給用戶;
3)在滿足管理系統(tǒng)支持構(gòu)建航電仿真的基礎(chǔ)上,還需要提供相應(yīng)的輔助功能來幫助用戶完成更安全、更快捷、方便的使用。這些功能包括:用戶登錄管理、模型出入庫管理、模型的圖形化顯示、操作的可視化效果、運(yùn)行數(shù)據(jù)的實(shí)時(shí)保存與圖表化分析,甚至對模型組合的支持及運(yùn)行過程的實(shí)時(shí)改變、與三維視景系統(tǒng)的無縫連接、多航電系統(tǒng)的交互等。
系統(tǒng)物理架構(gòu)采用B/S(Browser/Server)模式,客戶端(Client)以IE瀏覽器形式展開,服務(wù)器分分布式模型計(jì)算服務(wù)器和數(shù)據(jù)庫及Web服務(wù)器,另考慮模型安全性,備份一臺(tái)服務(wù)器。
為確保該架構(gòu)下的網(wǎng)絡(luò)快速通訊,采用完成端口(IOCP)機(jī)制設(shè)計(jì)網(wǎng)絡(luò)通訊,確保:
1)接收客戶端的遠(yuǎn)程調(diào)用請求;
2)調(diào)用模型執(zhí)行層的計(jì)算接口完成模型計(jì)算;
3)周期性的將計(jì)算結(jié)果及相關(guān)狀態(tài)信息返回給客戶端。網(wǎng)絡(luò)IO通訊模型主要包含以下幾種方式,select ( 選 擇 )、WSAAsyncSelect ( 異 步 選 擇 )、WSAEventSelect(事件選擇)、Overlapped I/O(重疊式I/O)以及Completion prot(完成端口)。
圖2 系統(tǒng)物理架構(gòu)
圖3 IOCP原理圖
應(yīng)用程序創(chuàng)建一定數(shù)量的工作者線程處理不同客戶端的I/O任務(wù),任何線程都不應(yīng)該執(zhí)行諸如同步讀寫、等待事件通知等堵塞型操作,以免線程堵塞。每個(gè)線程都分到一定數(shù)量的CPU時(shí)間確保線程的運(yùn)行。
在總體結(jié)構(gòu)中還需要設(shè)計(jì)的重要一環(huán)就是時(shí)間管理,由于模型的調(diào)度使用存在于網(wǎng)絡(luò)環(huán)境,時(shí)間管理必不可少,管理系統(tǒng)參考使用IEEE1588 PTP(PTP:Precision Time Protocol)使用同步協(xié)議,同時(shí)參考IMA(IMA:Integrated Modular Avionics,綜合模塊化航電系統(tǒng))時(shí)間管理技術(shù)[3]。
圖4 完成端口通訊方式
本系統(tǒng)立足客戶端最低支持,分布式模型在服務(wù)器運(yùn)行調(diào)度,對服務(wù)器提出相對較高要求,包括多核計(jì)算能力、存儲(chǔ)能力等,實(shí)際運(yùn)用中采用4到8核高性能處理器,1T以上硬盤存儲(chǔ),基于安全考慮,多存儲(chǔ)盤可互備份。
由于航電模型進(jìn)入管理系統(tǒng)前的認(rèn)證工作缺失,需要防止不滿足基本管理?xiàng)l件的航電仿真模型進(jìn)入管理系統(tǒng)的高級(jí)功能(在線運(yùn)行、在線顯示等),客戶端需要配置專門硬件平臺(tái)測試,測試平臺(tái)的硬件配置與一般客戶端相同。
系統(tǒng)軟件包括UI層軟件、中間件和底層軟件,其中系統(tǒng)最底層軟件借助Windows平臺(tái)提供的功能,管理系統(tǒng)自主開發(fā)設(shè)計(jì)部分主要完成AL層應(yīng)用管理及部分模塊支持層設(shè)計(jì)工作,主要包括系統(tǒng)界面功能設(shè)計(jì)、在線運(yùn)行功能設(shè)計(jì)和后臺(tái)數(shù)據(jù)庫設(shè)計(jì)。
圖5 IMA同步時(shí)鐘(ALT)請求-回答機(jī)制
管理系統(tǒng)的軟件界面應(yīng)包含用戶登錄、仿真模型目錄瀏覽、模型的上傳/下載管理、用戶管理、模型在線運(yùn)行與分析等內(nèi)容。
圖6 系統(tǒng)軟件界面功能示意圖
目錄瀏覽界面為登錄后的主顯示界面,采用分欄設(shè)計(jì),主要包括主要的功能瀏覽、模型分類瀏覽、模型基本信息瀏覽、基本管理信息瀏覽等。
圖7 界面主要功能瀏覽效果圖
模型的上傳/下載等管理是管理系統(tǒng)的一項(xiàng)主要功能,完成包括人員權(quán)限管理、模型權(quán)限管理、模型分類管理等,其中模型分類包括模型本身的使用開發(fā)語言分類和模型在航電系統(tǒng)中的所屬類別,具體類別可根據(jù)實(shí)際使用情況動(dòng)態(tài)調(diào)整,不管哪個(gè)模型類別,均包含兩類模型,一類是屬于用戶自己用來驗(yàn)證或測試的臨時(shí)模型,稱用戶自定義模型,還有一類是滿足標(biāo)準(zhǔn)庫要求的模型,是經(jīng)過測試的開放式航電模型,能夠被模塊化調(diào)用的。
圖8 模型參數(shù)編輯界面
用戶管理完成用戶的注冊、銷毀、權(quán)限管理、部門等管理,支持用戶對模型按權(quán)限管理,提供用戶的相關(guān)審批權(quán)限。
模型在線運(yùn)行與分析支持模型的在線運(yùn)行,其界面設(shè)計(jì)為分欄界面,包括模型目錄樹、模型接口對接表、模型運(yùn)行顯示界面欄、模型參數(shù)及參數(shù)顯示圖表欄、模型狀態(tài)設(shè)置欄、模型控制欄等。
本管理系統(tǒng)在線運(yùn)行并非提供全互聯(lián)網(wǎng)環(huán)境下的在線運(yùn)行,只針對實(shí)驗(yàn)室內(nèi)部環(huán)境,主要設(shè)計(jì)以下方面內(nèi)容:
1)模型可視化。需要將模型在界面上以可視形式表現(xiàn)出來,特別的需要顯示模型的接口對接及接口對接過程的正確性,并能夠直觀區(qū)分簡易對接錯(cuò)誤(如以紅色表示接口對接錯(cuò)誤)。模型在界面上是可以移動(dòng)的,可以重新更換接口數(shù)據(jù),或者重新完成對接;
2)模型組合。對于航電模型,通常是多個(gè)模型組合運(yùn)行,完成組合后的模型體將以新的模型方式被管理系統(tǒng)記錄,并可以直接以可視化方式拖入在線運(yùn)行區(qū)域運(yùn)行;為確保模型組合,系統(tǒng)設(shè)計(jì)自動(dòng)布線技術(shù),根據(jù)模型位置自動(dòng)完成接口布線組合。
圖9 模型運(yùn)行設(shè)置界面
圖10 模型自動(dòng)布線
圖11 模型接口對接可視化
3)模型在線調(diào)度管理。模型需要?jiǎng)討B(tài)周期性調(diào)度,需要滿足一定約束條件,該約束條件通常包括:
(1)模型采用動(dòng)態(tài)庫封裝模式;
(2)模型內(nèi)部不包含影響模型多次調(diào)用結(jié)果的全局、靜態(tài)變量,如果出現(xiàn),必須確保該變量不影響模型重復(fù)運(yùn)行與調(diào)度結(jié)果;
(3)模型必須提供以下獨(dú)立調(diào)度方法,分別為初始化方法 (Init)、啟動(dòng)方法 (Start)、輸入信息方法(Input)、周期調(diào)度方法(Step)、輸出信息方法(Output)、停止方法(Stop),因?yàn)槟P驮谕獠拷M合與調(diào)度都必須通過以上方法實(shí)現(xiàn);
(4)模型單幀運(yùn)行周期是可調(diào)的,由于外部調(diào)度周期一般控制在50 ms左右,模型單幀周期一般控制在5ms以內(nèi),并是可設(shè)置的,便于當(dāng)總周期過長時(shí)采用多線程處理;
(5)原則上杜絕模型運(yùn)行過程中的讀寫文件,因?yàn)樽x寫文件帶來的時(shí)間影響過大,不適合在線運(yùn)行模型使用,對確實(shí)需要讀寫的文件模型應(yīng)提供數(shù)據(jù)接口,由管理系統(tǒng)輔助完成;
(6)為方便模型接口的自動(dòng)化對接,模型加載生成前需要滿足對接口數(shù)據(jù)的參數(shù)定義,管理系統(tǒng)專門為其定義一套規(guī)則,本文不做細(xì)述。滿足參數(shù)規(guī)則的模型能夠被系統(tǒng)自動(dòng)識(shí)別輸入輸出接口參數(shù)信息,并完成可視化顯示。
圖12 算法模型在線運(yùn)行配置
圖13 算法模型與視景模型連接
由于大量的模型和模型數(shù)據(jù)需要管理,后臺(tái)數(shù)據(jù)庫采用專用數(shù)據(jù)庫SQL Server或Orcale,需要設(shè)計(jì)表單的子系統(tǒng)主要包括用戶管理子系統(tǒng)、模型運(yùn)行管理子系統(tǒng)、文件管理子系統(tǒng)、權(quán)限管理子系統(tǒng)、模型入庫管理子系統(tǒng)、模型出庫管理子系統(tǒng)等。
圖14 模型管理子系統(tǒng)E-R關(guān)系圖
系統(tǒng)的運(yùn)行使用效果如圖15。
圖15 模型運(yùn)行效果示意圖
管理系統(tǒng)的運(yùn)行使用突出顯示了其以下優(yōu)點(diǎn):
1)對各種獨(dú)立分散的航電模型及數(shù)據(jù)、圖像資料起到了很好的管理作用,由于航電模型分布在不同模擬器和實(shí)驗(yàn)室環(huán)境中,導(dǎo)致其重復(fù)利用非常困難,往往需要大量輔助環(huán)境支持,并花費(fèi)大量人力、物力才能得到再利用,通過該系統(tǒng)一次性入庫后,可以有效完成模型管理和分布式使用;
2)模型的使用更直觀、更快捷,當(dāng)前國內(nèi)專門用于模型管理與驗(yàn)證分析的成熟系統(tǒng)還沒有,通過該系統(tǒng),可以有效解決實(shí)驗(yàn)室環(huán)境下的模型可視化編輯、運(yùn)行,開發(fā)人員如果需要驗(yàn)證模型功能、性能,不再需要完全通過代碼分析或自己開發(fā)測試代碼分析,可以直接借助分析圖表和視景效果來進(jìn)行分析;
3)系統(tǒng)與航電模型進(jìn)行了很好的深度結(jié)合,由于本身針對性開發(fā),其能夠從使用需求、調(diào)度規(guī)則、接口規(guī)范、分析方法等多層次支持航電模型的開發(fā)與運(yùn)用;
4)使得模型存儲(chǔ)更安全、代碼繼承性更強(qiáng)、功能擴(kuò)展更便捷。顯然通過集中管理,模型流失的可能性遠(yuǎn)低于分散在各模擬器中的模型,并且模型因?yàn)榈玫絽R集,其繼承與再利用的效率得到提高。
本系統(tǒng)的開發(fā)是一次有益的探索,它對解決與特殊硬件無關(guān)的開放式航電模型在線運(yùn)行及對所有航電模型的管理都起到很好的支持作用,而如何有效模擬硬件相關(guān)甚至連接專用硬件,構(gòu)建航電系統(tǒng)的快速原型系統(tǒng)將是下一個(gè)探索方向。
[1]陳雷鳴.作戰(zhàn)訓(xùn)練轉(zhuǎn)型對建模仿真的新挑戰(zhàn)[J].軍事運(yùn)籌與系統(tǒng)工程,2010.24(1):5-8.
[2]王和平,王寧,張聯(lián)梅.綜合航電開放式軟件設(shè)計(jì)技術(shù) [J].計(jì)算機(jī)工程與設(shè)計(jì),2009.30(1):4-8,196.
[3]程春姬.綜合模塊化航電系統(tǒng)時(shí)間管理技術(shù)[J].航空電子技術(shù),2010,41(1):17-21.
[4]夏紅梅,趙志軍,張欣景.基于HLA的一體化戰(zhàn)術(shù)訓(xùn)練仿真系統(tǒng)綜合態(tài)勢顯示研究 [J].艦船電子工程,2010,30(8):117-119,127.
[5]唐永紅,劉愛元,吳曉男.慣導(dǎo)仿真訓(xùn)練系統(tǒng)的研究[J].儀表技術(shù),2010,30(8):54-56
[6]張紅,丁全心.開放式系統(tǒng)與COTS技術(shù)在航空電子火控系統(tǒng)中的應(yīng)用 [J].電光與控制,2002,9(2):14-18.
[7]Roscoe C.Ferguson,Benjamin L.Peterson,SYSTEM SOFTWARE FRAMEWORK FOR SYSTEM OF SYSTEMS AVIONICS[J].24th Digital Avionics Systems Conference.2005,8(1):1-10.