面向航天任务的可视化应用拓扑建模方法研究

2022-09-05 12:24刘贵聪
网络安全与数据管理 2022年8期
关键词:页面组件可视化

刘贵聪,周 淦,杜 超,蒯 亮,赵 爽

(1.华北计算机系统工程研究所,北京 100083;2.北京跟踪与通信技术研究所,北京 100094)

0 引言

近年来,为了应对国际航天领域的激烈竞争,中国航天科技创新呈现井喷式发展,开展了一系列重大航天发射科研任务,总体呈现多区域、多型号密集发射的发展态势。这就对各专业在任务的快速准备、快速装订、快速切换以及指挥、保障场景的多元呈现、动态构建等方面提出了更高的实时性要求。传统的航天指挥、监控等业务系统软件采用“瀑布式”开发流程,以用户需求文档的确立为标志,进行软件需求分析,编写软件需求文档,然后开展软件设计、编码、测试、维护等工作。由于不同航天器及飞行任务差异化较大,且未能形成统一标准,业务系统软件往往定制化程度较高,要做到在不同任务中的重复使用较为困难。缺乏可以复用的软件和有效的辅助设计手段导致开发效率低下,已难以适应新的发展需求。

目前应用较多的可视化应用拓扑建模方法大体分为两种[1]:一种是基于交互绘图的定制开发,将图形类封装到应用软件中,该方法较复杂,开发周期长,代码量呈几何程度增长,不利于系统的灵活拓展及后期维护;一种是基于QtUiLoader的一次开发,该方法将图形封装成动态库供框架调用,采用功能热插拔式的“框架+插件”架构,简化开发难度,缩短开发周期,降低系统维护复杂度。然而,行业内没有形成通用可视化应用拓扑建模平台,已有建模方法使用范围较小,仅适用自己所在业务领域,形成系统烟囱,且对新设备、新任务、新型号扩展支持较差,往往需要重新开发或增量开发。

为了解决上述问题,本文提出了一种可视化应用拓扑建模方法。通过制定一套统一的数据和逻辑交互接口,设计了一种用户自定义场景建模和应用软件自编程方法。该方法将场景元素抽象为数据驱动的逻辑、拟物两类图元库,并内置相应算法,具备绑定参数的判定和处理能力,能够快速构建出如决策树、流程图、关系图、动态管线图、设备图等场景页面;可快速实现新型号、新任务场景的拖拽式、可视化拓扑建模,图形绘制和系统显示,既丰富了展示手段,又有效提高了航天任务准备效率。

1 相关研究

1.1 基于交互绘图的定制开发

在国产化平台下,使用C++开发语言,基于交互绘图基础方法面向用户需求进行图形应用程序开发为定制开发。

利用C++程序设计中类的思想,将图形交互接口与数据逻辑接口封装到一起形成一个类。利用这种方法,将简单的几何图形再封装成特定图形及功能组件,每种元素封装成一个类,通过在应用程序中调用这些类实现系统应用的交互界面。基于交互绘图的定制开发方式实现逻辑图如图1所示。

页面图元需要图元单态进行组合形成,同时系统的某些图形、部件、设备等复杂图元都需要几个图元单态组合绘制而成,组合后再提供给应用程序绘制到页面。因此每种图形都需要在整个系统软件资源里单独建立一个类,对于简单的图形以及元素类型较少的系统来说,这种软件开发方式较为简单,但对于图形结构复杂、元素种类多、功能丰富的系统,特别是现在一些图元组件要求具备数据运算和处理功能,用这种开发方式必然使开发周期延长,代码量呈几何程度增长,不利于系统的灵活拓展及后期维护。

1.2 基于QtUiLoader的一次开发

在国产化平台下,使用C++开发语言,基于Qt基础框架及QtUiLoader基础特性[2],构建可视化拖拽平台及热插拔式的基础图元组件库,利用一套“平台+插件”“共性+特性”框架设计思路实现应用软件页面可视化编辑[3]。这种方式充分利用开源框架的成熟特性,结合航天发射领域的特殊需求,实现灵活扩展、多任务通用的可视化页面拓扑建模。本研究采用此种方式进行开发设计。

该方式功能强大且具有较强的可扩展性,但是开发难度也相应较大,其将软件主键流程封装并抽象出共性,将主流程与个性化实现分离,将不再影响系统主流程[4]。进而实现面对新型号、新任务、新增设备等情况需要增加需求或者变更系统处理流程时,能够在不影响存量的情况下,增量式地维护系统功能[5]。基于QtUiLoader的一次开发逻辑图如图2所示。

图2 基于QtUiLoader的一次开发逻辑图

2 可视化应用拓扑建模分析

航天任务可视化需求不同于传统形式,不同任务的载荷、平台、发射形式、保障形式均有差异。相应地,各业务系统可视化拓扑结构、数据处理逻辑就要做出一定的调整。

