DIR機能・動作仕様ガイド

文書バージョン:1.1.0 対象GitHubバージョン:main @ c67e153cc3bcf1f6ac0303d23023ce8ae4a4f533 収録リリース:v1.1.6(本文・画像の調査基準は上記commitを維持)
追補:2026-10-17 Timer通知APIの修正差分(v1.1.6収録の追補)。基準版・画像の取得条件は維持。
調査日:2026-10-16(日本時間)
文書ID:guide-function-behavior-reference
文書状態:機能の採否・追加設定・仕様修正を検討するための調査資料。

更新履歴

文書バージョン 更新日 更新内容
1.1.0 2026-10-17 初版。基準commit c67e153の16 profileと共通基盤・画面操作を、概要/詳細それぞれの機能仕様・動作仕様、実画面、設定・固定値・規格・変更判断で整理。v1.1.6へ収録し、本文・画像の調査基準を維持

この文書で判断できること

DIRは、通信や共有資源について、どの要求が、どの条件で待ち、いつ完了し、何が失われるかを離散イベントで調べるシミュレータである。本書は「その機能を残すか」「どの条件を利用者設定にしたいか」「モデルの前提をどう直したいか」を判断するための読み解き資料である。

各機能は、先に概要の機能仕様+動作仕様、次に詳細の機能仕様+動作仕様を記す。詳細には設定キー・保存場所・単位・既定値・固定条件・正常/境界/異常時・結果の読み方・変更の影響を含める。「機能仕様」はできることと条件、「動作仕様」は入力・操作後に処理される順序と結果を意味する。

既存の詳細仕様・設計・実装・試験へのリンクを各節に付けた。正本の仕様を新たに置き換える文書ではなく、基準ソースを読み解いた資料である。規格の名前が付いたモデルでも、規格の全機能や実機の電気波形を再現するわけではない。採用する抽象化を各章で説明する。

読む順序

章 主に分かること 仕様変更を考えるときの入口
共通基盤の機能・動作仕様 入力、型・接続、設定優先、時刻、終了、資源、計測、保存、診断、Rust API 入力形式や実行・結果の共通ルールを変える
画面操作の機能・動作仕様 NED作成、原文と図、設定、保存復旧、型独立化、リネーム、実行、Viewer 編集手順、保存の制約、実行上限、表示・比較を変える
CAN・Gatewayの機能・動作仕様 Classical CAN、仲裁、TX/RX、FD、複数バス、相互変換 調停、キュー、遅延、経路、エラーやFD忠実度を検討する
Ethernetの機能・動作仕様 L2、媒体、負荷、QoS、VLAN、multicast、動的制御、TAS/CBS/PSFP 利用するprofile、待ち・破棄・制御の意味を選ぶ
SoC・メモリ・IPCの機能・動作仕様 AXI、共有バス、AHB、NoC、SRAM、DDR、共有IPC、mailbox、DMA 並列性、応答、容量、可視化、通知の前提を変える
後続10分野の現行実装と利用境界 Gateway+TSN、冗長、分割送信、wire protocol、制御・計測・保存の現行限定実装 新しい設定・API・実行例・検証結果を確認する
設定・固定値・規格・変更検討 変更場所の逆引き、依存、規格、残件、実画面の証拠、検討記入表 採否と変更要求を具体化する

最初は各章の「概要」だけを読んで必要な機能を選び、必要な節の「詳細」で入力と結果の条件を確認する。最後に変更検討表へ判断を記入すると、仕様・実装・検証の修正範囲を絞りやすい。

理解に必要な前提知識

用語 本書での意味 間違えやすい点
離散イベント 生成・受付・送信開始・完了等の変化の時点へ進む計算方式 1psごとに全ノードを動かす計算ではない
仮想時刻/実時間 モデルの中の時刻/計算に要した時計の時間 INIの1msとエディタ実行上限600秒は別
profile 入力・処理・結果の約束を版付きの名前で選ぶ単位 機能を個別にON/OFFする任意組合せスイッチではない
型/実体 NEDの部品定義/配置された個々の部品 同じ型の編集は複数実体へ影響する
schema JSONやrecordの項目・型・版の約束 profile名とschema番号は別。数字だけで互換性を判断しない
workload 何を、いつ、どの送信元から発生させるか キュー容量やネットワーク構造とは別入力
FIFO 先に受け付けたものから処理する列 CANのID仲裁や複数class間の優先順位とは別
backpressure 次段に空きがないため上流を待たせる動作 新着破棄やfull応答とは異なる
abstract/抽象 評価目的に必要な状態・時間へ簡略化したモデル 同名の標準プロトコル全体との適合を意味しない
固定値/既定値 設定口がない値/省略時に採用する値 配布サンプルの値は、必須JSON項目の既定値とは限らない
snapshot ある時点で固定した入力または結果の状態 実行を途中から再開できるcheckpointと同義ではない
partial/unfinished 異常等による部分結果/終了時点の未完了要求 正常な時間打切りでもunfinishedは残り得る
ns/ps、bit/byte 1ns=1000ps、1byte=8bit bpsはbit/s、容量の単位はモデルごとに異なる

入力から結果までのつながり

