楊曉彥,徐慧敏,石三將
(南京電子技術研究所, 南京 210039)
?
基于插件集成技術的雷達顯示軟件設計
楊曉彥,徐慧敏,石三將
(南京電子技術研究所,南京 210039)
摘要:現代一體化戰爭的態勢瞬息萬變,戰場對各類傳感器信息保障的要求也越來越高。終端顯示軟件作為雷達人機信息與操作交互的窗口,需要能夠針對不同的作戰任務進行快速反應,功能靈活可重構。基于該作戰需求,文中提出了一種以開發庫QT為平臺,基于插件集成的雷達顯示軟件設計思路與方法,介紹插件技術,描述了本軟件的體系架構以及具體的設計實現方法。該軟件設計技術現已在某型艦載雷達顯示終端上正式應用,其滿足了系統的靈活性、高效性、擴展性要求,具有很高的實用意義及推廣價值。
關鍵詞:雷達顯示軟件;插件技術;集成框架 ;集成
0引言
雷達信息顯示界面為作戰指揮官、雷達操作員提供了與系統的人機交互接口,其信息的顯示向各作戰單元提供了實時可靠的態勢目標信息、戰場電磁環境信息、戰術情報信息,為戰場指揮員的作戰決策提供了有效的信息支撐。
通常的雷達顯示軟件只針對特定波段雷達或特定的作戰任務需求而設計,功能單一,任務明確,軟件最終編譯為一個可執行文件部署在若干個作戰臺位上。隨著現代戰爭信息化程度的不斷加強、作戰環境的日趨復雜、一體化作戰要求的與日俱增,對終端要求也越來越高[1],要求雷達顯示軟件能夠適應這些新的作戰需求,針對不同的空海作戰任務,不同類型的探測目標靈活配置,對不同的功能進行快速整合。
近些年來,軟件插件集成技術已經得到了深入廣泛的研究并日趨成熟完善。以此技術為基礎,全新的作戰需求為背景,本文提出并實現了一種能夠面向多
種作戰任務,進行快速定制、重構的雷達顯示軟件技術。與以往的雷達顯示軟件相比,將數據、顯示、不同的應用業務以插件的方式分開,保證了功能上的隔離性、獨立性和可擴展性,通過集成框架加載不同的插件組合,實現了面向不同作戰任務的軟件重構功能。
1主要功能和特點
現代一體化空海戰爭都離不開雷達,而雷達探測、偵察到的信息只有疊加在海圖或地圖背景上才能將當前戰場敵我態勢展現出來,從而為作戰指揮員的決策提供信息支撐保障,保證作戰效能。
雷達信息的顯示種類繁多,通常包括雷達原始視頻、有源點跡、有源航跡、無源探測信息、背景地圖、背景海圖、手工標繪、各類表格表頁信息、設備自檢信息、干預操控界面等信息元素[2]。不同的作戰任務需要不同類型的元素組合提供信息支撐,例如近程反導跟蹤任務、遠程搜索任務、無源偵察任務、海面搜索任務,都需要不同類型的保障信息。本文提出的雷達顯示軟件在統一的集成框架基礎上,利用插件集成技術,可在信息態勢圖上針對不同作戰任務
實現不同的業務功能。
1.1功能
基于插件集成的雷達顯示軟件具備以下一些六點功能:
1) 插件管理
實現集成框架與插件,插件與插件之間的交互,完成插件的注冊、反注冊,啟用、禁用等通用功能,顯示插件版本、日期、與其他插件依賴關系等基本信息[3]。
2) 數據管理
軟件接收到雷達前端、探測目標、戰場電磁環境、設備自檢信息、作戰任務命令等信息數據后,將這些信息數據進行歸類、組織,形成通用的基礎源信息,為不同插件需求的各種不同的信息應用提供底層基礎數據支撐。
3) 態勢圖層顯示
實現各種不同類型態勢圖層的生成、顯示與刷新。這些態勢圖層將對應的目標信息直觀的疊加在背景地圖或海圖之上顯示并周期性地刷新,最后呈現在雷達操作員面前的是所有圖層疊加后的整體態勢。常用的態勢圖層包括航跡顯示圖層、點跡顯示圖層、人工標繪圖層、海圖圖層等。
4) 態勢圖層管理
實現各態勢圖層的生成、加載、刪除、顯示、隱藏等功能。
5) 信息顯示
實現不同類型信息的顯示,以及針對相同信息不同角度、不同方式的顯示,例如表格顯示、統計圖形顯示、對話框顯示。
6) 人機交互
為操作員提供針對不同類型的數據信息及當前狀態、參數、任務進行人工干預的手段,包括鼠標點擊,鍵盤輸入,觸控等。
1.2特點
基于插件集成技術的雷達顯示軟件通過組合集成不同插件的方式實現不同的應用功能,展現不同類型的作戰場景態勢。靈活的策略配置功能支持用戶按需提取和展現操作員、指揮員所關注的態勢信息。其主要具備以下三個特點:
1) 靈活性
軟件的靈活性體現在兩個方面:一是軟件配置集成的靈活性,可以通過配置不同的功能插件組合來實現具體的功能,配置集成通過配置文件來實現,增加、刪減插件只需修改配置文件即可;二是開發方式上的靈活性,劃分好系統功能插件后,可以根據實際情況,開發全部或部分功能插件,也可以借助外部第三方的力量來輔助開發[4]。
2) 高效性
通過對軟件進行精細化的劃分,有效降低各插件之間的耦合度,在面向特定的作戰任務時只需加載任務相關插件,剔除了冗余功能,保證了軟件高效率的運行。
3) 可復用性與可擴展性強
可以根據不同用戶的特定需求,擴展軟件功能,加入新的功能插件。有效的運用插件技術,可以開發出伸縮性良好,便于維護與擴充的應用軟件。
2插件技術
所謂插件技術就是在軟件開發里,將軟件應用程序分為集成框架主程序和插件兩個部分,集成框架和插件之間可以通過定義接口規范相互通信。基于插件的“框架+插件”結構體系框架,如圖1所示。

