基于XML的试验想定编辑软件设计与实现
王枭雄,任磊,王丽华
(中国电子科技集团公司第二十研究所,西安,710068)
摘 要: 为解决试验想定快速、便捷制作的问题,本文提出了一种基于XML的试验想定编辑软件设计方案。方案根据想定编辑软件的需求采用面向对象方法划分模块并设计。想定内容以结构化的XML语言定义,实现了信息的规范化描述,保证了想定文件可重用、易扩展的特性。最后采用C#语言结合WPF框架编程实现了该想定编辑软件,软件具有良好的人机交互界面,能够快速开发需要的试验想定,目前已应用于多个项目的试验工作。
关键词: 试验想定;想定编辑;模块化;XML;WPF
0 引言
想定是指按照训练课题对作战双方的企图、态势以及作战发展情况的设想和假定,是进行指挥作战不可缺少的一环。在武器装备研究试验时,由于相关的实装训练成本高昂且存在各种限制因素,往往需要通过试验想定利用仿真技术为其构建基本的战场环境[1]。面对试验需求的多样性和复杂性,如何能够快速、便捷地生成期望的想定文件,对于试验参与者而言,是一个非常重要的问题。
目前在作战想定研究方面,较典型的是加拿大VPI公司推出的想定工具集成与生成环境(Scenario Toolkit And Generation Environment, STAGE)。STAGE能产生包含智能实体在内的逼真的战场想定,但是STAGE的通用性和适应性较差[2],要真正实现想定的推演及计算机兵力生成,常常需要对STAGE进行定制化的二次开发,要求专业化知识且复杂困难,想定的制作周期较长。同时,STAGE软件还存在成本高昂,更新维护困难的缺点。因此,为方便快捷的生成试验想定文件,本文提出一种基于XML的想定编辑软件设计方案,并通过编程实现了该软件。
到杭州之后,李树化很快就出现了钢琴曲创作的一个高潮时期:当年就谱写了钢琴曲《湖上春梦》,1929年完成了钢琴曲《艺术运动》,1930年创作了钢琴曲《林间》。这一年的年底,他完成了献给妻子的钢琴曲《如此温柔》,表达了他对妻子的一往深情和感恩。
治疗中的监测:治疗过程中每2~3个月检查第二性征以及测量身高;首剂3个月末复查GnRH激发试验,如LH激发值在青春前期值则表示剂量合适;此后,对女童只需定期复查基础血清雌二醇(E2)浓度或阴道涂片(成熟指数),男童则复查血清睾酮基础水平以判断性腺轴功能的抑制状况。每6~12个月复查骨龄1次,女童同时复查子宫、卵巢B超。
1 总体需求
作战试验想定是相对于军事想定而言,侧重于虚拟战场作战环境中所需的各种数据。作战试验想定的内容包括地理信息、气象信息,红蓝双方兵力部署、兵力编成、武器装备、航路信息、作战计划等信息。由于想定编辑是一个人机交互的过程,因此想定编辑软件在设计时除满足想定所需的信息外,还应具备良好的人机交互性,支持在二维GIS地图上进行可视化作战兵力设置、航路规划、作战计划制定等操作。为实现快速编辑想定,同时满足试验任务多样化的需求,还应支持对典型态势的快速部署和对当前想定结果的预览功能。
2 设计
根据总体需求,按照面向对象模块化设计思想,试验想定编辑软件的主要功能可以划分为八个模块:平台库管理模块;地图显示模块;航路生成算法模块;兵力选择模块;平台部署模块;快速部署模块;想定预览模块;导入/导出模块。其中,平台库管理模块、航路生成算法模块和地图显示模块位于基础层,支撑其余模块实现各种交互业务。
图1 想定编辑软件模块构成
下面详细对各个模块进行介绍。
2.1 平台库管理模块
平台库管理模块主要实现对当前常用平台模型及其相关装备的管理。平台是想定中独立的基本作战单元,平台上面可以挂载其它诸如传感器、武器等装备。平台具有名称、敌我属性以及基本的性能参数(初始速度、射程、初始高度)等信息。平台库管理模块支持常用的平台模型,并支持对其进行相应的查询、修改、添加、删除等操作。鉴于Microsoft Access数据库具备安装简便的特点,因此选择使用Access数据库来存储平台模型信息。
2.2 地图显示模块
想定预览模块通过模拟想定的执行过程,将态势呈现给用户,方便用户在想定编辑过程中进行动态检查。想定预览模块支持对想定的加速、减速、暂停等控制操作。
GIS地图数据使用Google地图下载的卫星地图瓦片数据,利用拼接算法实时计算当前地图的显示区域。地图显示模块支持平台、运动航路、标注信息以及其它信息在GIS地图上的分层显示。采用双缓存机制,当缩放或拖动地图时,后台缓存计算地图新的区域,处理完毕与前台进行交换,实现地图显示刷新。通过双缓存机制,保证了想定编辑软件地图缩放或平移过程的平滑、流畅显示,提高了用户体验。
2.3 航路生成算法模块
以徐州医学院2009—2013级全日制在校生为调研对象,包括临床医学系、麻醉学院、医学影像学院、公共卫生学院、药学院、护理学院、华方学院、医学信息学院、口腔学院和医学技术学院10个院系。
如果增大拉曼泵浦功率或者选用拉曼增益系数高的光纤做传感光纤,运用本实验的无源传感系统可以实现75 km以上距离的传感信号探测。进一步的,调节光纤环镜内的偏振控制器(PC)还可以调整信号和泵浦光的反射率,可以进一步优化掺铒光纤激光器阈值和输出激光信号功率等。
航路生成算法采用Catmull-rom样条插值算法[3],该插值算法是Cardinal样条曲线的一种特殊形式。Catmull-rom曲线是一种分段式连续平滑曲线,每一分段都可独立计算,且分段间可以实现连续平滑,满足C1连续性。算法要求控制点个数最少为4个,因此在航路生成时,最少需要给点4个关键路径点。将这4个控制点分别命名为P1,P2,P3,P4,则曲线方程可表示成如下形式:
兵力部署模块主要是根据兵力选择模块设定的兵力,按照试验任务要求,完成相应的部署和航路规划,并制定作战计划以及设定相关参数。兵力部署过程支持拖拽方式操作,操作人员将选定的待部署平台拖拽至二维地图指定位置完成部署。航路规划是根据试验对平台运行路线的需要,在二维地图上通过选择关键点或直接根据相关参数利用航路生成算法计算生成平台运行航路的过程。作战计划的制定可以通过设定行动参数及相应的任务事件实现,目前支持发射导弹攻击目标、俯冲爬升、舰船最短相遇、定时占领等行动或事件。参数设置可以实现对当前兵力编号、初始速度、初始位置(经度、纬度和高度)、最小运动速度、最大运动速度、出发时间等参数信息的设定或修改。
兵力选择模块主要实现根据兵力属性设定各方兵力信息的功能。根据兵力属性,设定红、蓝、白三方兵力。制作想定时,通过兵力选择模块,选择相应的平台及对应个数,完成对各方力量的设定。
2.4 兵力选择模块
手绘航路通过移动鼠标完成。由于移动过程中产生的原始位置数据较多,不便于直接存储,因此需要对采集的原始坐标数据进行处理。文献4提到了一种平面不规则曲线特征点提取算法,采用最小M值法迭代筛选移除曲线上多余的数据点[4]。通过设定一个与曲线插值算法插值点个数相关的M值,得到曲线特征值后再利用Catmull-rom样条插值算法还原生成的曲线与原手绘曲线能够保持较好的一致性。
航路生成算法模块用于生成平台的运动航路。目前支持的基本航路有曲线航路、圆形航路、环形航路和八字形航路等,以及在基本航路基础上衍生的抵近目标后逃离飞行航路、抵近目标往复侦查航路及组合航路。同时也支持通过移动鼠标自由绘制航路。
2.5 兵力部署模块
其中,0≤t≤1。
快速部署模块通过给定批量部署参数,直接产生大批量的部署平台。当前快速部署模块提供了几种典型航路的大批量部署方式,包括:多层次圆形运动路径、多层次直线运动路径、多层次同心圆环、多角度抵近逃离运动航路、多角度巡逻航路等。
通过调用二维地图显示模块提供的接口,兵力部署模块还支持对当前地图的一些操作,包括:鹰眼显示控制、网格显示控制、测距测角、卫星或地形显示切换、地图漫游等。
针对试验任务对航路或部署位置要求严格的情况,兵力部署模块允许通过给定相关参数直接生成典型部署或参照已部署内容精确生成新部署的功能。例如,直接生成在某处做定常盘旋运动的预警机部署信息;根据已有的部署复制、平移或旋转生成新部署;从某处抵近某个已部署平台然后到某个距离返航等。
(2)选取随机数和区块头的哈希值,进行哈希运算。如果结果小于目标值,那么表示挖矿成功,自动退出;否则,则继续循环进行哈希运算。
2.6 快速部署模块
解析:第一个图中入射光线是平行的,而折射光线远离主光轴,即透镜有发散作用,所以是凹透镜;第二个图中入射光线平行于主光轴,折射光线相对于入射光线靠近了主光轴,即透镜有会聚作用,所以是凸透镜。
2.7 想定预览模块
地图显示模块用于实现想定编辑内容在地图(主要指二维GIS地图)上的可视化显示。根据平台部署坐标和航路信息,将平台图标显示在二维地图的指定位置上,并显示其运动航路。还可将想定的其它信息,例如辅助标记信息、平台参数信息显示在二维地图上。
2.8 导入/导出模块
XML(Extensible Markup Language)是一种可扩展的标记语言,具有便于计算机自动处理、支持跨平台数据交换、文档片段复用等突出优点。通过标记将文档分成许多部分并对各部分加以标识,约束编程人员书写XML文件,可较好实现想定数据的语法检查、想定编辑与数据存储的分离,增强了想定编辑的开放性,从而提高了仿真想定跨平台移植的灵活性和可重用性[5]。因此,选择XML语言作为仿真试验想定的描述语言。
但毋庸置疑的是,我们都很陶醉于这样的体验。虽然漂移很过瘾,但在赛道上严肃驾驶时,R8 RWS在转向、制动等方面的表现并不如人意,不过能够安慰我的是,在舒适性和赛道表现这两个彼此矛盾的话题上,奥迪R8 RWS在舒适和性能之间的平衡让它更具魅力。可以说,在实用性和性能之间,奥迪做出了妥协,但毕竟生活不仅只有赛道。
想定格式化描述模板包含想定所需的环境、部署平台、航路、行动计划等内容,还可根据具体需求扩展。
3 实现
想定编辑软件采用C#语言编程,结合WPF(Windows Presentation Foundation)框架实现。C#是一种支持快速开发各种基于Microsoft .NET平台应用程序的面向对象语言。WPF提供了丰富的2D/3D图形、图像、用户控件、文档和媒体操作。
图2 从模型库选择蓝方兵力
图3 航路规划示例
在开发过程中前台使用XAML语言构建用户界面,后台使用C#语言实现计算处理,具有开发效率高,软件界面显示效果优美绚丽的优点[6]。想定编辑软件兵力选择和航路规划示例见图2和图3。
图4 想定文件定义示例
想定文件以XML格式保存,按照内容分为环境、数据和部署信息三个部分,其中环境部分描述了当前战区所在地理和自然环境信息;数据部分描述了当前想定的平台、行动、航路信息;部署部分描述当前所有平台的部署信息。图4是想定文件定义示例。
4 结束语
本文设计的基于XML的想定编辑软件主要用于试验仿真,软件设计采用面向对象的模块化设计方法,针对其中的航路生成模块利用了Catmull-rom样条插值算法和曲线特征提取算法,支持灵活多样的航路编辑操作方式,并能够满足航路的连续性、平滑度要求。软件实现采用C#语言编程结合WPF框架实现,开发效率高且软件具有良好的人机交互界面,能够快速开发用户需要的试验想定。想定文件以自定义的XML格式存储,涵盖了环境信息、平台信息、航路信息、行动和部署信息等丰富内容,同时具备易读、可扩展、移植性好的特点。目前,该想定编辑软件已服务于多个试验项目,为试验开展发挥了积极作用。
参考文献:
[1]凌超, 王凯, 刘中晅, 闫耀东.武器装备体系作战试验方案设计研究[J].装备学院学报, 2016, 27(6): 112-116.
[2]姚青锋, 冯少冲, 邸彦强, 朱元昌.一种SaaS模式防空作战仿真想定编辑系统实现[J].计算机与数字工程, 2013, 41(1): 44-47.
[3]陈雨人, 余博, 贺思虹.基于视觉感知偏差的公路几何平纵协调性分析技术[J].同济大学学报(自然科学版), 2009, 34(3): 97-99.
[4]魏玉业, 黄健柏, 朱建军.平面不规则曲线特征点的提取[J].测绘科学, 2009, 34(3): 97-99.
[5]康晓予, 邓贵仕.作战模拟系统想定研究综述[J].系统仿真学报, 2009, 21(10): 2986-2800.
[6]王鑫, 王超, 彭演兵, 邓宏彬.WPF技术在无人机地面控制站中的应用[J].信息系统与网络, 2015, 45(1): 9-12.
Design and Implementation of Test Scenario Editing Software Based on XML
WANG Xiaoxiong, REN Lei, WANG Lihua
Abstract: In order to solve the problem of making test scenario quickly and conveniently, this paper proposes a design scheme of test scenario editing software based on XML.According to the requirement of scenario editing software, the scheme divides modules and designs them by object-oriented method.Scenario is defined in structured XML language, which realizes the normalization description of content and ensures the reusability and extensibility of scenario information.Finally, the scenario editing software is implemented with C# language and WPF framework.The software has a good human-computer interaction interface and can quickly develop the test scenarios needed.It has been applied to a number of projects of the experimental work.
Key words: Test Scenario; Scenario Editing; Modules; XML; WPF
中图分类号: E92
文献标识码: A
文章编号: 1674-7976-(2019)03-219-04
收稿日期: 2019-01-31。王枭雄(1988.1—),陕西西安人,硕士,工程师,主要研究方向:系统仿真及验证。