このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
厳密クローンをサブシステム参照に置換
厳密クローンは、ブロックのタイプ、接続、パラメーター値が同一であるモデル化パターンです。クローン検出器は参照モデルの境界を越えてこれらのクローンを特定します。厳密クローンをライブラリ リンクおよびサブシステム参照ブロックに置き換えることで、コンポーネントを再利用できます。厳密クローンをライブラリ リンクに置き換えるには、クローン検出を使用したコンポーネント再利用の有効化を参照してください。この例では、サブシステム クローンをサブシステム参照ブロックに置き換える方法を示します。
厳密クローンの特定
モデル
ex_detect_clones
を開きます。openExample('ex_detect_clones');
モデルを作業フォルダーに保存します。アプリにアクセスするには、モデルが開かれていなければなりません。
[アプリ] タブで、[クローン検出器] をクリックします。または、MATLAB® コマンド ラインで次のように入力します。
clonedetection("ex_detect_clones")
アプリによって [クローン検出器] タブが開きます。この例では、各セクションについて説明します。
クローン検出のためのペインの設定
アプリによって 3 つのペインに情報が表示されます。ペインを開くには、[表示] メニューを使用します。ペインには次のものがあります。
[ヘルプ]。クローン検出ワークフローの概要を含むヘルプ ペインにアクセスする場合に選択します。
[結果]。[クローン検出の結果とアクション] ペインを表示する場合に選択します。
[プロパティ]。[検出されたクローン プロパティ] ペインを表示する場合に選択します。
クローン検出のためのパラメーターの設定
[設定] ドロップダウン メニューを使用して、クローン検出のためのパラメーターを設定できます。
[厳密クローンからサブシステム参照への置き換え] を選択します。
[コンポーネントの除外] をクリックして [モデル参照の除外]、[ライブラリ リンクの除外]、および [非アクティブ領域とコメントアウト領域の除外] オプションにアクセスします。[非アクティブ領域とコメントアウト領域の除外] オプションを有効にすると、モデル内の Variant Source ブロックが原因で、厳密クローン
SS1
が識別されなくなります。詳細については、クローン検出からのコンポーネントの除外を参照してください。[非アクティブ領域とコメントアウト領域の除外] オプションをクリアされたままにします。[モデル全体でのクローンの検出] をクリックし、モデル全体の任意の場所でのクローンの検出を有効にします。[最小領域サイズ] と [最小クローン グループ サイズ] の値を選択して、これらと一致するブロックをもつクローンを検出できます。既定のサイズは
2
に設定されます。
モデルのクローンの特定
[クローンの検索] をクリックしてクローンを特定します。
サブシステム
SS1
およびSS4
の色が赤に変更され、それらが厳密クローンであることが示されます。
クローン検出の結果の解析
クローンを特定した後、結果を解析して、必要に応じてモデルに変更を加えることができます。結果を解析するには次のようにします。
[クローン検出の結果とアクション] パネルで、[クローンの結果] タブにクローン グループ
Exact Clone Group 1
が表示されます。Exact Clone Group 1
の横の>
記号をクリックすると、厳密クローンであるすべてのサブシステムと、クローンごとのブロック数が表示されます。[クローン検出の結果とアクション] ペインで、[ログ] タブをクリックします。[ログ] ペインで、ハイパーリンクをクリックします。
クローン検出の結果が、特定されたクローン、クローンの種類、検出のパラメーター、クローン検出での除外に関する統合レポートとともに、新しいウィンドウで開きます。
[モデルの階層構造] タブをクリックして、
ex_detect_clones
を展開します。ハイパーリンクをクリックしてモデルに存在しているサブシステムを強調表示します。[検出されたクローン プロパティ] ペインの [リファクタリングの利点] セクションでは、存在する厳密クローンの確率を考慮することができます。
モデルをリファクタリングすることで、モデルの再利用が 6.4516% 削減されます。
クローンの置換
[クローン検出器] タブで、[クローンの置換] をクリックします。厳密クローンがサブシステム参照ブロックに置き換えられます。サブシステム参照の
.slx
ファイルが作業フォルダーに表示されます。[クローン検出の結果とアクション] ペインでは、モデルを元の設定に戻すことができます。[ログ] タブを表示し、元に戻すバージョンのハイパーリンクをクリックして [元に戻す] をクリックします。
モデルの同一性のチェック
Simulink Test™ をお持ちの場合は、[同一性のチェック] をクリックすることで、新しいモデルと元のモデルとの等価性を [クローン検出] タブで確認できます。