初始化仓库:task_auto_plan_execute_project
Go to file
root d653b419b1 生成代码工程 2026-05-01 13:54:47 +08:00
include 生成代码工程 2026-05-01 13:54:47 +08:00
src 生成代码工程 2026-05-01 13:54:47 +08:00
tests 生成代码工程 2026-05-01 13:54:47 +08:00
.gitignore Initial commit: 项目初始化 2026-05-01 13:02:25 +08:00
CMakeLists.txt 生成代码工程 2026-05-01 13:54:47 +08:00
README.md 生成代码工程 2026-05-01 13:54:47 +08:00
events.ndjson 生成代码工程 2026-05-01 13:54:47 +08:00

README.md

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+)

构建步骤

# 进入工程目录
cd C2SYS

# 创建构建目录
mkdir build && cd build

# 配置
cmake ..

# 编译主程序
cmake --build . --target C2SYS

# 编译测试程序
cmake --build . --target C2SYS_test

运行

# 运行主程序(演示完整闭环流程)
./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