Appearance
路线图(Roadmap / Demo 版本)
本路线图用于把 SRS(docs/srs/)里的需求条目,拆成可以直接演示、可以落盘、可以复现的 Demo 版本。
- 需求对照:功能需求见
docs/srs/04-functional-requirements.md;验收口径见docs/srs/07-acceptance.md。 - 版本原则:先闭环(能出数据与报告)→ 再接入 UNET 实时通信(真实 traces)→ 最后做可视化与答辩整合。
- 对外口径:固定 3 个 Demo(Demo-0/1/2)。
版本状态(对外)
- [x] Demo-0:离线闭环(mock traces,可交付兜底)
- [x] Demo-1:UNET Gateway 接入(Tx/Rx + 真实 traces 落盘)
- [ ] Demo-2:Dashboard 可视化 + 运行控制 + A/B 对比(答辩版本)
Demo-0:离线闭环(mock traces,兜底可交付)
目标:不依赖 UNET 网关,也能跑通“场景 → traces → metrics → report”,保证 UNET 接入受阻时仍可交付。
覆盖需求(SRS 对照):
- FR-1:场景加载/校验/快照
- FR-3:策略插件化 + 至少 2 种策略(round_robin / adaptive_qos)
- FR-5:trace 记录 + 指标计算 + 落盘
落盘产物(runs/<run_id>/):
scenario.yaml/strategy.json/versions.jsontraces.csv(数据来源=mock)metrics.csv/report.md
已知缺陷(必须明确写出,避免“看起来都做了”):
- traces 非 UNET 实时链路采集,不能证明仿真真实性。
Demo-1:接入 UNET 实时通信(Gateway Tx/Rx,真实 traces)
目标:形成“真实 traces”(非 mock),并从 payload header 恢复 run_id/step/seq,支撑可复现实验与 A/B 对比。
覆盖需求(SRS 对照):
- FR-2:UNET 网关探测/连接(arlpy 优先,fjagepy 备选;不可用则降级 LogOnly)
- FR-5:payload header 写入/解析 + trace 标准化 + 指标计算 + 落盘
- FR-3:策略可切换(影响调度决策与发包机会分配)
Demo-1 的关键交付(端到端,不是“能连上就算”):
- 网关探测:
scripts/unet_probe_gateway.py输出连接状态、可见 agent/service、能力摘要 - 发送链路:
scripts/unet_send_ping_or_tx.py能发出至少 1 个包含 DT header 的 payload - 接收链路:
scripts/unet_subscribe_rx.py能接收消息并自动解析 DT header - 运行闭环:
python -m unet_dt.orchestrator.runner --mode gateway落盘traces.csv(source=gateway)
Windows 2 节点样例(UNET handbook):
- UNET 启动命令(示例):
powershell
# 在 UNET 根目录执行
bin\unet samples\2-node-network.groovy该样例会打印两个网关地址(示例):
- Node A:
tcp://localhost:1101 - Node B:
tcp://localhost:1102
- Node A:
对应场景文件:
scenarios/demo_2node_handbook.yaml(内含 tcp/http 地址与 traffic 配置)。
兼容性说明(不阻塞,但必须留口径):
- UNET 的 Rx 通知/字段名在不同版本差异很大:本项目核心逻辑不写死类名/字段名,脚本会打印调试信息以便现场定位。
- 若地址映射不一致,可通过 scenario 的
NodeConfig.unet_addr/unet.*_hint做注入覆盖。
Demo-2:Dashboard 可视化 + 运行控制(答辩版本)
目标:在 Web 界面完成 runs 列表、详情曲线、A/B 对比、Start/Stop 控制、(可选)实时推送;必要时引入 barrier 同步做论文亮点。
建议拆分(便于逐步可演示):
- Demo-2.1:runs 列表/详情/曲线 + A/B 对比(离线读取
runs/) - Demo-2.2:运行控制(Start/Stop)+ WebSocket 推送(step/schedule/metrics)
- Demo-2.3(可选增强):逻辑时间步进/Barrier +
sync_error_ms/out_of_order指标