Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

異なるフォルダー間で複数のモデルのクローンをプログラムで検出

この例では、プログラムを使用して、異なるフォルダーに配置された複数のモデルのクローンを検出する方法を説明します。クローン検出 API の詳細については、プログラムによるサブシステム クローンの検出と置換を参照してください。

この例では、クローン検出 API を使用し、フォルダー内に存在する 6 つの Simulink® モデル内のクローンを特定する方法を示します。クローンの置換はこのワークフロー例を使用しても実行できません。プログラムにより複数のモデルのクローンを置換するには、プログラムにより複数のモデルのクローン検出と置換をループで実行を参照してください。

1.MATLAB® コマンド ラインで、次のように入力します。

    openExample('ex_detect_clones_A')
    openExample('ex_detect_clones_B')
    openExample('ex_detect_clones_C')
    openExample('ex_detect_clones_D')
    openExample('ex_detect_clones_E')

書き込み可能なフォルダーにモデルを保存します。

2.Simulink.CloneDetection.Settingsクラスを使用してオブジェクトを作成します。

    cloneDetectionSettings = Simulink.CloneDetection.Settings();

3.cloneDetectionSettings オブジェクトにモデルを含むフォルダーのパスを追加します。

    cloneDetectionSettings.Folders = {'D:\models'}

4.クローンを検出するには、cloneDetectionSettings オブジェクトを使用して関数Simulink.CloneDetection.findClonesを実行します。

    cloneResults = Simulink.CloneDetection.findClones(cloneDetectionSettings)

cloneResults は 2 つのプロパティ ClonesExceptionLog をもつSimulink.CloneDetection.Resultsクラスのオブジェクトです。

5.Clones.Summary フィールドを表示します。

    cloneResults.Clones.Summary

この例では、モデルには、サブシステムのパターンが一致する 4 つの異なるクローン グループ (18 個の類似クローン、8 個の厳密クローン、および 26 個のサブシステム クローン) があります。

5.最初のクローン グループの詳細を表示します。

    cloneResults.Clones.CloneGroups(1)|

6.最初のクローン グループの概要を表示します。

    cloneResults.Clones.CloneGroups(1).Summary

7.最初のクローン グループのクローン リストを表示します。

    cloneResults.Clones.CloneGroups(1).CloneList

同様に、上記の手順を使用して他のクローン グループの結果を確認できます。

関連するトピック