圖1 集成框架+插件的軟件體系框架
集成框架為軟件應用程序提供了統一規范的開發方式以及穩定的入口應用程序,并可以在不對系統主程序進行修改和影響現有功能插件運行的情況下,通過修改或增加新的功能插件以擴充應用軟件的功能。集成框架的主要功能包括:
1) 提供標準的接口集,用于建立起主程序與插件之間的通信。通信的接口信息包括獲取插件基礎配置信息、獲取各類插件指針、初始化插件、運行加載插件、釋放插件資源、插件面板UI創建、插件菜單響應等。
2) 初始化時通過讀入特定配置文件,來獲得對應配置所需要加載的插件列表,獲取相應的插件信息,根據插件之間的相互依賴關系決定各插件的加載順序,將功能插件加入框架所需加載的控制鏈表之中,依次完成所有插件的動態加載。
3) 插件加載完成后,集成框架通過定義的接口信息,與各插件進行通信,并響應已加載插件的運行和退出。
3軟件設計與實現
3.1軟件體系架構
基于插件集成技術的雷達顯示軟件采用框架+插件的軟件體系架構。此體系架構將待開發的目標軟件系統分成兩大部分:一部分為集成框架,即是程序的主體,主要具備框架內核控制與插件管理兩大功能;另一部分為插件,用于實現特定的功能和業務應用。插件又分為基礎插件和功能插件,其中:基礎插件主要負責應用軟件主窗口、界面元素、基礎公用數據的組織和管理,并為功能插件提供必要的基礎功能接口和數據支撐;功能插件負責具體作戰相關業務應用需求的實現,功能插件的成功運行需要依賴相應的基礎插件。整個軟件的總體體系結構如圖2所示。

圖2 基于插件集成技術的雷達顯示軟件總體體系架構
3.2集成框架設計
集成框架功能包含了兩個部分,內核控制和插件管理。內核控制部分封裝了軟件應用程序入口及插件管理模塊的初始化過程;插件管理負責管理集成框架的所有插件,完成框架與插件的協調,對插件狀態進行跟蹤,完成插件的加載、管理和調用,為插件提供標準接口[5]。
3.2.1框架接口和插件管理
集成框架為插件提供標準接口,具體接口的實現由插件去完成。框架的接口類MInterface聲明了virtual QString init(const QString &message) = 0和virtual QString extensionInit(const QString &message) = 0這兩個純虛函數,所有需要集成在框架中的插件類必須去實現這兩個函數。init(const QString &message)函數用于完成插件內部功能應用對象的創建及初始化,其在插件庫被載入且實例化之后調用;extensionInit(const QString &message) 插件及其依賴插件庫全部初始化后被調用,其用于與依賴插件之間的通信和功能擴展。
集成框架通過插件管理類PluginManage對插件進行管理,采用單件模式實現,在整個應用程序中只有唯一的實例,提供了實例的全局訪問點PluginManage::instance()。PluginManage類中的插件對象列表QList

圖3 集成框架插件管理類圖
3.2.2框架運行過程
主程序啟動后的調用運行過程,如圖4所示。

