設定・固定値・規格・変更検討

文書バージョン:1.1.0 対象GitHubバージョン:main @ c67e153cc3bcf1f6ac0303d23023ce8ae4a4f533 収録リリース:v1.1.6(本文・画像の調査基準は上記commitを維持)
追補:2026-10-17 Timer通知APIの修正差分(v1.1.6収録の追補)。基準版・画像の取得条件は維持。
文書ID:guide-reference-change-ledger
文書状態:調査結果と変更検討用の補助表。採用済み要求の正本は既存要件・仕様書。

更新履歴

文書バージョン 更新日 更新内容
1.1.0 2026-10-17 初版。変更箇所、固定前提、規格の関係、残件、画像証跡、採否検討表を整理。v1.1.6へ収録し、本文・画像の調査基準を維持

全体の入口。各値の受理範囲・動作の詳細は各モデル章を参照する。本表は選択の入口であり、表の値を全profileに共通適用しない。

何を変えたいかから設定場所を探す

変えたいこと 今すぐ変更する場所 設定で変えられない部分/確認する影響
部品数・階層・接続 NEDのsubmodules/connections vector/動的追加/未対応構文はparserとエディタから改修
一つの実体の値 INI Root.child.parameter 型default変更と区別。path変更でJSON参照も変わる
同型全体の初期値 NED default(...) 全配置へ波及。INI上書きがある実体は実効値が別
仮想実験期間・集計窓 INI sim-time-limit/metrics-window 終端Tを含めない、時間は整数psという共通規則
イベント処理上限 INI max-events/max-delta-cycles 上限増大とアルゴリズムの正しさは別
送信時刻・周期・内容 workload JSON kind/schemaはprofile別。確率負荷は自動で追加されない
CAN速度・TX/RX遅延・filter・TX容量 NED default/INI 理想ACK、非プリエンプト、drop-newest、同一ID送信者制限
CAN間経路・Gateway保持 Multibus model-config JSON RX保持とTX待機の区別。CANの送信成功と枝成功の区別
FD位相bit数・速度 FD workload/NED・INI payloadから完全FD bitstreamを自動算出するcodecは未実装
Ethernetの送信順・容量・VID・経路 対応profileのmodel-config/workload 各profileの機能の組合せ制約。任意混成はできない
TAS窓/CBS slope/PSFP token TSN model-config JSON 理想clock、IFG込み窓、抽象meterの計数単位等
制御packet交換のモデル ethernet.control.wire.experimental.v1のadapter/packet JSON 現行限定scope。実ネットワークへのlive接続は対象外
AXI速度・READY・RAM範囲・strobe AXI model-config/workload ID0、限定burst・同時進行等はコード側の固定前提
SoC/AHB/NoCの競合・容量 各model-config/workload NoC XY・packet単位、AHB抽象段階。規格全信号ではない
SRAM/DDR待ち・refresh・IPC容量・通知 memory.ipc model-config/workload CPU/cache/coherence、実DDR世代の全timingはモデル外
エディタrunの実時間上限 実行UI、1~3600秒 worker数・memory/file/run容量はコード定数
Undo保持数・保持量 利用者設定なし model.rsの200操作・32MiB。セッション履歴の意味も確認
Viewer表示単位・区間・絞込 Viewer UI 描画上限、集計定義、任意profile表示はコード変更
結果の列・意味・独自指標 Rustの出力/Registry、仕様 schema/metricの版、既存CSV利用者、Viewerとの互換性

固定値を変更する場合の実装の入口

「固定値」は調査時点の実装方針であり、規格が要求する定数とDIRの実装都合を分けて判断する。

固定事項 現行の意味 実装・変更時に同時に確認するもの
u64整数ps・半開観測区間 精度と終了境界を全モデルで共有 input.rs、runtime/scheduler.rs、各runtime、出力、Viewer BigInt
CAN CRC/フレーム区切り/仲裁bit順 採用したClassical CANの時間・優先規則 runtime/can/protocol.rs、CAN仕様、独立bit列fixture
CAN成功時の理想ACK エラー回復を扱わないprofile CAN runtime、状態・再送カウンタ・終了・受信の仕様
FD外部位相bit数 時間評価用の境界 input/canfd.rs、runtime/canfd.rs、runtime/canfd/protocol.rs、FD codec・期待値
Ethernet store-and-forward フレーム受信後に次hopへ runtime/ethernet/l2.rs、受信/copy/占有record、Viewer
理想TSN clock・非プリエンプト 窓・credit・policing評価を限定 runtime/ethernet/tsn.rs、遅延・断片化・部分終了の仕様
AXI ID0等 初期transaction profileの制約 input/axi.rs、runtime/axi.rs、ID・応答順・メモリ検証
エディタworker数・容量 画面のrun管理の資源制限 tool/ned-editor/run_control.rs、run_snapshot.rs、run_control/worker.rs
Viewer 500区間/75行 CAN系の描画・ページ境界 tool/viewer/assets/app.js。全件集計と表示を混同しない

