初识HLA/RTI
本文主要对近期所翻阅的一些论文及资料进行的概要性整理,后续会有更多的关于HLA的研究细节发布,基于博客园的知识共享平台,以期共同进步!
一、引言
仿真的历史由来已久,在系统研制过程中,基于建模及仿真技术能够有效的降低系统研制周期、提高研发效率以及提高系统的可靠性和稳定性。随着系统规模和复杂度的不断提高,如何提高仿真效率是重要的研究课题之一。分布式仿真能够充分利用分布式并行计算的特点,大幅度提高仿真效率。
不同企业、组织,或统一组织内的不同部门由于专业领域的不同,一般是基于自身专业领域开发不同的仿真应用。而这些仿真应用一般处于天然隔离之下。如何提高仿真应用间的重用和互操作是一个值得研究的领域,而标准化正是解决这类问题的典型方式。因此,建立一个通用的建模仿真技术框架以及相应的标准、规范是一个有效途径。
由此诞生的美国国防部的MSMP计划正是这样一个计划。MSMP制定了一系列目标,其中之一就是“为建模和仿真提供共同的技术框架”。由此,美国国防部在发布了针对建模仿真领域的通用技术框架。该框架有CMMS、HLA和一系列数据标准组成。HLA正是在这样的背景下,作为建模仿真的通用技术框架的一部分而出现在大众视野中。
二、HLA基本思想
HLA,英文 High Level Architecture,即高层体系结构,是一个通用的建模仿真的技术框架,其主要关注仿真应用间的互操作性和重用性。
HLA的组成类似于面向对象的思想,即客观世界是由对象以及对象间的交互组成。HLA的总体体系结构如下图所示,HLA将 实现某种特定仿真目的的仿真系统 抽象为联邦,将仿真系统中存在交互关系的仿真应用抽象为 联邦成员(Federate),将系统仿真过程中的实体通过对象进行组织。一个联邦包含多个联邦成员,一个联邦成员包含多个对象。仿真执行的过程正是基于联邦成员间的交互过程。
HLA的逻辑拓扑如下图所示:HLA将仿真过程中的所需的交互信息通过统一的、规范的格式进行表述。仿真过程的执行,正是基于一致的信息表述,联邦成员间的相互交互而完成。联邦成员间的交互不是两两独立进行,而是通过公共的基础服务支持框架RTI(Run Time Infrastructure)实现。仿真系统被抽象为联邦成员的组合和交互。RTI是HLA的核心部分之一,它为仿真执行提供底层的基础服务支撑。类似于局域网内的“HUB”,仿真过程中所有的信息交互必须通过RTI完成。
基于Hub式的架构风格,将仿真应用的实现与基础支撑服务分隔开,仿真人员只关注于特定垂直领域的仿真实现,而不必关系复杂的底层通信服务。同样,基于一致的信息表述和服务接口,使得联邦成员的表述以及成员间的信息交互变得行为更加一致。
三、HLA组成
基于美国国防部建模与仿真办公室DMSO发布的HLA官方文档,HLA主要包括规则、对象模型模板以及接口规范三个部分,如下图所示。
3.1 规则
规则是HLA中联邦设计所需要遵循的基本准则,HLA中包含 10 个规则,分别对联邦和联邦成员设计过程中的遵循准则进行了描述
1. 联邦中有一个联邦对象模型
2. 联邦中,FOM中的所有对象实例属于各个联邦成员,而不应该在RTI中。
3. 联邦执行是,联邦成员间的FOM规定的数据交互必须通过RTI进行。
4. 联邦成员通过HLA提供的标准接口与RTI进行交互。
5. 联邦执行过程中的任一给定时间,一个对象的属性只能为一个成员所拥有。
6. 联邦成员应该有一个符合OMT规范的成员对象模型,即SOM
7. 成员能够对其SOM的属性进行更新/反射,也能对SOM的交互进行发送/接收
8. 成员应该能按照SOM的规定,在联邦执行过程中进行所有权的转移与接收。
9. 成员能按照SOM的规定,改变更新对象属性的条件。
10.成员应该能管理局部时间,从而保证它能协调的与其他成员交换数据。
3.2 对象模型模板OMT
对象模型模板,即 “Object Model Template”,简称OMT是对联邦中的信息进行统一描述的统一格式描述。不论是联邦的FOM还是联邦成员的SOM都要遵循OMT的格式要求对对象信息进行描述。OMT通过对信息描述格式的统一,更加有力的支撑了的成员间的互操作性和重用原则。
3.3 接口规范
接口规范定义了系统仿真过程中需要实现的服务接口的标准形式,为RTI以及联邦成员的RTI模块实现提供指导。HLA文档中的接口规范定义涉及了 6 种类型的服务接口定义,如下图所示:
1. 联邦管理服务:主要包括创建联邦执行以及执行过程中对联邦的动态控制相关的服务。如创建联邦执行、加入联邦执行、请求暂停、请求恢复运行等。
2. 声明管理服务:主要用于成员向RTI生命它提供的信息与能发出的交互,以及希望从其他联邦成员接收的信息和交互。
3. 对象管理服务:主要包括对象的动态管理、成员间对象互操作
4. 所有权管理服务:主要用于管理对象的所有权在成员间的接收和转移。
5. 时间管理服务:主要用于仿真过程中的时间管理。
6. 数据分发管理服务:主要包括针对联邦成员间进行数据分发的路径空间进行管理的服务接口
总结
HLA是建模仿真领域的通用技术框架,借鉴面向对象思想,其将仿真系统抽象为联邦、联邦成员、对象。仿真的执行过程抽象为联邦成员间基于RTI的交互过程。
HLA文档包含规则、接口规范和OMT三部分,接口规范对HLA基础服务进行了定义,OMT对HLA的对象及交互进行的表述格式进行了统一,规则对联邦及联邦成员的构建所遵循的规则进行的约束。
RTI是HLA的核心,其对HLA的接口规范进行标准实现,为建模仿真提供基础的服务支撑。