task_auto_plan_execute_project/README.md

112 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

2026-05-01 05:54:47 +00:00
# C2SYS — 联合作战指挥环境任务自主规划软件系统
## 概述
**C2SYS** (Command & Control System) 是一套面向联合作战指挥环境的任务自主规划软件系统,支持集中式与分布式作战方案的可视化管理、事件驱动的任务生成、双模式(人在回路/自主执行)运行适配及全链路状态监控。
## 功能特性
| 编号 | 功能 | 描述 |
|------|------|------|
| F-001 | 集中式方案列表与详情管理 | 展示集中式任务方案列表,支持自定义排序与详情查看 |
| F-002 | 集中式方案对比与重构 | 多方案资源消耗、时间窗口、成功率对比分析 |
| F-003 | 分布式方案管理可视化 | 分布式方案展示、排序、对比与重构 |
| F-004 | 方案分发与响应监控 | 方案下发至执行单元,采集节点回执,支持重试机制 |
| F-005 | 任务执行状态监控 | 任务执行进度监控,异常高亮告警 |
| F-006 | 战场事件接收与处理 | 接收外部情报源原始事件流,转化为标准化内部事件 |
| F-007 | 事件列表管理与交互 | 待办事件展示、排序、处理与日志记录 |
| F-008 | 作战任务生成关联 | 从事件到任务的联动生成与双向关联 |
| F-009 | 任务模板知识库管理 | 模板版本管理、参数调优、快照保存与回滚 |
| F-010 | 任务模板管理与模式适配 | 人在回路/自主执行双模式模板选择 |
## 工程结构
```
.
├── CMakeLists.txt # CMake 构建配置
├── README.md # 本文件
├── include/
│ ├── app.hpp # 核心业务逻辑接口
│ └── config.hpp # 数据实体与系统配置定义
├── src/
│ ├── main.cpp # 命令行入口与流程演示
│ └── app.cpp # 核心业务逻辑实现 (PIMPL)
└── tests/
└── basic_test.cpp # 基础单元测试 (标准 assert)
```
## 数据实体
核心数据实体定义在 `include/config.hpp` 中,包括:
- **PlanData** — 作战方案(集中式/分布式)
- **EventRaw** — 原始战场事件
- **StandardEvent** — 标准化内部事件
- **TaskTemplate** — 任务模板
- **ExecutionStatus** — 执行状态遥测
- **DistributionAck** — 分发回执
- **OperationLog** — 操作审计日志
- **ConfigSnapshot** — 配置快照
- **ModeStateCache** — 模式状态缓存
## 构建与运行
### 前提条件
- CMake ≥ 3.16
- 支持 C++17 的编译器 (GCC 8+, Clang 7+, MSVC 2019+)
### 构建步骤
```bash
# 进入工程目录
cd C2SYS
# 创建构建目录
mkdir build && cd build
# 配置
cmake ..
# 编译主程序
cmake --build . --target C2SYS
# 编译测试程序
cmake --build . --target C2SYS_test
```
### 运行
```bash
# 运行主程序(演示完整闭环流程)
./C2SYS
# 运行单元测试
./C2SYS_test
```
## 设计原则
- **模块化分层设计**:数据层 (config.hpp) → 业务逻辑层 (app.hpp/cpp) → 交互层 (main.cpp)
- **事件驱动架构**:模块间通过消息队列解耦
- **PIMPL 模式**:隐藏实现细节,保证 ABI 稳定性
- **双模式支持**:人在回路 / 自主执行,模式切换保证上下文一致
- **配置化适应**:网络参数、刷新频率等可通过配置文件调整
## 配置说明
支持通过 key=value 格式的配置文件调整系统参数:
```
# config.txt 示例
refreshIntervalMs=100
websocketPort=9090
maxRetryCount=5
ackTimeoutMs=3000
logLevel=2
```
## 版权
© 2025 C2SYS Project