NED: 部品型・階層・gate・結線・default
  + INI: network/profile・実行条件・実体ごとの上書き・JSON参照
  + model-config JSON: 経路・port・資源・制御表
  + workload JSON: 要求・発生時刻・内容
     ↓ prepare / validate(構文、値、参照、モデル固有条件)
     ↓ run(同じ入力snapshotから仮想イベントを実行)
     ↓ results / CSV / diagnostics → 最後にmanifestを公開
     ↓ Viewer(確定済み結果を再生・比較)

NEDエディタは上段の入力を編集し、必要に応じて未保存snapshotをrunへ渡す。Viewer上で時刻を動かしても入力条件やシミュレーション結果は変化しない。

現行の組込みprofileと利用目的

基準ソースのRegistry登録一覧を確認した。基準の16個に、2026-10-17の現行作業ツリーで4 profileを追加して20個となる。選択肢数は試験合格件数ではない。追加分はv1.1.6に収録する。現行利用境界を参照する。

profile(INI model-profile) 対象・用途 主な前提/読む章
can.cc.ideal.v1 単一Classical CAN 既定。理想ACK・エラーなし。CAN章
can.cc.multibus.v1 複数CANとCAN間Gateway バスごと独立、RX保持とTX容量待ち。CAN章
can.fd.precomputed.v1 CAN FDの速度・時間 位相bit数を外部指定。CAN章
can.ethernet.gateway.v1 CAN↔Ethernet変換 独自codecと静的VLANの合成。CAN章
ethernet.l2.store-forward.v1 全二重L2蓄積交換 受信してから次hopへ送信。Ethernet章
ethernet.l2.qos.v1 負荷・優先queue・byte容量 非プリエンプト。Ethernet章
ethernet.l2.vlan.v1 単一タグ・静的multicast VIDと出口別処理。Ethernet章
ethernet.l2.store-forward.v2 半二重・媒体別PHY条件 CSMA/CDと固定PHY遅延等。Ethernet章
ethernet.l2.100base-t1.v1 専用100BASE-T1 100Mbps全二重抽象媒体。Ethernet章
ethernet.l2.dynamic.v1 学習・membership・VID登録・抽象tree 標準制御packetのwire再現ではない。Ethernet章
ethernet.tsn.v1 TAS/CBS/PSFP 理想同期clock。Ethernet章
can.ethernet.tsn.v1 CAN・変換・TSNの明示合成 一FES、PSFP一回。現行利用境界
ethernet.redundancy.abstract.v1 有限履歴の抽象冗長配送 静的2〜16経路、IEEE FRERは対象外。現行利用境界
ethernet.preemption.abstract.v1 fragment境界のexpress割込み 全二重、MAC Mergeは対象外。現行利用境界
ethernet.control.wire.experimental.v1 受動IGMP/MLD・限定RSTP/MVRP union、revision・領域配置制約。現行利用境界
axi4.transaction.v1 AXI4要求・RAM 五チャネル、ID0、限定burst。SoC章
soc.shared.v1 共有バス・target競合 トランザクション単位。SoC章
ahb.transaction.v1 AHB相当の待ち・応答 抽象address/data処理。SoC章
noc.xy.v1 NoC経路・有限FIFO XY経路、packet単位。SoC章
memory.ipc.transaction.v1 SRAM/DDR/共有IPC/mailbox/DMA メモリ・所有権・通知の抽象モデル。SoC章

実画面から読む例

実際のGateway結果。元要求と分岐した通信を表示

公開入力examples/guide/gateway-delay/delay0.iniを基準ソースで実行し、400us、source:0を選択した画面。図の位置は表示上の配置で、距離を測って伝搬時間を設定するものではない。Gatewayで生まれたcopyは別要求として追い、元要求の成功と各出口での成功を分ける。

本資料の実画面10枚は基準ソースから新たに取得した。4モデルのvalidate/run/viewと、エディタ読み込み・設定画面の描画を確認している。全体画面に加え、要求・受信・分岐・最終資源の詳細を載せた。これらの画面は全仕様条件・全profileの合格証明ではない。入力、時刻、選択要求、hash、撮影条件は画像証跡と付録へ記載した。

この調査の限界と読む際の優先順位

対象は上記コミットの製品コード・仕様・設計・既存試験と、今回の実画面用実行である。公開タグv1.1.5そのものと、後続修正を含むmainを同一視しない。Cargoの--versionは0.1.0なので、コードの特定にはcommitも使う。

2026-10-17追補: 調査基準c67e153で見つかったTimer発火token通知と公開APIの不一致は、本作業の差分でContext::current_timer_token()を追加して修正した。基準コミット・既存タグ・撮影済み画像は修正前を示し、修正APIの動作は公開APIの統合試験で確認している。共通基盤のTimer通知に利用方法を記す。

2026-10-17追補では、Gateway+TSN、抽象冗長配送/preemption、受動IGMP/MLD、協調run制御、Metric V2、process越しcheckpoint、能動RSTP/MVRPの全10分野を限定scopeで実装設計まで具体化した。IEEE規範本文の取得阻害も解消し、RSTP/MVRPの機械・codec・統合設計をレビューした。その後、承認済みの限定scopeを現行ソースへ実装してv1.1.6へ収録する。現行API・設定・利用例と実装状態・残件に分けて記載する。撮影済み画像と旧固定commitは当該実装の証拠へ転用しない。

変更時には「この資料の説明」→「リンク先の詳細仕様と設計」→「固定commitの実装と検証条件」を確認し、正本へ修正を反映する。規格全文の適合、全入力規模の性能、他OS・全ブラウザ、実機との誤差は、この調査だけでは確定しない。