基于XSimStudio的态势显示系统设计
2016-09-06苏耀峰
苏耀峰
基于XSimStudio的态势显示系统设计
苏耀峰
本文通过对态势显示系统的分析设计,使用XSimStudio可扩展仿真平台提供的开发接口实现了地图背景设置、态势数据管理、态势显示控制、实体状态显示以及态势记录回放等功能,能够实时或回放显示模拟训练过程中产生的各类态势,为组织实施模拟训练和技术保障提供了有效手段。
态势显示系统是各类模拟仿真系统的重要组成部分,主要是在二维或三维地图背景上实时(回放)显示仿真空间内各种实体的相关状态信息以及天气、电磁等环境信息,为使用人员掌握仿真态势、处置训练情况、配合训练评估以及验证模拟训练方案合理性,组织实施各种保障提供手段。其设计的核心问题是选取何种地理信息平台、如何获取仿真空间内各种数据、如何映射这些数据并图形化显示这三个问题。
XSimStudio可扩展仿真平台是一个基于组件化建模与离散事件仿真技术的建模仿真平台,为各领域各层级的仿真系统提供了一揽子解决方案。它提供模型管理、事件管理、时间管理、数据采集等服务以及开发接口,遵守HLA/DIS/TENA等多种技术标准,为基于XSimStudio开发态势显示、分析评估等模拟训练系统提供了便利。因此,本文拟采用XSimStudio可扩展仿真平台设计一个通用性较强的态势显示系统。
总体设计
围绕态势显示系统设计中考虑的核心问题,以及XSimStudio仿真平台的主要功能,我们将态势显示系统设计为由地图背景设置、态势数据管理、态势显示控制、实体状态显示、态势记录回放等功能模块组成的系统结构,如图1所示。
其中,地图背景设置主要用于二维地图的选择、漫游、放大缩小等控制,态势数据管理主要用于态势数据的获取、更新和清除,态势显示控制主要用于态势信息的过滤显示,实体状态显示主要用于显示各仿真实体状态信息,态势记录回放主要用于记录回放训练态势及其变化情况。
详细设计
地图背景设置
地图背景设置可通过地图拼图表打开指定区域内的地图,也可根据数据库设置好的地图范围自动打开地图;地图打开以后,可实施自由漫游、放大缩小等操作,也可根据需要定位到指定位置。这些功能都是地理信息系统常用的基本功能,在XSimStudio仿真平台中也提供了封装好的API接口。在实现过程中只需直接调用相应的接口即可,在此不再累述。
态势数据管理
态势数据管理是通过XSimStudio提供的分布式仿真框架获取、更新态势数据,并可进行态势数据的主动查询和删除。其主要业务流程如图2所示。
系统首先从仿真框架获取实体数据并进行字段过滤,只保留位置、方位角、属方、级别、番号、军标号等对显示有影响的字段以及实体内码、数据状态等标识字段,并使用专门的数据结构进行保存。更新态势数据时,需要首先查找数据记录集,若有该实体记录则进行比对并更新相应数据字段和标识字段,若不存在该实体记录则新增数据记录并填充数据字段和标识字段。查询态势数据时,可根据实体内码标识字段唯一确定一条态势数据记录。删除态势数据时,可根据实体内码标识字段逐一进行删除,也可进行所有数据记录的整体删除。
图2 态势数据管理流程
态势数据管理中还有一类重要数据——航迹数据,航迹是实体运动位置的历史记录,标示了相应实体的运动轨迹。为了在态势上显示实体航迹,需要设计一个数据结构专门存储其历史位置信息。该结构可以以实体内码为索引,将实体的运动轨迹按照先后顺序进行存储。记录过程中,若前后两个航迹点数据相同则不记录,否则进行记录。为了增加灵活性和节约存储空间,可以对该结构的长度进行限制。通过限制长度,可以记录定长的航迹并可以进行动态调整。
图3 态势显示控制流程
图4 实体状体显示流程
态势显示控制
态势显示控制是根据态势数据记录集和对应的显示规则进行送显,并可以根据红蓝双方不同军种、兵种的显示需求进行过滤显示。其主要业务流程如图3所示。
系统首先根据态势刷新间隔遍历态势数据记录集,并使用已配置好的显示规则进行匹配,将不同属方、级别的军标进行颜色、大小的区分,并填充军标标绘数据结构。若遍历到数据状态为新增的态势数据记录,则使用军标标绘服务插入军标;若遍历到数据状态为已更新的态势数据记录,则使用军标标绘服务更新军标;若遍历到数据状态为未更新的态势数据记录,则不进行显示处理;若遍历到数据状态为删除的态势数据记录,则使用军标标绘服务删除军标。最后根据用户界面中的显示控制过滤条件,区分不同属方、级别,通过军标标绘服务提供的军标显示/隐藏功能进行过滤显示。
对于航迹数据的控制主要由用户界面进行控制,若用户选择显示实体航迹,则系统首先读取态势数据管理中的航迹数据,并使用军标标绘服务提供的插入军标功能插入航迹军标。考虑到态势显示过程中,大部分实体位置变化不大,同时为了减少系统频繁进行查找军标动作,在每次插入航迹军标之前,首先将用户界面中的航迹军标全部删除后再进行插入。若用户选择不显示实体航迹,则系统不读取航迹数据,并直接删除所有航迹军标。
实体状态显示
实体状态显示是根据需要利用态势数据管理建立的数据记录集使用表、图、文字等多种形式显示实体简要信息和详细信息。其主要业务流程如图4所示。
系统首先接收视图传递的鼠标点击事件,根据点击位置查找到所需要显示的实体军标,然后根据实体军标存储的实体内码查询态势数据记录集,若查询到相应记录,则根据记录的数据字段和显示格式,将实体简要信息显示在实体信息图表中;若没有查询到相应记录,则清空实体信息图表。在实体信息图表中,点击详细信息查询按钮,系统利用XSimStudio提供的查找集功能在对象管理器中查找该实体的所有状态信息,并以文字形式填充到相应位置。
态势记录回放
态势记录需要对训练过程中所有态势数据进行记录,既包括实体数据也包括事件数据。系统可以利用XSimStudio的记录功能,通过修改配置文件相应配置项的方式,实时记录当前态势信息并保存到态势记录文件中,文件在路径“MTPTSMFrameSDKRTMData”下,以“.xscn3”结尾,此处不再详细介绍。
态势回放支持从任意时间点开始回放,以及前进、后退、加速、减速、暂停、继续等多种方式的回放操作。系统首先通过XSimStudio的回放数据文件数据源接口方法为回放数据文件数据设置数据提供者;使用设置仿真框架方法为回放数据文件数据源设置主框架。其次,通过加载想定文件接口加载态势记录文件,只有态势记录文件成功加载之后,数据提供者才能正确获取到当前想定的具体信息。再次,通过数据提供者设置数据源方法设置数据源,设置数据源成功后,数据提供者可以获取想定运行时的信息。最后,回放过程中的开始、快进、快退、停止、继续等操作均使用仿真平台运行控制方法进行控制并读取对应时刻想定数据,进而获取对象管理器中各类实体状态数据。状态数据的管理和态势的显示控制和前面的实时态势显示一致,在此不再累述。
结语
通过系统设计,该态势显示系统具备了地图背景设置、态势数据管理、态势显示控制、实体状态显示、态势记录回放等功能,能够综合显示红蓝双方的作战态势,支持分类、分层、分级、分区域的态势显示和控制,能够对战场实体状态进行显示和查询,并可以对训练态势进行全程记录和按需回放。该系统具有通用性强、可扩展性好等特点,可广泛应用于各类模拟训练系统建设。
苏耀峰
国防信息学院
苏耀峰,男,硕士,国防信息学院,主要研究方向为信息系统开发与运用。
10.3969/j.issn.1001-8972.2016.07.013