Main Content

サードパーティからの保護モデルの参照

知的財産を開示することなくモデルを配布するよう、サードパーティは配布前にモデルを保護することができます。保護モデルは、編集をサポートしない参照モデルです。保護モデルの作成者は、読み取り専用表示、シミュレーション、コード生成、パスワード保護を有効にするかどうかを選択します。操作がパスワード保護されているときは、AES-256 暗号化テクノロジーがサポートしているファイルの内容を保護します。

メモ

保護モデルを作成するには、Simulink® Coder™ ライセンスが必要です。

保護モデルを識別するには、以下を特定します。

  • バッジ アイコン .slxp 拡張子が付いた、MATLAB® の現在のフォルダー ブラウザー内のファイル。保護モデルは、モデル エクスプローラーのモデルの階層構造には表示されません。

  • 左下隅のバッチ アイコンの付いた、Simulink エディター内の Model ブロック:

    A Model block that references a protected model displays the badge icon in addition to the protected model name, input port names, and output port names.

利用可能な場合、保護モデル レポートにはサポートされる機能が記載されます。レポートを開くには、以下のいずれかのオプションを使用します。

  • MATLAB の現在のフォルダー ブラウザーで、保護モデルを右クリックして [レポートを開く] をクリックする。

  • Simulink エディターで、Model ブロック上にある保護モデルのバッジ アイコンを右クリックして [レポートの表示] をクリックする。

保護モデルのサポート ファイルの読み込み

保護モデルは単独で受け取る場合も、プロジェクト アーカイブまたはパッケージの一部として受け取る場合もあります。

  • プロジェクト アーカイブ (.mlproj) を受け取る場合、保護モデルとサポート ファイルを抽出します。現在のフォルダー ブラウザーでプロジェクト アーカイブ (.mlproj) をダブルクリックして、抽出先フォルダーを指定します。または、プロジェクト アーカイブを右クリックして [ここに抽出] をクリックします。プロジェクトが開き、抽出されたファイルが、プロジェクト アーカイブに従って名前が付けられた新しいフォルダーに入ります。

  • 保護モデルまたはサポート ファイルを別の方法で受け取る場合は、提示された指示に従ってください。たとえば、ワークスペース定義を含む MAT ファイルを読み込まなければならない場合があります。LoadFcn などのコールバック関数を設定して MAT ファイルを自動的に読み込むことができます。コールバックを使用したモデル動作のカスタマイズを参照してください。

保護モデルのデジタル署名の検証

作成者が保護モデルに署名した場合、デジタル署名を検証します。現在のフォルダー ブラウザーで、保護モデルをダブルクリックします。[詳細] ペインの [署名者] フィールドは、モデルに署名したパブリッシャーと、シグネチャが信頼済み認証機関によって検証されたかどうかを示します。検証は、次のような場合に失敗します。

  • 署名後に保護モデルが変更された。

  • 保護モデルに署名が行われていない。

  • 保護モデルが期限切れの証明書で署名されている。

  • 作成者により発行された証明書で保護モデルが自己署名されている。

  • 保護モデルが不明または無効な証明書で署名されている。

  • CA の証明書がシステムにないまたは無効である。

既定の設定で、保護モデルのシグネチャを検証するには、[Simulink 基本設定] ダイアログ ボックスで [開く前に保護モデルのデジタル署名を検証] を選択します。

保護モデルの内容の表示

Web ビューを使用すると、以下の保護モデル情報を表示できます。

  • システムの内容

  • ブロック パラメーター

  • 信号プロパティ

読み取り専用表示を開くには、保護モデルを参照している Model ブロックまたは現在のフォルダー ブラウザーの .slxp ファイルをダブルクリックします。読み取り専用表示がパスワードで保護されている場合は、保護モデル バッジ アイコンを右クリックして、[承認] を選択します。[モデル表示] ボックスで、パスワードを入力し、[OK] をクリックします。

Model ブロックまたは Subsystem ブロックをダブルクリックすることで、モデルの階層構造を移動できます。あるいは、[すべて表示] タブに移動して、表示するシステムを選択することもできます。保護モデルに含まれる保護された参照モデルの内容を表示することはできません。

ブロック パラメーターおよび信号プロパティを表示するには、ブロックまたは信号線をそれぞれ選択します。

Web ビューで検索を行うには、検索ボタンをクリックし、表示されるボックスに検索する名前や値を入力します。検索で返されるモデルの要素は強調表示されます。検索結果には、返された各要素の名前と親が含まれます。

分離された環境での保護モデルのテスト

保護モデルを使用する場合、通常は接尾辞 _harness が付いているハーネス モデルを受け取る可能性があります。ハーネス モデルは、保護モデルをテストするための分離された環境を提供します。サポート ファイルが不足している場合、ハーネス モデルのコードをシミュレーションまたは生成することでそれらを特定できます。

ハーネス モデルを作成するには、現在のフォルダー ブラウザーで保護モデル ファイルを右クリックし、[ハーネス モデルの作成] をクリックします。作成されたハーネス モデルは保護モデルのシミュレーション用に設定されています。

