APP下载

基于插件集成技术的雷达显示软件设计

2016-01-22杨晓彦徐慧敏石三将

现代雷达 2015年12期
关键词:集成

杨晓彦,徐慧敏,石三将

(南京电子技术研究所, 南京 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用来存储所有插件的实例对象。PluginMana通过readPluginInfo(paths:QStringList)读入插件库的路径信息,通过addPlugObj(obj:QObject)添加一个具体的插件对象,通过 removePlugObj(obj:QObject)删除一个具体的插件对象。集成框架初始化时生成一个MpluginLoader框架类对象在其功能函数loadPlugin(obj:QObject)的定义中通过实例化的PluginManage加载所有查询到的插件-pPluginManage->addPlugObj(obj:QObject)。在PluginManage类的统一调度之下,所有插件被依次加载与初始化,随之进入正常的运行状态。集成框架相关类图如图3所示。

图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类型的配置文件决定,配置文件的规范如下所示:

Core

DataManage

DispCtrl

TrackLayer

Sys_Bit

这段配置文件说明了名为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

猜你喜欢

集成
寒地水稻种植机械化技术集成与推广
浅谈企业信息化系统集成
数字化监控系统的企业应用
民机强度试验室多台液压油源集成方案设计
温室大棚自动监控系统的集成
阳台集成式景观设计方法初探
对军队财务信息系统集成建设的思考
集成一体化智能熔点仪的研究
军队财务信息系统集成基础分析