Main Content

Simulink Coverage における改良条件判定カバレッジ (MCDC) 定義

Simulink® Coverage™ では、既定で、マスキング改良条件判定カバレッジ (MCDC) 定義を MCDC カバレッジの結果を記録するために使用します。Simulink Coverage が解析中に使用する MCDC 定義をユニークコーズ MCDC 定義に変更することはできますが、どちらの定義を使用するかによって、Simulink Coverage がモデルのカバレッジを記録する方法にはいくらかの違いがあります。

Simulink Coverage カバレッジ解析におけるマスキング MCDC とユニークコーズ MCDC 間の相違

マスキング MCDC では部分式の条件のマスクが考慮され、MCDC のユニークコーズ定義と比較して、達成される MCDC オブジェクティブの数が多くなります。その結果、一部の Simulink モデルはユニークコーズ MCDC 定義を使用すると完全ではない MCDC カバレッジが適用されますが、マスキング MCDC 定義を使用すると、より広範なカバレッジが適用されます。次の例で、Stateflow® チャートの 2 つの入力である条件 A と条件 C が、単独では変更できない場合について考えます。

Stateflow chart with four input ports. Ports A and C are branches of the same signal, input signal one. Port B is input signal two, and port D is input signal 3.

この入力の依存関係は、Stateflow チャート内に含まれる式の依存条件となります。

式 (A||B)&&(C||D) では、条件 C の値を変更すると条件 A の値も変わります。条件 A と条件 C の相互依存のため、条件 C のユニークコーズ MCDC は達成できません。

Coverage report showing MCDC analysis where condition C is missing coverage.

しかし、条件 C のマスキング MCDC は達成が可能です。これは、部分式 (A||B) が true である限り、マスキング MCDC では条件 C の独立ペアにおいて条件 A の値を変更することが許されるためです。

Coverage report showing MCDC analysis where all MCDC outcomes are fully satisfied.

MCDC カバレッジの認証に関する考慮事項

DO-248C ディスカッション ペーパー #13 "Discussion of Statement Coverage, Decision Coverage and Modified Condition/Decision Coverage" では、マスキング MCDC は DO-178B 認証の MCDC オブジェクティブを満たすものとして許容されると述べられています。

Simulink Coverage のカバレッジ解析に使用される (MCDC) 定義の設定

既定では、Simulink Coverage はカバレッジ解析においてマスキング MCDC 定義を使用します。Simulink Coverage のカバレッジ解析に使用される MCDC 定義を変更する方法は 2 つあります。

使用する MCDC 定義をモデル コンフィギュレーション パラメーターで設定

  1. [コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。

  2. CovMcdcMode パラメーターを [マスキング] または [ユニークコーズ] に設定します。

使用する MCDC 定義を cvtest オブジェクトで設定

モデルに cvtest オブジェクトを作成して、mcdcMode'Masking' または 'UniqueCause' に設定します。

cvt = cvtest(model)
cvt.options.mcdcMode = 'UniqueCause'
covdata = cvsim(cvt)

Simulink Design Verifier の改良条件判定カバレッジ

CovMcdcMode'UniqueCause' に設定すると、Simulink Coverage の MCDC レポートと Simulink Design Verifier™ のテスト生成の間に違いが生ずることがあります。Simulink Design Verifier では、テスト ケース生成にマスキング MCDC 定義を常に使用します。詳細については、Simulink Design Verifier の改良条件判定カバレッジを参照してください。

関連するトピック

  • MCDC (Simulink Design Verifier)