上記はcrates/dir-simulator/src/からの相対パス。ソース一覧から参照できる。具体のパラメータ表・仕様と試験のリンクは各機能章にある。

使用ライブラリと役割

仕様変更の影響を判断する補足として、直接依存と主要な境界を示す。モデルの通信アルゴリズムはDIRのRust実装であり、外部のCAN/Ethernetシミュレータへ処理を委譲しているわけではない。

ライブラリ/基盤 調査基準の固定版・場所 役割と変更時の注意
Rust標準ライブラリ toolchain 1.85.0、edition 2024 ヒープ・順序付き集合・ファイル・process。イベント順をOS schedulingへ依存させない
serde Cargo.lock 1.0.229 Rustの型と直列化。項目・null・数値型変更は結果互換性に影響
serde_json 1.0.151、float_roundtrip JSON入出力。重複やschemaの検証はDIR側の契約も確認
sha2 0.10.9 入力・結果・worker等のhash、決定的計算の一部。hash対象と正規化の変更は出典照合へ影響
tiny_http 0.12.0 エディタと結果のローカルHTTP提供
rustix 0.38.44、fs/rand/process descriptor基準の保存、OS乱数、process/resource境界
signal-hook 0.3.18 終了signalの取扱い。停止時の保存とworker回収に関係
ブラウザ標準HTML/CSS/JS/SVG 製品へ同梱するassets エディタ・Viewer描画。npmからUI frameworkを動的取得する構成ではない
MkDocs requirements-guide.txtの1.6.1 文書サイト用。シミュレーション時間の計算には関与しない
Playwright/Chromium 撮影時の実測版は画像証跡JSON 検証・撮影用。利用者がViewerを読むための必須インストールではない

版の正本:Cargo.lock、Cargo.toml。推移依存の全一覧はCargo.lockを参照する。更新時はlockと実ビルドを確認する。

関連規格とDIRの採用範囲

規格名の一致、抽象動作の採用、規格適合の検証は別である。下表の版は参照資料を識別するもので、現行DIRがその版の全条項を採用した宣言ではない。ISO/IEEEは公開書誌・概要、Armは取得できた公式資料、RFCは公式資料を2026-10-16に確認した。有料規格全文の再掲載は行っていない。

