MBSE と AI エージェント:システム設計の新たなワークフロー
—
今日は、Model-based Systems Engineering におけるコーディングエージェントの経験についてお話しいただくため、MathWorks Consulting Services の Sarah Dagenをお迎えしています。
.

皆さんと同じく、私も AI エージェントについて探求してきました。システムズエンジニアリングについても考えていたので、Model-based Systems Engineering(MBSE)の手法に基づいた AI アシスタントを使ったワークフローを構築してみることにしました。
もしこの取り組みに懐疑的だとしても、心配しないでください。あなただけではありません。この記事の最後に「なぜ」に関する私の考えをいくつか含めました。
私の経験をまとめたビデオはこちらです。詳細は後ほど順を追って説明します:
まず、これまでこのブログに登場したことのない、システムズエンジニアリングと System Composer について少しお話しします。
システムズエンジニアリング
Simulink を使用する設計エンジニアにとって、システムズエンジニアリングは神秘的で、時には余分なタスクに思えるかもしれません。しかし、システムが複雑になるにつれて、個々の Simulink モデルを見るだけでは、全体のアーキテクチャ、統合のハードル、および意図しない相互作用について推論することが難しくなります。System Composer を使用することで、Simulink ユーザーは一歩下がってシステム構造とインターフェースを捉え、そのアーキテクチャを実行可能なモデルに直接接続し続けることができるため、既存のワークフローを壊すことなく複雑さを管理するのに役立ちます。
システムズエンジニアリングが初めての方には、Brian Douglas によるこちらのビデオシリーズがお勧めです。
MBSE は、テキストによる要件やその他のドキュメント中心のワークフローを、モデルを使用して置き換えたり強化したりする、システムズエンジニアリングへの強力なアプローチです。 これを行うには多くの方法があるため、実務者は構造とプロセスを提供するための方法論を開発してきました。
例えば私は、RFLP(Requirements – Functional – Logical – Physical)手法に従いました:

まず MATLAB MCP Core Server から始め、その後、MBSE API のスキルを構築し、RFLP ワークフローをエンコードするために、Claude Code と共に Simulink Agentic Toolkit の Simulink MCP Server を使いました。
スキル
5つのスキルを作成しました:
- matlab-project: MATLABプロジェクトの構造、プロジェクトAPI、プロジェクトの整合性チェック
- mbse-workflow: ガイド付きのエンドツーエンド RFLP ワークフロー
- mbse-architecture: F/L/Pモデル、インターフェースディクショナリ、ステレオタイププロファイル、ビュー、F→L および L→P 割り当てセット、ロールアップ分析
- simulink-requirements: Requirements Toolbox の API リファレンス
- system-composer: System Composer の API リファレンス
私は大きなコードの断片を、直接呼び出したり、テンプレートとして使用したりできるよう再利用可能な関数として定義することをよく行います。多くのスキルにはこれらが含まれています。

ワークフローとのインタラクションモードは対話型です。コーディングエージェントに新しい MBSE プロジェクトを作成したいと伝えると、MATLAB でそれをセットアップするための質問をしてくれます。要件(例えばExcelファイル)を提供することから始めることも、説明を提供してエージェントが要件を提案し、それを反復することから始めることもできます。

その後の各フェーズのワークフローは次のとおりです:
- Propose: AI が平易な言葉でドラフトを作成する
- Approve: ユーザーがレビューし、変更を要求する
- Generate: AI がモデルやアーティファクトを作成するスクリプトを記述する
- Run: AI が MATLAB MCP を介してスクリプトを実行する
- Confirm: 出力を表示し、続行する前にユーザーに確認を求める
全体的な MBSE ワークフローの任意のポイントから開始できます。すべてを一度に行う必要はなく、どの段階でも独自のアーティファクトを持ち込むことができます。
私の例
ワークフローを試すため、これを使って銀河系ビーガンスープ工場の初期システム設計を行いました。この工場では、様々な重力環境下で数種類の異なるスープを製造し、ロケット船でスープを出荷します。工場で働いているのはわずか5人(存在)であるため、自動化に大きく依存しています。
本投稿は GenA Iに関する記事なので、AI 生成画像もつけておきます。

