CADL とは
CADL(Contract Architecture Description Language)は, マルチエージェント System of Systems(SoS)における制度設計を形式的に記述・検証・展開するための ドメイン固有言語です。
CADLは三層アーキテクチャ——制度層(Institution)・プロトコル層(Protocol)・ アルゴリズム層(Algorithm)——を採用し,ガバナンスルール,エージェント間の調整手続き, 各側が実行するアルゴリズム(名前で参照)を1つの言語で記述できます。 ツールチェーンは,CADL仕様から設計の矛盾を検査し,コードとシミュレータ設定を生成します。
仕様書を読む →はじめる
リファレンス実装は,コマンドラインツール cadl です(Python 3.9 以上)。 PyPI からインストールし,サンプルを取得して,検査を実行します。
コマンドの一覧は cadl リポジトリの README にあります。手順を追って学ぶには ハンズオン講座 をご利用ください。
GitHub のソースPyPI の cadl-langpip install cadl-lang git clone https://github.com/ertlnagoya/cadl cadl check cadl/examples/robot_delivery.cadl cadl verify cadl/examples/robot_delivery.cadl
CADL Explorer とは
CADL Explorer は,CADLのガバナンスパイプラインをエンドツーエンドで体験できる インタラクティブなWebアプリケーションです。CADL仕様から出発し, 制度設計 → シミュレータ設定 → 実験 → ガバナンス評価 という因果連鎖を一貫して可視化します。
設計上の意思決定がマルチエージェントシステムの振る舞いにどう影響するかを, 透明かつ再現可能な形で示すことができます。 ガバナンスパラメータがシステムの性能にどう影響するかを調べる助けになります。
CADL Explorer を試す →ハンズオンで学ぶ
SoS-DSL ハンズオンは,ロボット配送の System of Systems を題材に, CADL ツールチェーンの全工程を体験する約95分の自習用ワークショップです(全5回の演習コースとしても使えます)。CADL によるモデリング → SoS-DSL の契約(lifecycle と monitors)→ 可視化 → コード生成 → シミュレーション実行の順に進みます。
教科書,難易度別の課題を収めた全5回の演習集,学術的背景(Maier の5条件,ISO/IEC/IEEE 21839・21840・21841)を用意しています。
ハンズオン入口へ →- 教科書 — 6ステップ × 15分
- 演習集 — 全5回,ルーブリック付き
- 学術的背景 — Maier の5条件,ISO 21839・21840・21841,参考文献
主な特徴
三層アーキテクチャ
制度層(権限・インセンティブ・情報共有),プロトコル層(調整手続き),各側が実行するアルゴリズム(名前で参照)を単一の言語で記述します。
形式的検証
各契約の前提と保証の矛盾を SMT ソルバで検査し,プロトコルのデッドロックを検出します。
エンドツーエンドパイプライン
CADL仕様からコードとシミュレータ設定を生成します。シミュレータや CADL Explorer と組み合わせて,制度設計から振る舞い評価までの連鎖をたどれます。