为了建立适应不同任务的可视化应用拓扑模型,本文分别定义了可视化处理框架、数据处理、逻辑处理、数据订阅、关联参数、逻辑节点、简单构件、逻辑图元、拟物图元、参数处理方法、拓扑结构连接、结构连接、逻辑连接、关联动作判定、逻辑关系处理、可视化样式库、页面布局等元素对可视化拓扑结构的构建及数据驱动关联动作进行描述。可视化应用拓扑模型结构如图3所示。

图3 可视化应用拓扑模型结构

将可视化处理框架用数据处理、逻辑处理两个维度进行描述。按照功能和结构特性归纳为逻辑图元和拟物图元,其中逻辑图元主要包含决策树、流程图、关系图、动态管线图等;拟物图元主要包含开关、按钮、状态灯、管道、线路、网络设备、遥测设备、外测设备、码表、储罐等。

数据处理对订阅实时数据与理论数据处理方法进行描述。在任务系统中由逻辑节点、简单构件作为基本构建单元,构成了更复杂的逻辑图元和拟物图元,从基本构成单元中包含的开关量、状态量、关机量等元素中解构出参数信息进行订阅并灵活绑定适用的参数处理方法,从而适应灵活复杂的参数特性。

逻辑处理对可视化拓扑结构的构建及样式布局设置方法进行描述。按照实际使用需求通过逻辑连接和结构连接构建应用拓扑图,并对逻辑节点进行关键动作判定和逻辑关系处理方法绑定。根据需求调整布局与样式搭建不同任务需要的可视化效果。

本建模方法把数据处理与逻辑处理分离,将参数数据处理与显示要素布局解耦,丰富了显示模式,并且支持组件间联动机制,只需增量更新图元组件库即可覆盖航天发射任务不同型号、不同场景的显示应用需求。

3 可视化应用拓扑建模平台设计

3.1 可视化应用拓扑建模平台架构设计

本文提出了“平台+插件”、“共性+特性”的可视化拓扑建模方法,采用基于QtUiLoader的一次开发方式实现了一套页面编辑软件[6]。

可视化拓扑建模系统按照功能划分为基础支撑层、基础资源层、基础服务层、平台接口层、图元组件库、功能应用层[7]。具体架构图如图4所示。

图4 可视化拓扑建模系统架构图

基础支撑层为系统提供基础的运行环境和支撑条件,主要包括国产化操作系统、硬件终端、轻量化数据库存储资源和Qt开发环境。

基础资源层为系统提供基础的加载资源,是资源的主要输入,为系统提供设备连接图、背景图、云图、气象图、地理信息资源、视频监控资源、任务介绍、通讯录、人员信息、任务文书等图片资源、视频资源、文字资源、文件资源。

基础服务层为系统提供平台级功能,是所有组件的共性资源抽取,不需要组件实现,主要包括显示过滤服务[8]、图形缓存服务、显示布局服务、组件管理服务、动态渲染服务、UI交互处理服务、画板功能组件、标注功能、调色板功能、几何变换功能、数据订阅、数据缓存、数据处理、协议管理、UI显示、拟物图元引擎、逻辑图元引擎、配置保存功能、任务加载功能等。

平台接口层为系统提供平台到应用层及组件的交互接口,是系统对内对外的门户,主要接口包括绘图接口、数据接口、控制接口和日志接口。

功能应用层为系统提供上层交互操作,包括画面编辑、画板绘图、图元加载、数据建模、画面组织[9]等。

图元组件库为系统提供组件级功能拓展,根据需求增量式的维护,按照类型可分为拟物图元、逻辑图元、画笔、图形等。

3.2 针对航天建模的“插件”功能设计

在航天业务系统中存在多组件状态关联显示的情况,传统做法是新建数值型或状态型虚拟参数,由中心机数据处理服务生成虚拟参数数据,业务软件按需订阅虚拟参数进行状态显示。该方法应用在新设备、新型号、新任务时需要修改中心机数据处理服务代码,创建新的虚拟参数,不利于系统扩展和状态维护。

本系统设计组件关联机制,在页面创建时,只需配置组件关联关系,并配置运算方式,即可实现关联状态处理,并扩展到拟物图元和逻辑图元。该方法没有新增虚拟参数,在数据层面保证系统一致性。

图元组件库中拟物图元和逻辑图元均继承QtUiLoader接口,从而支持拖拽式布局,组件及布局不需要二次开发可直接加载到实现相同接口的业务软件,实现所见即所得,极大提高了任务准备效率。图元组件结构设计如图5所示。

图5 图元组件结构图

图元组件继承QtUiloader,可被框架动态加载,并在组件中实现receiveData、subState、pubState接口,以回调的方式实现本组件数据和关联状态处理逻辑。

3.3 可视化应用拓扑建模系统流程设计

运用该系统进行可视化拓扑建模根据任务种类和型号类型可分为两种模式,分别为基于新型号任务的建模和基于历史任务的建模。在对历史任务进行建模时可导入已有同类型任务建模资源,只做增量修改即可。可视化拓扑建模流程如图6所示。

图6 可视化拓扑建模流程图

首先,判断任务类型并与历史任务库匹配相似任务,若匹配成功则直接载入历史任务,包括:已配置的页面布局文件、历史任务参数信息、历史任务理论数据等,可基于历史任务进行增量修改及新增页面,大大降低了该类型任务准备工作量;若匹配失败需录入新任务信息,包括:任务名称、任务代号、任务参数信息、任务理论数据、任务菜单结构等。

任务匹配完成后,根据匹配结果及任务需求梳理页面需求,配置新增页面。

其次,初始化图元组件库,刷新图元组件列表,为用户展示可使用资源。新建空白页面,分析任务页面要素需求,选中图元组件拖拽到空白页面中,并配置图元样式及结构布局,重复上一步,直到完成该页面所有图元组件。

连接相应的图元关节件,配置图元联动关系。按图元种类配置逻辑规则和拟物动作效果,以及相应的阈值、特征值。

最后配置图元数据源,自动判断配置正确性。配置完成后保存页面配置到本地文件,供业务软件加载使用。

4 应用实例

以指挥显示系统为例,根据所设计的“平台+插件”思想,实现可视化拓扑建模平台,并为指挥显示系统开发一套图元组件库。

4.1 建立基础建模平台软件

首先根据系统架构,实现抽象提取的基础服务及接口功能,完成基础建模平台软件的创建。平台基于Qt Designer源码实现,继承了Qt原生的可视化操作界面[10],具备UI文件管理、编辑、页面布局、组件管理、属性管理等基本功能。在现有基础上实现过滤、缓存、数据订阅、任务加载、特殊属性管理等机制。同时,定义逻辑图元和拟物图元的加载框架,能够承载新增的一系列特殊图元。新增任务管理模块,能够加载任务树结构,展示任务页面结构。

基础建模平台的建立,并不能实现系统所有功能,只是将程序面向对象,提供组件库及基础数据的加载平台,实现与用户的交互功能。系统需要提前录入任务信息、实时数据资源配置信息、历史数据资源信息,需要任务资源配置工具来完成相应功能,并在平台中提供按钮唤醒[11]。

4.2 任务资源配置工具

为了配置录入系统运行需要的基础数据,需要实现任务资源配置工具,该工具直接操作数据库[12],是数据库的维护管理工具。

任务资源配置工具能够管理所有任务,包括新建、查看、修改任务的基本配置如任务名称、任务代号、任务描述信息;能够配置任务的参数字典,管理系统所有的实时数据解析信息[13];能够配置任务的数据主题,建立实时数据到订阅数据的映射关系,为组件提供实时数据与历史数据的订阅信息;为了实现多终端同时编辑任务,提高系统工作效率,该工具能够将配置信息更新到网络库,能够将网络数据库信息拉取到本地。

4.3 建立图元组件库

基础建模平台与任务资源配置工具建立后,需要建立图元组件库,为简化软件开发,将图元组件分为逻辑图元、拟物图元两大类。逻辑图元包括决策树、流程图、关系图、动态管线图、设备图、进程图六种图元;拟物图元包括开关、按钮、状态灯、管道、线路、网络设备、遥测设备、外测设备、码表、储罐、曲线图、折线图、柱状图、饼状图14种图元。逻辑图元体现拓扑构图关系,通过将逻辑图元的元素按照一定的逻辑关系进行配置实现各种逻辑关系;拟物图元体现管线及设备连接关系,通过将拟物图元通过管道、线路连接并配置动作效果,实现联动效果[14]。组件库根据任务、型号需要增量更新[15]。

表1中的相关统计数据在单人操作、每次任务包含500个显示页面的前提下得出。可以看到,基于可视化应用拓扑建模方法研制的建模平台在单人一次任务、单人单页面的配置准备时间上均有较大提升。随着操作员使用熟练度的提升,在使用效率上还会有较好的表现。

表1 建模方法效率比较

5 结论

本文主要研究了航天任务的可视化拓扑建模方法,对当前技术路线可行的两种方法进行分析比对。针对航天任务复杂多样、型号多的特点,面向航天任务的可视化拓扑建模设计开放可拓展架构,提出一种基于QtUiLoader的应用程序实现方法,其具有开发难度低、开发周期短的特点。并以航天指挥显示软件为例,应用该方法进行应用软件程序开发,实现了对航天指挥显示软件系统页面可视化拓扑图形的建立。

本文提出的方法在解决航天领域任务岗位人员对任务页面配置繁琐、工作量大等问题中有非常显著的效果,能够大大降低任务岗位人员在任务准备阶段的工作量,提高工作效率。该研究在开发面向航天任务的可视化拓扑建模应用程序方面有一定的参考价值,但在系统人机交互、可视化拓扑建模与业务系统仿真分析的衔接方面还需作进一步工作。

猜你喜欢
页面组件可视化
刷新生活的页面
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
无人机智能巡检在光伏电站组件诊断中的应用
思维可视化
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
答案
让Word同时拥有横向页和纵向页
一种嵌入式软件组件更新方法的研究与实现
“融评”:党媒评论的可视化创新