Main Content

設計エラー検出のためのオブジェクティブの除外と正当化

この例では、カバレッジ フィルター ファイルを使用して、Simulink® Design Verifier™ 解析からモデル オブジェクトを除外する方法を説明します。解析を実行すると、[解析フィルター] ビューアーを使用し、フィルター ファイルを更新して、解析結果を確認することでオブジェクティブを正当化できます。

手順 1: モデルを開く

このモデル例 sldvexFilterObjectives は、Detect Design Errors in Controller Modelで説明されているコントローラー アルゴリズムに従って動作するコントローラー モデルです。

open_system('sldvexControllerFilterObjectives');

手順 2: モデル オブジェクトの解析からの除外

モデルはあらかじめ、[フィルターに基づきオブジェクティブを無視する] オプションが On に設定されていて、sldvexControllerFilterObjectives_filter.cvf によってカバレッジ フィルター ファイルが設定されています。カバレッジ フィルター ファイルは、Abs ブロックを解析から除外する規則から構成されます。カバレッジ フィルター ファイルの詳細については、カバレッジ フィルターの作成と使用 (Simulink Coverage)を参照してください。

[アプリ] タブの [モデルの検証とテスト] で、[Design Verifier] をクリックします。次に、[設計エラー検出] をクリックします。解析が完了すると、[検証結果の概要] ウィンドウで 5 つのオブジェクティブが処理され、そのうち 3 つが有効であり、2 つが反証されたことがレポートされます。概要には、1 オブジェクティブが解析から除外されたことが示されます。

手順 3: [解析フィルター] ビューアーを開く

[検証結果の概要] ウィンドウで、[フィルター ビューアーを開く] をクリックします。[解析フィルター] ビューアーが開き、カバレッジ フィルター ファイルで指定された除外されたオブジェクティブの名前、タイプ、根拠が表示されます。

手順 4: オブジェクティブの正当化

(a) [検証結果の概要] ウィンドウで、[解析結果をモデル上で強調表示] をクリックします。解析結果に基づいてモデルが強調表示されます。除外されたモデル オブジェクトはスチール ブルーで強調表示され、エラーとなるモデル オブジェクトは赤で強調表示されます。

(b) 除外されたオブジェクティブを表示するには、Abs ブロックをクリックして [表示] をクリックします。[解析フィルター] ビューアーが開きます。

(c) Divide ブロックをクリックします。結果インスペクター ウィンドウには、オブジェクティブの概要が表示されます。

(d) ゼロ除算オブジェクティブを正当化するには、[正当化] をクリックします。[解析フィルター] ビューアーは、このオブジェクティブを正当化する規則を使用して更新されます。オプションで、オブジェクティブの [モード] または [根拠] を更新できます。

手順 5: フィルター ファイルの適用と結果の表示

[解析フィルター] ビューアーで、[適用] をクリックします。モデルは更新されたフィルターに基づいて強調表示されます。Divide ブロックのすべてのオブジェクティブが有効であるため、Divide ブロックは緑で強調表示されます。

更新されたフィルター ファイルを保存するには、[解析フィルター] ビューアーで [フィルターの保存] をクリックし、ファイルの名前を入力して [OK] をクリックします。

メモ: フィルターを適用すると、モデル オブジェクトの強調表示が次のようになります。

  • ブロックのすべてのオブジェクティブが除外または正当化されると、スチール ブルーで強調表示されます。

  • ブロックに有効で除外または正当化されたオブジェクティブが存在する場合、緑で強調表示されます。

  • ブロックに反証または除外されたオブジェクティブが存在する場合、赤で強調表示されます。

詳細な解析レポートについては、[検証結果の概要] ウィンドウで [HTML] または [PDF] をクリックします。[設計エラー検出オブジェクティブのステータス] の章には、有効または反証されたオブジェクティブと共に、除外または正当化されたオブジェクトがレポートされます。

関連するトピック