document_generate/generation.json

30 lines
17 KiB
JSON
Raw 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": 83,
"generationId": "codegen_6d86f8e27b034f19a3c48454544db10c",
"language": "C++",
"status": "completed",
"fileIds": [
1226
],
"outputDir": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_6d86f8e27b034f19a3c48454544db10c",
"relativeOutputDir": "codegen-runs/codegen_6d86f8e27b034f19a3c48454544db10c",
"generatedFiles": [
"CMakeLists.txt",
"README.md",
"events.ndjson",
"include/app.hpp",
"src/app.cpp",
"src/main.cpp",
"tests/basic_test.cpp"
],
"analysisSummary": "好的,作为需求分析助手,我已根据您提供的《软件设计说明书》文档,提炼出代码工程生成所需的关键信息。以下为结构化分析结果。\n\n### 业务目标\n\n设计并实现一个“总线网络测试验证软件 (BNTVS_SW)”作为“机载总线网络测试验证系统”的核心控制与数据处理软件。该软件运行在总线节点计算机和存储服务计算机上旨在通过统一的用户界面提供对机载通信总线以太网、RS422、CAN、模拟量/离散量)的实时监听、协议解析、数据存储、故障诊断、故障注入、性能测试及数据管理与回放等功能,用于在地面环境中验证机载通信设备的功能、性能、可靠性及兼容性。\n\n### 功能清单\n\n根据文档第5章“CSCI详细设计”软件包含以下9个核心功能单元\n\n1. **基础通用通信单元 (SU-COM)**实现以太网、RS422、CAN、模拟量和离散量的多总线并发基础通信支持帧解析、ID过滤、波特率适配、错误帧处理、睡眠唤醒及总线负载监控。\n2. **协议兼容单元 (SU-PROT)**实现CAN2.0与CANFD协议的自动识别、切换适配以及标准帧/扩展帧的格式兼容转换,确保数据转发一致性。\n3. **数据存储单元 (SU-STOR)**:根据用户策略,将总线通信数据按时间顺序持久化存储到文件系统,支持自动分段存储,监控磁盘容量并在满时触发告警及覆盖最旧数据。\n4. **数据管理与回放单元 (SU-REPLAY)**:提供历史数据的检索、删除、导出等管理功能,并能按原始时序、可调速度将存储数据回放到总线分析单元。\n5. **总线路由单元 (SU-ROUTE)**实现以太网与CAN网络间的数据转发交换和路由寻址支持静态/动态路由),以及以太网-CAN协议的转换适配。\n6. **总线分析单元 (SU-ANALY)**提供总线实时监听、协议解析CANFD/CAN2.0、故障诊断位错误、CRC错误等、网络状态监视刷新率≥1Hz及数据统计回放等功能。\n7. **故障注入单元 (SU-FAULT)**:支持向目标总线注入短路/断路、电磁干扰、错误帧、节点离线/异常接入及波特率异常波动等故障,以测试系统容错能力。\n8. **信号转换单元 (SU-CONV)**将离散量和模拟量信号进行数字化处理并转换为网络总线、RS422或CAN总线信号支持接口扩展。\n9. **总线测试分析单元 (SU-TEST)**执行40m内及40m以上总线的传输延迟、吞吐量、丢包率等性能测试以及长时间满负荷≥24小时的稳定性测试并生成报告。\n\n### 数据结构\n\n**业务数据存储方案**使用MySQL关系数据库管理结构化业务数据采用对象存储系统管理非结构化文件数据。\n\n**核心数据库表设计**\n\n1. **总线数据记录表 (业务流程)**:\n - 记录ID (record_id): BIGINT, Private\n - 总线类型 (bus_type): VARCHAR(20), Private\n - 时间戳 (timestamp): DATETIME(6), Private\n - 帧ID (frame_id): INT, Private\n - 数据长度 (data_length): INT, Private\n - 数据内容 (data_content): BLOB, Private\n - 协议类型 (protocol_type): VARCHAR(20), Private\n - 采集节点 (node_id): VARCHAR(50), Private\n - 创建时间 (create_time): DATETIME, Private\n\n2. **路由表 (总线路由单元)**:\n - 路由ID (route_id): INT, Private\n - 目标网络 (dest_network): VARCHAR(20), Private\n - 子网掩码 (netmask): VARCHAR(20), Private\n - 下一跳地址 (next_hop): VARCHAR(20), Private\n - 出接口 (out_interface): VARCHAR(20), Private\n - 路由优先级 (priority): INT, Private\n - 路由类型 (route_type): VARCHAR(10), Private\n\n**文件数据存储目录结构**\n- 一级 `/data/`\n- 二级 `/YYYYMMDD/`\n- 三级 `/BUS_TYPE/`\n- 文件 `/HHMMSS_SEQ.bin`\n\n### 接口或命令\n\n**外部接口**\n\n- **IFC-ETH-001 (以太网接口)**与以太网设备通信使用TCP/IP、UDP协议全双工千兆速率支持IEEE 802.3标准。\n- **IFC-RS422-001 (RS422接口)**与RS422设备通信使用RS422异步串行协议全双工波特率自适应。\n- **IFC-CAN-001 (CAN接口)**与CAN总线设备通信使用CAN2.0B/CANFD协议半双工波特率5K~1Mbps可调。\n- **IFC-AN-DI-001 (信号采集接口)**:与模拟量/离散量设备交互模拟量0~10V12位精度离散量0/5V TTL电平支持48路I/O。\n- **IFC-COM-STOR-001 (数据通信接口)**与存储服务计算机通信使用以太网TCP/IP全双工千兆速率。\n- **IFC-GUI-001 (图形用户界面接口)**与用户交互遵循Windows/Linux窗口系统协议事件驱动。\n\n**内部命令/接口**(数据流/控制流):\n\n- 各单元间通过内部接口传递数据或命令,如 `IFC-DATA-OUT`(基础通用通信单元输出)、`IFC-LISTEN-CMD`(启动/停止监听命令)、`IFC-INJECT-CMD`(故障注入指令)、`IFC-REQ-QUERY`(查询条件)、`IFC-REQ-REPLAY`(回放指令)等。\n\n### 约束\n\n1. **运行环境**部署在Windows 11 Pro和Ubuntu 20.04 LTS双系统上硬件要求≥Intel Core i7-14700K CPU、≥64GB DDR5 4800MHz内存、≥2TB NVMe SSD + 8TB HDD存储、NVIDIA RTX5070显卡。存储服务计算机配置相同。\n2. **性能约束**\n - 基础通用通信:多总线并发处理延迟 ≤ 1ms。\n - 协议转换:总线路由协议转换时延 ≤ 1μs。\n - 以太网交换容量千兆≥24口全线速无阻塞转发。\n - CAN接口≥8路CANFD接口。\n - 网络状态监视刷新率 ≥ 1Hz。\n - 信号转换延迟 ≤ 1ms。\n - 长时间满负荷测试时长 ≥ 24h。\n3. **安全性约束**:遵循纵深防御原则,实施身份认证、基于角色的访问控制、输入数据格式校验、会话管理(超时自动注销)。\n4. **质量约束**:需满足可靠性(故障隔离、参数校验、错误日志)、维护性(模块化、统一编码规范、日志记录、健康检查)、测试性(内置测试模式、模块测试接口、硬件在环测试支持)和环境适应性(抗高温/低温/震动/腐蚀/粉尘)要求。\n5. **技术标准**遵循GJB438C-2021《军用软件开发文档通用要求》及ARINC825等规范。\n\n### 测试建议\n\n根据文档第3.5节“软件性能设计决策”和第3.6.4节“测试性设计决策”,测试建议如下:\n\n- **测试方向**:聚焦于多总线并发处理能力、数据存储与回放性能、总线监听捕获速率、路由转发性能、故障注入响应时间、长时间满负荷运行稳定性。\n- **测试场景**\n - **单元测试**对每个软件单元SU-COM至SU-TEST进行独立测试通过模块测试接口输入预设数据验证输出结果的正确性。\n - **集成测试**:测试单元间接口(如基础通信单元与协议兼容单元、数据存储单元的交互)和数据流是否正确。\n - **系统测试**\n - 性能测试使用LoadRunner或Apache JMeter模拟高并发场景验证性能指标是否达标。\n - 压力测试进行长时间≥24小时满负荷运行观察系统稳定性。\n - 安全测试:验证身份认证、权限验证、输入校验等安全机制是否生效。\n - 故障注入测试:利用系统自身的故障注入单元或外部设备,模拟各种总线故障,验证系统的容错和告警能力。\n- **测试工具**推荐使用LoadRunner企业级负载测试或Apache JMeter开源接口/稳定性测试)。\n- **测试性设计配合**:利用系统内置的“测试模式”,通过序列化接口获取详细日志和中间结果,辅助问题定位。\n\n---\n\n### 需求可追踪性明细\n\n以下为严格依据文档“表23 软件设计说明软件需求规格说明追踪表”提取的需求追踪信息确保每个需求标识均取自“CSCI需求标识SRS-F-…)”列。\n\n| 需求标识 | 需求名称 | 需求描述 | 来源文档 | 建议实现/验证层 |\n| :--- | :--- | :--- | :--- | :--- |\n| **SRS-F-01-001** | 基础通用通讯功能 | 实现以太网、RS422、CAN、模拟量、离散量的基本通讯。 | 文档 1226软件设计说明书.docx | 系统集成/系统测试 |\n| **SRS-F-01-002** | 协议兼容功能 | 实现CAN2.0与CANFD协议兼容、切换和转发一致性。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-01-003** | CPU配置要求 | 总线节点计算机CPU配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-004** | 内存配置要求 | 总线节点计算机内存配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-005** | 硬盘配置要求 | 总线节点计算机硬盘配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-006** | 显卡配置要求 | 总线节点计算机显卡配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-007** | 接口配置要求 | 总线节点计算机接口配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-008** | 显示器配置要求 | 总线节点计算机显示器配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-009** | 系统部署要求 | 总线节点计算机系统部署要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-001** | 数据存储功能 | 实现通信数据的持久化存储和管理。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-02-002** | 数据管理与数据回放功能 | 支持历史数据的检索、管理和按需回放。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-02-003** | CPU配置要求存储服务 | 存储服务计算机CPU配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-004** | 内存配置要求(存储服务) | 存储服务计算机内存配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-005** | 硬盘配置要求(存储服务) | 存储服务计算机硬盘配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-006** | 显卡配置要求(存储服务) | 存储服务计算机显卡配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-007** | 接口配置要求(存储服务) | 存储服务计算机接口配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-008** | 显示器配置要求(存储服务) | 存储服务计算机显示器配置要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-009** | 系统部署要求(存储服务) | 存储服务计算机系统部署要求。 | 文档 1226软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-06-001** | 信号转换功能 | 将离散量和模拟量信号转换为总线信号。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-06-002** | 离散量接入数量要求 | 离散量接入数量要求。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-06-003** | 模拟量接入数量要求 | 模拟量接入数量要求。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-06-004** | 总线接口数量要求 | 总线接口数量要求。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-06-005** | 模拟量离散量转总线信号功能 | 实现模拟量/离散量向总线信号的转换。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-06-006** | 接口扩展功能 | 支持未来更多接口的需求扩展。 | 文档 1226软件设计说明书.docx | 设计评审 |\n| **SRS-F-07-001** | 数据转发交换功能 | 实现数据转发交换功能。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-07-002** | 路由寻址功能 | 实现路由寻址功能。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-07-003** | 以太网-CAN协议转换适配功能 | 实现以太网与CAN协议间的转换适配。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-07-004** | 以太网交换容量要求 | 以太网交换容量要求。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-07-005** | 网络端口速率要求 | 网络端口速率要求。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-07-006** | CAN接口要求 | CAN接口要求。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-07-007** | 路由功能要求 | 支持静态路由和动态路由协议。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-07-008** | 转发时延要求 | 协议转换时延要求。 | 文档 1226软件设计说明书.docx | 系统测试/验证 |\n| **SRS-F-09-001** | 总线实时监听功能 | 实现总线实时监听。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-002** | 协议解析解码功能 | 实现协议解析解码。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-003** | 故障诊断分析功能 | 实现故障诊断分析。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-004** | 波形与时序分析功能 | 实现波形与时序分析。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-005** | 数据统计回放功能 | 实现数据统计回放。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-006** | 网络状态监视功能 | 实现网络状态监视。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-007** | 支持协议要求 | 支持CANFD和CAN2.0协议。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-09-008** | 波特率范围要求 | 支持的波特率范围要求。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-09-009** | 采样精度要求 | 采样精度要求。 | 文档 1226软件设计说明书.docx | 系统验证 |\n| **SRS-F-09-010** | 报文捕获速率要求 | 报文捕获速率要求。 | 文档 1226软件设计说明书.docx | 系统测试/验证 |\n| **SRS-F-09-011** | 错误帧识别要求 | 要求识别位错误、CRC错误等。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-012** | 数据回放精度要求 | 数据回放精度要求。 | 文档 1226软件设计说明书.docx | 系统测试/验证 |\n| **SRS-F-10-001** | 40m内总线测试分析功能 | 实现40m内总线传输性能测试分析。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-10-002** | 40m以上总线测试分析功能 | 实现40m以上含中继总线的测试分析。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-10-003** | 长时间满负荷测试分析功能 | 实现长时间满负荷运行、重复启停等测试分析。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-001** | 总线短路/断路注入 | 实现总线短路、断路故障注入。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-002** | 电磁干扰注入 | 实现电磁干扰故障注入。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-003** | 错误帧注入 | 实现错误帧故障注入。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-004** | 节点离线/异常接入 | 实现节点离线、异常接入故障注入。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-005** | 波特率异常波动注入 | 实现波特率异常波动故障注入。 | 文档 1226软件设计说明书.docx | 单元/集成/系统测试 |",
"eventLogFile": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_6d86f8e27b034f19a3c48454544db10c\\events.ndjson",
"repoSettings": {
"username": "root",
"password": "pAssW0rd",
"repoUrl": "http://47.108.255.216:3000/root/document_generate.git",
"branch": "main"
},
"repoUrl": "http://47.108.255.216:3000/root/document_generate.git",
"branch": "main"
}