System Composer API の概要
System Composer™ アプリケーション プログラミング インターフェイス (API) を使用すると、System Composer アーキテクチャ モデルやリンクされたアーティファクトの作成と変更を MATLAB® コマンド ウィンドウから行うことができます。System Composer API コマンドを MATLAB 関数またはスクリプトに配置することで、次のことが可能です。
複数の編集ステップを 1 つのコマンドで実行することでアーキテクチャ モデルの変更を自動化する。
テンプレートとして以降の変更に再利用できる "ベース" System Composer モデルを生成することで、アーキテクチャ モデルの作成ステップの繰り返しを削減する。
Simulink® Report Generator™ を使用して、アーキテクチャ モデルとリンクされたアーティファクトの専用レポートを生成する。
System Composer API は、アーキテクチャ モデルの要素を表すオブジェクトで構成されます。たとえば、API オブジェクト systemcomposer.arch.Component と systemcomposer.arch.Connector は、System Composer モデルのコンポーネントとコネクタを表します。API オブジェクトの書き込み可能なプロパティを変更したり、いずれかのオブジェクト関数を呼び出したりすると、System Composer モデルの対応するオブジェクトに反映されます。System Composer モデル キャンバスを使用してアーキテクチャ モデルのオブジェクトに対して操作を行うと、対応する API オブジェクトに反映されます。
メモ
System Composer API を使用して System Composer モデル キャンバスや編集ツールで実行した操作は元に戻せません。API で編集操作を実行する場合、クイック アクセス ツール バーの [元に戻す] ボタンと [やり直し] ボタンは無効になります。
モデル作成用の System Composer API オブジェクトの階層
System Composer API オブジェクトは包含階層に整理されています。各アーキテクチャ要素はルート アーキテクチャに所有されます。たとえば、System Composer モデルでコンポーネント A にコンポーネント B が含まれている場合、コンポーネント A のアーキテクチャの API オブジェクトにはコンポーネント B のアーキテクチャの API オブジェクトが含まれます。
次の図は、System Composer モデル ビルダー API のオブジェクトの階層を示しています。

階層を構成する包含レベルは深さによって異なります。
モデル —
systemcomposer.arch.Modelオブジェクトは、設計するシステムのアーキテクチャの記述を作成する System Composer モデルについての情報が格納された SLX ファイルの表現です。ルート アーキテクチャ — System Composer モデルは、
systemcomposer.arch.Architectureオブジェクトで表されるルート アーキテクチャから始まります。"ルート" は、アーキテクチャ階層の最上位にあたります。ルート アーキテクチャの境界は、対象のシステムを囲むアーキテクチャ ポートで定義されます。コンポーネント —
systemcomposer.arch.Componentオブジェクトで表されるコンポーネントは、Component ブロックのプロパティと属性を共有します。"コンポーネント" は、アーキテクチャのコンテキストにおいて明確な機能を果たす、システムの交換可能部分です。コンポーネントは、機能、別のシステム、ハードウェア、ソフトウェア、その他の概念項目などのアーキテクチャ要素を定義します。コンポーネントは、サブシステムまたはサブ機能になる場合もあります。アダプター —
systemcomposer.arch.Adapterオブジェクトで表されるアダプターは、Adapter ブロックのプロパティと属性を共有します。"アダプター" は、ポートのインターフェイスに互換性がない 2 つのコンポーネントを 2 つのインターフェイス間のマッピングを行うことで接続します。アダプターは単位遅延、レート変換、またはマージとして機能します。バスの作成にもアダプターを使用できます。アダプターは Adapter ブロックを使用して実装します。アーキテクチャ — コンポーネントのアーキテクチャは
systemcomposer.arch.Architectureオブジェクトで表されます。System Composer の "アーキテクチャ" は、コンポーネントのシステムとそれらの構造および動作の相互インターフェイスを表します。ポート — コンポーネント ポートはコンポーネントの外側にあり、
systemcomposer.arch.ComponentPortオブジェクトで表されます。アーキテクチャ ポートはコンポーネント ポートの内側にあり、コンポーネントをダブルクリックするとシステムの境界上でアクセスできます。これはsystemcomposer.arch.ArchitecturePortオブジェクトで表されます。"ポート" は、その環境との相互作用点を表すコンポーネントまたはアーキテクチャ上のノードです。ポートにより、他のコンポーネントまたはシステムと情報をやりとりできるようになります。コネクタ — コネクタは
systemcomposer.arch.Connectorオブジェクトで表され、2 つのポートを接続します。"コネクタ" はポート間の接続を提供するラインです。コネクタは、コンポーネントまたはアーキテクチャ間の情報の流れを表します。データ ディクショナリ — データ ディクショナリは
systemcomposer.interface.Dictionaryオブジェクトで表され、モデルの一部として、またはインターフェイス定義を含む外部 SLDD ファイルとして存在します。"データ ディクショナリ" は、モデルに関連するデータのリポジトリです。データ ディクショナリの [Architectural Data] セクションに、ポート インターフェイス、データ型、システム全体の定数など、Simulink とアーキテクチャ モデルのインターフェイスで使用される共有定義が保存されます。詳細については、データ ディクショナリとはを参照してください。データ インターフェイス — データ インターフェイスは
systemcomposer.interface.DataInterfaceオブジェクトで表され、アーキテクチャ モデルのポートに割り当てます。"データ インターフェイス" は、ポートを流れる情報の種類を定義します。同じインターフェイスを複数のポートに割り当てることができます。データ インターフェイスは複合にできます。つまり、インターフェイス信号のプロパティを表すデータ要素を含めることができます。データ要素 — データ要素はインターフェイスをさらに明確にするもので、
systemcomposer.interface.DataElementオブジェクトで表されます。"データ要素" は、インターフェイスの各部分を記述したものです。通信メッセージ、計算または測定されるパラメーター、そのインターフェイスの他の分解要素などがあります。値のタイプ — 値のタイプは
systemcomposer.ValueTypeオブジェクトで表されます。データ要素を明確にするもので、ポートに割り当てられたインターフェイスとして使用できます。"値のタイプ" は、ポートのインターフェイスとして、そのポートを流れるデータのアトミックな部分を定義するために使用できます。最上位の型、次元、単位、実数/複素数、最小値、最大値、および説明があります。