Main Content

ブロック置換とは

Simulink® Design Verifier™ を使用して、モデル内でブロックを自動的に置換するルールを定義できます。たとえば、モデル内のサポートされない Simulink ブロックを機能的に同等なサポートされるブロックに置き換えるルールを作成して、このソフトウェアと互換性のないブロックを回避できます。または、モデル内の特定のブロックに対して制約またはオブジェクティブを追加するルールを作成して、ブロックを解析用にカスタマイズできます。

ブロック置換を実行すると、モデルのコピーが作成され、元のモデルを変更することなくそのコピー内でブロックが置換されます。このように、容易にモデルを解析用にカスタマイズできます。

Simulink Design Verifier ソフトウェアは、以下を使用してモデル内のブロックを自動的に置き換えます。

  • ブロック置換のライブラリ

  • 置換するブロックおよび置換条件の定義ルール

任意のブロックが任意の組み込みブロック、ライブラリ ブロックまたはサブシステムに置き換えられます。

ブロック置換は拡張可能であり、独自のブロック置換ライブラリとブロック置換のカスタム ルールを定義できます。ブロック置換を使用すると、次のことができます。

  • モデル内のサポートされないブロックの存在など、非互換性の回避。

  • 次のような、ブロックの解析向けカスタマイズ:

    • 入力信号への制約の追加

    • 出力信号へのオブジェクティブの追加

    • サブシステムまたは Model ブロックのコンテンツ消去による解析の単純化

メモ

非互換性の解決には、ブロック置換の代わりに自動スタブを使用することもできます。自動スタブでは、サポートされないブロックは同じインターフェイスをもつ要素に置き換えられます。詳細は、自動スタブによる非互換性処理を参照してください。

ブロック置換によるテスト生成への影響

置換されるブロックがモデルの他の部分と機能を共有している場合、ブロック置換がテスト ケースの生成に影響する可能性があります。ブロックの置換は、これらのブロックや共有される信号との機能の依存関係を理解した上で行ってください。機能の依存関係の強調表示を参照してください。ブロック置換はプロパティ証明など、他の解析のワークフローにも影響する可能性があります。

たとえば、入力信号にオブジェクティブを追加するブロック置換を使用して、ブロックを解析向けにカスタマイズできます。他のサブシステムがその信号に依存している場合、ブロック置換はそのサブシステムのオブジェクティブを効率的に追加します。

この例では、2-D Lookup Table の u1 のブレークポイントの範囲は 5–7 です。切り替えしきい値 8 はルックアップ テーブルの範囲 u1 から外れます。

2-D Lookup Table を置換せずに生成されたテストは、2 つのオブジェクティブを達成します。つまり、トリガーが Switch ブロックのしきい値 8 以下である場合と、Switch ブロックのしきい値 8 より大きい場合です。

達成されたオブジェクティブ

ブロック置換したテスト生成では異なる解析が返されます。blkrep_rule_lookup2D_normal.m ブロック置換ルールは 2 次元ルックアップ テーブルを 2 次元ルックアップ テーブルと検証サブシステムを含むマスク サブシステムに置換します。

検証サブシステムは解析をテーブルが示すブレークポイントの範囲内に制約します。追加制約により、Switch ブロックの 2 番目のオブジェクティブを実行するテストの生成が回避されます。入力信号 In1 > 8 という条件は達成されません。

達成されたオブジェクティブ

非達成と証明されたオブジェクティブ