Skip to content

路线图(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.json
  • traces.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
  • 对应场景文件: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 指标