本文主要对近期所翻阅的一些论文及资料进行的概要性整理,后续会有更多的关于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的接口规范进行标准实现,为建模仿真提供基础的服务支撑。

【HLA】初识HLA/RTI的更多相关文章

  1. MAC上安装 HLA(High Level Assembly)

    1.安装HLA 最新版的hla汇编器可在这里下载,支持MacOs,Linux,Windows平台 2.安装步骤 将下载好的hla程序包放在Mac根目录下 最重要的一步是设置好环境变量,打开Mac根目录 ...

  2. windows下hla编译环境配置(转)_1

    原文地址:http://blog.chinaunix.net/uid-20548989-id-1667169.html HLA简介         HLA,英文"High Level Ass ...

  3. windows下hla编译环境配置(转)

    原文地址:http://blog.chinaunix.net/uid-20548989-id-1667169.html HLA简介         HLA,英文"High Level Ass ...

  4. GATK-BWA-MEM handle GRCh38 alternate contig mappings

    1. For the Impatient # Download bwakit (or from <http://sourceforge.net/projects/bio-bwa/files/bw ...

  5. HLA中常用的基本术语

    (1)联邦(Federation):用于实现某一特定仿真目的的分布仿真系统. (2)联邦成员(Federate):参与联邦的所有应用都称为联邦成员,简称成员. (3)对象(Object):构成成员的基 ...

  6. HLA高级汇编语言基础

    HLA高级汇编语言环境的搭建与设置 我的操作系统:WINDOWS7 需要下载的东西:MASM32:http://www.masm32.com/masmdl.htm  HLA:http://webste ...

  7. 【Nature 子刊】I型HLA基因中和癌症相关的体细胞突变--转载

    肿瘤的发生与免疫系统的功能密切相关.在免疫系统中,MHC(主要组织相容性复体,majorhistocompatibilitycomplex)是所有生物相容复合体抗原的一种统称.HLA(humanleu ...

  8. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  9. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

随机推荐

  1. log4j.appender.stdout.layout.ConversionPattern

    http://501565246-qq-com.iteye.com/blog/1991881 http://wenku.baidu.com/link?url=e4Z9v9CY_gwRxHrggzHXx ...

  2. 关于OI本地简易评测姬3.0发布的通知

    本辣鸡蒟蒻的OI本地评测姬3.0出炉辣.[由wjc大蒟蒻编写,rxb神犇秒秒钟搞出编译器命令行,解决了评测姬编译一大难关并便携化,也为评测姬设计提出了宝贵的建议],目前支持pas和cpp(本辣鸡错了, ...

  3. Unity3d获取游戏对象的几种方法

    1.GameObject.Find() 通过场景里面的名子或者一个路径直接获取游戏对象. GameObject root = GameObject.Find("GameObject" ...

  4. 蓝桥网试题 java 基础练习 查找整数

    --------------------------------------------------------------------- 注意看清楚条件 别漏了 -1 -1 -1 --------- ...

  5. 蓝桥网试题 java 基础练习 数列特征

    ----------------------------------- Collections.sort(list);是个好东西 但是要学会排列 然后你才能浪 -------------------- ...

  6. 2.JAVA垃圾回收机制

    前言 线程独享的内存区域有程序计数器,虚拟机栈,本地方法栈,这些区域不用考虑内存回收的问题,随着线程的执行结束,自然就回收了,而堆内存和方法区的回收则不一样,他们的内存分配和回收是动态的. 1.对象存 ...

  7. java集合框架02——Collection架构与源码分析

    Collection是一个接口,它主要的两个分支是List和Set.如下图所示: List和Set都是接口,它们继承与Collection.List是有序的队列,可以用重复的元素:而Set是数学概念中 ...

  8. Color.js 增强你对颜色的控制

    Color.js是一个能加强前端开发中对颜色处理的第三方库. 假设你已经基本了解色彩通道.色彩空间.色相.饱和度.亮度.不透明度等概念.当然了,毕竟前端算是半只脚踏进设计领域了,相信这些概念难不到你. ...

  9. DNS详解

    许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统. 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 ...

  10. 浅谈css中一个元素如何在其父元素居中显示

    css如何垂直居中一个元素的问题已经是一个老生常谈的问题了.不管对于一个新手或者老手,在面试过程中是经常被问到的.前两天在看一个flex的视频教程,当中提到了有关元素的居中问题,所以今天小编就来扒一扒 ...