|
|
||
|---|---|---|
| include | ||
| src | ||
| tests | ||
| .gitignore | ||
| CMakeLists.txt | ||
| README.md | ||
| events.ndjson | ||
| generation.json | ||
README.md
ETMS - Event and Task Management System
战场任务规划系统(BTPS)核心组件 —— 事件与任务管理软件。
功能概述
- 事件接收与校验:接收战场态势事件(JSON),校验完整性并确认ACK/NACK。
- 事件处理与存储:清洗、格式化事件数据,写入事件表并管理状态流转。
- 事件列表展示:分页查询、等级着色、排序等前端展示支持。
- 事件操作:处理、拒绝等交互操作及即时反馈。
- 任务生成准备:建立事件与任务的映射,构建任务生成上下文。
- 任务模板管理:管理上级推送的任务模板集合,支持搜索、排序与详情查看。
- 知识库版本选择:查询与选择用于模板生成的先验知识库版本。
- 人环/自主模式:支持手动选择与自动推荐两种模板选择模式。
- 任务请求发送:组装并发送任务生成请求至外部任务规划引擎。
编译与运行
前置条件
- CMake ≥ 3.14
- 支持 C++17 的编译器(GCC 8+, Clang 7+, MSVC 2019+)
编译步骤
# 创建构建目录
mkdir build && cd build
# 配置
cmake ..
# 编译
cmake --build .
# 运行主程序
./etms
# 运行测试
./etms_test
工程结构
├── CMakeLists.txt # CMake 构建配置
├── README.md # 本文件
├── include/
│ └── app.hpp # 公开 API 头文件(数据模型与核心业务类)
├── src/
│ ├── main.cpp # 命令行入口
│ └── app.cpp # 核心业务实现
└── tests/
└── basic_test.cpp # 使用标准 assert 的单元测试
核心类说明
| 类名 | 职责 |
|---|---|
Event |
战场事件数据模型,包含事件ID、类型、时间戳、等级、位置、描述、状态 |
TaskTemplate |
任务模板数据模型,包含模板ID、名称、类型、参数、子任务列表 |
KBVersion |
知识库版本数据模型,包含版本ID、描述、生效时间、状态 |
EventManager |
事件管理器,负责事件接收、校验、处理、存储与查询 |
TaskGenerator |
任务生成器,负责模板管理、知识库版本选择、事件映射与任务请求组装 |