KY-RTI分布仿真技术:前言

2023-05-16

       自从美国国防部建模与仿真办公室(DMSO)首次提出高层体系结构(High Level Architecture,HLA)概念以来,HLA仿真技术得到了迅猛发展,也成为我国计算机仿真领域的重要应用方向。

       HLA是一套标准,本质上是几个PDF文件,而按照该标准实现的软件则被称之为运行支撑环境(Run-Time Infrastructure,RTI)。在一个仿真系统中,参加仿真的程序叫做仿真成员(Federate),整个仿真称之为联邦(Federation)。一个可执行程序被执行n次,则系统中有n个仿真成员。

       HLA本质上是一个消息中间件标准,仿真成员通过RTI软件交换数据。一个仿真成员可以运行在Linux、Windows等操作系统上,可以采用GNU C++、Qt、Java、Visual C++、Visual C#等各种语言来编写,只要遵循HLA标准定义的接口,则不同操作系统下不同语言实现的仿真成员就能够实现相互之间的通信,为用户编写分布式仿真程序提供了极大方便。KY-RTI正是这样的一个RTI软件,支持x86、飞腾、龙芯、申威等多种型号的CPU,支持Linux、Windows操作系统,支持GNU C++、Qt、Java、Visual C++、Visual C#等多种程序设计语言,当前能够支持这么多程序设计语言的RTI极其少见。

       HLA标准有两套,其一为DMSO提出的HLA1.3标准;其二是由瑞典Pitch公司主导的IEEE 1516标准。两种标准都提供了联邦管理、声明管理、对象管理、所有权管理、时间管理、数据分发管理、管理对象模型(MOM)等七大管理服务,主要区别在于数据分发管理采用了不同的概念。另外,IEEE 1516对参数类型进行了更复杂的封装,譬如,与逻辑时间相关的类就有RTI::LogicalTime、RTI::LogicalTimeFactory、RTI::LogicalTimeInterval、RTI::LogicalTimeIntervalFactory,要将一个逻辑时间与时间间隔进行加减运算,或者两个逻辑时间进行比较运算是非常麻烦的事情,不能通过一般的“+”、“-”、“<”、“>”等运算符进行;IEEE 1516这种封装看似比HLA1.3更加标准化了,但使用起来却不方便、不实在。KY-RTI是一个遵循HLA1.3标准的RTI软件,通过“+”、“-”、“<”、“>”等运算符就可以对逻辑时间进行操作。

       KY-RTI遵循HLA1.3标准,除了IEEE1516使用不太方便外,另一个重要原因在于美军几乎都在使用DMSO定义的HLA1.3标准,而不是一个由国外公司主导的仿真标准。由于缺少HLA1.3的RTI软件,一个10多年以前开发的老程序,现在一般很难在最新的操作系统上运行了;但通过KY-RTI可以方便地移植到最新的操作系统和CPU上。作者曾经成功地基于KY-RTI将1个使用TCL/TK开发的旧的HLA仿真程序成功地移植到CentOS6.5。当然,IEEE1516标准有自己的特色,譬如仿真程序可以不使用tick服务(IEEE1516中称之为evokeCallback)进行仿真,KY-RTI在HLA1.3标准的基础上,融合了IEEE1516的这些优点,支持用户使用tick或者不使用tick服务来开发程序。作者参与开发了多个RTI软件,包括遵循IEEE1516标准的StarLink、支持大规模仿真的层次式RTI等各类型RTI软件,对RTI软件在仿真系统中的使用有深刻体会。

KY-RTI的Linux、Windows版本和源码请联系作者:walt_lbq@163.com

KY-RTI分布仿真技术:前 言

KY-RTI分布仿真技术:第一章 简介

KY-RTI分布仿真技术:第二章 系统安装

KY-RTI分布仿真技术:第三章 KY-OMT对象模型模板工具

KY-RTI分布仿真技术:第四章 C++程序设计

KY-RTI分布仿真技术:第五章 Qt程序设计

KY-RTI分布仿真技术:第六章 Java程序设计

KY-RTI分布仿真技术:第七章 Visual C++程序设计

KY-RTI分布仿真技术:第八章 Visual C#程序设计

KY-RTI分布仿真技术:第九章 综合演示

KY-RTI分布仿真技术:附录1 分组聊天(HLA数据分发管理的应用)

KY-RTI分布仿真技术:附录2 大联邦(构建1000个成员的HLA/RTI仿真系统)

KY-RTI分布仿真技术:附录3 国产化(操作系统+CPUs)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

KY-RTI分布仿真技术:前言 的相关文章

