📄 hla.txt
字号:
[原创]Dis/hla概述
Dis/hla
Distributed interactive simulation system/High level architrcture
一、 研究的内容
二、 如何实现
三、 别人的做法
1、 技术概述
HLA 是1995年美国国防部(DOD)发布的建模与仿真大纲(DOD M&S Master Plan) 中第一个目标开发建模和仿真通用技术框架中的首要内容,其主要目的是促进仿真应用的互操作性和仿真资源的可重用性。1996年10月美国防部正式规定HLA为国防部范围内仿真项目的标准技术框架,开始推行HLA,并以之作为替代原有的 DIS、ALSP等标准。同时提交IEEE,作为IEEE1516发布。
从90年代以来,随着计算机技术尤其是面向对象技术与分布计算技术的的发展与成熟,产生了基于客户/服务器模式的分布对象计算(DOC),并且出现了支持分布对象计算的具有代表性的分布系统开发技术--公共对象请求代理结构CORBA. CORBA技术的出现,为高级体系结构HLA的建立提供了很好的技术基础。
原有的Dis采用的是一种低层次的随机的体系结构,而HLA则为构造多种类型的、聚合集仿真应用系统提供了更好的集成手段。HLA主要由三部分组成:
- 规则(Rules):
保证联邦中仿真应用间按正确的方式进行交互,描述各联邦成员的责任及它们与RTI的关系,共十条。
共10条,前5条涉及联邦,后5条涉及联邦成员
1 联邦中必须有一个FOM,以OMT中的格式定义FOM
2 所有在FOM中的对象都必须在联邦成员中描述而非RTI中
3 在联邦运行中,联邦成员间的FOM数据交换必须通过RTI
4 在联邦运行中,联邦成员与RTI的交互必须按照HLA的接口规范进行
5 在联邦运行中,一个对象实例的属性在某个时刻只能为一个联邦成员所拥有
6 联邦成员中必须有一个SOM,以OMT定义的格式描述
7 联邦成员必须能更新(UPDATE)或反映(REFLECT)在SOM中定义的任何属性,发送或接受SOM对
象的交互信息
8 联邦成员运行中能按SOM定义的方式转移或接受属性的所有权
9 在运行中能按照SOM中定义的方式更改提供对象属性更新的条件
10 联邦成员能够以允许的方式管理其局部时钟
- 接口规范说明(Interface Specification):
定义联邦成员与联邦中其他成员进行信息交互的方式,即RTI的服务,共有六种管理服务。
1 联邦管理服务:包括联邦的创建与注销、联邦成员的加入与退出、联邦状态的存储与恢复、设置同步点等。
2 声明管理服务:包括发布、预定对象属性。发布、预定交互类信息以及其他支持服务。
3 对象管理服务:包括注册或注销对象实例、属性的更新、被更新、交互的发送及接受以及一些支持服务。
4 所有权管理服务:包括联邦成员间对象属性所有权的转移和相应的支持服务。
5 时间管理服务:包括协调联邦成员间局部时钟推进管理的各种服务。
6 数据分发管理服务:包括各个联邦成员根据各自的“兴趣”来确定信息的发送和接受等的有关支持服务。
- 对象模型模板(OMT:Object Model Template):
定义HLA对象模型信息的通用方法,提供一种标准格式HLA对象模型信息,以促进互操作性和资源的 可重用性。
OMT定义了描述HLA对象模型信息的通用方法,它提供一种标准的记录对象模型信息格式。目的是促进互操作性和可重用性。在OMT中定义了联邦对象模型FOM和仿真对象模型SOM。FOM以一种通用、标准的格式描述联邦成员间的数据交换。SOM是单个仿真应用能提供给联邦的固有的能力描述。
HLA对象模型组成:
对象模型标识表:
对象类结构表:
交互类结构表:
属性表:
参数表:
路径空间表:
FOM/SOM术语字典:
2、 HLA的框架和规则
(1) 联邦应该有一个联邦对象模型FOM,该FOM应与HLA的OMT相容。FOM是说明HLA联邦数据交换的手段,它记录了联邦成员对于在联邦运行期间需相互交换的数据的内容、格式及数据交换的条件所达成的协议。
(2) 在一个联邦中,FOM中的所有对象应属于各个成员而不应在RTI中。HLA中,将凡是与仿真有关的对象实体的表达放在联邦成员中而不是放在RTI中, 但是RTI可以拥有管理对象模型(MOM)中对象实例。
(3) 在执行联邦时,各成员中间所有FOM规定的数据交换必须通过RTI进行。HLA中, FOM中描述的对象或交互类的数据,都是联邦成员之间可能需交换的数据,而成员之间要想实现交换数据,只有借助于RTI提供的服务。
(4) 在联邦执行中,成员应按HLA接口规范与RTI交互,即访问RTI应遵循接口规范。
(5) 在联邦执行中,在任一给定时间,一个对象属性只能为一个成员所拥有。HLA中,不同成员可以拥有同一个对象实例的不同属性。为了保证整个联邦中数据的一致性,在任意给定时间最多只能让一个联邦成员拥有(从而有权改变其值)任意给定的对象实例的属性。
(6) 联邦成员应有一个符合OMT规范的成员对象模型(SOM)。联邦成员通常由实现仿真功能的仿真系统组成,SOM描述了它们为实现自己的仿真功能,需向外获取(定购)及本身能向外提供(公布)的信息。
(7) 成员应能更新和(或)使用其SOM中记录的对象的属性,能接收与发送SOM中记录的交互。联邦成员在联邦运行中向其它成员公布自己所负责建模的对象的属性的数值,及借助于RTI提供的服务接收自己想要的来自其它成员的属性数据是各个联邦成员的责任。
(8) 成员应按SOM中的规定,在联邦执行中动态地转移与接收属性的所有权。对HLA联邦来说,实际仿真剧情的实现,常常要在具体的联邦成员之间进行对象属性所有权动态转换,RTI通过"所有权管理"提供相应的服务,而具体的实现是联邦成员之间的责任与合作。
(9) 成员应按SOM中的规定,更新对象属性的条件(如改变阀值)。HLA让拥有某些对象属性所有权的成员有权产生这些属性的不断变化的值(往往通过模型的解算得到),并由它负责通过RTI将不断公布这些属性值,从而使定购这些属性的其它成员能得到这些属性的值。
(10) 成员应能管理局部时间,从而保证它能协调地与联邦中的其它成员交换数据。HLA通过时间管理服务给联邦成员提供了灵活的仿真时间推进的方法,从而使HLA可以适用于连续、离散或混和类型的仿真。但它需要联邦成员自己管理自己的逻辑仿真时间(本地时间)。
3、联邦成员访问RTI的接口规范
运行时间支撑系统RTI软件主要包含三个组件: RtiExec、 FedExec和 LibRTI,它们可以运行在单独的一台工作站或任意复杂的网络上。LibRTI是一个C++库,为成员开发者提供了HLA接口规范定义的一系列服务。成员通过LibRTI调用HLA的服务同RtiExec、FedExec以及其它成员进行通信。HLA接口规范定义了libRTI向成员提供的服务以及成员向联邦承担的责任,如表所示:
六大管理服务(101个服务) 名称 服务数目 功能
联邦管理 20 提供创建、删除、加入、退出和控制联邦运行及保存状态等功能
声明管理 12 用于公布、订购属性/交互,支持仿真交互控制的功能
对象管理 17 包括对象提供方的实例注册和更新,对象用户方的实例发现和反射,同时包括收发交互信息的方法、基于用户要求控制实例更新和其他各方面的支持功能
所有权管理 16 提供属性所有权和对象所有权的迁移和接收的服务
时间管理 23 提供HLA时间管理策略和时间推进机制
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -