# 威胁源仿真系统事件清单 ## 文档概述 本文档整理了威胁源仿真系统中所有实体的生命周期事件和交互事件,用于查漏补缺和系统完整性验证。 **版本**: 1.0 **创建日期**: 2024年12月 **最后更新**: 2024年12月 --- ## 1. 导弹生命周期事件 ### 1.1 导弹状态事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 导弹发射 | `MissileFireEvent` | 导弹Fire()方法调用时 | SenderId, TargetId | 仿真管理器, 外部系统 | | 导弹激活 | *(缺失)* | 导弹Activate()时 | SenderId | - | | 导弹停用 | *(缺失)* | 导弹Deactivate()时 | SenderId | - | | 导弹自毁 | *(缺失)* | 导弹SelfDestruct()时 | SenderId, 原因 | - | | 导弹爆炸 | *(缺失)* | 导弹Explode()时 | SenderId, 位置 | - | | 导弹阶段切换 | *(缺失)* | 飞行阶段变化时 | SenderId, 旧阶段, 新阶段 | - | ### 1.2 导弹运动事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 发动机启动 | *(缺失)* | 推力开始时 | SenderId, 推力值 | - | | 发动机关闭 | *(缺失)* | 推力结束时 | SenderId, 关闭原因 | - | | 速度限制触发 | *(缺失)* | 达到最大速度时 | SenderId, 当前速度 | - | ### 1.3 导弹制导事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 制导获得 | *(缺失)* | IsGuidance变为true时 | SenderId, 制导类型 | - | | 制导丢失 | *(缺失)* | IsGuidance变为false时 | SenderId, 丢失原因 | - | | 制导指令更新 | *(缺失)* | GuidanceAcceleration更新时 | SenderId, 制导加速度 | - | --- ## 2. 目标/装备生命周期事件 ### 2.1 目标状态事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 目标被击中 | `TargetHitEvent` | 导弹命中目标时 | TargetId, MissileId | 仿真管理器 | | 目标被摧毁 | `TargetDestroyedEvent` | 目标生命值≤0时 | TargetId, MissileId | 仿真管理器 | | 目标激活 | *(缺失)* | 目标Activate()时 | SenderId | - | | 目标停用 | *(缺失)* | 目标Deactivate()时 | SenderId | - | | 目标受损 | *(缺失)* | TakeDamage()调用时 | SenderId, 伤害值, 剩余生命值 | - | ### 2.2 目标运动事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 目标位置更新 | *(缺失)* | 位置显著变化时 | SenderId, 新位置, 速度 | - | | 目标停止 | *(缺失)* | 速度降为0时 | SenderId, 停止位置 | - | --- ## 3. 指示器生命周期事件 ### 3.1 激光指示器事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 激光照射开始 | `LaserIlluminationEvent` | 开始照射目标时 | LaserDesignatorId, TargetId, SpotPosition, LaserCodeConfig | 激光制导导弹 | | 激光照射停止 | `LaserIlluminationStopEvent` | 停止照射时 | LaserDesignatorId, TargetId | 激光制导导弹 | | 激光编码不匹配 | `LaserCodeMismatchEvent` | 编码验证失败时 | MissileId, DesignatorId, ExpectedCodeConfig, ReceivedCodeConfig | 导弹制导系统 | ### 3.2 激光驾束仪事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 激光波束开始 | `LaserBeamEvent` | 开始发射波束时 | LaserBeamRiderId, BeamPower, LaserCodeConfig | 激光驾束导弹 | | 激光波束停止 | `LaserBeamStopEvent` | 停止发射波束时 | LaserBeamRiderId | 激光驾束导弹 | ### 3.3 红外测角仪事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 红外制导指令 | `InfraredGuidanceCommandEvent` | 发送制导指令时 | TargetMissileId, TrackerToTargetVector, TrackerToMissileVector | 红外指令导弹 | | 导弹红外热源点亮 | `InfraredGuidanceMissileLightEvent` | 导弹发动机点火时 | SenderId, RadiationPower | 红外测角仪 | | 导弹红外热源熄灭 | `InfraredGuidanceMissileLightOffEvent` | 导弹发动机关闭时 | SenderId | 红外测角仪 | ### 3.4 指示器状态事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 指示器激活 | *(缺失)* | 指示器Activate()时 | SenderId, 指示器类型 | - | | 指示器停用 | *(缺失)* | 指示器Deactivate()时 | SenderId, 指示器类型 | - | | 目标锁定 | *(缺失)* | 成功锁定目标时 | SenderId, TargetId | - | | 目标丢失 | *(缺失)* | 失去目标时 | SenderId, TargetId, 丢失原因 | - | --- ## 4. 告警器事件 ### 4.1 激光告警器事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 激光告警开始 | `LaserWarnerAlarmEvent` | 检测到激光照射时 | SenderId, TargetId | 目标防护系统 | | 激光告警停止 | `LaserWarnerAlarmStopEvent` | 激光照射结束时 | SenderId, TargetId | 目标防护系统 | ### 4.2 红外告警器事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 红外探测 | `InfraredDetectionEvent` | 检测到红外辐射时 | SenderId, TargetId, Intensity | - | | 红外告警开始 | `InfraredWarnerAlarmEvent` | 红外威胁告警时 | SenderId, TargetId | 目标防护系统 | | 红外告警停止 | `InfraredWarnerAlarmStopEvent` | 红外威胁消失时 | SenderId, TargetId | 目标防护系统 | ### 4.3 紫外告警器事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 紫外探测 | `UltravioletDetectionEvent` | 检测到紫外辐射时 | SenderId, TargetId, Intensity | - | | 紫外告警开始 | `UltravioletWarnerAlarmEvent` | 紫外威胁告警时 | SenderId, TargetId | 目标防护系统 | | 紫外告警停止 | `UltravioletWarnerAlarmStopEvent` | 紫外威胁消失时 | SenderId, TargetId | 目标防护系统 | ### 4.4 毫米波告警器事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 毫米波探测 | `MillimeterWaveDetectionEvent` | 检测到毫米波辐射时 | SenderId, TargetId, Intensity, Frequency | - | | 毫米波告警开始 | `MillimeterWaveWarnerAlarmEvent` | 毫米波威胁告警时 | SenderId, TargetId, DetectedFrequency | 目标防护系统 | | 毫米波告警停止 | `MillimeterWaveWarnerAlarmStopEvent` | 毫米波威胁消失时 | SenderId, TargetId | 目标防护系统 | --- ## 5. 干扰器事件 ### 5.1 通用干扰事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 干扰开始 | `JammingEvent` | 干扰器开始工作时 | SenderId, Parameters(功率、波长、位置、方向等) | 所有可干扰设备 | | 干扰停止 | `JammingStoppedEvent` | 干扰器停止工作时 | SenderId, Parameters | 所有可干扰设备 | ### 5.2 干扰器状态事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 干扰器激活 | *(缺失)* | 干扰器Activate()时 | SenderId, 干扰类型 | - | | 干扰器停用 | *(缺失)* | 干扰器Deactivate()时 | SenderId, 干扰类型 | - | | 干扰器故障 | *(缺失)* | 状态变为Fault时 | SenderId, 故障原因 | - | | 干扰器冷却 | *(缺失)* | 状态变为Cooling时 | SenderId, 冷却时间 | - | --- ## 6. 系统级事件 ### 6.1 仿真控制事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 仿真开始 | *(缺失)* | StartSimulation()时 | 时间步长 | 所有实体 | | 仿真暂停 | *(缺失)* | PauseSimulation()时 | 暂停时间 | 所有实体 | | 仿真恢复 | *(缺失)* | ResumeSimulation()时 | 恢复时间 | 所有实体 | | 仿真停止 | *(缺失)* | StopSimulation()时 | 停止时间 | 所有实体 | ### 6.2 实体管理事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 实体注册 | *(缺失)* | RegisterEntity()时 | EntityId, EntityType | 仿真管理器 | | 实体注销 | *(缺失)* | UnregisterEntity()时 | EntityId, EntityType | 仿真管理器 | | 实体销毁 | `EntityDestroyedEvent` | 实体被销毁时 | DestroyedEntityId | 仿真管理器 | ### 6.3 环境事件 | 事件名称 | 事件类 | 触发时机 | 包含信息 | 订阅者 | |---------|--------|----------|----------|--------| | 天气变化 | *(缺失)* | SetWeather()时 | 新天气条件 | 所有实体 | | 时间同步 | *(缺失)* | 时间步进时 | 当前仿真时间 | 外部系统 | --- ## 7. 交互事件矩阵 ### 7.1 导弹-目标交互 | 发送者 | 接收者 | 事件 | 触发条件 | |--------|--------|------|----------| | 导弹 | 目标 | TargetHitEvent | 导弹命中目标 | | 目标 | 系统 | TargetDestroyedEvent | 目标生命值耗尽 | ### 7.2 指示器-导弹交互 | 发送者 | 接收者 | 事件 | 触发条件 | |--------|--------|------|----------| | 激光指示器 | 激光制导导弹 | LaserIlluminationEvent | 照射目标 | | 激光驾束仪 | 激光驾束导弹 | LaserBeamEvent | 发射波束 | | 红外测角仪 | 红外指令导弹 | InfraredGuidanceCommandEvent | 发送制导指令 | | 导弹 | 红外测角仪 | InfraredGuidanceMissileLightEvent | 发动机点火 | ### 7.3 干扰器-设备交互 | 发送者 | 接收者 | 事件 | 触发条件 | |--------|--------|------|----------| | 干扰器 | 所有可干扰设备 | JammingEvent | 开始干扰 | | 干扰器 | 所有可干扰设备 | JammingStoppedEvent | 停止干扰 | ### 7.4 告警器-目标交互 | 发送者 | 接收者 | 事件 | 触发条件 | |--------|--------|------|----------| | 告警器 | 目标 | *WarnerAlarmEvent | 检测到威胁 | | 告警器 | 目标 | *WarnerAlarmStopEvent | 威胁消失 | --- ## 8. 缺失事件分析 ### 8.1 高优先级缺失事件 1. **导弹状态变化事件**: 激活、停用、自毁、爆炸、阶段切换 2. **制导状态事件**: 制导获得、制导丢失、制导指令更新 3. **发动机事件**: 启动、关闭、推力变化 4. **仿真控制事件**: 开始、暂停、恢复、停止 5. **实体管理事件**: 注册、注销 ### 8.2 中优先级缺失事件 1. **目标状态事件**: 激活、停用、受损、位置更新 2. **指示器状态事件**: 激活、停用、目标锁定、目标丢失 3. **干扰器状态事件**: 激活、停用、故障、冷却 4. **环境事件**: 天气变化、时间同步 ### 8.3 低优先级缺失事件 1. **性能监控事件**: CPU使用率、内存使用率、帧率 2. **调试事件**: 断点触发、变量变化、异常捕获 3. **统计事件**: 命中率统计、干扰效果统计 --- ## 9. 事件订阅关系图 ``` 仿真管理器 ├── 订阅所有实体的生命周期事件 ├── 发布系统级事件 └── 转发事件到外部系统 导弹 ├── 订阅: TargetHitEvent, JammingEvent, LaserIlluminationEvent等 ├── 发布: MissileFireEvent, InfraredGuidanceMissileLightEvent等 └── 响应: 制导指令、干扰信号 目标/装备 ├── 订阅: *WarnerAlarmEvent, JammingEvent ├── 发布: TargetHitEvent, TargetDestroyedEvent └── 响应: 告警信号、干扰信号 指示器 ├── 订阅: JammingEvent, InfraredGuidanceMissileLightEvent ├── 发布: LaserIlluminationEvent, InfraredGuidanceCommandEvent等 └── 响应: 干扰信号、导弹状态 干扰器 ├── 订阅: 无(主动发射) ├── 发布: JammingEvent, JammingStoppedEvent └── 响应: 控制指令 告警器 ├── 订阅: 辐射探测信号 ├── 发布: *WarnerAlarmEvent, *DetectionEvent └── 响应: 威胁信号 ``` --- ## 10. 改进建议 ### 10.1 立即实施 1. **添加导弹生命周期事件**: 激活、停用、自毁、爆炸事件 2. **添加制导状态事件**: 制导获得、丢失事件 3. **添加仿真控制事件**: 开始、停止、暂停、恢复事件 ### 10.2 短期实施 1. **完善实体管理事件**: 注册、注销事件 2. **添加发动机事件**: 启动、关闭事件 3. **添加环境事件**: 天气变化事件 ### 10.3 长期实施 1. **性能监控事件系统** 2. **调试事件系统** 3. **统计分析事件系统** --- ## 11. 事件命名规范 ### 11.1 命名约定 - **状态变化事件**: `[Entity][State]Event` (如: `MissileActivatedEvent`) - **动作事件**: `[Entity][Action]Event` (如: `MissileFiredEvent`) - **交互事件**: `[Source]To[Target][Action]Event` (如: `LaserToMissileIlluminationEvent`) ### 11.2 属性约定 - **必需属性**: `SenderId`, `Timestamp` - **标识属性**: `TargetId`, `EntityId`等 - **数据属性**: 具体的状态或参数信息 --- **文档结束** *此文档将随着系统发展持续更新,请定期检查事件完整性。*