Main Content

コード生成アドバイザーを使用したコード生成の目的に合わせたモデルの設定

効率性、トレーサビリティ、安全性などのアプリケーションの目的を、モデル コンフィギュレーション セットでコード生成パラメーターにマッピングする方法を検討します。[コンフィギュレーション パラメーター] ダイアログ ボックスで設定するパラメーターは、シミュレーションでのモデルの動作とモデル用に生成されるコードを指定します。

コード生成アドバイザーを使用してコードを生成する前にモデルを確認するか、コード生成プロセスの一環としてモデルを確認できます。コードを生成する前にモデルを確認する場合、コード生成アドバイザーの確認対象となるモデル、サブシステムまたは参照モデルを指定します。コード生成プロセスの一環としてモデルを確認する場合、コード生成アドバイザーはシステム全体を確認します。コード生成アドバイザーはRecommended Settings Summary for Model Configuration Parametersの情報を使用して、目的を満たすパラメーター値を決定します。複数の目的の間に競合がある場合は、優先順位の高い目的が優先されます。

コード生成の目的を設定し、コード生成アドバイザーを実行すると、モデルのコード生成の目的を達成する方法について、情報が提供されます。コード生成アドバイザーによって、生成されたコードは変更されません。コード生成アドバイザーを使用すると、提案された変更をモデルに加えることができます。生成されたコードは、モデルを変更してコードを再生成した場合にのみ、変更されます。コード生成アドバイザーを使用してコード生成の目的を設定し、モデルをチェックすると、生成されたコードには、指定した目的、コード生成アドバイザーによってモデルで実行されたチェック、チェックを実行した結果を示すコメントが含まれます。

モデルでコンフィギュレーション参照を使用する場合、コード生成アドバイザーを実行してコンフィギュレーション パラメーター設定を確認できます。ただし、コード生成アドバイザーではコンフィギュレーション パラメーター設定を変更できません。

高水準なコード生成の目的

モデルが表現するアプリケーションの種類によっては、特定のコード生成の大まかな目的を考慮することがあります。たとえば、安全性とトレーサビリティはメモリの効率的な使用よりも重要です。特定の目的を考慮している場合、モデルがこれらの目的を達成するようにすばやく設定するには、該当する目的を次のコード生成の目的から選択して優先順位を設定します。

  • 実行効率性 (すべてのターゲット) — 実行時間が短縮されるようにコード生成設定を構成します。

  • ROM 効率性 (ERT ベースのターゲット) — ROM の使用量を削減するようにコード生成設定を構成します。

  • RAM 効率性 (ERT ベースのターゲット) — RAM の使用量を削減するようにコード生成設定を構成します。

  • トレーサビリティ (ERT ベースのターゲット) — モデル要素とコード間のマッピングが提供されるようにコード生成設定を構成します。

  • 安全対策 (ERT ベースのターゲット) — コードの明確さ、確定性、ロバスト性、および検証可能性が向上するようにコード生成設定を構成します。

  • デバッグ (すべてのターゲット) — コード生成ビルド プロセスをデバッグするようにコード生成設定を構成します。

  • MISRA C:2012 ガイドライン (ERT ベースのターゲット) — MISRA C:2012 ガイドラインへの準拠性を高めるようにコード生成設定を構成します。

  • Polyspace (ERT ベースのターゲット) — Polyspace® 解析用にコードを準備するためにコード生成設定を構成します。

コード生成の目的に [MISRA C:2012 ガイドライン] を選択した場合、コード生成アドバイザーは次を行います。

  • モデル コンフィギュレーション設定が MISRA C:2012 のコンフィギュレーション設定の推奨事項に準拠しているかどうかをチェックします。

  • MISRA C:2012 準拠のコード生成でサポートまたは推奨されないブロックがあるかどうかをチェックします。

参照モデルでの目的の指定

コード生成プロセス中にモデルをチェックする場合は、最上位モデルと参照モデルで同じ目的を指定する必要があります。最上位モデルと参照モデルで異なる目的を指定すると、ビルド プロセスでエラーが発生します。

最上位モデルと各参照モデルで異なる目的を指定するには、コードを生成せずにモデルを個別に確認します。

コード生成アドバイザーを使用したモデルの設定

