HLA(high level architecture) 高层体系结构
简介
HLA 是分布交互仿真的高层体系结构,它不考虑如何由对象构建成员,而是在假设已有成员的情况下考虑如何构建联邦。HLA 主要考虑在联邦成员的基础上如何进行联邦集成,即如何设计联邦成员间的交互以达到仿真的目的。HLA的基本思想就是采用面向对象的方法来设计、开发和实现仿真系统的对象模型,以获得仿真联邦的高层次的互操作和重用。
总之,HLA是用来实现分布式仿真的一项标准。这个标准规定了这个系统应该怎么实现。RTI是HLA中的一部分,也是具体实现HLA架构需要用到的一个软件。RTI软件是各个软件公司进行提供的,有很多版本。RTI和RTI软件的关系就如同Linux和RedHat的关系差不多。
HLA框架下,一个典型的仿真联邦的逻辑结构如图所示。
联邦:用于达到某一特定仿真目的的分布仿真系统,由若干个相互作用的联邦成员构成。
联邦成员:构成联邦的每一个仿真子系统。由若干相互作用的对象构成,对象是联邦的基本元素。
HLA的组成:HLA规则、HLA接口规范,HLA对象模型模板(OMT)。
HLA规则
定义了在联邦设计阶段必须遵循的基本准则
联邦规则
-
每个联邦必须有一个联邦对象模型,该联邦对象模型的格式应与HLA OMT兼容
-
联邦中,所有与仿真有关的对象实例应该在联邦成员中描述而不是在RTI中
-
在联邦运行过程中,各成员间的交互必须通过RTI来进行
-
在联邦运行过程中,所有联邦成员应按照HLA接口规范与RTI交互
-
联邦运行过程中,在任一时刻,同一实例属性最多只能为一个联邦成员所拥有
成员规则
-
每个联邦成员必须有一个符合HLA OMT规范的成员对象模型
-
每个联邦成员必须有能力更新/反射任何SOM中指定的对象类的实例属性,并能发送/接收任务SOM中指定的交互类的交互实例
-
在联邦运行过程中,每个联邦成员必须具有动态接收和转移对象属性所有权的能力
-
每个联邦成员应能改变其SOM中规定的更新实例属性的条件(如改变阈值)
-
联邦成员必须管理好局部时钟,以保证与其他成员进行协同数据交换
HLA对象模型模板
定义了一套描述HLA对象模型的部件。
HLA要求采用对象模型(OM)来描述联邦及联邦中的每一个联邦成员,该对象模型描述了联邦在运行过程中需要交换的各种数据及相关信息。通常来说,对象模型可以用各种形式来描述,但HLA规定必须用一种统一的表格——对象模型模板(OMT)来规范对象模型的描述,OMT是HLA实现互操作和重用的重要机制之一。
在HLA OMT中,HLA定义了两类对象模型,一类是描述仿真联邦的联邦对象模型(FOM)。另一类是描述联邦成员的成员对象模型(SOM)。
联邦对象模型(FOM)
主要目的是提供联邦成员之间用公共的、标准化的格式进行数据交换的规范。它描述了在仿真运行过程中将参与联邦成员信息交换的对象类、对象类属性、交互类、交互参数的特性。HLA FOM的所有部件共同建立了一个实现联邦成员间互操作所必须的“信息模型协议”。
对FOM来说,它的主要目的是描述联邦成员间的信息交换。
1、一个联邦对象只有一个
2、引入所有共享信息
3、考虑跨联邦问题(数据编码机制),公用的、标准化的格式进行数据交换
成员对象模型(SOM)
HLA SOM是单一联邦成员的对象模型,它描述了联邦成员可以对外公布或需要订购的对象类、对象类属性、交互类、交互参数的特性。这些特性反应了成员在联邦运行时所具有的能力。
对SOM来说,它仅仅面熟联邦成员对外的公共接口,即联邦成员中参与交互的对象类和交互类。
1、一个联邦成员一个
2、描述联邦成员的静态特征
3、呈现可外部使用的对象和交互
4、专注于联邦成员内部操作
HLA接口规范
定义了仿真系统运行过程中,支持联邦成员之间互操作的标准服务。这些服务可以分成六大类(联邦管理服务、声明管理服务、对象管理服务、时间管理服务、所有权管理服务、数据分发管理服务),这六大服务实际上反映了为有效解决联邦成员间的互操作所必须实现的功能。
联邦运行支撑环境(RTI run-time infrastructure)是HLA接口规范的具体实现,他是基于HLA仿真的核心部件,也是HLA仿真应用程序设计和运行的基础,其功能类似于分布式操作系统。
-
它具体实现了HLA接口规范
-
它为仿真应该提供了仿真运行管理功能
-
它提供了底层通信传输服务,屏蔽网络通信程序实现的复杂性
-
它是仿真功能与仿真运行管理、底层通信传输三者分离的基础,它使仿真系统具有较好的扩充性,以便实现仿真系统中各个组成部分的“即插即用”
本人最近需要使用HLA分布式仿真来对系统进行构建。见到网上相关的资源非常少,以至于几乎没有,遂写下一系列文章来学习并介绍HLA相关技术。也因为资料稀少的原因,接下来的文章设置了仅粉丝可见。如果文章帮助到你,可以点个赞让我知道,也有让我继续写下去的动力!
本书的主要内容来自《HLA仿真程序设计》周彦。