注:部分由DeepSeek生成,真实性未做测试,谨慎参考
HLA(High Level Architecture)的 FOM(Federation Object Model)支持多种格式,具体取决于 HLA 标准版本和 RTI 实现。以下是全面的格式支持说明:
一、HLA 标准定义的 FOM 格式
1. HLA 1.3 标准(旧版)
- 格式:
.fed
文件(文本格式) - 语法:基于 LISP 的嵌套括号结构(如用户提供的示例)
- 用途:
- Portico RTI 的默认格式
- DMSO RTI(旧版美国国防部 RTI)兼容格式
- 特点:
- 手动编辑友好,但缺乏现代结构化支持
- 仅支持基本对象类、交互类和路由空间定义
2. HLA 1516 及后续标准(IEEE 1516-2000/2010)
- 格式:
.xml
文件(XML 格式) - 语法:符合 IEEE 1516 FOM/SOM 标准
- 用途:
- Pitch pRTI、MAK RTI、CERTI 等现代 RTI 的默认格式
- 支持复杂模型(包括数据类型、传输策略、模块化 FOM)
- 特点:
- 结构化强,适合自动化工具处理
- 支持扩展元数据(如文档注释、版本控制)
二、常见 RTI 实现支持的格式
RTI 名称 | 支持的格式 | 说明 |
---|---|---|
Portico | .fed (HLA 1.3)、.xml | 提供 fedconvert 工具双向转换 |
Pitch pRTI | .xml (IEEE 1516) | 附带 FOM Designer 图形化工具 |
MAK VR-Link | .xml 、.fed | 支持历史项目兼容 |
CERTI | .xml | 开源 RTI,严格遵循 IEEE 1516 |
DMSO RTI | .fed | 已淘汰,仅用于遗留系统 |
HLA(高层体系结构)的 FED 格式和 XML 格式是用于定义联邦模型(Federation Object Model, FOM)的两种不同文件格式。以下是它们的详细描述和对比:
三、详细内容
3.1 HLA FED 格式
概述
- FED(Federation Execution Data)文件是 HLA 1.3 及早期版本中使用的标准格式,用于描述联邦执行中的对象类、交互类、属性和参数。
- 它是一个 文本文件,通常以
.fed
为扩展名。 - 主要用于与 HLA 1.3 兼容的仿真工具(如 DMSO RTI 1.3)。
文件结构
FED 文件由多个块组成,每个块定义不同的联邦元素:
(FED
(Federation <FederationName>)
(Spaces ;; 定义路由空间(Routing Spaces)
(Space <SpaceName>
(Dimension <DimensionName> <DimensionUpperBound>)
)
)
(Objects ;; 定义对象类及其属性
(ObjectClass <ObjectClassName> [<ParentClass>]
(Attribute <AttributeName> <Ordering> <Transportation> [<Space>])
)
)
(Interactions ;; 定义交互类及其参数
(InteractionClass <InteractionClassName> [<ParentClass>]
(Parameter <ParameterName> <Ordering> <Transportation> [<Space>])
)
)
)
关键元素
- Federation:联邦名称。
- Spaces:路由空间定义,用于控制数据分发(如区域订阅)。
Dimension
:路由空间的维度(例如位置坐标)。
- Objects:对象类及其属性。
ObjectClass
:对象类名称和继承关系。Attribute
:属性名称、顺序策略(Timestamp
/Receive
)、传输方式(Reliable
/BestEffort
)和关联的路由空间。
- Interactions:交互类及其参数。
InteractionClass
:交互类名称和继承关系。Parameter
:参数名称、顺序策略和传输方式。
示例
(FED
(Federation ExampleFederation)
(Spaces
(Space 2DSpace
(Dimension X 100)
(Dimension Y 100)
)
)
(Objects
(ObjectClass BaseObject
(Attribute ID Receive Reliable)
)
(ObjectClass Aircraft (BaseObject)
(Attribute Position Timestamp BestEffort 2DSpace)
)
)
(Interactions
(InteractionClass BaseInteraction)
(InteractionClass Collision (BaseInteraction)
(Parameter ObjectID Receive Reliable)
)
)
)
3.2. HLA XML 格式
概述
- XML 格式是 HLA 1516(IEEE 1516-2010)及后续版本中使用的标准格式,用于定义 FOM/SOM(联邦/仿真对象模型)。
- 它是一个符合 OMT(Object Model Template)规范的 XML 文件,通常以
.xml
为扩展名。 - 支持更复杂的元数据(如数据类型、注释、单位等)。
文件结构
XML 文件基于 HLA OMT Schema,主要包含以下元素:
<?xml version="1.0" encoding="UTF-8"?>
<objectModel
xmlns="http://standards.ieee.org/IEEE1516-2010"
name="ExampleFOM"
version="1.0">
<!-- 数据类型定义 -->
<dataTypes>
<basicData name="HLAfloat32" representation="IEEE-754"/>
</dataTypes>
<!-- 对象类定义 -->
<objectClasses>
<objectClass name="Aircraft">
<attribute name="Position" dataType="HLAfloat32" updateType="Conditional"/>
</objectClass>
</objectClasses>
<!-- 交互类定义 -->
<interactionClasses>
<interactionClass name="Collision">
<parameter name="ObjectID" dataType="HLAinteger32BE"/>
</interactionClass>
</interactionClasses>
<!-- 路由空间定义 -->
<spaces>
<space name="2DSpace">
<dimension name="X" upperBound="100"/>
<dimension name="Y" upperBound="100"/>
</space>
</spaces>
</objectModel>
关键元素
- dataTypes:定义基本/复杂数据类型(如结构体、枚举)。
- objectClasses:对象类及其属性。
attribute
:关联数据类型、更新策略(Conditional
/Periodic
)等。
- interactionClasses:交互类及其参数。
parameter
:关联数据类型。
- spaces:路由空间及其维度。
- tags:支持元数据(如单位、注释)。
特性
- 支持 模块化:可通过
<import>
导入其他 FOM 模块。 - 扩展性强:支持用户自定义数据类型和元数据。
- 标准化命名空间:遵循 IEEE 1516 XML Schema。
3.3 FED vs XML 对比
特性 | FED 格式 | XML 格式 |
---|---|---|
HLA 版本 | HLA 1.3 | HLA 1516 (IEEE 1516-2010) |
文件类型 | 文本文件(.fed) | XML 文件(.xml) |
数据类型支持 | 有限(仅基本类型) | 支持复杂类型(结构体、枚举等) |
路由空间定义 | 简单维度定义 | 支持多维度和复杂路由策略 |
元数据支持 | 无 | 支持注释、单位、模块化导入 |
工具兼容性 | 旧版 RTI(如 DMSO RTI 1.3) | 现代 RTI(如 Portico, MAK RTI) |
3.4 总结
- FED 格式:适用于 HLA 1.3 的简单联邦模型,语法简洁但功能有限。
- XML 格式:适用于 HLA 1516 及后续版本,支持复杂模型和扩展元数据,是现代仿真的主流选择。