圖4 框架運行調用序列
1) 軟件主程序初始化,初始化框架類對象實例;
2) 框架類在指定目錄中對插件配置文件進行讀取;
3) 插件管理類從插件配置文件中獲取插件基礎信息;
4) 插件管理類對插件的合法性進行驗證,對非法插件庫進行過濾;
5) 驗證插件間的依賴關系,確定插件加載順序;
6) 框架類調用插件管理類對象實例,去加載插件;
7) 插件管理類對象加載插件組件;
8) 插件庫通過接口實現自己的初始化功能定義;
9) 調用插件庫擴展接口,加載插件的擴展功能;
10) 插件庫通過接口實現自己的擴展功能定義。
3.3插件設計
插件負責了雷達顯示軟件的功能實現,依層次及功能將所有插件劃分為基礎插件與功能插件兩大類。
3.3.1基礎插件
數據管理插件(DataManage.dll)與核心管理插件(CoreManage.dll)為本軟件的基礎插件。軟件中其他功能插件均依賴此兩個基礎插件。數據管理插件繼承自框架接口MInterface類,負責了雷達信息顯示軟件與外系統所有的通訊接口,數據報文收發,信息數據例如雷達航跡數據、點跡數據、作戰任務參數數據的組織存儲,并為功能插件提供相應的數據查詢、調看以及修改的接口。 DataManage類實現了框架接口的定義,類中包含了單件模式的Global 類靜態對象m_sGlobal,Global 類中實現了用于通訊的套接字與接口處理線程、命令解析線程、控制命令發送接口、雷達顯示控制接口、參數控制顯示接口、公共函數接口等,數據管理插件相關類圖如圖5所示。

圖5 數據管理插件類圖
核心管理插件為整個應用程序提供了封裝界面的主窗口類與關鍵窗口部件的擴展點,允許功能插件定制自己的個性化界面擴展業務,提供態勢圖層疊加功能。關鍵的窗口部件包括主顯示區、主控窗口欄、工具欄與狀態欄。圖層管理類(Layer Manage)為雷達各種態勢顯示圖層提供了指定的顯示區域,并提供態勢圖層疊加或切換的接口管理功能;窗口管理類(Wnd Manage)為各類作戰操控、目標干預界面UI提供了停靠區域,工具欄與狀態欄類則為特殊的UI擴展提供了相應的接口。海圖圖層類(Sea Map)提供了PPI區域的標準海圖圖層的繪制以及對海圖顯示控制的相關管理接口。核心管理插件內部組成如圖6所示。

圖6 核心管理插件內部功能組成圖
3.3.2功能插件
在雷達信息顯示軟件中,具體的作戰業務應用由各功能插件實現。本軟件的功能插件分為航跡態勢圖層插件、顯示控制插件、系統監測插件、設備操作插件等。本文以航跡態勢圖層插件為例,對功能插件加以具體說明。
航跡態勢圖層插件(TrackLayer.dll)實現了雷達有源航跡目標的態勢顯示,并提供對航跡的人工干預操作。航跡圖層顯示TrackLayerDisp類利用的是QT的圖形化視圖框架技術。圖形視圖框架包含視圖、場景、圖元三個組成部分。視圖是用戶定制的二維圖形為進行管理和交互提供一個平臺,同時為圖元的可視化提供視圖窗口。場景為圖元提供顯示平臺。圖元是圖形顯示的單元,可以將基本圖形如線、矩形、圓周等作為一個圖元,也可以將多個基本圖形組合成一個復雜圖形作為一個圖元。
航跡態勢圖層插件將雷達航跡作為一種二維圖元QGraphicsItem進行管理與交互,圖層作為一種QGraphicsView為航跡圖元的顯示提供了視圖窗口,場景QGraphicsScene為圖元提供了顯示的平臺。ActiveTrack為航跡顯示類,航跡顯示元素包括當前航跡點、歷史航跡點、航跡標牌。從QGraphicsItem中派生出定制的圖元類TrackLabelItem表征當前最新航跡點,航跡標牌以及當前點與標牌的連接線;從QGraphicsPolygonItem中派生出定制的圖元類TrackDotItem表征航跡歷史點。
航跡圖層場景中的每條雷達有源航跡用一個ActiveTrack對象來表示,當收到新航跡數據或舊航跡數據更新時,通過savePoint(QPointF pt)將新航跡點保存進來,同時根據需要更新歷史航跡點。若航跡消失,則通過Remove()接口將相應的航跡單元從場景中清除。航跡圖層在程序主線程timer中刷新,刷新率可以根據硬件平臺性能效率做相應修改,航跡圖層中有源航跡單元的信息數據取自基礎插件(DataManage.dll)。航跡態勢圖層插件相關類圖如圖7所示。
3.4軟件集成
完成集成框架與所有插件的設計之后,軟件通過集成加載不同的插件集來實現不同的作戰應用。

圖7 航跡態勢圖層插件類圖
不同的插件集由加載的xml類型的配置文件決定,配置文件的規范如下所示:
這段配置文件說明了名為XXX設備的軟件配置項由以下5個插件組成,分別是Core.dll、Datamanage.dll、DispCtrl.dll、TrackLayer.dll、Sys_Bit.dll。
當作戰需求發生變更時,不需要對集成框架、基礎插件進行修改,只需對功能插件進行對應的修改,或增加針對需求的功能插件;然后,修改配置文件,增加或刪減對應的軟件配置項即可滿足系統不同類型的作戰要求。
3.5應用實例
在一個項目上,運用此技術進行雷達信息顯示軟件的開發,顯示界面如圖8所示。

圖8 基于插件集成技術的雷達顯示軟件應用實例
在實際工程應用中,此軟件可根據選擇的不同軟件配置項進行插件的重新加載,實現軟件重構,方便軟件功能的裁剪增加。例如,在對空戰應用時,軟件加載航跡圖層插件用于顯示空情態勢,而在系統監測應用時,只需在配置文件中刪除航跡圖層插件,增加系統監測插件即可,無需對主框架或其他功能插件進行代碼上的修改。
4結束語
基于插件集成技術的軟件與傳統開發軟件相比,具有靈活性、高效性、擴展性和維護性好,代碼復用率高等優勢。只要保證框架和插件接口不變,那么對插件或者框架的修改都不會影響已有功能的實現。功能插件之間也相互獨立,對某個特定插件的修改不會影響其他插件的正常運行。通過在某型艦載雷達顯示軟件設計中的應用,表明該軟件的設計架構能夠實現雷達終端顯示軟件針對不同作戰任務的快速部署重構,具有較高的工程應用價值。
參 考 文 獻
[1]李秀良.基于IP技術的通用雷達錄取顯控終端的設計[J].現代雷達,2014,36(8): 70-71.
LI Xiuliang.Universal radar display and control terminal design based on IP technology[J].Mordern Radar,2014,36(8): 70-71.
[2]安良, 劉揚, 莫紅飛. 基于Qt的雷達信息顯示設計[J]. 現代電子技術, 2011, 34(11): 26-28.
AN Liang, LIU Yang, MO Hongfei. Design of radar information display based on Qt[J]. Modern Electronics Technique, 2011, 34(11): 26-28.
[3]劉興平,馬燕,杜利峰.插件技術研究初探[J].延安大學學報(自然科學版),2006, 25(1): 24-25.
LIU Xingping,MA Yan,DU Lifeng.The research of plug-in technology[J].Journal of Yanan University(Natural Science Edition),2006, 25(1): 24-25.
[4]吳振雄,趙立營.基于插件的情報雷達終端應用軟件設計架構[J].現代雷達,2013,35(增刊): 540-542.
WU Zhenxiong,ZHAO Liying.The application framework based on plug-in in over-the-horizon radar[J].Mordern Radar,2013,35(supplement): 540-542.
[5]王宏強, 張航峰, 李繼進, 等. 戰術指揮情報終端的插件式軟件框架設計[J]. 指揮控制與仿真, 2012, 34(6): 115-120.
WANG Hongqiang, ZHANG Hangfeng, LI Jijing, et al. Design of plug-in based saftware framework for tactical command & intelligence terminal[J]. Command Control & Simulation, 2012, 34(6): 115-120.
楊曉彥男,1984年生,工程師。研究方向為雷達綜合顯示技術。
徐慧敏女,1978年生,工程師。研究方向為雷達綜合顯示技術。
石三將男,1979年生,高級工程師。研究方向為雷達綜合顯示技術。
Radar Display Software Design Based on
Plug-in Unit Integration Technology
YANG Xiaoyan,XU Huimin,SHI Sanjiang
(Nanjing Research Institute of Electronics Technology,Nanjing 210039, China)
Abstract:The trend of modern integrated warfare is changing rapidly, the demand for the information security of various types of sensors is becoming higher and higher. The terminal display software as the window of the interaction between the radar information and the operation needs to be able to react quickly to different operational tasks, and the function can be reconstructed. Based on the operational requirements, this article puts forward a kind of software design method based on QT, which is based on plug-in integration. This software design technology is applied to a certain type of ship borne radar display terminal, which can satisfy the system's flexibility, high efficiency and expansibility. It has high practical significance and popularization value.
Key words:radar display software;plug-in technology;integration framework ;integration
收稿日期:2015-07-18
修訂日期:2015-09-20
通信作者:楊曉彥Email:tdbeyond@sina.com
中圖分類號:TN957.7;TP319
文獻標志碼:A
文章編號:1004-7859(2015)12-0088-05