任务规划软件(TPS)— C++ 核心处理单元
概述
任务规划软件(Task Planning System, TPS)是战场任务规划系统的核心处理单元,实现从事件感知到任务生成、计划管理、方案分发与状态监控的闭环管理。本工程实现了 TPS 的核心数据模型与业务逻辑。
工程结构
.
├── CMakeLists.txt # CMake 构建配置
├── README.md # 本文件
├── include/
│ ├── app.hpp # 核心数据结构(数据库表模型)
│ ├── event_handler.hpp # 事件接收与处理模块
│ ├── template_manager.hpp # 模板管理模块
│ ├── plan_manager.hpp # 计划管理模块
│ └── distribution_monitor.hpp # 方案分发与状态监控模块
├── src/
│ ├── main.cpp # 命令行入口(演示流程)
│ ├── event_handler.cpp # 事件处理实现
│ ├── template_manager.cpp # 模板管理实现
│ ├── plan_manager.cpp # 计划管理实现
│ └── distribution_monitor.cpp # 分发监控实现
└── tests/
└── basic_test.cpp # 单元测试(标准库 assert)
需求覆盖
| CSCI需求标识 |
需求名称 |
模块/函数 |
| SRS-F-01-001 |
接收临机事件和规划事件 |
EventHandler::receiveEvent() |
| SRS-F-01-002 |
事件数据过滤转化封装 |
EventHandler::processEvent() |
| SRS-F-02-001 |
接收待处理事件列表 |
EventHandler::getPendingEvents() |
| SRS-F-02-004 |
生成作战任务并送交处理 |
PlanManager::createPlan() |
| SRS-F-03-001 |
任务模板先验知识库版本选择 |
TemplateManager::getConfig() |
| SRS-F-03-002 |
先验知识库配置调整 |
TemplateManager::updateConfig() |
| SRS-F-04-001 |
接收推送的任务模板集合数据 |
TemplateManager::receiveTemplates() |
| SRS-F-04-005 |
人环模式下用户选择任务模板 |
TemplateManager::selectTemplate() |
| SRS-F-04-006 |
自主执行模式下任务模板自动选择提示 |
TemplateManager::autoSelectTemplate() |
| SRS-F-05-001 |
集中式计划管理与偏好排序 |
PlanManager::sortPlans() |
| SRS-F-05-002 |
计划详情可视化与HITL通知 |
PlanManager::notifyHITL() |
| SRS-F-05-003 |
计划重配置操作与可视化 |
PlanManager::reconfigurePlan() |
| SRS-F-05-004 |
分布式计划管理与算法处理 |
PlanManager::mergeAndCheckConsistency() |
| SRS-F-06-001 |
方案驱动分发与状态响应 |
DistributionMonitor::distributePlan() / receiveAck() |
| SRS-F-06-002 |
驱动状态监控与异常信息展示 |
DistributionMonitor::receiveTelemetry() / triggerAlarm() |
编译与运行
前置条件
- CMake ≥ 3.14
- C++17 兼容的编译器(GCC 8+, Clang 10+, MSVC 2019+)
构建
cd codegen-runs/codegen_af1ed1d727e14f1cb7e99c1a9f65e3f6
mkdir build && cd build
cmake ..
cmake --build .
运行主程序
# Linux/macOS
./tps
# Windows
tps.exe
运行单元测试
# Linux/macOS
./tps_test
# Windows
tps_test.exe