二、AFSIM核心应用
2.1 核心架构(Core Architecture )
AFSIM 采用面向对象 C++构建,具备可扩展模块化架构,便于集成各类新增功能。框架支持接入全新组件模型(传感器、通信、运动模型等),也支持自定义全新组件类型。扩展模块(Extensions)与插件(Plug-ins)是框架功能拓展的核心机制,用于接入新平台组件、拓展平台能力、新增仿真服务。 插件机制属于轻量化扩展方案:无需重新编译 AFSIM 内核代码即可新增功能,便于功能模块化分发;用户可根据分析任务按需加载所需扩展组件。
第一层:AFSIM Application(AFSIM 应用层)
最顶层,所有可执行程序:mission、engage、weapon_tools、post_processor、sensor_plot,以及 Mystic、Warlock 等套件工具。 应用层调用下层 AFSIM Framework 框架接口完成仿真推演。
第二层:AFSIM Framework(AFSIM 框架层)
由两大模块构成:AFSIM Services(仿真服务)+AFSIM Components(仿真组件)
- AFSIM Services|仿真基础服务(仿真运行支撑内核)
| 模块名称 | 专业释义 |
|---|---|
| Scenarios | 场景管理:仿真场景、初始态势、环境配置管理 |
| Simulations | 仿真实例管理:仿真推进、时间调度、仿真生命周期控制 |
| Extensions | 扩展管理器:插件加载、动态扩展模块调度 |
| Script | 脚本引擎:支持仿真流程控制、自定义逻辑脚本 |
| Observer | 观测器:仿真数据采集、事件捕获,输出日志(EVT 文件) |
| Tasking | 任务规划:平台任务指令、行动调度管理 |
| Tracking | 目标跟踪:航迹管理、目标状态滤波、态势跟踪 |
| Geospatial Data | 地理空间数据:大地坐标系、地形、环境地理信息支撑 |
| Distributed Simulation Interfaces | 分布式仿真接口:对接 DIS/HLA,支持 LVC 分布式互联 |
| Utilities | 通用工具库:数学计算、坐标转换、文件 IO 等基础公共服务 |
- AFSIM Components|仿真实体组件库
分为Platform Components(平台组件)和Non-Platform Components(非平台组件)
Platform Components(挂载在平台 / 载具上的子系统)
Movers:运动模型,管控平台位置、速度、机动航迹(对应 Mover Creator 建模工具)
Sensors:传感器模型(雷达、光电、无源探测等)
Weapons:武器系统模型(导弹、航炮、定向能弹药等)
Processors:平台机载 / 车载处理单元,任务计算机、火控计算机
Communications:通信模型(数据链、电台,支持 Link16 仿真)
Others:其他自定义机载设备(电子对抗、诱饵系统等)
Non-Platform Components(非平台组件)
不属于某一个载具平台的全局对象:环境模型、干扰源、全局事件、空域约束、气象环境等独立仿真对象。
2.2 核心应用(Core Applications)
基于 AFSIM 构建的可执行程序通常由单个 AFSIM 应用程序构成,该应用调用 AFSIM 各项仿真服务。 此应用统一管理脚本类型、扩展模块与插件管理器,同时提供配置目录、用户输入与仿真脚本的访问接口。场景(Scenario)由一个或多个仿真实例(Simulation)组成,具体数量由应用类型决定。仿真实例承载运行时底层基础设施,包含事件调度管理与多线程机制。
2.3 核心服务(Core Services)
Scenarios(场景服务)提供场景输入解析、类型清单管理、仿真脚本加载能力;负责整个仿真任务的态势、环境初始配置。
场景输入加载器负责从输入文件载入仿真配置;场景类型清单与脚本将用户输入转化为 AFSIM 组件可识别内部数据。单个应用程序理论上可加载多个场景,但该用法并不推荐。
Simulations(仿真实例服务)完成基于时间的离散事件调度,维护全部平台实体列表;内置线程管理,支持多线程并行运算。
每个仿真实例维护一份独立平台实体清单;仿真实例由场景配置信息实例化生成。 依托时间管理模块推进仿真,支持两种运行模式:1)实时模式(real-time):适配人在回路虚拟仿真;2)超实时 / 构造模式(constructive):全速离线推演,用于蒙特卡洛效能分析。
每个仿真实例内置事件管理器,按时序有序处理全部仿真事件。AFSIM 本质为离散事件仿真框架,但对用户屏蔽底层事件细节,降低分析人员使用门槛。 单个场景可同时启动多个独立仿真实例并行运算。
Thread Management(线程管理,隶属于 Simulations)提供线程调度、多线程并行仿真管理能力,用于加速批量构造仿真。
AFSIM 支持多线程并行调度,把实体运动解算、传感器探测、地形通视计算等耗时任务拆分并行,降低实时仿真时延;是有人 / 无人平台、航空实时仿真场景的核心性能支撑。
Extensions and Plug-Ins(扩展与插件服务)通用扩展机制,支持动态新增仿真服务、自定义装备组件,无需重新编译内核。
应用、想定与仿真均可实现 “扩展”。应用扩展:可为应用程序追加可选功能;想定扩展:用于注册新组件类型,并提供输入加载器的访问接口;仿真扩展:提供仿真专属的可选能力,同时开放观测器服务访问。
插件化管理是 AFSIM 的核心设计:二次开发只写插件,不用改动框架底层源码,实现框架与业务功能解耦。
关键对象:input loader,输入加载器,解析想定配置文件;observer service,观测器服务,用于采集仿真运行数据、记录仿真状态
Script(脚本服务)提供 AFSIM 脚本语言运行环境,支持自定义、扩展仿真控制脚本,实现实体行为逻辑定制。
Observer(观测器服务)通用发布 - 订阅(publish-subscribe)数据服务,采集仿真过程所有事件、状态数据,输出日志,供后处理、可视化工具读取。
观测器支持无需修改框架源码即可完成数据提取。用户可以便捷创建脚本观测器,借助脚本化输出方式,在不改动程序代码的前提下提取仿真数据。观测器可用于标准输出、自定义输出、仿真回放文件以及分布式接口。
Tasking(任务调度服务)支持平台间指令交互、实体自主行为建模,实现作战任务分配、战术行动控制。
任务服务是用于收发与航迹 / 感知信息绑定的任务指令的服务。任务服务支持用户基于有限状态机对航迹进行分类管理。用户自定义一套状态迁移规则,规定状态之间发生切换的触发条件;在 AFSIM 任务服务中,每一条航迹独立维护自身状态。
Tracking(目标跟踪服务)基于传感器观测数据生成目标航迹,完成航迹关联、数据融合,模拟机载 / 舰载跟踪系统。
提供航迹关联、航迹滤波、航迹融合功能。AFSIM 内置原生跟踪算法,同时也支持集成第三方跟踪算法。当前支持能力:支持理想 / 非理想两种航迹关联模式;多种航迹滤波算法可选;通过协方差矩阵输出探测与航迹概率不确定区域。
Geospatial(地理空间服务)提供地形数据、视线(LOS)遮挡计算,支撑雷达探测、光电通视分析。
地形(地理空间数据)管理针对 DTED 格式、兼容 ESRI‑GIS 的 “浮点网格 (float‑grid)” 数据库,提供经过优化的地形高程查询能力; 视距管理提供目标通视性计算服务。
Distributed Simulation Interfaces(分布式仿真接口服务)遵循仿真互操作标准IEEE 1278(DIS)、IEEE 1516(HLA),实现分布式互联,支撑 LVC 联合仿真。
Utilities(通用工具服务)提供地球模型、各类坐标系统转换、数学库、AI 行为框架等底层公共基础组件。
工具集属于底层公共基础库,向上给仿真、扩展插件提供通用能力;其中发布订阅(Publish/subscribe) 就是Observer Service观测器服务底层通信机制。
2.4 核心部件(Core Components)
Sensors(传感器)
传感器生成探测量测数据,以航迹消息形式通过链路向外发送。AFSIM 中的传感器通常复用发射机、接收机以及天线组件;提供多种模型,用于雷达传播、信号衰减、杂波及测量误差仿真。
Movers(运动器)
运动器负责维护所绑定仿真平台的运动学状态(位置、姿态、速度、加速度等)。运动器提供丰富模型,覆盖水下到太空全域运动学模型。
Mover 是平台运动解算组件,舰艇、飞机、卫星、导弹的航迹运动全部由它驱动,支持水下、地面、空中、太空多域实体。
Communications(通信组件)
通信设备依托外部链路,完成各平台之间消息收发。AFSIM 支持有线、无线通信设备,通过发射机、接收机与天线完整仿真通信系统各类物理特性。
可仿真真实通信物理层效应,不是简单消息转发,包含天线、收发器件的物理建模。
Weapons(武器组件)
武器用于对其他目标实施干扰或毁伤(永久毁伤或临时压制)。AFSIM 中绝大多数为显式武器,武器本身作为独立仿真平台建模(例如导弹、炸弹);与之相对为隐式武器,不生成独立平台实体(例如干扰机、激光武器)。
- 显式武器:导弹、炸弹,自身拥有完整 Mover 运动模型,作为独立平台飞行;
- 隐式武器:电子干扰、定向能激光,依附载机平台,不生成独立实体。
Processors(处理器)
处理器用于定义实体行为逻辑与计算算法,相当于仿真实体的大脑。大部分处理器可由用户通过 AFSIM 脚本语言自定义,同时框架也内置大量专用处理器。
实体行为决策单元,和前面Tasking任务服务配合;用户用脚本编写业务逻辑,不用 C++ 开发,快速实现实体智能行为。
