HLA对象模型模板
HLA采用对象模型(Object Model)来描述联邦及联邦成员。该对象模型描述了联邦在运行过程中需要交换的各种数据以及相关信息。
HLA规定必须用一种统一的表格——对象模型模板(OMT,Object Model Template)来规范对象模型的描述。
概述
HLA OMT是一种标准的结构框架,是描述HLA对象模型的关键部件。
HLA定义了两类对象模型,一类是描述仿真联邦的联邦对象模型(FOM);另一类是描述联邦成员的成员对象模型(Simulation Object Model,SOM)。
FOM
提供联邦成员之间用公共的、标准化的格式进行数据交换的规范,它描述了在仿真运行过程中将参与联邦成员信息交换的对象类、对象类属性、交互类、交互参数的特性。HLA FOM的所有部件共同建立了一个实现联邦成员间互操作所必须的“信息模型协议”。
SOM
单一联邦成员的对象模型,描述了联邦成员可以对外公布或需要订购的对象类、对象类属性、交互类、交互参数的特性,这些特性反应了成员在参与联邦运行时所具有的能力。
HLA OMT的组成
- 对象模型鉴别表:记录与HLA对象模型相关的重要标识信息
- 对象类结构表:记录所有联邦或联邦成员对象类的名称,并且描述了类与子类的关系
- 交互类结构表:记录所有联邦或联邦成员交互类的名称,并且描述了类与子类的关系
- 属性表:记录所有联邦或联邦成员中对象属性的特征
- 参数表:记录所有联邦或联邦成员中交互参数的特征
- 枚举数据类型表:用来对出现在属性表/参数表中的枚举数据类型进行说明
- 复杂数据类型表:用来对出现在属性表/参数表中的复杂数据类型进行说明
- 路径空间表:用来指定联邦中对象类属性和交互类的路径空间
- FOM/SOM词典:用来记录上述个表中使用的所有术语的定义
当描述一个仿真联邦或联邦成员的HLA OM时,必须使用上述所有表格。即OMT的各部件对FOM和SOM都适用
一个HLA OM至少要包含一个对象类或交互类,但某些情况下,描述对象模型的一些表可能是空表。
对象模型鉴别表
作用
记录了关于对象模型的描述信息,包括对象模型开发者的相关信息。
格式
对象类结构表
作用
HLA对象模型的对象类结构是指联邦或成员范围内各个对象之间关系的集合。这种关系主要是指对象类之间的继承关系。对象类结构表描述了联邦或联邦成员范围内对象之间的这种继承关系。类与子类的直接关系可采用在对象类结构表相邻列中包含相关类名的方法来表示,类与子类的非直接关系可以通过继承的传递性从直接关系中得到。
在对象类结构表中,没有超类的类成为根类。没有子类的类成为叶子类。如果每个类最多有一个直接超类,那么类结构为单继承,否则类结构为多继承。
格式
交互类结构表
原理
HLA中,交互是指一个成员中的某个或某些对象产生的,能够对其他成员中的对象产生影响的明确的动作。
HLA对象模型用交互类结构表来描述交互实例的类与子类关系。
属性表
作用
每个对象类都可以用一个能够表明其特征的属性集来描述,这些属性是对象状态的命名部分,它们的值随着时间的推移肯能会发生改变。HLA中,对象属性值的改变,通过RTI提供给其他的联邦成员。HLA的属性表描述的就是这些对象属性的信息。一个HLA OM应在属性表中记录对象类属性的以下特征:
-
Object Class 对象类:说明该属性属于哪类对象
-
Attribute name 属性名:用于标识属性
-
Datatype 数据类型
-
Cardinality 基数
-
Units 单位:属性值的单位
-
Resolution 分辨率:属性公布值相互可区别的程度,当属性值可以用数值表示时,属性值变化的最小量记录在这一栏中。分辨率还可以用于说明离散的属性值。
-
Accuracy 精度:属性值在仿真或联邦中可能偏离其预期值的最大数值。如果属性值和预期值没有偏离,则这一项可以标记为Perfect
-
Accuracy condition 精度条件:说明在联邦运行时要保持给定精度的条件。此条件可以是一项决定精度的更新算法,如无条件则记为Always。
-
Update Type 更新类型
-
Update rate/condition 更新速度/条件:和8一起说明属性更新的策略
-
Transferable/acceptable 可传递/可接受:用于说明属性的所有权是否可以再不同联邦成员之间转移
-
Updateable/reflectable 可更新/可反射:说明联邦或联邦成员对属性的更新与反射能力。
-
Routing space 路径空间:允许个别属性与OMT路径空间表中的登记项相关联。
参数表
作用
交互类用一个或多个交互参数来描述其特征。对于在交互类结构表中的每一个交互类,其相关的参数都应该在参数表中进行描述。通常用以下特征描述交互参数:
- Interaction class 交互类:参数所描述的交互类的名称
- Parameter name 参数名:标识参数
- Datatype 数据类型
- Cardinality 基数:HLA中,应规定每个参数的数据类型和基数
- Units 单位:标记参数值的单位
- Resolution 分辨率:记录参数值之间相互可区别的程度
- Accuracy 精度:参数值在仿真或联邦中可能偏离其预期值的最大数值
- Accuracy condition 精度条件:联邦运行过程中任一给定时间段内要保持给定精度的条件。
枚举数据类型表
枚举数据类型表就是用来记录属性表和参数表中枚举数据类型的有关信息。
第一列是枚举数据类型的标识
第二列提供了枚举数据类型的值
第三列为每一个枚举数据值定义数值
复杂数据类型表
用来记录属性表和参数表中复杂数据类型的有关信息。
第一列为用户定义的复杂数据的标识或名称
第二列为域名,用来标识复杂数据类型内的每一个域
余下六列与属性表和参数表中相应栏的内容相同。
复杂数据类型所包含的域的数据类型也可以是一个其他的复杂数据类型。
路径空间表
联邦成员可以利用路径空间来表达自己接收数据的兴趣,或声明自己发送数据的意愿。
OMT中的路径空间表以一种标准的格式记录了用于表述一致性的所有要素,该表中记录的部分数据将直接用来生产FED文件。
FOM/SOM词典
目的
OMT提供了FOM/SOM词典,用来对OMT个表格中所使用的各个术语的含义进行解释。它包含对象类定义表、交互类定义表、属性定义表、参数定义表、分别用来对各对象类、交互类、属性、参数名称的含义进行定义。
格式
第一列包含了FOM或SOM中所描述的所有对象类
第二列是相应对象类的语义