随机推荐

  • Shell获取某目录下所有文件夹的名称

    bin bash 方法一 dir 61 ls l D temp awk 39 d print NF 39 for i in dir do echo i done 方法二 for dir in ls D tmep do d
  • Spring

    IOC与快速入门 Bean的创建 IOC注解 AOP简介与注解 事务控制 IOC原理 AOP原理 IOC容器的初始化过程 BeanFactory如何创建bean xff1f Spring Bean的创建过程 Spring的事务有了解吗 Sp
  • linux 在shell下如何 将字符串写入 文件?

    用重定向即可 echo 34 aaa 34 gt a txt 追问 中间可以加路径么 xff1f 比如 echo 34 aaa gt home root a txt 可以么 回答 可以 xff0c 绝对路径和相对路径都可以
  • shell将脚本输出结果记录到日志文件

    使用tee命令 xff1a sh portal main sh tee log txt 获取脚本父类路径 cmddir 61 34 96 dirname 0 96 34
  • Linux下Intel集成显卡驱动安装

    在http intellinuxgraphics org 中下载最新的驱动包 xf86 video intel 2 15 0 Debian的源中有安装包xserver xorg video intel xff0c 其实就是基于xf86 vi
  • Qt Creator中添加菜单栏实例

    Qt Creator中添加菜单栏 nbsp 实例是本文介绍的内容 内容不多 很丰富的实现 先来看内容 Qt中的菜单栏添加相对VC比较简单 今天找了一天的槽函数如何添加 到了下午的时候终于有些眉目 现在我们来看一下在Qt中如何添加菜单栏 1
  • 使用 OBS 进行区域录制

    1 OBS 与区域录屏 实际上 OBS 的使用场景可谓是与区域录屏格格不入的 虽然我们依旧有一些办法在 OBS 中达到区域录屏的目的 xff0c 但其操作实在过于繁琐 xff0c 还不如直接使用 QQ 或者 Windows 最新的自带截屏录
  • Linux驱动与一般应用的区别【Linux驱动之路一】

    Linux驱动和一般应用的区别 xff0c 大致可以归类为以下几点 xff1a 一 Linux驱动 属于内核级 xff0c 驱动程序的崩溃会导致整个系统的崩溃 xff0c 例如在驱动程序中出现了非法指针的应用 xff0c 就会导致系统的崩溃
  • Docker 初学者指南 — 如何使用 Docker-Compose 创建客户端/服务器端

    您是一名开发人员并且想探索 docker compose xff1f 这篇文章是为你而写的 在对 Docker Compose 进行简短介绍后 xff0c 您将能够使用 Docker 创建您的第一个客户端 服务器端应用程序 注意 xff1a
  • WSTOOL中止下载后的错误。{ROS}

    运行wstool init j8 src hydro desktop full wet rosinstall时 xff0c 由于网络原因中止 xff0c 再开的时候会报错 错误提示 xff1a Error There already is
  • FreeRTOS 启动流程浅析 vTaskStartScheduler --待续

    1 Scheduler status xff1a 全局标志 xff1a static volatile BaseType t xSchedulerRunning 61 pdFALSE 取值 xff1a define taskSCHEDULE
  • Windows的linux子系统无法使用NFS

    需求 xff1a 不能装双系统 xff0c 虚拟机本地文件共享又不方便 xff0c 所以想要用win10商店的linux子系统 xff08 ubuntu18 04 xff09 配合NFS实现本地的linux环境编程测试 xff0c 再同步到
  • Docker

    文章目录 Docker1 Docker简介1 1 什么是虚拟化1 2 什么是Docker1 3 容器与虚拟机比较1 4 Docker 组件1 4 1 Docker服务器与客户端1 4 2 Docker镜像与容器1 4 3 Registry
  • tensorflow图优化详解

    一 运行时优化 Grappler是TensorFlow提供的运行时优化功能 xff0c 图1为Grappler模块主要功能的UML关系图 其中tensorflow grappler GrapplerItem 表示待优化的TensforFlo
  • 理解一维数组中 buf、buf[0]、&buf[0]、&buf 四个符号的含义

    本文内容摘自 C语言内核深度解析 一书的深入学习数组部分 以 int buf 100 61 0 为例 xff0c 集中讨论 buf buf 0 amp buf 0 amp buf 四个字符含义的内涵 1 buf xff1a 有两层含义 xf
  • 无人机航线规划软件[航线通]

    无人机航线规划软件 航线通 xff08 RoutePlan xff09 是数据禾 xff08 databox store xff09 研发的具有自主知识产权的无人机航线规划及飞行的移动端控制软件 xff0c 主要适用于大疆无人机 xff0c
  • Ubuntu20.04安装Cartographer_ros,conda环境X11问题

    absl的解决 conda 环境的 X11 问题 xff1a conda span class token function install span c conda forge xorg libx11
  • 单目视觉定位测距的两种方式

    单目定位和双目定位的选择 xff0c 我觉得主要还是成本和时间的考虑 之前也尝试过双目定位 xff0c 感觉要更精准些 xff0c 但双目测距需要对两幅图像进行图像变换和极线匹配 xff0c 稍微耗时了一些 这几天尝试了一下单摄像头进行测距
  • KY-RTI分布仿真技术:附录3 国产化(操作系统+CPUs)

    以操作系统和CPU为代表的国产化是当前仿真系统实现的必然趋势 本章以聊天程序为例 xff0c 展示了KY RTI在多种国产操作系统和国产CPU上的运行结果 聊天程序是一个入门程序 xff0c 本身比较简单 xff0c 不追求界面的美观 相信
  • KY-RTI分布仿真技术:前言

    前 言 自从美国国防部建模与仿真办公室 xff08 DMSO xff09 首次提出高层体系结构 xff08 High Level Architecture xff0c HLA xff09 概念以来 xff0c HLA仿真技术得到了迅猛发展