一种HLA时间同步策略实现研究

时间:2022-09-14 07:44:13

一种HLA时间同步策略实现研究

摘 要:为了分析HLA时间管理策略和时间推进机制,提出采用分析仿真步长内时间采样值的方法分析时间同步程度。使用MAK RTI和VR-Link建立实验环境,基于仿真成员之间两两相互约束,设计时间同步策略。在实验数据的基础上获得HLA小尺度和大尺度时间同步的规律特点,证实了基于仿真成员两两相互约束的时间同步策略具有优异的时间同步能力。

关键词:高层体系结构; 时间管理; 时间推进; 时间同步

中图分类号:TP311 文献标识码:A 文章编号:1004-373X(2011)24-0127-03

Realization of HLA Time Synchronization Strategy

GAO Hua-meng1, DING Xiang-li1, WANG Wen-xiu2, ZHANG Yong-fu1

(1. The Academy of Equipment Command & Technology, Beijing 102206, China;

2. Publication Department of Liberation Army Daily, Beijing 100832, China)

Abstract: In order to analyze the mechanism of time management and time advancing in HLA, the method of analyzing the time sampling values in simulation step is brought out to analyze the time synchronization degree. MAK RTI and VR-Link are used to establish the experiment environment. The time synchronization method is designed based on federation mutual constraint. The features of HLA time synchronization in small and large scales are achieved based on experimental data. Consequently, the time synchronization method based on federation mutual constraint has excellent time synchronization capability.

Keywords: high level architecture; time management; time advancing; time synchronization

收稿日期:2011-08-12

基金项目:国家高技术发展计划项目(2006AA705102)

0 引 言

随着面向对象设计和计算机网络通信技术的进步,仿真系统之间实现互操作和可重用越来越重要。基于此,美国国防部建模与仿真办公室(Defense Modeling and Simulation Office,DMSO)在20世纪90年代中后期指导建立了计算机仿真的高层体系结构(High Level Architecture,HLA)标准,其目的是进行仿真系统之间及其与C3I系统之间实现互操作和仿真系统的重用。

HLA标准主要由规则(Rulers)、对象模型模板(Object Model Templet,OMT)、运行支撑系统(Run Time Infrastructure)三部分组成。RTI进行了HLA接口的规范定义,提供了6组管理服务以及其他支持服务,并以接口函数的形式提供给开发人员。时间管理是RTI 6组管理服务之一,时间管理与时间同步对HLA实现仿真系统互操作和可重用具有重要作用。

1 HLA时间管理分析

HLA仿真涉及到的两个基本概念是联邦、联邦成员。联邦是指实现某一特定仿真目的的分布式仿真系统,参与联邦的所有应用都称为联邦成员。HLA进行时间管理的一个重要目标是:控制联邦成员的时间推进,使联邦的开发者能够容易地实现成员之间的时间同步,而这与HLA对联邦成员的时间管理策略密切相关。

1.1 HLA时间管理策略

联邦成员的时间管理策略分为时间控制(Time Regulating)和时间受限(Time Constrained)两种。时间控制表示联邦成员的时间推进能影响其他联邦成员的时间推进,时间受限表示联邦成员的时间推进受其他联邦成员仿真时间的影响。联邦成员的时间管理策略可以为既时间控制又时间受限、既不时间控制又不时间受限、仅时间控制和仅时间受限。典型的情况是联邦内的所有成员都设置为既时间控制又时间受限,此时成员的时间推进两两间相互约束,达到联邦的逻辑时间同步[1]。

1.2 时间推进机制

如果联邦成员的时间管理策略为既不时间控制又不时间受限,则该成员的时间推进不受其它成员的约束。在这种情况下,RTI实际上不参与协调成员的时间推进。本文需要研究的是在时间推进时相互约束的情况,即协商的时间推进。

