基于组件技术的通用指挥系统框架设计
2020-09-17杨仁宝焦蓬斐
杨仁宝 ,杜 兵 ,杨 操 ,焦蓬斐 ,周 淦
(1.中国电子信息产业集团有限公司第六研究所,北京 102209;2.31432部队,辽宁 沈阳 110020)
0 引言
传统的指显系统一般是在Windows操作系统上使用微软工具开发,不满足可移植性和国产化的要求,同时在二次开发、快速生成显示页面等方面不能满足日益繁重的任务需求。因此,在进行新的指显系统设计时,软件平台的通用性、可移植性、可扩展性成为亟待解决的问题,有必要进行基于组件技术的通用指挥系统框架设计研究。指挥显示软件以提高航天器测控综合管理能力为目标,以国产化计算机系统建设的需求为牵引,从顶层需求和用户需求出发,设计能够满足未来任务要求和职能拓展的软件系统。
1 背景介绍
1.1 任务需求
航天测控信息具有实时性强、信息量大、可靠性要求高等特点[1],指显系统作为测控中心软件系统的一个重要组成部分,用于收集航天测控任务执行过程中的各类信息并以多种方式进行集中显示,为各级各类人员提供监视服务的通用平台,并为指挥员的指挥决策提供参考和依据[2]。
1.2 组件与框架技术
组件(component)技术是实现软件复用的重要方法[3-4]。用户可以将多个组件结合在一起,快速构成一个新的应用程序,能够提高开发速度,降低开发成本,增强软件可扩展性[5]。
基于组件技术业务系统的框架如图1所示,由提供支撑的公共组件、平台组件、显示组件等组成。显示组件用于业务数据的展示,不关注业务数据。基于组件技术的系统抽象程度高,可重用性更好[6]。
图1 组件技术框架
1.3 Qt
Qt是 Qt Company公司于 1991年开发的 C++图形用户界面应用程序开发框架,支持跨平台运行。Qt是面向对象的框架,使用一些宏以及特殊的代码生成扩展(MOC,元对象编译器),其易于扩展并允许真正地组件化编程。Qt具有良好的封装机制,可重用性好,模块化程度高。
Qt通过抽象出不同平台核心模块的原理和特色,针对不同平台所提供的API分别进行实现,实现了跨平台机制,通过Qt进行开发通用指挥系统,可实现系统跨平台复用特性[7]。另外,Qt具备“信号与槽”、元对象系统、事件系统等机制[8],可实现软件快速开发。
2 GDCA设计
2.1 系统架构
结合指显系统需求,在国产化计算机和操作系统下,采用Qt图形用户界面应用程序开发框架进行GDCA设计。指显系统架构共分为5层,如图2所示。
辅助层提供底层服务,为上层提供数据和管理支撑,主要包括数据存储、数据回放、数据库访问、版本管理、远程控制、地理信息服务。
数据层完成数据处理相关服务,包括数据接收、发送、缓存、解析转换、检索服务以及实时数据的监控功能。
图2 指挥显示系统架构分层图
平台层负责完成对综合显示软件的运行支撑,包括多任务场景支持、界面插件控制、运行日志管理、页面组件管理、页面显示管理、数据订阅分发、用户分类管理、数据回放控制、大屏投影管理、软件集中管控。
设计层具备对曲线、表格、二三维地图、逻辑框图、Web等组件的管理功能,用户通过页面编辑器加载组件库,能快速生成各种监视页面,并通过模拟数据进行页面验证。
应用层综合显示软件加载可视化设计平台生成的页面文件,接入实时/非实时测控数据进行页面展示。具备航天器早期测控、长期在轨管理数据监视和模拟训练等应用场景的功能。
2.2 功能组成
指挥显示系统包括数据预处理软件(Data Preprocessing Software,DPS)、综合显示软件(General Displaying Software,GDS)、可视化设计平台(Visual Design Platform Software)、运维支持软件(Operation and Support Software,OSS),如图 3 所示。
图3 指挥显示系统功能结构图
数据预处理软件用于接收、处理并存储所有接入到指挥显示系统的数据,对接入的数据进行格式化校验,对通过校验的数据进行数据解析。格式化是为了便于显示数据的内部形式,并根据显示需求将数据发布给综合显示软件的界面集成框架进行数据显示。
综合显示软件是指挥显示系统的核心部分,负责各类测控数据集中监视,是指挥显示系统的人机交互部分。主要包括:中心对内/对外信息交换的情况、各类实时传输数据的处理结果、轨道和控制计算分析子系统计算的各类计算结果等数据,以及为用户提供打印、保存图片、数据记盘与数据回放等多项服务;完成组件加载、与数据预处理软件的数据注册并接收数据等各项功能,并以表格、曲线和图形等方式向用户提供各类测控数据的实时或准实时显示。功能结构如图4所示。
图4 综合显示软件功能结构图
可视化设计平台包括页面编辑器和组件库,前者用于创建、编辑和设计页面,整合组件、理论弹道、参数字典、资源文件,为用户提供拖拽、属性设置、参数绑定等操作,帮助维护人员在页面中开展“可见即所得”的页面设计与布局调整。组件库是根据指显系统需求提炼出来的通用显示组件,能满足通用航天器指显系统需求,组件库为页面编辑器和综合显示软件提供组件资源,包括表格组件、曲线组件、遥测源码组件、二维地图组件、三维空间组件、框图组件、网页组件等,为页面设计和实时显示提供组件化支撑。
运维支持软件负责数据支持、版本管理、远程控制、日志管理等功能。
2.3 内部接口关系
指挥显示系统内部各软件模块间接口关系如图5所示。系统内部接口的数据信息如表1所示。
图5 指挥显示系统内部接口关系图
3 GDCA实现
按照GDCA设计要求,基于64位的操作系统,开发语言采用Qt 5.12.5版本,实现GDCA原型软件。
表1 指挥显示系统内部接口关系说明
表2 曲线组件测试结果
在该框架原型下对曲线组件进行了测试,测试结果如表2所示。其中,数据总点数是指组件接收的所有数据点数,显示点数是指曲线中实际显示的数据点数。曲线组件的CPU和内存占用率满足航天测控任务需求。
4 结束语
本文基于组件技术构建了GDCA框架,使用Qt进行了原型软件开发,结果证明GDCA框架具备较强的二次开发能力。用户通过图形化设计界面,快速生成显示页面,降低了页面配置生成的难度,提高了生产效率,本文研究成果为快速构建指显系统提供了参考,在航天测控领域具有一定的推广价值。但在组件的研制方面,目前主要对曲线和表格等进行了验证,下一步还需研究构建更多的组件,以满足航天测控的任务需求。