規格・一次資料 規格の扱う仕様 DIRでの扱い/追加検討
ISO 11898-1:2024 CANのデータリンク層・物理符号化副層。Classical/FD/XL等の実装選択 Classical DATAの仲裁・CRC15・stuffing・理想成功。FDは外部位相bit数。エラー回復・XL・完全FD codecを自動で含めない
IEEE 802.3-2022 Ethernet MAC、全二重/CSMA/CD半二重、媒体別PHY 採用速度・媒体の占有、IFG、衝突・再試行、固定PHY時間を抽象化。電気波形やPHY訓練の全再現ではない
IEEE 802.1Q-2022 ブリッジ、VLAN、転送・優先制御等 単一タグのVID/PCP/DEI、FDB、静的/抽象動的制御。QinQや標準制御packetを含む全機能とは区別
IEEE 802.1Qbv Scheduled Traffic、時刻に応じた送信制御 周期GCLとguardによるTAS。DIRは理想clock、窓内にIFGまで収まる判定を採用
IEEE 802.1Qav 時間制約のあるstreamの転送・queue処理 CBSのcredit・slopeを整数時間で評価。対応classとmodeはTSN仕様で限定
IEEE 802.1Qci Per-Stream Filtering and Policing stream filter/gate、独立二bucketの抽象meter。DIRのmax_sdu_bytesはMAC byteを数えるため名称だけから標準SDUと同一視しない
Arm AMBA AXI/ACE IHI0022H 五チャネル、VALID/READY、burst、応答、属性等 AXI4 transactionの限定profile。ID0、aligned/full-width INCR等。ACE/cache整合・任意out-of-orderは未提供
Arm AMBA AHB IHI0033 address/data段階、HREADYによる待ち、応答 待ちとERRORの抽象モデル。全pin波形やpipelineを保証しない。今回のAHB PDF本文取得には制限があり、章では取得範囲を明記
IGMPv3 RFC 9776/MLDv2 RFC 9777 IPv4/IPv6のmulticast参加、送信元filter、query/report手順 既存dynamicは意味的membership操作。wire profileはRFC9776/9777受動snooperの限定実装を追加済み
RSTP/MVRP(上記IEEE 802.1Q) tree再構成/VLAN登録のプロトコル 現行の抽象tree・VID登録と標準BPDU/MRP wire実装を区別
DDR/SRAM/NoC/共有IPC DDRは世代・デバイス別規定、他は構成・製品ごとの差が大きい DIRは特定DDR世代のJEDEC適合や特定NoC/CPU/OSの仕様を宣言していない。bank/row/timingや所有権のDIR契約を使う
OMNeT++ NEDマニュアル 型・階層・gate・channel等のモデル記述言語 独自実装の限定文法。OMNeT++ engine、INET、全NED文法を依存として使わない
RFC 8259 JSONデータ交換の構文と相互運用上の考慮 JSONを使い、DIRのschemaで時刻を十進文字列化。これはJSONの全数値を文字列にする要求ではない
BIPM SI Brochure SI単位と十進接頭語 DIRはps/ns/us/ms/s等の限定入力集合。受理字句と二進容量単位はDIR設定仕様を参照

規格への適合度を上げる場合は、採用版・条項・errata・除外機能・入力/状態/出力の対応・独立した適合vectorを先に定める。現在のfixture合格を、未実装の標準機能の適合証明へ広げない。

修正・実装状況と残件

区分 項目 現状 変更前に決めること
修正済み・v1.1.6収録(2026-10-17追補) Timer発火token通知 基準c67e153の不一致を本作業の差分で解消。Context.current_timer_tokenが予約時のtokenを返す。初期化・ポート配送・調停はNone 汎用Registry試験で同時刻・同payloadの識別、取消し、callback範囲を確認。基準コミット・v1.1.5以前の既存タグには未収録
v1.1.6収録・限定scope実装済み(2026-10-17追補) Gateway+TSN 一FES、PSFP一回、単一queue所有、原子admission、出力・31 network vectorsへ具体化 正式採用済み。製品受入の最終判定は製品検証記録
同上 抽象冗長配送/frame preemption 静的経路/有限除去窓、fragment境界/gap/T境界/合法wire例 独自抽象scopeを採用済み。IEEE完全適合は別契約
同上 協調実行制御/MetricV2 owner poll、64要求、replay境界、H bucket、schema3 API/profile/schema採用・実装済み。製品受入は別記録
同上 受動IGMPv3/MLDv2 snooper RFC9776/9777、全6report、source filter lease、router、境界RX、60 vectors 初期roleを採用・実装済み。host/router/querier生成は対象外
同上 process越しcheckpoint 同一build・generic backend・全optional codec、manifest・復元・障害38基盤vectors network codecと版移行は初期scope外
同上 能動RSTP/MVRP IEEE 802.1Q-2022 base本文、単一CIST/Full Participant、機械・codec・MAP、MAC学習/限定flush、1147規範設計vectors 限定scopeと領域配置を採用・実装済み。全guard組合せ/多bridge製品検証の範囲は製品記録
現行profile外 CAN error/retry/bus-off、確率生成 成功理想profileにはない 誤りの発生モデル・再送・観測・seed
現行profile外 完全FD codec、AXI複数ID、NoC VC等 初期抽象化の外側 忠実度と必要な評価指標、計算量

根拠:将来拡張計画、提案仕様、提案設計、提案検証仕様。これらの固定リンクは追補前の基準文書。2026-10-17の最新設計案はリポジトリ内docs/proposals/後続拡張要件定義書.mdから六工程をたどり、後続拡張契約提案設計書.mdの実装準備一覧で確認する。提案の試験条件は製品実行済みではない。

