AFSim仿真系统-架构概览

引言

本文档从最终用户的角度描述了AFSIM架构,旨在帮助最终用户深入了解AFSIM的操作概念。

核心架构

AFSIM基于面向对象的C++架构,提供了一种可扩展和模块化的架构,使得许多附加功能能够轻松集成。AFSIM允许新的组件模型(如传感器、通信、移动器等)以及全新的组件类型被插入并在框架中使用。扩展和插件是框架扩展以集成新平台组件模型、新扩展平台功能以及新扩展仿真服务的主要机制。插件功能是一种扩展形式,允许用户在不重新编译AFSIM核心代码的情况下添加新功能。使用插件可以更容易地分发扩展功能,并提供为特定分析选择使用哪些扩展功能的能力。以下图表展示了AFSIM提供的主要框架组件和服务,这些组件和服务可以进行扩展。

核心应用程序

基于AFSIM的可执行文件通常由单个AFSIM"应用程序"组成,该程序利用AFSIM的服务。这个应用程序维护着脚本类型、扩展和插件管理器以及应用程序配置数据。该应用程序由一个或多个场景组成,这些场景拥有类型工厂和列表、用户输入以及脚本。场景由一个或多个模拟组成,具体取决于应用程序。模拟包含了类型实例、接口(如DIS、XIO、观察者、地形)以及运行时数据,包括事件管理和线程处理。

核心服务

AFSIM提供了处理和支持仿真执行、其他常规计算和基础功能的能力。

场景 - 提供场景输入处理、类型列表和脚本。

仿真 - 提供基于时间的事件处理和维护平台列表。

线程管理 - 提供线程和多线程管理能力。

扩展和插件 - 提供一种通用的方法来添加新的服务和组件。

脚本 - 提供实现和扩展AFSIM脚本语言的基础设施。

观察者 - 提供一种通用的发布-订阅服务,用于从仿真中提取数据。

任务分配 - 允许跨平台的任务分配和行为建模。

跟踪 - 允许根据传感器测量进行航迹形成、航迹相关和融合。

地理空间 - 提供地形和视线数据。

分布式仿真接口 - 仿真接口应用接口标准以实现仿真的互操作性(IEEE 1278 & 1516)。

实用工具 - 提供地球模型、坐标系、数学例程、人工智能构造等。

场景

场景输入加载器提供了从输入文件加载仿真的机制。场景类型列表和脚本为AFSIM组件和脚本的用户输入提供了内部表示。尽管不太常见,但一个应用程序中可能包含多个场景。

仿真

每个仿真都维护一个平台列表。仿真从场景中的场景类型列表中实例化。仿真使用时间管理来以实时或比实时更快(即构造性,尽可能快)的模式推进仿真的状态。仿真拥有一个事件管理器,负责按时间顺序处理事件。尽管AFSIM是基于事件的,但事件被抽象化,以便分析人员无需担心它们。每个场景中可能包含多个仿真。

线程管理

模拟线程管理使得模拟执行更加迅速且流畅,特别是在虚拟实时环境中。通过线程化,可以利用独立的执行线程并行处理一些任务,例如传感器和移动器更新、模拟界面以及地理空间检查。

扩展与插件

扩展

应用、场景和模拟都可以进行"扩展"。应用扩展代表可以添加到应用中的可选功能。场景扩展用于注册新的组件类型并提供对输入加载器的访问。模拟扩展提供针对模拟的特定可选功能,并允许访问观察者服务。

插件

扩展插件管理允许开发扩展的AFSIM功能,而无需更改已交付的框架代码。

实用工具

AFSIM实用工具提供了多种多样的软件工具,包括:

  • 专门的数据类型
  • 人工智能构造
  • 数学类和算法
  • 输入、输出和文件管理例程
  • 时间管理
  • 地球坐标参考系和大气数据
  • 观察者服务使用的发布/订阅类
  • 以及其他许多工具......
任务分配

任务分配是一种服务,用于发送和接收与轨迹或感知相关的*任务分配。它允许用户利用有限状态机的概念对轨迹进行分类。用户定义一组转换规则,这些规则定义了从一个状态转换到另一个状态的条件。在AFSIM任务分配中,每条轨迹都维护着自己的状态。

跟踪

提供轨迹关联、轨迹滤波和轨迹融合功能。AFSIM提供了原生的跟踪算法,同时也可集成第三方跟踪算法。目前,AFSIM支持:

  • 完美和不完美的轨迹相关选项。
  • 多种轨迹滤波器选择。
  • 协方差矩阵提供检测和跟踪概率区域。
地理空间数据

地形(地理空间数据)管理:为DTED和"浮点网格"(与ESRI-GIS兼容)数据库提供优化的地形高程查找功能。

视线管理:提供目标可见性计算服务。

观察者

观察者允许在不更改框架的情况下提取数据。用户可以轻松创建"脚本观察者",以脚本类型输出方式提取数据,而无需对软件进行修改。观察者可用于标准和自定义输出、回放文件和分布式接口。

脚本

脚本管理器理解脚本类型并启用脚本语言。脚本类型易于扩展,以适应新集成的模型和服务。

分布式模拟接口

DIS & HLA

AFSIM集成了行业标准接口,这些接口允许平台与其他模拟中的实体进行交互。

XIO

XIO是AFSIM的一个专用接口,它允许模拟分布在多台计算机上,并通过图形用户界面进行模拟控制。

核心组件

平台

平台是其构成组件的"容器"。平台由以下部分组成:* 物理组件 * 心理/计算组件 * 信息 * 属性 * 链接

移动器

移动器维护着它所附着的平台的动力学状态(位置、方向、速度、加速度等)。移动器有多种选项可供选择,范围从地下到空间动力学模型。

通信

通信设备通过外部链路在平台之间发送和接收消息。AFSIM支持有线或无线设备,使用发射器、接收器和天线来捕捉通信系统的全部物理方面。

传感器

传感器创建测量值并通过链路在轨迹消息中传输它们。在AFSIM中,传感器经常使用发射器、接收器和天线。AFSIM提供了雷达传播、衰减、杂波和误差的多种选项。

武器

武器是指旨在阻止其他物体运行(永久或暂时)的装置。在AFSIM中,大多数武器是显式 武器,即对象被明确建模为平台(如导弹和炸弹),与隐式武器相比,后者在模拟中不作为平台表示(如干扰机或激光器)。

处理器

处理器定义行为或计算算法,类似于人脑或计算机。大多数处理器由用户使用AFSIM脚本语言定义,但AFSIM也提供了许多专用处理器。

术语

AFSIM - 高级模拟、集成和建模框架

COMMS - 通信

DIS - 分布式交互模拟

HLA - 高级体系结构

WSF - 世界模拟框架

XIO - 外部输入/输出

相关推荐
天天扭码7 小时前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
余生H7 小时前
transformer.js(三):底层架构及性能优化指南
javascript·深度学习·架构·transformer
凡人的AI工具箱7 小时前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
运维&陈同学8 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
哔哥哔特商务网21 小时前
一文探究48V新型电气架构下的汽车连接器
架构·汽车
007php00721 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
码上有前1 天前
解析后端框架学习:从单体应用到微服务架构的进阶之路
学习·微服务·架构
货拉拉技术1 天前
多元消息融合分发平台
javascript·后端·架构