task_plan_execute_2/generation.json

37 lines
19 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"projectId": 42,
"generationId": "codegen_af1ed1d727e14f1cb7e99c1a9f65e3f6",
"language": "C++",
"status": "completed",
"fileIds": [
981
],
"outputDir": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_af1ed1d727e14f1cb7e99c1a9f65e3f6",
"relativeOutputDir": "codegen-runs/codegen_af1ed1d727e14f1cb7e99c1a9f65e3f6",
"generatedFiles": [
"CMakeLists.txt",
"README.md",
"events.ndjson",
"include/app.hpp",
"include/distribution_monitor.hpp",
"include/event_handler.hpp",
"include/plan_manager.hpp",
"include/template_manager.hpp",
"src/distribution_monitor.cpp",
"src/event_handler.cpp",
"src/main.cpp",
"src/plan_manager.cpp",
"src/template_manager.cpp",
"tests/basic_test.cpp"
],
"analysisSummary": "### **业务目标** \n开发任务规划软件TPS作为战场任务规划系统的核心处理单元实现从事件感知到任务生成、计划重配置、方案分发与执行监控的闭环管理。系统需支持高实时性、高可靠性的人机协同或自主任务规划能力满足现代战争快节奏、高动态的指挥需求提升任务规划效率和战场响应速度。\n\n---\n\n### **功能清单** \n\n1. **事件接收与处理**\n - 接收来自上游系统的临机事件和规划事件数据包JSON/XML格式\n - 支持TCP/IP自定义协议通信具备心跳机制与断点续传能力\n - 数据合法性校验、缓存入队、确认反馈及异常处理\n\n2. **事件标准化处理**\n - 对原始事件进行过滤、时间戳/坐标系转换、封装为标准内部模型\n - 添加元数据接收时间、处理节点ID等\n - 处理延迟不超过500ms失败时保留快照并报警\n\n3. **事件展示与交互**\n - 前端展示标准化事件列表,支持排序、分页、虚拟滚动\n - 提供“处理”“拒绝”操作按钮,状态变更可同步至后端\n - 列表加载时间≤1秒失败时提供刷新机制\n\n4. **任务生成**\n - 接收待处理事件列表并在界面展示,支持多选\n - 用户选择事件并填写参数后生成任务草案\n - 至少选择一个事件方可提交,生成失败提示错误并保留输入\n\n5. **模板管理**\n - 接收推送的任务模板集合JSON/XML支持增量/全量更新\n - 页面可视化展示模板库,支持按版本、名称、更新时间排序\n - 展示模板详细信息及子任务需求树状结构\n - 支持人环模式下用户手动选择模板,锁定版本\n - 自主模式下运行匹配算法自动推荐最优模板\n - 支持先验知识库配置调整与参数合法性验证\n\n6. **计划管理**\n - 集中式计划列表管理,支持基于用户偏好的加权排序\n - 计划详情可视化展示HITL节点触发人工干预通知\n - 支持计划重配置操作,可视化高亮变更部分\n - 分布式计划聚合管理,构建依赖关系图,运行一致性检查\n\n7. **方案分发**\n - 将最终任务方案分发至卫星、无人机、雷达等作战资产\n - 支持异构通信协议军用数据链、UDP/TCP含ACK确认与重传机制\n - 实时更新分发状态(成功/失败/发送中),失败支持重发\n\n8. **状态监控**\n - 实时接收资产遥测数据解析并更新UI状态\n - 监控看板展示主计划与子任务状态,异常状态码触发报警\n - 数据刷新频率≥1Hz通信中断显示最后已知状态并标记“数据陈旧”\n\n9. **通用质量特性支持**\n - 可靠性:模块化设计、双机热备、看门狗机制\n - 安全性RBAC权限控制、输入验证、国密加密、多因素认证\n - 维护性:统一编码规范、注释率>30%、配置驱动、在线升级\n - 测试性:独立测试接口、自检功能、模拟数据工具、日志级别可调\n - 环境适应性:宽温宽湿运行、降级策略、电磁兼容设计\n\n---\n\n### **数据结构** \n\n#### **核心数据库表**\n\n**1. 事件表Event**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 事件ID | event_id | VARCHAR(64) | 主键,唯一标识 |\n| 事件类型 | event_type | VARCHAR(20) | 如“临机”“规划” |\n| 发生时间 | occur_time | DATETIME | 事件实际发生时间 |\n| 事件标题 | title | VARCHAR(255) | 简要描述 |\n| 事件描述 | description | TEXT | 详细内容 |\n| 位置坐标 | location | VARCHAR(100) | WGS-84或其他坐标系 |\n| 优先级 | priority | INT | 数值越大优先级越高 |\n| 状态 | status | VARCHAR(20) | 如“未处理”“已处理”“拒绝” |\n| 创建时间 | create_time | DATETIME | 系统记录时间 |\n\n**2. 任务模板表TaskTemplate**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 模板ID | template_id | VARCHAR(64) | 主键 |\n| 模板名称 | name | VARCHAR(100) | 显示名称 |\n| 版本号 | version | VARCHAR(20) | 如v1.0.0 |\n| 内容路径 | content_path | VARCHAR(255) | 文件存储路径 |\n| 适用场景 | scenario | VARCHAR(50) | 如“侦察”“打击” |\n| 是否启用 | enabled | BOOLEAN | 控制是否可用 |\n| 创建时间 | create_time | DATETIME | 记录时间 |\n\n**3. 模板版本表TemplateVersion**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| ID | id | BIGINT | 自增主键 |\n| 模板ID | template_id | VARCHAR(64) | 关联模板 |\n| 版本号 | version | VARCHAR(20) | 版本标识 |\n| 发布时间 | release_time | DATETIME | 上线时间 |\n| 过期时间 | expire_time | DATETIME | 可为空 |\n| 状态 | status | VARCHAR(20) | “有效”“过期”“草稿” |\n\n**4. 任务计划表TaskPlan**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 计划ID | plan_id | VARCHAR(64) | 主键 |\n| 名称 | name | VARCHAR(100) | 计划名称 |\n| 关联事件 | event_ids | TEXT | JSON数组形式 |\n| 使用模板 | template_id | VARCHAR(64) | 引用模板 |\n| 当前状态 | status | VARCHAR(20) | “草案”“执行中”“完成”等 |\n| 创建时间 | create_time | DATETIME | 时间戳 |\n| 更新时间 | update_time | DATETIME | 最后修改时间 |\n\n**5. 计划节点表PlanNode**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 节点ID | node_id | VARCHAR(64) | 主键 |\n| 计划ID | plan_id | VARCHAR(64) | 外键关联 |\n| 节点类型 | type | VARCHAR(20) | “任务”“决策”“HITL”等 |\n| 内容 | content | TEXT | 描述或指令 |\n| 执行顺序 | order_index | INT | 排序依据 |\n| 状态 | status | VARCHAR(20) | 执行状态 |\n| 是否需人工干预 | hitl_required | BOOLEAN | 标记HITL节点 |\n\n**6. 分发日志表DistributionLog**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 日志ID | log_id | BIGINT | 主键 |\n| 方案ID | plan_id | VARCHAR(64) | 对应计划 |\n| 目标资产 | asset_type | VARCHAR(50) | 卫星/无人机等 |\n| 分发时间 | send_time | DATETIME | 发送时刻 |\n| 状态 | status | VARCHAR(20) | “成功”“失败”“重试” |\n| 重试次数 | retry_count | INT | 最大3次 |\n| 响应码 | ack_code | VARCHAR(20) | ACK/NACK等 |\n\n**7. 状态日志表StatusLog**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 日志ID | log_id | BIGINT | 主键 |\n| 资产ID | asset_id | VARCHAR(64) | 唯一标识 |\n| 状态码 | status_code | VARCHAR(20) | 如“OK”“ERROR_01” |\n| 详细信息 | detail_info | TEXT | 错误描述 |\n| 时间戳 | timestamp | DATETIME | 数据采集时间 |\n| 数据来源 | source | VARCHAR(50) | 数据链路标识 |\n\n---\n\n### **接口或命令** \n\n| 接口标识 | 名称 | 方向 | 协议 | 数据类型 | 功能描述 |\n|--------|------|------|-------|----------|-----------|\n| SRS-TPS_I_EVT_IN | 事件数据接口 | 输入 | TCP/IP + 自定义应用层协议 | JSON/XML | 接收原始事件数据包,支持心跳与断点续传 |\n| SRS-TPS_I_TMP_IN | 模板数据接口 | 输入 | HTTPS + RESTful API | JSON/XML | 接收模板集合,带数字签名验证 |\n| SRS-TPS_O_TASK_OUT | 任务分发接口 | 输出 | 军用数据链 / UDP/TCP | 二进制/JSON | 发送任务方案含ACK确认与重传机制 |\n| SRS-TPS_I_STAT_IN | 状态遥测接口 | 输入 | 军用数据链 / UDP | 二进制 | 接收高频小包遥测数据,含时间戳与校验和 |\n\n---\n\n### **约束** \n\n1. **运行环境约束**\n - 操作系统银河麒麟V10 SP2及以上\n - 硬件平台国产八核处理器≥2.5GHz、32GB ECC内存、512GB SSD + 2TB RAID5存储\n - 网络100Mbps以上带宽\n\n2. **性能约束**\n - 事件处理延迟 ≤ 500ms\n - 事件列表加载时间 ≤ 1秒\n - 状态监控刷新频率 ≥ 1Hz\n - 并发用户数 ≥ 10事务吞吐量 ≥ 50 TPS\n\n3. **安全约束**\n - 静态数据采用国密算法加密\n - 传输过程使用HTTPS或加密数据链\n - RBAC权限控制最小权限原则\n - 支持多因素认证与会话超时管理\n\n4. **可靠性约束**\n - 关键模块双机热备\n - MTBF ≥ 1000小时MTTR ≤ 30分钟\n - 看门狗机制保障核心进程存活\n\n5. **维护性约束**\n - 注释率 > 30%\n - 支持配置文件动态生效\n - 在线平滑升级,不影响正在执行任务\n\n6. **环境适应性约束**\n - 通过高低温、湿热、振动、电磁兼容试验GJB 151B\n - 支持在带宽受限或资源紧张时降级运行\n\n---\n\n### **测试建议** \n\n1. **单元测试**\n - 各模块提供独立测试接口,覆盖边界条件与异常路径\n - 使用JUnit/TestNG对`process()`、`generate()`等核心方法进行覆盖率≥90%的测试\n\n2. **集成测试**\n - 验证事件接收→处理→展示全流程数据一致性\n - 模拟模板推送与版本切换,验证增量更新逻辑\n - 测试方案分发与ACK响应闭环模拟网络丢包与重传\n\n3. **性能测试**\n - 使用JMeter模拟高并发事件流入测试系统吞吐量与响应延迟\n - 使用LoadRunner模拟复杂计划生成与重配置场景定位瓶颈\n\n4. **可靠性测试**\n - 模拟单节点宕机,验证双机热备切换能力\n - 注入异常数据包,验证系统容错与日志记录能力\n\n5. **安全性测试**\n - 进行SQL注入、XSS攻击模拟验证输入过滤有效性\n - 检查敏感数据是否加密存储与传输\n - 审计权限控制逻辑,确保无越权访问\n\n6. **环境适应性测试**\n - 在高低温箱中运行系统,验证功能稳定性\n - 模拟低带宽网络,测试降级策略是否生效\n - 进行电磁干扰测试,确保通信正常\n\n7. **可用性测试**\n - 组织指挥员参与UAT评估界面布局合理性与操作流畅度\n - 验证深色主题在强光/弱光环境下可视性\n - 检查关键操作是否有明确反馈与帮助提示\n\n---\n\n### **需求可追踪性明细** \n\n| 序号 | CSCI需求标识 | CSCI需求名称 | 需求描述 | 来源文档 | 实现/验证职责或业务方法 |\n|-----|--------------|----------------|----------|------------|----------------------------|\n| 1 | SRS-F-01-001 | 接收临机事件和规划事件 | 接收来自事件生成模块或上游情报系统的事件数据包支持JSON/XML格式通过TCP/IP协议传输具备心跳机制和断点续传能力 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-01` 事件接收单元 → `receiveEvent()` 方法监听端口解析数据返回ACK支持本地缓存 |\n| 2 | SRS-F-01-002 | 事件数据过滤转化封装 | 对接收到的事件数据进行字段过滤、时间戳与坐标系格式转换并封装为标准内部事件模型添加接收时间、处理节点ID等元数据 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-02` 事件处理单元 → `processEvent()` 方法执行过滤、转换、封装逻辑,输出标准化对象 |\n| 3 | SRS-F-01-003 | 前端展示事件列表 | 将标准化后的事件数据以表格或卡片形式在前端界面展示包含事件ID、类型、时间、标题、优先级等字段 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-03` 事件展示单元 → `renderList()` 方法查询数据库并渲染HTML/JSON数据至前端 |\n| 4 | SRS-F-01-004 | 事件列表排序与操作 | 支持用户对事件列表按时间、优先级等字段进行排序,并提供“处理”“拒绝”等操作按钮,点击后弹出确认框并更新状态 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-03` 事件展示单元 → `queryEvents()` 接收排序参数,`updateStatus()` 处理状态变更请求 |\n| 5 | SRS-F-02-001 | 接收待处理事件列表 | 从事件处理模块获取尚未生成任务的事件集合,用于后续任务生成流程 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-04` 任务生成单元 → `getPendingEvents()` 方法调用事件服务获取待处理事件 |\n| 6 | SRS-F-02-002 | 展示待处理事件列表 | 在任务生成界面左侧区域展示待处理事件列表,支持多选操作 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-04` 任务生成单元 → 前端组件绑定事件列表数据,支持勾选交互 |\n| 7 | SRS-F-02-003 | 待处理事件自定义排序 | 允许用户根据常用程度、发生时间等维度对事件列表进行重新排序 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-04` 任务生成单元 → `generateTask()` 接收排序参数并调整显示顺序 |\n| 8 | SRS-F-02-004 | 生成作战任务并送交处理 | 用户选择一个或多个事件后,点击“生成任务”按钮,系统创建任务草案并提交至任务生成引擎处理 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-04` 任务生成单元 → `submitTask()` 方法组装参数,调用任务引擎生成草案 |\n| 9 | SRS-F-03-001 | 任务模板先验知识库版本选择 | 提供版本下拉框,允许用户选择已发布且未过期的任务模板版本 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-05` 模板管理单元 → `getConfig()` 返回可用版本列表,前端渲染下拉框 |\n| 10 | SRS-F-03-002 | 先验知识库配置调整 | 支持用户调整模板库相关配置参数,系统验证其合法性后更新本地或服务器端配置文件 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-05` 模板管理单元 → 配置服务接收参数,验证后持久化至配置中心 |\n| 11 | SRS-F-04-001 | 接收推送的任务模板集合数据 | 接收上级单位或云服务推送的任务模板集合数据包,解析后进行增量或全量更新 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-05` 模板管理单元 → `receiveTemplates()` 接口接收数据包,比对版本后更新存储 |\n| 12 | SRS-F-04-002 | 页面可视化展示任务模板集合 | 在模板库页面以网格视图展示所有可用模板,包括缩略图、名称和适用场景 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-05` 模板管理单元 → `getTemplateList()` 查询模板数据,前端渲染网格布局 |\n| 13 | SRS-F-04-003 | 任务模板列表自定义排序 | 支持用户按常用程度、更新时间或名称对模板列表进行排序 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-05` 模板管理单元 → 前端接收排序指令,调用排序算法重新排列 |\n| 14 | SRS-F-04-004 | 展示任务模板详细信息及子任务需求 | 点击模板项可展开详情弹窗,递归加载子任务树状结构 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-05` 模板管理单元 → 加载模板内容文件解析JSON/XML结构并渲染树形控件 |\n| 15 | SRS-F-04-005 | 人环模式下用户选择任务模板 | 在人机协同模式下,用户可点击“选用此模板”按钮选择模板,系统记录选择结果并锁定版本 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-05` 模板管理单元 → `selectTemplate()` 接收用户选择,写入会话或任务上下文 |\n| 16 | SRS-F-04-006 | 自主执行模式下任务模板自动选择提示 | 在自主模式下,系统运行匹配算法计算各模板适配度,选出最高分模板并向用户发出提示 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-05` 模板管理单元 → 匹配引擎计算适配度,`notifyUser()` 发送推荐提示 |\n| 17 | SRS-F-05-001 | 集中式计划管理与偏好排序 | 支持集中管理所有任务计划,并根据用户设定的权重进行排序 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-06` 计划管理单元 → `sortPlans()` 接收权重参数,执行排序算法 |\n| 18 | SRS-F-05-002 | 计划详情可视化与HITL通知 | 可视化展示计划图谱,当遇到需人工干预节点时,推送通知给指定用户 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-06` 计划管理单元 → `notifyHITL()` 触发消息推送服务前端标记HITL节点 |\n| 19 | SRS-F-05-003 | 计划重配置操作与可视化 | 支持对计划进行修改,执行重配置算法生成新计划,并以差异对比方式高亮显示变更部分 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-06` 计划管理单元 → `reconfigurePlan()` 执行算法前端使用diff视图展示变化 |\n| 20 | SRS-F-05-004 | 分布式计划管理与算法处理 | 支持聚合多个来源的计划,构建依赖关系图,并运行一致性检查算法 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-06` 计划管理单元 → 聚合服务合并多源计划,一致性检查器验证逻辑冲突 |\n| 21 | SRS-F-06-001 | 方案驱动分发与状态响应 | 将任务方案分发至卫星、无人机、雷达等资产监听ACK信号更新状态指示灯 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-07` 方案分发单元 → `distributePlan()` 发送方案,`receiveAck()` 更新状态 |\n| 22 | SRS-F-06-002 | 驱动状态监控与异常信息展示 | 实时接收资产遥测数据,解析后更新监控看板,检测异常状态码时触发报警 | XXX-SRS-001 任务规划软件需求规格说明 | `SU-08` 状态监控单元 → `receiveTelemetry()` 解析数据,`triggerAlarm()` 报警 |",
"eventLogFile": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_af1ed1d727e14f1cb7e99c1a9f65e3f6\\events.ndjson",
"repoSettings": {
"username": "root",
"password": "pAssW0rd",
"repoUrl": "http://47.108.255.216:3000/root/task_plan_execute_2.git",
"branch": "main"
},
"repoUrl": "http://47.108.255.216:3000/root/task_plan_execute_2.git",
"branch": "main"
}