この資料の作成で仕様や製品機能を追加した扱いにはしない。採用・削除・変更は次の表で意思決定し、正式な仕様・実装・検証の変更へつなぐ。

仕様変更の検討用記入表

一行につき一つの利用目的・変更判断を書く。「便利にする」ではなく、入力例・期待動作・観測値まで具体化すると、実装と検証で解釈が分かれにくい。

対象機能・節 利用目的/必要性 判断(維持・不要・設定追加・仕様変更) 変更したい入力/固定値 期待する動作と結果 互換性・検証条件 優先度
記入例:エディタ実行管理 実行中1件に加えて3条件を待機登録したい 設定追加の検討 待機数2→3を指定可能にする 計4件を保持。待機順・容量不足時の診断を決める 既定2を維持するか、再起動・取消・容量を検査 未決
記入例:CAN成功条件 ACKなしの障害を評価したい 別profileの仕様追加 理想ACK→受信状況依存 再送と失敗理由を記録 旧profile結果は維持。独立期待bit列・終了境界を追加 未決
記入例:Viewer比較 長くキューが詰まる場所を探したい 維持/表示追加の検討 非空最長と瞬間最大の見出し 用途に応じ二つを明確に比較 同時刻0→2→1、欠測、ゼロ区間で確認 未決
(記入)

設定を追加する場合は、名前・場所・型・単位・既定値・許容範囲・省略・0・上限・未知値・競合・保存後の再読込を決める。機能を外す場合は、入力を拒否するのか旧結果の閲覧を残すのか、既存profile名やschemaをどう扱うかを決める。

スクリーンショットの条件と再取得

10画像とも基準ソースをbuildし公開サンプルで撮影した。画像内の条件を実機性能や全profileに一般化しない。

画像 入力 選択時刻・対象/読むポイント
CAN Viewer examples/guide/can/minimal.ini 238000000ps、a:0。実EOFと受信、次要求の待ち
Gateway Viewer examples/guide/gateway-delay/delay0.ini 400000000ps、source:0。元要求と独立する枝
Ethernet Viewer examples/guide/ethernet-psfp/pass.ini 1248000ps、psfp:1。PSFPを通った要求の記録
AXI Viewer examples/guide/axi-strobes/strobe5.ini 90000ps、read:0。読書き結果と最終資源
CAN要求詳細 同じCAN入力 238000000ps、a:0。EOF・release・2受信先
Gateway要求・枝詳細 同じGateway入力 400000000ps、source:0。成功1・未完了1の枝
Ethernet転送詳細 同じEthernet入力 1248000ps、psfp:1。MAC/wire/占有長、到着と解放
AXI要求・資源詳細 同じAXI入力 90000ps、read:0。読出し値と最終RAM
NEDエディタ examples/can/baseline.ini 原文、型、実体、図の関係
NED実体値 同じ入力、Main.a defaultとINI上書きは64、実効値は未取得

全体画面6枚は1440×1100px。詳細4枚は幅1600pxのブラウザで要素領域を直接撮影、または必要な下段まで含む高さでスクロール撮影した。各画像の寸法、selector、表示値、browser版、入力・画像のSHA-256、command、page/console/requestの検査結果は画像証跡JSONを正本とする。エディタ画像では個人環境の絶対path部分だけをマスクし、部品・値・原文を作り替えていない。

リポジトリ内のscripts/capture_function_reference.cjsが再取得手順である。build後にPlaywrightのmoduleパスと、未使用の外部証跡ディレクトリを指定して実行する。

cargo build --locked -p dir-simulator
PLAYWRIGHT_MODULE=/path/to/playwright \
FUNCTION_REFERENCE_EVIDENCE_ROOT=/path/to/new-evidence-directory \
node scripts/capture_function_reference.cjs

今回の製品実行は4例のvalidate/run/viewとエディタ表示に限る。各章がリンクする既存のRust/Node試験・受入記録を全て今回再実行した意味ではない。文書の構成・リンク・画像の検査と、モデルの適合・性能の検査を分けて扱う。

2026-10-17現行実装追補:承認済み後続10分野のAPI・設定・scope・出力・Viewer境界を追加した。固定commitに基づく既存画像・実測は取得時の証跡として保持する。新機能はv1.1.6に収録する。製品受入最終判定は同追補から参照する製品検証記録を参照する。文書版・履歴は本pushの改訂として確定した。