Main Content

カバレッジの解析と結果の表示

カバレッジを有効にして、必要なメトリクスを選択した後に、モデルをシミュレートしてカバレッジ結果を収集する必要があります。

最初に、[カバレッジの解析] ボタンをクリックしてモデルをシミュレートします。シミュレーションが完了すると、Simulink® Coverage™ では、カバレッジの完全性に基づいてモデル オブジェクトが強調表示されます。

Simulink window after simulation with coverage enabled. The model is highlighted, some blocks are green, red, or grey. On the right side of the model, a coverage report is open, docked in the Simulink window.

[カバレッジの詳細] ペインが自動的に開き、カバレッジ レポートが表示されます。このレポートは [詳細] セクションで自動的に開き、モデル オブジェクトのカバレッジ結果を一覧表示します。上にスクロールすると概要セクションとモデル情報を表示でき、下にスクロールすると個々のブロックを参照できます。

window_system サブシステムは、サブシステム内のすべてのブロックのカバレッジが 100% になっていたため、緑色になっています。他のサブシステムは、その中の 1 つ以上のブロックがフル カバレッジの対象になっていなかったため、赤色になっています。

サブシステムをポイントして、各関連メトリクスのカバレッジの簡単な概要を表示します。たとえば、power_window_control_system サブシステム ブロックをポイントします。

Coverage results popup. Decision 100% (2/2), Condition 79% (62/78), MCDC 32% (7/22), Execution 100% (39/39).

ブロックを左クリックすると、[カバレッジの詳細] ペインにそのブロックのレポートのセクションが表示されます。たとえば、power_window_control_system サブシステムをクリックします。

Simulink window after clicking on a subsystem. The docked coverage report shows the section of the report that details coverage results for the subsystem.

サブシステムに入って、そのサブシステムの内容について詳細なカバレッジ結果を表示できます。power_window_control_system サブシステムをダブルクリックし、そのサブシステムに含まれるブロックのカバレッジ結果を表示します。validate_passengercheck_up の順にダブルクリックします。

And ブロック allow_action をクリックして、レポートの関連セクションを表示します。

Simulink window after clicking on the And block. The And block is red and the coverage report is displayed on the right.

And ブロックでは 2 つの入力信号の論理的組み合わせが出力されるため、両方の入力信号が true の場合、出力信号は true になります。条件テーブルから、入力信号 1 はすべてのタイム ステップで False であった一方、入力信号 2 は 878 個のタイム ステップで True、884 個のタイム ステップで False であったことがわかります。

Condition table for the And block in the coverage report.

条件結果が 4 つあり、そのうちの 1 つは発生しなかったため、allow_action ブロックの条件カバレッジは 75% になりました。

[条件解析] テーブルの下に [MC/DC 解析] テーブルがあります。

MCDC table for the And block in the coverage report.

MCDC 解析テーブルには、1 つの条件結果が true から false または false から true に変化したことが原因で反転した判定がリストされています。このテーブルでは、最初の条件のシミュレーション中に FF ケースのみが発生したこと、また MCDC オブジェクティブは 2 つ目の条件でも発生しなかった結果、MCDC は 0% としてレポートされています。

コマンド ライン情報

コマンド ラインから同じ手順を実行するには、以下のように入力します。

simOut = sim(simIn);
covData = simOut.covData;
cvmodelview(covData);

関連するトピック