カバレッジ レポートの種類
Simulink® Coverage™ は、モデル、一部のモデル要素、モデルに統合されたコード、またはモデルから生成されたコードに対してカバレッジ レポートを作成できます。カバレッジ レポートを生成するには、次のいずれかの方法を使用します。
[実行 (カバレッジ)] ボタンをクリックしてモデルをシミュレートします。シミュレーションが完了すると、[カバレッジの詳細] ペインでカバレッジ レポートが開きます。
[カバレッジ] タブで、[結果エクスプローラー] をクリックします。次の 2 つの方法のいずれかにより、カバレッジの結果エクスプローラーを使用してカバレッジ レポートを生成します。
[カバレッジの結果によりモデルを強調表示] をクリックしてモデルを強調表示し、[カバレッジの詳細] ペインを開きます。
[レポートの生成] をクリックし、Simulink モデルとは別に表示可能なスタンドアロン レポートを作成します。
カバレッジ結果をファイルから読み込む場合など、カバレッジ結果はあるが [カバレッジの詳細] ペインが表示されない場合、これらの方法のいずれかを使用します。
カバレッジ データをプログラムにより生成または読み込むには、
cvhtmlを使用します。
| レポートの種類 | 説明 | HTML レポート ファイル名 |
|---|---|---|
| 最上位モデル カバレッジ レポート | すべてのモデルおよびそのモデル要素のカバレッジ情報が表示されます。 | |
| モデル概要レポート | モデルの階層構造内の参照モデルと外部 MATLAB® ファイルのカバレッジ結果へのリンクが表示されます。最上位モデルに Model ブロックがある場合や、最上位モデルが 1 つ以上の外部ファイルを呼び出す場合に作成されます。 | |
| モデル参照カバレッジ レポート | モデルの階層構造内の参照モデルごとに作成されます。このレポートの形式は最上位モデル カバレッジ レポートと同じです。 | |
| 外部 MATLAB ファイル カバレッジ レポート | モデルが呼び出す MATLAB ファイルに関する詳細なカバレッジ情報が表示されます。外部ファイルごとに 1 つのレポートが生成されます。 | |
| サブシステム カバレッジ レポート | 選択したサブシステムのカバレッジ結果が表示されます。 | (model_name は最上位モデルの名前) |
| コード カバレッジ レポート | カスタム コード ブロック内の C/C++ コードと SIL モードのモデルのカバレッジ情報が表示されます。 | または |
モデル概要レポート
最上位モデルに Model ブロックがあるか、最上位モデルが外部ファイルを呼び出す場合、Simulink Coverage は、 という名前のモデル概要カバレッジ レポートを作成します。このレポートのタイトルは「モデル別のカバレッジ」です。model_name_active_summary_cov.html
モデル概要レポートには、参照モデルとモデルの MATLAB コードで呼び出される外部ファイルのカバレッジ レポートのリストとそのリンクが表示されます。詳細については、外部 MATLAB ファイル カバレッジ レポートを参照してください。
[カバレッジの詳細] ペインのリンクをクリックしたとき、[モデル概要レポートに戻る] リンクを使用すると最上位のレポートに戻ることができます。
この図は、手動生成されたモデル概要レポートの例です。このレポートには、モデル カバレッジ レポート (mExternalMfile)、Model ブロックのレポート (mExternalMfileRef)、モデルから呼び出す 3 つの外部ファイル (externalmfile、externalmfile1、externalmfile2) へのリンクがあります。

