基于HLA的分布式仿真训练系统设计
2012-01-14国栋,张晶,钱良
国 栋,张 晶,钱 良
(1.中国卫星海上测控部,江苏江阴214431;2.中国人民解放军71115部队,山东青岛266011)
0 引言
目前测控通信装备的系统复杂度高,装备操作规程严格,对操作人员的能力素质提出了较高要求。大部分操作需要由多个岗位的操作员协同配合,各个操作员均负责一个功能上相对独立的功能模块,但相互间存在着严格的逻辑关系,每一步操作的内容和实施时机都是确定的,在统一的操作规则和程序约束下协同完成任务。
通过建立训练模拟仿真系统,开展人员培训,可以降低训练成本,减少装备损耗,记录训练数据后可以进行讲评回放,再现装备状态和操作细节,并且训练的实施不受时间、空间及气候条件的限制,从而可以确保设备操作训练的频度和强度,使得岗位操作人员尽快熟悉并掌握设备操作技能。
高层体系结构(High LevelArchitecture,HLA)[1,2]是目前实现分布式仿真的主要技术手段,用于构建通用仿真框架,在HLA中,用于实现某一特定功能的分布式仿真系统称为联邦(Federation),它由若干个交互作用的联邦成员组成。基于HLA,可以把一个庞大的仿真系统划分为若干个子系统,每个子系统作为一个联邦成员参与到仿真中来,在保持各自独立性的同时实现信息的有效交互。HLA架构支持不同仿真应用之间的互操作和仿真组件的可重用,使系统具有良好的开放性和可扩展性,既有效利用了现有资源,又使仿真系统具有良好的扩展性,便于后续的扩展和开发。
1 系统设计
1.1 系统功能
仿真训练系统的主要培训对象为岗位操作人员,具体功能包括:
①基本操作训练:各岗位单独训练,不需要其他分系统协助,各分系统开机后就能独立训练,目的是掌握各岗位工作模式、基本操作流程、技术参数设置和情况处置等,对各岗位专项操作进行强化训练;
②协同操作训练:各岗位按实装设备工作流程进行相应联合训练操作,目的是训练各岗位操作人员之间的协同能力,可根据需要设置多个岗位协同或全武器操作岗位协同;
③故障排查训练:目的是训练岗位操作人员的故障排查能力,由管理员设定指定的故障后,岗位人员做出排查动作,直至排除故障;
④考核评估:对岗位训练效果进行考核与评估。
1.2 系统基本框架设计
基于HLA构建分布式模拟训练仿真系统,其基本框架如图1所示。
图1 仿真训练系统框架
各分系统主要功能如下:
①仿真导演:选择与设置训练科目、发送训练科目相关数据、协调控制训练过程、对操作人员的操作数据进行记录,采用相关的评估方法给出训练成绩;
②仿真管理:提供HLA RTI运行环境,监控RTI服务器和RTI运行状态等;
③仿真机:实施各个岗位的操作训练,通过仿真软件界面模拟参数设置、技术状态调试和故障排除等操作过程;
④外部成员:当仿真训练系统演练项目中需要外部系统时,由外部成员生成必要的外部数据;
⑤数据库:存储模拟训练过程中涉及的各类数据,如训练科目表、训练参数表、故障参数表、训练操作记录表、训练状态表和训练结果表等。
2 系统实现
基于HLA/RTI的分布式仿真系统由联邦和联邦成员组成,联邦(Federation)是指用于达到某一特定仿真目的的分布仿真系统,对应的模型称为联邦对象模型FOM,它由若干个相互作用的联邦成员(或简称成员)构成,称为仿真对象模型(SOM)。
FOM定义了仿真运行过程中将参与联邦成员信息交换的对象类、对象属性、交互类和交互参数。SOM定义了联邦成员可以对外公布或需要定购的对象类和对象类属性。FOM需要基于SOM开发,而各个成员SOM的开发则是建立在正确设计联邦为每个成员分配责任的基础上。最后利用RTI软件工具实现仿真系统中各联邦成员的信息交互。
对于基于HLA架构的仿真系统[3-6]内的数据交互,包含2种数据:①连续存在的属性数据,标识实体的状态,如名称、句柄以及位置信息等,用对象类(object class)及其属性(attributes)来描述;② 实体瞬间事件的数据,如指令和测量结果等,用交互类(interaction class)及其参数(parameter)来描述。
仿真训练系统中各分系统的状态响应、接口关系复杂,需要仔细分析各分系统的结构组成和特性,建立基于HLA/RTI的仿真系统及联邦成员,设计和开发联邦和仿真对象模型。这里主要给出训练仿真系统中较为典型的仿真导演和岗位联盟成员的实现方法。
2.1 仿真导演设计与实现
仿真导演主要供训练指挥人员使用。主要有以下4个功能:
①导演训练功能:选定训练科目,从训练数据库中读取该科目对应的训练参数,然后将其分发到本次训练涉及的各岗位联盟成员,进行训练的初始化准备;在收到所有岗位发来的就绪信号后,仿真导演控制启动训练。在训练过程中,仿真导演接收各岗位发来的状态信息,将其显示给训练指挥员并存入训练数据库中。
②对训练效果进行评估:采用比对、统计等方法,参照操作时序的正确性、操作熟练性、故障处理的及时和准确性等作为评估指标,在训练过程或结束后对操作人员的训练进行评分。
④控制仿真回放:通过回放先前存储在数据库中各岗位的操作数据,实现演练科目的回放。
2.2 岗位操作联盟成员设计与实现
岗位操作联盟成员主要提供给岗位操作人员实施操作训练,岗位操作联盟成员的结构设计示意图如图2所示。岗位操作人员通过操作界面与该仿真成员进行交互。
实现内容包括:
①操作界面主要为鼠标和键盘的输入,以及各种开关、按钮等开关量的输入;
图2 岗位操作联盟成员结构
②状态显示主要为面板上各种指示灯、仪表和显示器等,以及模拟的技术状态的二维、三维显示;
③数据处理重点是算法模型,常见的模型分5类:时序逻辑模型,代数模型,随机模型、动态模型和三维实体模型;
④RTI接口主要明确需要获得的其他成员的状态信息,以及自己的状态信息哪些需要发布给其他的仿真成员;
也真是奇怪,有些事情,苦思冥想往往找不到解决的途径,一旦放松下来,甚至把它撂在了一边不去管它,头脑中或许会一瞬间跳出一个天才的解决方案。此时,在与“诗的妾”打情骂俏的短信中,一个想法突然在高潮头脑中清晰起来。高潮有些兴奋,站起身来,拍拍屁股,真的冲着湖面,大叫了几声。湖对面的那流浪青年停下练唱,用中气十足的嗓音对高潮喊道,不服气啊哥儿们,有本事你也来段海豚音?
⑤HLA/RTI网络:负责时间同步和数据分发。
2.3 软件实现原理
软件的实现分为用户界面、数据处理模块和HLA/RTI三个层次。底层HLA/RTI采用MarkRTI软件实现,该软件提供了基于TCP/IP协议的RTI实现接口,用户只需完成相应交互类的设计,无需关注具体实现过程。HLA上层应用通过RTI接口库来调用HLA所提供的功能,以C++类库的形式提供;中间层数据处理模块采用C语言编写,实现系统仿真的相关计算和系统功能调度等;顶层用户界面层采用LabWindows/CVI软件实现,该软件提供了丰富的控件,便于软件图形界面的实现。软件的主程序使用Visual C++编写。
2.4 举例说明
下面以VHF通信系统为例对仿真系统建立进行说明。
①确定联邦并划分联邦成员,仿真系统中联邦即为VHF通信系统,系统中设定3个联邦成员:伺服分系统、信道分系统和故障管理。
②确定各个对象类及其属性,如表1所示。
伺服分系统的主要属性包括方位角、俯仰角、电源电压和环流等;
信道分系统的主要属性包括发射频率、功率、本振频率和中放电压等;
故障管理属性包括各设备的故障状态。
③确定对象类之间的交互关系,也就是确定各个对象需要什么、能够为其他对象提供什么。SOM公布订购表如表2所示。
表1 对象类及属性
表2 SOM公布订购表
系统结构如图3所示,VHF通信系统即为联邦,伺服分系统、信道分系统、故障管理为联邦成员,联邦成员具有各自不同的属性,相互之间通过交互类来沟通信息。
图3 仿真系统结构
3 系统运行流程
整个系统的运行管理由仿真管理中心实现,工作流程可分为4个步骤:
①仿真参数配置:为了实现仿真训练,需要设定设备参数及初始状态,然后启动仿真;
②联邦成员初始化:包括创建并加入联邦、对象类和交互类的公布和订购、设置时间机制、注册对象实例等工作;
③仿真循环:联邦成员独立进行各自的仿真任务,完成属性更新和数据交互;
④退出联邦:仿真结束。
仿真系统的运行流程如图4所示。
图4 仿真系统流程
4 结束语
基于仿真运行支撑软件RTI,设计了兼具开放性、可扩展性、交互性和可视化的分布式训练模拟仿真系统。通过RTI提供的底层通信传输服务,将上层应用与底层支撑环境分离,保证了应用开发的独立性。主要研究了针对多岗位操作类装备的分布式仿真训练系统设计,分析了仿真系统组成的基本要素和一般功能要求,对训练模拟仿真系统进行功能模块划分,设计了系统的总体框架,并探讨了仿真训练系统中仿真导演和岗位操作联盟成员的实现方法,可以为此类训练仿真系统的构建提供借鉴。
[1]柴旭东,李伯虎.高层体系结构HLA/RTI及其实现综述[J].系统仿真学报,1999,11(2):1 500-1 502.
[2]柴旭东,李伯虎.高层体系结构系统实施技术的初步实践与进一步研究[J].系统仿真学报,2002(2):152-155.
[3]王会霞,赵新俊.基于高层体系结构的计算机生成兵力关键技术研究[J].系统仿真学报,2002(9):1 138-1 140.
[4]丁久辉,郭百巍.基于HLA的卫星指向控制仿真系统的设计与实现[J].系统仿真学报,2011(8):1 747-1 749.
[5]孔德金,陈立云,王 帅,等.基于HLA的防空导弹营火力仿真系统设计[J].计算机工程,2011,37(15):252-255.
[6]戴婷婷,马忠锁.基于HLA的卫星测控仿真系统[J].电脑知识与技术,2010(1):229-230.