メインコンテンツまでスキップ

第 11 章 — 次に進む

11.1 何を学んだか​

層書いたもの書かずに済んだもの
仕様約 100 行の CADL ファイル(第 4 章と第 5 章)なし — 仕様こそが唯一の source of truth
IRなし生成された JSON(同梱の例で 245 行)
可視化なしLifecycle View ページ
実装なし生成された Unity C#(同梱の例で 783 行)
ランタイム意味論なし動く状態機械 + monitors + deadline timers

これは SoS にとってなぜ重要なのか? 同じ仕様がすべての成果物を駆動する — ドキュメント、図、シミュレーション、コード。仕様を変える(例えば期限を 5s から 3s にする)ときは、1 つのファイルを編集して生成コマンド(cadl sim-ir、cadl codegen、または e2e スクリプト)を再実行します。すると IR も図も生成 C# も同じ出典から作り直され、同じ規則を別の場所で手作業で書き直す必要がありません。出典を 1 つに保てることが、大規模な SoS 設計の保守を助けます。


11.2 次にやること​

第 4〜9 章の終わりには、授業 1 回分の演習(全 19 課題、★ 〜 ★★★)があり、第 10 章には任意の発展課題が 1 つあります。今ビルドしたシステムを作り直したうえで、1 軸ずつ改造します。期限を縮める、モニターを増やす、ライフサイクル状態を追加する、報酬実行を実装する、Violation Trace View を作る、などです。5 回(または 3 回)の授業として進める方法は、付録 C にあります。

新しい問題でワークフローを試すには、ハンズオンの他のコースに進みます。

  • コース B — 都市モビリティ:同じ CADL の構文で、ドメインとランタイム(SUMO)を替えます。
  • コース D — ロボットの街:システムが動いている間に、当事者が規則を改正します。
  • コース C — 自分の SoS:概要だけを示した、自由度の高い自走型の課題です。別のドメイン(フードデリバリー、スマート交通、組織間のデータ共有など)を選び、白紙から CADL を書き、自分で選んだ小さなシミュレーションハーネス(SimPy のような Python の離散事象ハーネスが標準の選択肢です)で動かし、パラメータスイープで結果を比較します。