Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

厳密クローンをサブシステム参照に置換

厳密クローンは、ブロックのタイプ、接続、パラメーター値が同一であるモデル化パターンです。クローン検出器アプリは参照モデルの境界を越えてこれらのクローンを特定します。厳密クローンをライブラリ リンクおよびサブシステム参照ブロックに置き換えることで、コンポーネントを再利用できます。厳密クローンをライブラリ リンクに置き換えるには、クローン検出を使用したコンポーネント再利用の有効化を参照してください。この例では、クローンをサブシステム参照ブロックに置き換える方法を示します。

厳密クローンの特定

  1. モデル ex_clone_detection を開きます。MATLAB® コマンド ラインで以下のように入力します。

    addpath(fullfile(docroot,'toolbox','simulink','examples'))
    ex_clone_detection

  2. モデルを作業フォルダーに保存します。アプリにアクセスするには、モデルが開かれていなければなりません。

  3. [アプリ] タブで、[クローン検出器] をクリックします。または、MATLAB コマンド ラインで次のように入力します。

    clonedetection("ex_clone_detection")
  4. アプリによって [クローン検出器] タブが開きます。この例では、各セクションについて説明します。

クローン検出のためのペインの設定

アプリによって 3 つのペインに情報が表示されます。ペインを開くには、[表示] メニューを使用します。ペインには次のものがあります。

  • [ヘルプ]。クローン検出ワークフローの概要を含むヘルプ ペインにアクセスする場合に選択します。

  • [結果][クローン検出のアクションと結果] ペインを表示する場合に選択します。

  • [プロパティ][検出されたクローン プロパティ] ペインを表示する場合に選択します。

クローン検出のためのパラメーターの設定

[設定] ドロップダウン メニューを使用して、クローン検出のためのパラメーターを設定できます。

  • [厳密クローンからサブシステム参照への置き換え] を選択します。

  • [コンポーネントの除外] をクリックして [モデル参照の除外][ライブラリ リンクの除外]、および [非アクティブ領域とコメントアウト領域の除外] オプションにアクセスします。[非アクティブ領域とコメントアウト領域の除外] オプションを有効にすると、モデル内の Variant Source ブロックが原因で、厳密クローン SS1 が識別されなくなります。詳細については、Exclude subsystems and referenced models from clone detectionを参照してください。[非アクティブ領域とコメントアウト領域の除外] オプションをクリアされたままにします。

モデルのクローンの特定

  1. [クローンの検索] をクリックしてクローンを特定します。

  2. サブシステム SS1 および SS4 の色が赤に変更され、それらが厳密クローンであることが示されます。

クローン検出の結果の解析

クローンを特定した後、結果を解析して、必要に応じてモデルに変更を加えることができます。結果を解析するには次のようにします。

  1. [クローン検出のアクションと結果] ペインを開きます。[ログ] タブで、ハイパーリンクをクリックします。

    新しいウィンドウが開きます。このウィンドウには、クローン検出の結果がリストされ、特定されたクローン、検出のパラメーター、クローン検出での対象外指定に関する統合レポートが表示されます。

  2. [クローン検出のアクションと結果] ペインで [クローン グループをサブシステム参照にマップ] タブをクリックします。

    クローン グループ Exact Clone Group 1 が表示されます。

  3. Exact Clone Group 1 の横の > 記号をクリックすると、厳密クローンであるすべてのサブシステムと、クローンごとのブロック数が表示されます。

  4. [モデルの階層構造] タブをクリックして、ex_clone_detection を展開します。ハイパーリンクをクリックしてモデルに存在しているサブシステムを強調表示します。

  5. [検出されたクローン プロパティ] ペインの [リファクタリングの利点] セクションでは、存在する厳密クローンの確率を考慮することができます。

    モデルをリファクタリングすることで、モデルの再利用が 6.4516% 削減されます。

クローンの置換

  1. [クローン検出器] タブで、[クローンの置換] をクリックします。厳密クローンがサブシステム参照ブロックに置き換えられます。サブシステム参照の .slx ファイルが作業フォルダーに表示されます。

  2. [クローン検出のアクションと結果] ペインでは、モデルを元の設定に戻すことができます。[ログ] タブを表示し、元に戻すバージョンのハイパーリンクをクリックして [元に戻す] をクリックします。

モデルの同一性のチェック

Simulink Test™ をお持ちの場合は、[同一性のチェック] をクリックすることで、新しいモデルと元のモデルとの等価性を [クローン検出] タブで確認できます。

関連するトピック