この例では、コード生成アドバイザーを使用してコード生成の目的を満たすようにモデルのチェックと設定を行う方法を示します。

  1. [C コード] タブで、[C/C++ コード アドバイザー] をクリックします。

  2. [システム セレクター] ウィンドウで、評価するモデルまたはサブシステムを選択し、[OK] をクリックします。

  3. コード生成アドバイザーの [コード生成の目的] ペインで、コード生成の目的を選択します。目的を選択すると、コード生成アドバイザーの左ペインで、モデルに対して実行されるチェックの一覧が更新されます。モデルが ERT ベースのターゲット用に構成される場合は、より多くの目的の中から選択できます。この例では、モデルは ERT ベースのターゲット用に構成されています。目的が優先順位の順に実行効率性とトレーサビリティであれば、以下を実行します。

    1. [利用可能な目的] で、[実行効率性] をダブルクリックします。[実行効率性][選択した目的 - 優先順位] に追加されます。

    2. [利用可能な目的] で、[トレーサビリティ] をダブルクリックします。[トレーサビリティ][選択した目的 - 優先順位][実行効率性] の下に追加されます。

  4. コード生成アドバイザーの左ペインに表示されるチェックを実行するには、[コード生成アドバイザー] フォルダーを右クリックして、[選択したチェックを実行] を選択します。

  5. [コード生成アドバイザー] ウィンドウで、左ペインから [コード生成の目的に対するモデル コンフィギュレーションをチェック] を選択して、その結果を確認します。チェックの結果は右ペインに表示されます。

    [コード生成の目的に対するモデル コンフィギュレーションをチェック] の結果、次の問題について警告が表示されます。

    • パラメーターが、指定したコード生成の目的の推奨値以外の値に設定されています。

    • 選択されているコード生成の目的が、モデルに設定されている目的と異なります。

    [パラメーターの変更] をクリックして、次のように設定します。

    • 指定したコード生成の目的の推奨値をパラメーターに設定します。

    • モデルのコード生成の目的をコード生成アドバイザーで指定されている目的と一致させます。

  6. [コード生成アドバイザー] ウィンドウで、左ペインから残りのチェックを選択して、その結果を確認します。チェックの結果は右ペインに表示されます。

  7. チェック結果を確認したら、警告や失敗を修正できます。修正方法については、モデル アドバイザー チェックの警告またはエラーの修正を参照してください。

効率性または安全対策を目的として指定する場合、コード生成アドバイザーにはチェックが追加されます。いずれかの追加のチェックに変更を加えると、以前のチェック結果が無効になる可能性があり、再実行しなければならなくなる場合があります。

コード生成の目的に合わせたモデルの設定 ([コンフィギュレーション パラメーター] ダイアログ ボックスを使用)

この例では、[コンフィギュレーション パラメーター] ダイアログ ボックスでコード生成の目的を満たすようにモデルの設定とチェックを行う方法を示します。

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

  2. システム ターゲット ファイルを指定します。ERT ベースのターゲットを指定する場合、より多くの目的の中から選択できます。この例では、ert.tlc などの ERT ベースのターゲットを選択します。

  3. [目的の設定] をクリックします。

  4. [目的の設定 - コード生成アドバイザー] ダイアログ ボックスで、目的を指定します。たとえば、目的が優先順位の順に実行効率性とトレーサビリティであれば、以下を実行します。

    1. [利用可能な目的] で、[実行効率性] をダブルクリックします。[実行効率性][選択した目的 - 優先順位] に追加されます。

    2. [利用可能な目的] で、[トレーサビリティ] をダブルクリックします。[トレーサビリティ][選択した目的 - 優先順位][実行効率性] の下に追加されます。

    3. 目的を確定するには、[OK] をクリックします。[コンフィギュレーション パラメーター] ダイアログ ボックスで、[コード生成][優先順位が設定された目的] が更新されます。

  5. [コード生成] ペインで [モデルのチェック] をクリックします。

  6. [システム セレクター] ウィンドウで、評価するモデルまたはサブシステムを選択し、[OK] をクリックします。コード生成アドバイザーが開き、指定したモデルまたはサブシステムを確認します。

  7. [コード生成アドバイザー] ウィンドウで左側のペインからチェックを選択し、結果を確認します。そのチェックの結果は右ペインに表示されます。

  8. チェック結果を確認したら、警告や失敗を修正できます。修正方法については、モデル アドバイザー チェックの警告またはエラーの修正を参照してください。

効率性または安全対策を目的として指定する場合、コード生成アドバイザーにはチェックが追加されます。いずれかの追加のチェックに変更を加えると、以前のチェック結果が無効になる可能性があり、再実行しなければならなくなる場合があります。

詳細については、[目的の設定 - コード生成アドバイザー] ダイアログ ボックスを参照してください。

関連するトピック