保護モデルの参照

保護モデルを参照するには、以下を行います。

  1. 保護モデルが MATLAB パス上にあることを確認します。

  2. ハーネス モデルがある場合は、ハーネス モデルの Model ブロックを自分のモデルにコピーします。それ以外の場合、保護モデルを新しい Model ブロックで参照します。[ブロック パラメーター] ダイアログ ボックスを開いて、保護モデルの名前を [モデル名] フィールドに入力します。

    Model ブロックが保護モデルを参照するときに、ブロックの [シミュレーション モード]Accelerator になります。このモードを変更することはできません。

  3. 保護モデルがパスワードで保護されている場合、Model ブロック上にある保護モデルのバッジ アイコンを右クリックして、[承認] をクリックします。[モデル表示] ボックスで、パスワードを入力し、[OK] をクリックします。

  4. 入出力端子の要件が一致する Model ブロックに信号線を接続します。モデル参照インターフェイスの定義を参照してください。

    保護モデルではインラインでない S-Function を直接的にも間接的にも使用できないことに注意してください。

  5. 必要なモデル引数の値を供給します。参照モデルのパラメーター化を参照してください。

保護モデルをシミュレートする場合、保護モデルの作成に使用したものと同じプラットフォームを使用します。ソフトウェアでは保護モデルがコンパイルされた MEX バイナリとして保存されます。

以前のリリースで保護モデルの使用

使用している Simulink リリースが保護モデルをサポートしていることを確認します。

利用可能な場合、保護モデル レポートには保護モデルの作成に使用されたリリース バージョンが表示されます。以下の表に示すようにその保護モデルが新しいリリースもサポートしている場合以外は、保護モデルの作成に使用されたのと同じ Simulink リリースを使用します。

モデル化要件リリース間の保護モデルのサポート
読み取り専用表示

制限付きでサポート — R2019a 以降のリリース

  • 保護モデルは R2018b 以降のリリースで作成されていなければならない。

ノーマル モードでのシミュレーション

制限付きでサポート — R2019a 以降のリリース

  • 保護モデルは R2018b 以降のリリースで作成されていなければならない。

アクセラレータ モードでのシミュレーション

制限付きでサポート — R2020a 以降のリリース

  • 保護モデルは R2018b 以降のリリースで作成されていなければならない。

  • 保護モデルの親を直接シミュレーションしなければならない。親モデルが参照モデルとして含まれるモデルの階層構造のシミュレーションはサポートされません。親モデルの対話型シミュレーションを行うには、その独自のウィンドウで最上位モデルとして開かなければなりません。詳細については、Navigate Model Hierarchyを参照してください。

  • 保護モデルは Just-In-Time アクセラレーションを使用しなければならず、C コード生成を要求してはならない。アクセラレーション モードの詳細については、アクセラレータ モードの動作を参照してください。

SIL モードまたは PIL モードのシミュレーション

制限付きでサポート — R2020b 以降のリリース

  • 保護モデルには、R2018b 以降のリリースで生成された ERT、ERT ベース、AUTOSAR、GRT、または GRT ベースの各コードが含まれる。保護モデルを参照する Model ブロック SIL および PIL シミュレーションを実行できます。詳細については、Use Protected Models from Previous Releases to Perform SIL Testing and Generate Code (Embedded Coder)を参照してください。

    保護モデルの ERT または AUTOSAR コードに共有ユーティリティ コードが必要な場合、sharedCodeUpdate (Embedded Coder) を使用して必要なコードを既存の共有ユーティリティ コード フォルダーにコピーする。詳細については、リリース間での共有ユーティリティ コードの再利用 (Embedded Coder)を参照してください。

  • Simulink.ModelReference.ProtectedModel.addTarget または Simulink.ModelReference.ProtectedModel.removeTarget を使用して、異なるリリースで作成された保護モデルに対して生成コードの追加または削除を行うことはできない。

ラピッド アクセラレータ モードのシミュレーションサポートなし
コード生成

制限付きでサポート — R2020b 以降のリリース

  • 保護モデルには、[モデル参照] コード インターフェイスを使用して R2018b 以降のリリースで生成された ERT、ERT ベース、AUTOSAR、GRT、または GRT ベースの各コードが含まれる。詳細については、Use Protected Models from Previous Releases to Perform SIL Testing and Generate Code (Embedded Coder)を参照してください。

    保護モデルの ERT または AUTOSAR コードに共有ユーティリティ コードが必要な場合、sharedCodeUpdate (Embedded Coder) を使用して必要なコードを既存の共有ユーティリティ コード フォルダーにコピーする。詳細については、リリース間での共有ユーティリティ コードの再利用 (Embedded Coder)を参照してください。

  • Simulink.ModelReference.ProtectedModel.addTarget または Simulink.ModelReference.ProtectedModel.removeTarget を使用して、異なるリリースで作成された保護モデルに対して生成コードの追加または削除を行うことはできない。

参考

|

関連するトピック