Skip to content

design: Track D research — TSN/Ethernet WCTT design space (#149)#152

Merged
avrabe merged 2 commits intomainfrom
docs/track-d-tsn-research
Apr 25, 2026
Merged

design: Track D research — TSN/Ethernet WCTT design space (#149)#152
avrabe merged 2 commits intomainfrom
docs/track-d-tsn-research

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented Apr 25, 2026

Summary

Research-and-design report for #149 — TSN/Ethernet WCTT analysis with first-class switch modelling. No production code changes; the implementation lands as separate PRs.

The report (docs/designs/track-d-tsn-wctt-research.md, ~1260 lines, ~50 inline citations) covers seven axes:

  1. IEEE 802.1Q TSN amendment landscape — Qbv, Qbu, Qci, Qch, Qcr, Qcc, CB, AS, DG, Qdj — what each adds, when it matters for vehicle E/E, and what math an analyser needs. 802.1DG-2025 is the recommended anchor for spar's first iteration.
  2. Network Calculus tooling survey — RTC Toolbox (dormant), DiscoDNC / NetCal-DNC (LGPL, slow but active oracle), NCBounds (dormant), WoPANets (closed), RTaW-Pegase (commercial benchmark target), Capital/Volcano (workflow ref). No Rust NC port exists; spar would be first.
  3. AADL research extensions — Phan/Lee/Sokolsky 2010 (AADL→RTC), Lauer/Pagetti/Boniol on AFDX, FORA fog-platform property sets (closest prior art), and the Boyer/Maia ECRTS 2022 RTA↔NC formal link.
  4. Math foundations — min-plus algebra primer, the four core bounds, TSN-specific service curves (CBS, TAS, Qbu, CQF, ATS), tightness ordering TFA ≤ SFA ≤ PMOO ≤ LUDB.
  5. spar design space across 7 sub-axes:
    • 5.1 Spar_TSN::* and Spar_Network::* property sets with full AADL example.
    • 5.2 Switch modelling — recommends Option C: bus implementation with Spar_Network::Switch_Type discriminator. Spec-conformant, no grammar change.
    • 5.3 Recommends a new spar-network crate (mirrors spar-solver layering).
    • 5.4 wctt.rs algorithm sketch — graph extraction → arrival/service curves → TFA pass with petgraph toposort.
    • 5.5 Lean theorems — algebraic foundations (~450 lines) full in v0.8.0; headline bounds with sorry, full proofs in v0.9.0/v1.0.0.
    • 5.6 Backward-compat: bus_bandwidth.rs untouched; latency.rs consumes WCTT cache when Stream_ID is present, falls back otherwise.
    • 5.7 Performance budget — TFA on 100 ECUs / 200 streams / 10 switches ≈ 100 ms wall time.
  6. Roadmap — 6 commits (~7 weeks elapsed) with explicit dependencies on PR feat(timing): Spar_Timing + Spar_Trace property sets (Track A foundation) (v0.7.0) #145 (timing properties) and PR docs: rivet <-> spar variant binding contract v1 (proposed) #144 (rivet binding).
  7. Risks & open questions — modal-switching transients, FRER cycles, strict-vs-aggregate service curves, fixed-point arithmetic to keep Rust ↔ Lean in lockstep.

The final section refines #149's acceptance criteria based on the research.

Recommendations (TL;DR)

  • Switch modelling: Option C — bus + Switch_Type discriminator
  • Crate: new spar-network — clean separation of NC math from AADL analysis
  • Analysis: TFA in v0.8.0, SFA in v0.9.0, PMOO/LP only if user demand
  • Lean: ship algebraic foundations fully proved, headline bounds with sorry
  • Effort: ~7 weeks elapsed for v0.8.0 (slightly larger than Track A)

Test plan

  • Two reviewers (one on TSN standards, one on AADL/spar internals) sign off on Section 5 recommendations
  • Decision logged on the five questions in Section 7.1 (TAS scope, CBS scope, FRER scope, accuracy target, Lean appetite) before implementation starts
  • Section 6.1 commit decomposition adopted as the v0.8.0 plan or revised in writing
  • Issue Track D: TSN/Ethernet WCTT analysis with first-class switch modeling #149 acceptance list updated to match Section 8

🤖 Generated with Claude Code

Comprehensive survey + design-space exploration for issue #149:
- IEEE 802.1Q TSN amendment landscape
- Network Calculus tooling (open-source + commercial)
- AADL research extensions for TSN
- Math foundations (min-plus algebra)
- spar's design space across 7 axes
- Roadmap proposal for v0.8.0

No production code changes. Refines acceptance criteria for #149
based on findings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Adds two appendices to the Track D research:
- Appendix A: RTaW-Pegase deep-dive (Marc Boyer NC-Coq, RTaW-Yang YANG
  schema, customer list, pricing anecdotes, Inria origin pattern)
- Appendix B: Other commercial tools (TTTech, Siemens Capital, Vector
  full portfolio, Cisco TSN, OMNeT++/INET, OPAL-RT/dSPACE)

Updates §5 and §6 with two new milestones: NC-Coq library evaluation,
RTaW-Yang ingest spike for v0.8.x.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@avrabe avrabe merged commit 13952f2 into main Apr 25, 2026
14 checks passed
@avrabe avrabe deleted the docs/track-d-tsn-research branch April 25, 2026 08:17
avrabe added a commit that referenced this pull request Apr 25, 2026
…I integration (#154)

Closes the v0.7.0 Track A milestone:

- COMPLIANCE.md "In progress / v0.7.0" expanded into a full narrative
  covering all four Track A commits (foundation #145, hierarchical RTA
  #147, Lean convergence #148, this close-out), the Track B variant-
  contract foundation (#144), v0.7.x infrastructure landings (#141-143,
  #151), and v0.8.0 planning anchors (Track D #149/#152, Track E
  #150/#153).

- Updated header date to 2026-04-25 and crate count from "16 crates,
  1200+ tests" to "17 crates, 1900+ tests" reflecting the test growth
  through Track A and the v0.7.x infrastructure additions.

- New CLI integration test crates/spar-cli/tests/track_a_close_out.rs
  exercises the full parse → instance → analyze pipeline on a model
  using the Spar_Timing::ISR_* property surface plus a sporadic handler
  thread. The unit + fixture tests in spar-analysis cover the algorithm
  at the analysis-crate level; this test guards the property surface
  flowing through the CLI binary end-to-end.

Out-of-scope items explicitly recorded: PIP/PCP blocking deferred to
v0.7.1, multi-processor ISR migration deferred, cache-aware
interference inflation deferred to v1.0+.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
avrabe added a commit that referenced this pull request Apr 25, 2026
…n (Track D commit 1/6) (#155)

Foundation for v0.8.0 Track D (TSN/Ethernet WCTT analysis, #149).
This commit adds surface only — the new spar-network crate is a
skeleton placeholder, and the Spar_Network property set provides the
AADL vocabulary for switch modeling per the Option C decision in
PR #152's research (`bus implementation` + `Switch_Type` discriminator).

Spar_Network::{Switch_Type, Queue_Depth, Forwarding_Latency, Output_Rate}
covers Phase 1 (FIFO + Priority networks). Phase 2 TSN-specific
properties (Spar_TSN::*) land later.

No analysis wiring, no Network Calculus primitives, no Lean theorems
in this commit — those are Track D commits 2-5.

New requirements: REQ-NETWORK-{001,002,003}.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
avrabe added a commit that referenced this pull request Apr 25, 2026
* design: Track F — SysML v2 / KerML community engagement strategy

Research-backed strategy doc for community engagement in the OMG
SysML v2 / KerML ecosystem. Synthesizes two parallel research streams:

(a) Audit of spar-sysml2: 7,167 LOC, zero TODOs/stubs, 59+ tests,
8 fully bidirectional concepts including the entire requirements
roundtrip (satisfy/verify/refine/allocate/derive). Production-grade,
not a stub.

(b) Verified community landscape: KerML 1.0 + SysML v2 1.0 final
adoption Jun 2025; OMG `Systems-Modeling/SysML-v2-AADL-Release`
repo skeletal at 3 commits with named maintainers from Galois, CMU/SEI,
Ellidiss; SMC free for OMG members; OMG fees re-confirmation needed
(page auth-locked); Eclipse SysON via Obeo+CEA on 8-week cadence;
Rust ecosystem positioning (syster-base by Microsoft is adjacent,
not duplicate, since spar is the AADL side).

Action plan: 30/60/90-day sequence anchored on the AADL-Release repo
+ named-maintainer outreach + Google Group + OMG issue tracker.
Investment ladder with explicit Phase 1 ($2,150 Trial / $550 University)
and Phase 2 ($3,000 Influencing Member) trigger criteria.

Application text drafted for the sysml-v2-release Google Group
(long + short versions). Risks + unknowns explicitly flagged
including the auth-locked OMG fee page.

No production code changes. Mirrors the Track D #152 / Track E #153
research-doc-first pattern.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: amend Track F with deeper syster findings + cooperation policy

Direct GitHub inspection of jade-codes/syster repos surfaced facts the
initial research missed:

- syster-base and syster-lsp have NO LICENSE files (only umbrella +
  syster-codegen + syster-cli are MIT). Default copyright is "all
  rights reserved" — code-level consumption is legally blocked until
  this is clarified.
- Last commits Feb 14-24, 2026 (~2 months stale). Mostly
  repo-restructure + submodule shuffling, not feature work. Momentum
  cooled.
- Architectural breadth is larger than initial Track F captured:
  full ecosystem (parser → codegen → CLI → Python wrapper → LSP →
  VS Code extensions → diagram core + UI).
- syster-codegen (MIT) generates the parser from KEBNF grammar files.
  This is a real architectural asymmetry vs. spar-sysml2's hand-rolled
  parser — auto-conformance to future spec revisions for free. Not a
  v0.8.0 candidate; tracked as v0.9.0+ consideration.

Refines §3 (Rust ecosystem) with license-status column flagging
unlicensed subcrates. Adds §3.1 corrected picture, §3.2 refined
positioning + cooperation policy, §3.3 KEBNF-codegen tracking note,
§4.2 minimum-viable engagement criteria for syster (one
license-clarification issue then stop until it's resolved).

The cooperation policy reflects the user's stated preference: spar's
SysML v2 work is a hobby track for an engineer whose day-job is
already heavy on talking + doing. Cooperation must be a strategic
asset, not a courtesy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant