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