协商的时间推进分为保守的时间推进和乐观的时间推进两类。采用乐观时间推进机制的联邦成员,在进行时间推进时不直接受时间管理策略的约束,可以相对自由的向前推,但当发现有因果逻辑错误发生时,需要通过回滚操作将自身的状态恢复到过去,重新仿真以纠正错误[2]。在实际系统中,乐观的时间推进机制应用不多,这是因为成员的回滚操作是由用户根据具体情况来完成,增加了开发者的负担,也不符合HLA开发标准化的精神。

1.3 保守的协商推进机制

保守的时间推进机制保证成员不会接收到过去的消息,以此来避免仿真顺序的错误。保守的时间推进机制不允许时间受限成员超前于时间控制成员,且成员不能产生过去的消息。这样,时间控制成员所发送消息的时戳值(Time Stamp)将不可能小于时间受限成员的逻辑时间,时间受限成员也就不会收到过去的消息。在此机制中,时间前瞻量和最大可推进逻辑时间(Greatest Available Logical Time,GALT)是两个非常重要的变量,他们在时间管理的保守算法中起到非常关键的作用[3-5]。

时间前瞻量:若联邦成员当前的逻辑时钟为T,且改联邦成员能预测产生下一事件的时间不会早于T+L,则称L为该联邦成员逻辑时钟的时间前瞻量,它表明该联邦成员可以预测未来时间前瞻量的时间内没有属性实例更新和交互实例发送。RTI可以在长度为时间前瞻量的时间窗内发送并处理该联邦成员消息的发送和接收。

最大可推进逻辑时间:最大可推进逻辑时间在时间推进服务中起着重要的作用,联邦成员的最大可推进逻辑时间表示该联邦成员的最大安全时间推进值,将来不会再接收到时戳值小于该值的TSO(Time Stamped Order)消息。GALT的值为:GALTi=min(Tj+Lookaheadj)

∞ 如果联邦成员Fi是时间受限的成员,GALT的值为所有能给Fi发送TSO消息的联邦成员Fj时间前瞻量的最小值。如果联邦成员Fi不是时间受限的成员,则GALT值为无穷大[6-7]。

保守的时间推进机制又分为基于步长的时间推进和基于事件的时间推进两种方式。在基于事件的时间推进方式下,成员的时间推进由所处理的TSO事件的时戳值决定,处理完一个TSO事件后,可以将仿真时间推进到该事件的时戳值处。

在基于步长的时间推进方式下,成员的仿真时间是以时间步长为单位向前推进的,所有成员当前步长范围内所有仿真活动全部结束后,可以推进到下一个时间步长。在推进的过程中,成员将收到其消息队列中所有的RO(Receive Order)事件和时戳值在当前仿真时间和下一个步长的仿真时间之间的TSO事件。基于步长的时间推进方式是联邦开发者最常选用的时间推进方式[8-9]。

2 时间同步策略设计

2.1 实验环境

采用MAK RTI和VR-Link建立实验环境。MAK RTI是MAK公司开发的RTI软件,它对CPU和内存的要求极小,简化了与HLA兼容的仿真体系结构,实现了跨越不同网络体系结构的灵活性。VR-Link使用了面向对象的分析设计技术,对RTI的函数进行了二次封装,并实现了多协议的兼容设计。用户使用VR-Link开发,可以简化RTI的函数调用,使程序结构清晰、简化,提高了程序的规范化和可读性[10]。

2.2 同步策略设计

(1) 设计仿真成员

为了研究和设计HLA时间同步,建立一个包含3个仿真成员的HLA联邦,3个仿真成员分别是Send_Simple,Recieve_Simple,Control_Simple。Send_Simple的功能是发送实体类和交互类数据;Recieve_Simple的功能是接收实体类和交互类的数据;Control_Simple的功能是发送启动控制交互。Send_Simple,Recieve_Simple收到启动控制交互后,开始仿真运行。

(2) 设计时间同步策略

将Send_Simple,Recieve_Simple和Control_Simple三个仿真成员的时间管理策略均设置为既时间控制又时间受限。通过成员间的两两相互约束,实现时间同步。使用到的VR-Link主要函数有:

DtExerciseConn exConn(execName, fedName, (DtFomMapper*) NULL);

exConn.rtiAmb()->enableTimeRegulation(LookAhead)

exConn.rtiAmb()->enableTimeConstrained()

(3) 设计时间推进

首先设计一个bool型的全局变量timemove,用来时间推进控制,只有当timemove的值为1时,仿真才能进入一次仿真步长的仿真计算。timemove的初始值为1,仿真可以进入第一次仿真步长的计算,当一次步长内的仿真计算完成后,timemove赋值为0,然后提出时间推进请求,RTI收到时间推进请求后,计算时间推进值,并在回调函数中将timemove赋值为1,开始下一次循环,仿真进入下一步长。

3 测试分析

对时间同步的测试分为两个方面,一是测试HLA小尺度的时间调节能力,二是测试大尺度的时间调节能力。

3.1 小尺度时间调节能力

对同一仿真步长内的两个仿真成员逻辑时间值采样,用时间采样值的差来考察HLA时间同步的程度和调节能力。图1为2个仿真成员时间采样值的差值。通过图1可以发现,时间采样值的差值呈现周期性的微小波动,具有稳定的波动周期、峰值和均值,表明仿真成员之间获得了很好的同步,同时表明HLA具有很强的时间小尺度调节能力。

3.2 HLA时间大尺度调节能力,

为了研究HLA时间大尺度调节能力,可以在仿真的运行过程中,使一个仿真成员的仿真时间大大超前另一个仿真成员,考查HLA对仿真时间的调整能力。仍然对仿真步长中的时间采样值作差值,结果见图2。通过图2可以发现,HLA对大尺度时间不一致具有很强的调节和同步能力。

4 结 语

分析了HLA中的时间管理。设计包含3个仿真成员的联邦,使用MAK RTI和VR-Link,设计时间管理策略,使3个仿真成员均为既时间受限又时间控制,实现仿真成员时间推进同步。通过同一仿真步长2个仿真成员仿真时间采样值的差值,分析HLA对仿真时间的同步能力。实验结果表明,HLA时间管理在小尺度和大尺度上均具有很强的时间同步能力。

需要继续研究的问题是:HLA在时间同步中采用的具体算法;在小尺度时间同步中,采样值差值形成规律性微小波动反映出的深层次机理。

参 考 文 献

[1] DAHMANN J S. The department of defense high level architecture: high level architecture baseline development plan, V1.7 [EB/OL ]. [2002-11-03 ]. www.dmso.mil.

[2] DMSO. High level architecture interface specification, version 1.3 [EB/OL ]. [2002-11-03 ]. www.dmso.mil.

[3] IEEE. IEEE 1516-2000 modeling and simulation (M&S)high level architecture (HLA) framework and rules [S ].USA: IEEE, 2000.

[4] IEEE. IEEE 1516.1-2000 modeling and simulation (M&S) high level architecture (HLA) federate interface specification [S ].USA: IEEE, 2000.

[5] MAK Corporation. VR-link developer's guide [R ]. Massachusetts, America: MAK Corporation. 2008.

[6] 窦志武.基于高层体系结构分布交互仿真的应用方法研究[M].北京:经济科学出版社,2009.

[7] 张家祥.HLA仿真技术应用教程[M].北京:国防工业出版社,2007.

[8] 贾连兴.仿真技术与软件[M].北京:国防工业出版社,2006.

[9] KUHL F, WEATHERLY R, DAHMANN J. An introduction to the high level architecture [M ]. New Jersey, America: Prentice Hall, 2000.

[10] 唐京桥,侯朝桢.对GALT算法的理论性分析[J].系统仿真学报,2005,17(5):1111-1114.

作者简介: 高化猛 男,1978年出生,山东沂南人,博士,讲师。主要研究方向为航天测试发射、系统仿真技术。

上一篇:基于倾斜油罐容表的校正与建模 下一篇:变形目标的跟踪研究