モデル参照カバレッジ レポート
最上位モデルが Model ブロックのモデルを参照している場合、 という別のモデル参照レポートが作成されます。このレポートには参照モデルのカバレッジが表示されます。このレポートの形式は最上位モデル カバレッジ レポートと同じで、モデルが Model ブロックで参照されていることは示されません。reference_model_name_cov.html
外部 MATLAB ファイル カバレッジ レポート
最上位モデルが外部 MATLAB ファイルを呼び出す場合、[コンフィギュレーション パラメーター] ダイアログ ボックスの [カバレッジ] ペインで [MATLAB ファイル] を選択することで、外部 MATLAB ファイル カバレッジ レポートを有効化できます。モデルから呼び出されるファイルごとに、 というレポートが作成されます。モデルが特定のファイルを複数回呼び出す場合、そのファイルに対するレポートは 1 つだけ作成されますが、そのファイルのすべての呼び出しによるカバレッジは累積されます。外部 MATLAB ファイル カバレッジ レポートには、モデルのどの部分で外部ファイルが呼び出されているかは明示されません。MATLAB_file_name_cov.html
外部 MATLAB ファイル カバレッジ レポートの最初のセクションには、最上位モデル カバレッジ レポートと同様に、外部ファイルの概要情報が表示されます。

"詳細" 節には、外部ファイルと、そのファイルにある関数のカバレッジが表示されます。

"詳細" セクションにはファイルの内容も表示され、判定点または関数の定義があるコード行が強調表示されます。

強調表示されたコード行のカバレッジ結果がその後に表示されます。この図は、上記のコード例によるカバレッジ結果の一部です。
![Coverage results for line 2 of the code is for the function externalmfile1, which receives 100% coverage (executed 102 out of 102 times). Coverage results for line 6 of the code is for the expression [if u greater than 1 and u less than 5], which receives 50% decision coverage (decision is false 102 out of 102 times, and true 0 out of 102 times).](coverage_details_externalmfile1_decisions.png)
サブシステム カバレッジ レポート
個々のサブシステムのモデル カバレッジ レポートを作成する必要がある場合、サブシステム カバレッジ レポートを作成できます。[コンフィギュレーション パラメーター] ダイアログ ボックスの [カバレッジ] で、[カバレッジ解析を有効にする] を選択し、[サブシステムの選択] をクリックして選択したサブシステムのカバレッジを解析します。最上位モデルのモデル カバレッジ レポートは作成されますが、このレポートにはそのサブシステムのカバレッジ結果しか表示されません。
最上位モデルが外部ファイルを呼び出す場合、[コンフィギュレーション パラメーター] ダイアログ ボックスの [カバレッジ] ペインで [MATLAB ファイル] を選択すると、下記から呼び出されるすべての外部ファイルのカバレッジが結果に含まれます。
カバレッジの記録対象となっているサブシステム
そのサブシステムが含まれる最上位モデル
サブシステム パラメーター [読み取り/書き込みアクセス許可] が [NoReadOrWrite] に設定されている場合、そのサブシステムのカバレッジは記録されません。
たとえば、fuelsys モデルで [サブシステムの選択] をクリックして、feedforward_fuel_rate サブシステムのカバレッジを選択したとします。

このレポートはモデル カバレッジ レポートと類似していますが、このレポートには feedforward_fuel_rate サブシステムとその内容に関する結果しか表示されません。

コード カバレッジ レポート
モデル カバレッジ レポートで各カスタム コード ブロック (S-Function ブロックや C Caller ブロックなど) は、ブロック内の C/C++ コードの詳細なコード カバレッジ レポートにリンクされます。モデル カバレッジ レポートで外部 MATLAB ファイルを呼び出す MATLAB Function ブロックは、各外部 MATLAB ファイルの詳細なコード カバレッジ レポートにリンクされます。レポートにおける S-Function の表示の詳細については、S-Function ブロック内のカスタム C/C++ コードのカバレッジ結果の参照を参照してください。
Embedded Coder® がインストールされている場合、ソフトウェアインザループ (SIL) モードまたはプロセッサインザループ (PIL) モードのモデルからコード カバレッジ レポートを生成することもできます。SIL モードまたは PIL モードのモデルのコード カバレッジ レポートを生成する方法の詳細については、ソフトウェアインザループ (SIL) モードおよびプロセッサインザループ (PIL) モードのモデルのコード カバレッジを参照してください。コード カバレッジ レポートの詳細については、コード カバレッジ レポートを参照してください。