马 莉,王建国,韦勇宇,闫建鹏,宁文学
(北方自动控制技术研究所,太原 030006)
基于图元的火控系统人机交互界面的实现
马 莉,王建国,韦勇宇,闫建鹏,宁文学
(北方自动控制技术研究所,太原 030006)
本文提出基于图元的火控系统人机交互界面,在客户端/服务器信息处理与显示模式下,根据火控系统人机交互界面的实际需求,设计出所需的图元库。然后,利用图元库设计出部分UI界面,完成UI界面的注册过程以及相应的控制文件的编写设计,将用户操作同界面数据进行关联。最后,设计并搭建显控服务和图元终端,采用DDS通信协议,实现服务器端和客户端的数据传输。该设计过程将界面显示与应用程序、逻辑处理、业务过程相分离。这种设计思想符合模块化、系列化发展思路,与模块化火控设计思想一致。
图元,人机交互界面,模块化火控系统,C/S架构,DDS
当前压制武器火控系统发展主要随型号分立研制,一型武器研制一型火控系统。由于缺乏顶层设计,未建立层次分明、灵活配置的统一体系架构,火控系统升级改造往往“牵一发而动全身”,局部功能的升级有时需要通过系统改动来实现。导致通用性差、模块化程度低、接口繁杂、保障复杂,软件耦合度高、升级维护困难,对武器平台性能提升和功能拓展形成了制约。而模块化火控系统采用系列化、模块化、跨平台的系统架构,建立压制武器火控的模块化技术体制,是压制武器平台化发展、装备高效化发展和快速形成战斗力的必然需求。此外,模块化火控系统可以形成通用的功能分区、标准的基础流程和风格一致的人机交互模式,有利于部队训练使用和快速掌握。因此,模块化火控系统的产生有其必要性和重要性。而基于图元的火控系统人机交互界面符合模块化、系列化发展思路,与模块化火控设计思想一致。
传统的火控系统人机界面是基于“嵌入”方式进行的,应用程序设计人员在设计软件时,是按照功能及界面两方面要求混合编写用户界面和应用功能两部分程序。在这种传统的设计模式下,设计人员必须同时兼顾图形表现的设计及其逻辑功能设计,这大大增加其设计负担,更重要的是,用户界面只要稍有变动,应用程序就需要作出相应修改且需要重新编译,对于不同的显示界面需要不同的应用程序。这样不仅增加了工作量,而且不易于操作和维护。
而基于图元的火控系统人机交互界面在设计时将界面显示与应用处理相分离,保证服务器端软件的升级不会影响客户端软件的运行状态。另外,采用客户端/服务器信息处理与显示模式,实现信息集中处理、分布显示,提高武器系统信息共享程度,显示终端可以在不更改服务器端应用程序的前提下根据作战需求进行灵活配置。这种界面图元化设计方法能够提高火控系统软件复用性和设计效率,增强软件可扩展性,对火控系统人机交互界面的设计和开发具有重大意义。
图1 图元化界面显示示意图
图元化界面显示过程由图元显示控制服务、图元引擎、图元库、图元文件和图元显示5部分支撑。如图1所示,其中图元显示控制服务负责针对界面切换任务,选择对应的图元文件作为界面显示描述文件;负责解析当前运行状态,把需要显示的图元类型和图元属性信息发送至客户端。客户端图元引擎负责解析接收到的显示内容,在图元库中查找对应图元;负责将用户操作发送至图元显示控制服务,以触发任务流程。客户端图元显示负责根据图元文件和图元库中的图元进行界面组装和显示,并捕获用户操作。
图元化界面实现过程:用户对界面中具有交互功能的图元进行操作后,图元引擎负责解析动作,把当前动作发送至图元显示控制服务,图元显示控制服务根据当前所在图元界面和动作类型,完成对应逻辑功能,并向图元引擎返回新生成的图元描述内容,图元引擎根据描述内容对图元显示界面进行更新。
这种界面图元化设计方法主要侧重于减轻开发设计人员的负担,并且有利于后续的扩展和复用。所设计的呈现给用户的界面在一定程度上可以与旧的界面有一样的感观效果和操作体验,但正是由于这样,新的开发方式设计出的界面,用户更加容易接受,无需另外培训。同时,还能提高火控系统软件复用性和设计效率,增强软件可扩展性。
炮长终端、操控终端和任务服务模块采用客户端/服务器架构。如图2所示,其中的任务服务软件由信息接口模块、任务服务模块和数据库模块组成。任务服务模块与炮长终端和操控终端软件之间在以太网基础上采用DDS中间件进行信息交互。炮长终端和操控终端作为客户端,完成输入输出控制;任务服务模块作为服务器,完成信息获取、处理和数据存储。客户端与服务器采用统一的通信服务完成客户端软件与对应服务的信息传递。
图2 火控系统通信原理图
下页图3为火控系统组成框图。其中,人机交互单元由炮长终端和操控终端组成,终端的人机交互界面均采用图元化界面显示过程设计。
图3 火控系统组成框图
本文最初先确定火控系统显示界面,然后分解提取图元,并进行接口封装。然后,在Qt平台下利用图元进行图元化界面设计过程并产生相应的UI界面文件。与此同时,编写服务器端的显示控制服务程序,进而完成客户端/服务器架构的搭建。最终通过DDS进行终端与服务器的通信。该软件通过将界面显示与应用处理相分离来保证服务器端软件的升级不会影响客户端软件的运行状态,从而验证图元化界面设计的优越性。
如前所述,本文提出基于图元的火控系统人机交互界面,在客户端/服务器信息处理与显示模式下,通过分解火控系统人机界面的图元符号,经过设计,形成标准的图元库。采用界面图元化思想开发设计人机交互操作界面,实现信息集中处理、分布显示,提高武器系统信息共享程度,显示终端可以在不更改服务器端应用程序的前提下根据作战需求进行灵活配置。具体设计思路可分为以下几点:
①对图元化人机交互界面架构设计原理进行深入研究;
②根据火控系统人机交互界面的实际需求,设计出所需的图元库;
③利用图元设计部分UI界面,并编写相应的控制文件,实现用户操作同界面数据的关联;
④设计并搭建显控服务和图元终端,采用DDS通信协议,实现服务器端xiangkongfuwu和客户端tuyuan的数据传输;
⑤对软件的实现效果进行演示验证。
在实际设计中,在Linux环境下使用Qt创建两个项目,分别为服务器端的xiangkongfuwu和客户端的tuyuan,项目xiangkongfuwu模拟火控系统的任务服务模块中的显示控制服务部分,而项目tuyuan模拟显示终端。二者采用DDS中间件进行通信,DDS应用开发接口与底层硬件完全分离,上次应用无需关注底层硬件情况,应用程序只需调用发送或接受函数传输数据。DDS利用QoS对不同类型报文设置传输策略,保证数据传输及时性和可靠性;通过调用DDS通信模块的接口函数实现通信,部分接口函数详见表1:
表1 DDS通信模块的接口函数
3.1 图元库中部分图元的设计分析
图元主要根据火控系统显示界面的具体需求来制定。为使火控显示系统的人机图形交互界面更加丰富,使应用程序开发更加简单方便,开发周期更加简短,使图形显示更具有继承性和标准化,需开发一套火控系统显示界面所需的具有标准图形界面的图元库。
基于Qt的图形图元扩展库能够基本满足开发人机图形交互界面的需求。图元库具有可视化功能,即所见即所得,便于开发者进行人机图形界面的开发。该图元库提供基本的图形API交互接口,便于用户应用程序的二次开发。开发的最终形式为可应用于在Linux环境下QT Designer的.so扩展插件。
实际设计中,采用了一个图元对应一个图元类,所有图元类都继承自同一父类的设计方式。该父类名为QWidget,包括了图元所有通用属性和操作的设计,所有图元的通用属性类别大致相同,属性值因具体图元而异。每一个图元类的属性参数包括图元状态参数、风格设置参数、位置尺寸参数和各自特有参数,也就是说,每个图元类都包含了继承自QWidget的通用属性和各自封装的特有属性。
例如,图元Button是火控系统人机交互界面中最常见和使用最频繁的图元插件。Button类除继承自QWidget类的通用属性外,Button类有自己封装的属性,即图元Button的特有属性。图元Button与Qt设计器Qt Designer中Widget Box里自带的按钮部件不同,它封装了自己的特有属性,例如形状、颜色、大小、样式以及鼠标点击和鼠标释放时显示不同的视觉效果等。图元Button的绘制过程如图4所示。
图4 图元Button的绘制过程流程图
图元库中的图元对后期界面的设计很重要,是界面设计的基本单元和重要组成部分。为界面设计打下良好的基础,所以创建图元库是火控系统人机交互界面的核心。此外,随着人机交互界面的不断发展以及定制个性化图元的需求,图元库还需要继续扩充,不断完善。
3.2 火控系统人机交互界面的设计
本文提出将界面图元化思想应用到火控系统人机交互界面设计过程中,根据火控系统的实际需求,进行终端界面的设计。火控系统人机交互界面在具体设计时按功能可以分为报文(报文显示和上报编辑)、导航(地图指示)、技术阵地(系统巡检、惯导寻北等)、发射(发射控制、发射状态监控等)、系统管理(权限设置、IP设置等)等界面。火控系统人机交互界面设计框图如图5所示。界面设计过程的示意图如图6所示。
图5 火控系统人机交互界面设计框图
图6 界面示意图
UI界面直观描述了界面上显示的所有信息。在上一章建立的图元库基础上,本课题通过Qt集成环境自带的Qt设计师所见即所得,可直接设计出所需UI界面,然后在服务器端进行注册并进行相应的逻辑处理。在Qt Designer,即Qt设计师环境下,根据火控系统人机交互界面的实际需求完成所需UI界面文件(.ui文件)和对应控制文件(.ctrl文件)的设计,所有界面文件和控制文件组成定义文件(DFiles)存储在图元终端存储器中供其调用,图元终端根据所得路径加载不同的ui文件,并显示界面;同时加载控制文件,将用户操作动作与数据获取。
图7 图元终端显示原理图
图7中显示窗口内可显示多个不同的UI界面,各UI界面由结构化的图元组成,且同一个图元可应用于不同UI界面,这里把每一个UI界面看做一层,每一层在服务器端的xiangkongfuwu中均注册为UI类,所有UI类继承自同一父类,即基础类UiBase,基础类中定义了所有类的共有函数,如初始化函数、事件处理函数以及界面切换函数等,这一共有父类的定义更有利于所有界面类的统一调配。在注册之后可直接通过类名对相应界面进行逻辑处理。这种对图元终端显示界面进行层次划分并实现分层管理的方式可以大大提高其设计模块的可移植性,能够满足未来定制化火控系统人机交互界面的发展需求,设计人员只需按操作员的操作习惯规划各层的显示内容及功能即可。
3.3 图元化界面性能分析
为了验证图元化人机交互界面开发设计方法较传统界面开发方法的优势,本节将就两种界面开发方式进行如下比较。
选择一个典型的火控系统功能:弹种扩充功能。设计时需要增加新弹的显示和选择功能,而且要增加针对新弹的操作流程界面。操作流程界面包括“卫星对时”,“装定参数”,“传递对准”,“状态查询”等操作流程界面。
使用图元化人机交互界面的开发方式,在客户端利用图元插件直接设计出所需界面文件,完成了新弹种操作流程界面的描述。同时,加入了相应的界面控制文件,实现了弹种的选择和显示功能。在服务器端增加了弹种流程中各功能的业务逻辑处理代码。开发耗时1个工作日,调试耗时0.5个工作日。调试过程中共发现4个软件问题,但很快定位,问题得到解决。
使用传统的界面开发方式,不能直接使用图元库中现有的图元插件,弹种扩充后需要增加的“卫星对时”,“装定参数”,“传递对准”,“状态查询”等操作流程界面均需要重新开发设计,在对业务非常熟悉的前提下,经过实际编写设计,开发耗时3.5个工作日,调试耗时2.5个工作日。调试过程中共发现12个问题,业务逻辑代码和界面显示代码紧耦合,难以定位,问题虽得到解决,但耗时较长。
通过亲测对比得到结果,如表2为两种人机界面开发方式的开发效率对比表,表3所示为两种人机界面开发方式下出现的软件问题对比表。
通过以上对比分析,在客户端/服务器信息处理与显示模式下,图元化界面设计方法将在业务逻辑处理与界面显示相分离,并利用图元库中现有的图元插件进行界面开发,与传统人机界面设计方法相比,开发效率更高,调试周期更短,软件问题更少。因此,图元化人机交互界面开发设计方法较传统人机界面设计方法更具有优势。采用图元化界面设计方法能够提高火控系统软件复用性和设计效率,增强软件可扩展性,对火控系统人机交互界面的设计和开发具有重要的意义。
表2 开发效率对比表
表3 软件问题对比表
本文对基于图元的火控系统人机交互界面设计过程进行了较为深入的研究与开发,实现了预期的功能,并对软件的实现效果进行演示验证。由于其特有的优势,界面图元化的思想在火控系统中乃至兵器领域会有很好的应用前景。具体来讲,后续的研究工作主要按照下述方面展开:首先,由于时间关系和个人应用经验不足,本文不能将火控系统所需各类界面都涉及到,以便形成一个更系统,更完善的软件界面集合,所以在以后的工作中,还需进一步对软件界面进行添加完善并优化设计;其次,现有显示终端所使用到的图元有一定的局限性,能够满足简单画面的显示需求。然而,随着火控系统人机交互界面的需求变化,或者是应用到更多其他的显示设备上,则要提供更多图元部件的支持。因此,后期需要加入更多的图元部件,在现有图元库的基础上,进一步维护、扩充和完善图元库,相应的研究与设计任务还比较重。
[1]陈春甫.基于DDS的数据分发系统的设计与实现[D].上海:复旦大学信息科学与工程学院,2008:13-25.
[2]Pardo-Castellote.DDS spec outfits publish-subscriber technology for the GIG[J].COTS,2005,30(4):50-55.
[3]李艳民.基于Qt跨平台的人机交互界面的研究和应用[D].重庆:重庆大学,2007:14-18.
[4]方志刚.人机交互技术综述[J].人类工效学,1998,4(9):64-66.
Realization of the Human-computer Interaction Interface of Fire Control System Based on Graphic Element
MA Li,WANG Jian-guo,WEI Yong-yu,YAN Jian-peng,NING Wen-xue
(North Automatic Control Technology Institute,Taiyuan 030006,China)
In this paper,an interactive interface of fire control system based on graphic elements is proposed,in the client/server information processing and display mode,according to the actual requirements of the fire control system of man-machine interface design,a graphics element library required is designed.Then,a part of the UI interface is designed by using the graphic element library,the registration process of the UI interface and the design of the corresponding control files are completed,and the user operation is related to the data of the interface.Finally a display and control service and graphic element terminal is designed and built by using DDS communication protocol.By this way,the data transmission of the server and client is realized.At the same time,the interface display is separated from application program,logic processing and business process.This design can meet the modular and serialized development ideas,and be consistent with the idea of modular fire control system.
graphics element,human-computer interaction interface,modular fire control system,C/S architecture,DDS
E92;TJ02
A
10.3969/j.issn.1002-0640.2017.07.037
1002-0640(2017)07-0170-05
2016-05-05
2016-06-17
马 莉(1989- ),女,山西霍州人,硕士研究生。研究方向:系统工程。