連載の入口:DIR Simulatorの紹介 | 第03回 / 全37回
前の記事:第02回 Viewerで結果を読む / 次の記事:第04回 CANの調停
最小例で使う設定
| 設定 | 意味 | 今回の値・注意 |
|---|---|---|
| network | NEDのnetwork型 | demo.Main |
| ned-path | NED探索場所 | INIからの相対パスmodels |
| workload | 生成入力 | INIからの相対パスminimal.json |
| sim-time-limit | 観測終了 | 1ms。内部時刻はps整数 |
| metrics-window | 窓ごとの集計幅 | 1ms |
| Main.bus.bitrate | Busの速度 | 500kbps / 1Mbps |
| Main.*.queueCapacity | 待機するTX要求の容量 | 各64。送信中要求は待機キューから外れる |
INIはNEDのパラメータを上書きします。NED自体は独立パーサで対応サブセットを扱うため、任意のOMNeT++プロジェクトがそのまま動く互換環境とは説明しません。
用語
| 用語 | 読み方 |
|---|---|
| CAN ID | フレームの識別子・調停優先順位。最小例では256など |
| generator ID | workloadの生成器ID。aなど |
| request ID | 生成された要求の追跡ID。a:0など |
| SOF / EOF | フレーム送信開始 / フレーム終端 |
| release | 3bit間隔を終えてBusが解放される時刻 |
| observed / received | 受信観測 / フィルタ通過後のRX処理完了 |
| generated / ready | 要求生成 / 送信可能になる時刻 |
| schema / profile | 出力形式の版 / 扱うモデルの契約 |
| partial | 途中状態を含む結果。未確定を完了として補わない |
よくある疑問
runやviewが既存出力を拒否する
既存データを保護するためです。出力先をresults-guide-minimal-2やguide-minimal-viewer-2.htmlに変えて再実行します。入力JSONを編集して時刻を直す方法は使いません。
フレームは3つなのに受信が6件ある
送信元以外の2ノードがそれぞれ受信するからです。送信要求数と受信機会を分けます。受信フィルタを変えれば受信件数は変わります。
EOFと次のSOFが一致しない
最小例では3bitの間隔があります。500kbpsなら6µsです。EOFで送信成功が確定しても、Bus解放までは次の送信を始めません。
1ms実行なのに最後の通信は536µs
各ノード1回しか生成しないため、後続イベントがなくなります。観測終了は1msのままです。バス占有率やthroughputの分母も、最後のEOFだけへ短縮して解釈しないでください。
Viewerの検索・省略で結果件数が変わるか
一覧の表示条件が変わるだけです。集計の母数は全記録です。要求の時刻列は実行全体、状態は選択時刻の値です。
Windowsで同じコマンドを使えるか
掲載Bashコマンドと実行検証はWSLで行いました。現在の動作確認・受入範囲はWSL上のUbuntu 24.04 LTS x86_64です。Ubuntu nativeとの比較とWindows native単独確認は現在の要件・受入・公開必須条件に含めません。Viewer HTMLとMkDocs静的ガイドはWindowsブラウザで読めます。Windows native Rustビルドは今回検証していません。
資料によってprofileの提供状態が違う
資料が対象とするタグを確認し、そのタグの実装・テスト・Releaseを照合します。ガイドの基準版v1.1.3には5つの初期transaction profileが入り、Viewerも対応しています。後続版の機能は、その版の資料を参照してください。全文規格適合や性能受入は、profileの実行確認とは別に評価します。
原稿出典:DIR Simulator v1.1.6 の元原稿。原稿版:1.1.2。対象GitHub版:v1.1.4。
Copyright (c) 2026 DIR Simulator contributors。MIT OR Apache-2.0。LICENSE / MIT / Apache-2.0