Simulink によるシステム バリエーションの管理

モデルベースデザインを使用した
バリアントの設計、設定、解析

制御エンジニアとシステムエンジニアは、MATLAB® および Simulink® を使用して、さまざまなタスクや要件に合わせて設定できるモデルを開発しています。エンジニアは、事前定義された一連のバリアントを有効化することで、特定の設計要件にモデルを適合させています。これは、モデル設計において不可欠な作業です。Simulink バリアント機能を使用すると、組み込まれたバリアントを用いて柔軟なモデルを作成し、より効率的に 設計の管理、設定、再利用を行えます。

Simulink では、次のような作業が可能です。

  • 複数システム向けの単一モデルの設計
  • 組み込まれたバリアントを有効化することで、さまざまな要件に一致するようにモデルを構成
  • モデル シミュレーションとコード生成におけるバリアントの有効化を制御
  • バリアント コンフィギュレーションの可視化と解析
  • シミュレーション、テスト、コード生成など、モデルベースデザインのすべてのフェーズでバリアントを活用
  • バリアントを実装した、AUTOSAR 準拠のソフトウェア コンポーネントを設計

「設計段階で検討したすべてのバリアントについて、システム全体のスケールモデルを構築するという作業は、とても複雑なものです。Simulink があれば、仮想プロトタイプを構築して、さまざまな海況下でのシステム パフォーマンスの予測、故障のシミュレーション、負荷の解析を行えます。これにより、最適な設計を選択し、サプライヤーに対してコンポーネント要件を正確に指定できるようになりました。」

Jonathan Fiévez, Carnegie Wave Energy

Simulink を用いたバリアントシステムの設計

バリエーションモデルの作成

モデルのあらゆる側面にバリアントを導入します。制御ロジック、ステートマシン、フローチャート、物理プラントなど、あらゆる領域にバリアントを実装します。階層トポロジまたはインライントポロジのバリアントを設計して、バリエーションを別の階層にカプセル化するか、すべてのバリエーションを同じレベルに表示します。

コンポーネント間で可変 I/O インターフェイスを必要とする設計の場合、バリアントを使用すると、柔軟なインターフェイスを備えながらも、共通のシステム アーキテクチャを維持するサブシステムを作成できます。

コンテキストに依存して動作するシステムを実現するには、条件付きで実行される関数またはイベント駆動型関数(初期化、リセット、終了関数、Triggered Subsystem など)をバリアントと組み合わせます。


バリアントの領域の定義

バリアントブロックから上流および下流の他のブロックにバリアント条件を自動的に伝播させることにより、モデルの任意の領域にバリアント制御を広げます。バリアント条件は、信号線、バス、関数呼び出しを介して伝播し、バリアントの選択の影響を受けるモデル内のブロックに到達できます。条件の伝播を事前定義されたモデルの領域に限定することにより、モデル内で変動するブロックの範囲を制御します。


モデルバリエーションの構成

バリアント マネージャーを使用して、バリアント コンフィギュレーションを定義、制御、可視化します。名前ベースの式または条件付きロジックのいずれかで制御されるバリアントを構成します。有効化が容易で、複数のバリアント制御の同時切り替えが可能な、事前定義されたバリアント コンフィギュレーションを作成します。無効なバリアントの組み合わせを回避するために、構成上の制約を定義します。バリアント コンフィギュレーションを定義した後、バリアント コンフィギュレーションのデータオブジェクトを使用して、それらを保存、配布、再利用します。


バリアント コンフィギュレーションの可視化と解析

Simulink キャンバスでバリアント条件を視覚的に直接トレースし、複数のバリアント コンフィギュレーションを表形式で比較して対比します。編集時にバリアント コンフィギュレーションを簡単に検証して、モデルをシミュレーションまたは更新することなく問題を特定します。バリアント コンフィギュレーションを解析して、常にアクティブになるバリアントや、アクティブにならないバリアントを特定し、潜在的な構成の不具合や矛盾を特定し、診断します。


バリアントのアクティベーション時間の制御

シミュレーションの前やコードのコンパイル時に有効化できるバリアントを設計します。コード生成中に、生成されるコードに含めるバリアントを選択し、要件とターゲット プラットフォームに基づいて、プリコンパイル時にそれらを有効化します。モデルの展開に先立ち、シミュレーションまたはコード生成の前にすべてのバリアントの選択肢を解析して、データ型やディメンションの不一致などの非互換性の有無を確認します。


バリアントモデルの展開

一連のバリアント コンフィギュレーションから、または指定されたバリアント制御値に基づいて、縮小したモデルを自動的に生成します。モデルを配布して共有するには、モデルの低次元化により使用されていないバリアントを削除して、知的財産を保護します。詳細レポートで縮小したモデルを解析して、破損したモデルの依存関係を確認し、モデル構造を検証します。


開発ライフサイクル全体におけるバリアントデザインの統合

要件から展開まで、開発ライフサイクル全体でモデルのバリエーションを容易に管理します。バリアントを使用して、さまざまなバリアントを有効化することにより、設計、テスト、実装のコンテキスト間でモデルを切り替えます。たとえば、シミュレーション中にモデルを調整してファイルからデータを読み取れるようにしたり、ハードウェアに実装したモデルがセンサーから信号を受信できるようにします。生成コードにバリアントを含めて、さまざまな開発段階で生成コードを再利用および構成できるようにします(さまざまな実装テストやサードパーティへの多機能コードの提供など)。


AUTOSAR バリアントのモデル化と実装

Simulink を使用して、ECU 全体で配布できる AUTOSAR ソフトウェア コンポーネントを設計し、さまざまなソースや OEM サプライヤーのソフトウェア モジュールと統合できます。Simulink バリアント機能を活用して、複数の車両開発工程のソフトウェアで使用されるスケーラブルな AUTOSAR アーキテクチャを実装します。

変動点を用いて AUTOSAR ソフトウェア コンポーネントをモデル化し、事前定義された制御条件に基づいて、AUTOSAR インターフェイスまたは実装を可能にします。AUTOSAR バリアントを使用して ARXML ファイルをインポートおよびエクスポートし、Simulink を AUTOSAR ワークフロー全体に統合します。Simulink で AUTOSAR 設計をモデル化してテストした後、変動点を実装するプリプロセッサの条件を用いて、モデルから効率的なコードを生成します。