答案 0 :(得分:18)
我目前(虽然只有一个星期左右)在模拟行业工作 - 我提前为任何错误道歉,如果我记得不正确的信息,我会纠正它们。
<强> DIS 强>
该标准规定了线路上的数据布局,即您的数据包/数据PDU的布局完全符合DIS规范中的定义
依靠尽力而为的网络(即UDP协议,广播)
实体必须以特定间隔(默认值:5秒)进行心跳,以通知其他人它仍然是练习的一部分
没有中央服务器管理加入练习的各种应用程序
模拟应用程序可以随时加入模拟,随时离开
<强> HLA 强>
使用称为RTI(运行时基础结构)的中央管理器,它接收来自各种应用程序的数据并将它们发送到模拟中的其他应用程序(在HLA的上下文中,这些被称为Federates和一组Federates是一个联邦)
所有联邦成员必须通过RTI
与DIS不同,HLA规范不指定数据包的布局,而是定义应用程序使用的一组API功能。 RTI是实现API的。
HLA联邦根据FOM(联合对象模型)发布数据,该模型定义模拟中的数据代表什么。这允许人们创建定义新对象和交互类型的新FOM,这与DIS不同,在DIS中,添加新类型的数据PDU通过委员会(SISO)。例如,大多数在HLA下运行的模拟使用RPR FOM,它几乎反映了DIS标准实体和交互。
HLA增加了DIS不支持的其他功能,例如数据分发管理(DDM),其中联邦成员通知RTI他们只对某些类型的数据感兴趣。
支持订阅服务,其中联邦成员通知RTI他们只对接收某些对象或交互数据感兴趣(即应用程序只需要有关船只的数据)
支持所有权转移功能,其中一个联邦控制下的对象被提供给另一个联邦管理。
DIS可以主持HLA和反之亦然吗?
由于这些根本区别,应该清楚DIS和HLA不能互相主持。
然而,这实际上意味着在DIS中模拟与HLA中的模拟交互是因为您需要某种类型的网络代理,它充当两个协议之间的适配器。此类经纪人的示例包括MAK VR-Exchange或GMU Gateway。
进一步阅读:
答案 1 :(得分:3)
这是一些关于HLA的鲜为人知的历史。
HLA的设计实际上是基于一种叫做聚合物水平模拟协议(ALSP)的东西,这种协议在90年代早期由同一个开发HLA的Mitre人员领导。 ALSP旨在将用于兵团/师指挥所训练的大规模建设性模拟联系在一起。 ALSP互操作性的要求涉及更多的对象,保守的时间抖动和模拟事件的交换。我们无法定期广播实体更新,因为这会导致可扩展性问题。
在我参与的晚年,我们每次Ulchi Focus Lens演习达到了多达100万个战场物品。 HLA和DIS之间的根本区别在于HLA旨在处理建设性的大规模,可变保真度,保守时间管理模拟,而DIS则来自网络模拟器环境,专注于近实时平台级模拟器。
HLA可以帮助使这两类模拟在一定程度上互操作,但始终受到所链接模拟类型的固有差异的限制。
例如,如果保守的时间管理模拟联邦会因计算而陷入困境,则HLA时间管理将导致联盟停止向前移动时间,直到最慢的模拟向前移动。 DIS不支持此功能。对于DIS驱动的平台,所有时间管理的实体看起来都会慢速移动或完全停止,并且在联盟试图赶上实时时,周期性地看起来比实时更快。
答案 2 :(得分:1)
HLA规范中没有任何内容表明RTI必须集中,尽管几乎所有的RTI都是。
答案 3 :(得分:0)
HLA 1516标准仅定义了模拟器和RTI之间的API。不是在RTI之间。用于在RTI之间交换数据的协议是专有的。因此,只有来自同一供应商或政府机构的RTI才能进行互操作。一个重大缺陷。如果你使用不同的RTI,你需要一个&#34;桥接&#34;在专有协议之间进行转换。这可能很昂贵。
答案 4 :(得分:0)
如果您计划桥接DIS和HLA,请记住的一件事是,您可能会失去双方的模拟保真度,具体取决于您的FOM的组织方式。 DIS到RPR FOM很简单但是还有其他FOM可能无法很好地映射到DIS。在某些情况下,您可能无法将PDU字段转换为HLA对象属性或交互参数(反之亦然)。您必须使用最佳判断来确定在这些情况下使用哪种默认值。其他时候,HLA FOM对象层次结构的结构可能与DIS非常不同。在这种情况下,转换可能需要组合来自多个DIS PDU的数据以形成一个HLA消息。这意味着您必须在桥中编写代码以保留某种形式的消息状态。
此外,在运行时,您将获得零碎的HLA属性。在对象发现之后,您将不得不等待翻译对象实例,直到您收到足够的属性来正确填充DIS PDU。
另一个问题是HLA可以提供时间管理服务。如果您尝试使用时间管理将DIS应用程序集成到HLA联合中,则会遇到很多同步问题。
如果您有购买预算,我的建议是与MAK VR-Exchange一起使用。