私の今回の実験では、AI が現実的なシステムを構築する方法を見つけ出したかどうかにはあまり関心がなく、ワークフローとコーディングに焦点を当てています。また、この記事ではアーキテクチャのみを紹介していますが、振る舞いモデルを含めることも可能です。
構築した完全なプロジェクトにはこちらからアクセスできます。
要件
私のエンジニアリングチームが開発した、各ステークホルダーのニーズとシステム要件のセットを提供しました。

これらを Requirements Toolbox を介して MATLAB にインポートし、ステークホルダーのニーズとシステム要件間のトレーサビリティリンクを実装しました。

アーキテクチャと割り当て
次に、機能、論理、そして物理アーキテクチャを作成しました。各アーキテクチャについて Claude が構成とインターフェースを提案し、私が承認すると、対応するアーティファクトを構築しました。次にこれらの主な部分について説明します。
- System Composer のアーキテクチャモデル
- インターフェース定義を含むデータディクショナリ

コンポーネントやインターフェースがどうあるべきかについて、私は Claude に何も伝えませんでした。私の大まかな初期要件に基づいて、Claude は冷蔵保管ユニットと常温保管ユニットを分けるべきだと判断し、一例として、材料の種類、質量、温度を捉えるインターフェースを決定しました。Claude はレビュー用の計画を作成し、私がレビューしてフィードバックを提供し、その後実装されました。

- 機能/論理および論理/物理アーキテクチャ間の割り当て

さらに、物理アーキテクチャの場合:
- 主要な設計パラメータを捉えるためのステレオタイプとプロファイル

Claude に興味があると伝えた要件と分析の種類に基づいて、Claude はこれらのプロパティをステレオタイプに含めることを提案しました。
- コスト要因や最大質量寄与要因などのアーキテクチャビュー

分析と検証
この最初の段階では、ワークフローを物理アーキテクチャでのロールアップ分析の作成と、システム要件および物理アーキテクチャにトレースされた検証要件の記述に限定しました。これは今後さらに構築していく予定です。
- コストや質量のロールアップなどを計算する分析インスタンスモデルとロールアップ分析関数

これで望んでいたものが得られました。よい初期アーキテクチャが完成し、それらのシステムを Simulink で実装する準備が整いました!
で、、何が言いたいの?
チャットを通じて、1 回のセッションでエージェンティックAIとシステム全体を設計しようとする人はいません。今回お見せした例はよさそうにみえますが、これの意味は何なのでしょうか?本当に役に立つのでしょうか?
実際の利点の 1 つは、初期のアーティファクトを素早く構築できることであり、これにより、より広範な設計における興味深い問題解決に時間を費やすことができるようになります。 AI は、要件を分析し、迅速に反復できる計画を作成するのに役立ちます。エージェントは、プロジェクトの開始時における面倒な初期構築作業の多くから救ってくれます。
また、既存のモデルやアーティファクトを保守するための、コンテキスト化された API リファレンスとしてスキルを活用することもできます。エージェントに「要件を追加し、それをこの既存のコンポーネントにリンクさせてから、割り当てマトリックスを再生成して」と伝えるのは効率的です。
最後に、このワークフローは、(この場合は RFLP の)方法論の遵守を保証するのに役立ちます。これをみなさんの組織独自の基準で拡張または調整し、作業の標準化を維持するのに役立つものを構築できます。大抵の人間は基準に従わせる作業があまり好きではないと思いますので、その部分をロボットに任せることを気にする人は多くないと思います。
ぜひご自身で試してみてください!
私が構築したすべてのスキルはこちらで入手できますので、ぜひご自身で試してみてください。 これらのスキルを使用するには、まず Simulink Agentic Toolkit(または MATLAB MCP Core Server)をインストールすることから始めます。スキルを取得し、お気に入りのコーディングエージェントをそれらが含まれているフォルダに指定します。Claude Code を使用している場合は、リポジトリにすでに claude.md があるため、すぐに使用できます。他のコーディングエージェントの場合は、スキルを含むフォルダでエージェントを初期化します。その後、MBSEプロジェクトを作成したいとエージェントに伝えることで、新たに始めることができます!
もっと見たいですか?
これはごく基本的な出発点にすぎません。MBSEとエージェンティックAIについてもっと読みたいと思われますか? 次に何を見たいか、コメントで教えてください!


コメント
コメントを残すには、ここ をクリックして MathWorks アカウントにサインインするか新しい MathWorks アカウントを作成します。