引言
本文档从最终用户的角度描述了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 - 外部输入/输出