Main Content

モデルのリファクタリングによるコンポーネントの再利用の向上

メトリクス ダッシュボードを使用すると、モデルの階層構造全体でクローンを特定できます。クローンとは、同一の MATLAB Function ブロック、同一の Stateflow® チャート、および同一のブロック タイプと接続をもつサブシステムです。クローンではパラメーター設定と値は異なってもかまいません。クローンをライブラリ ブロックへのリンクに置き換えるには、メトリクス ダッシュボードからクローン検出器アプリを開きます。

クローン検出器アプリを使用すると、モデルをリファクタリングし、モデルのコンポーネント化と可読性を改善し、コンポーネントをモデル内で再利用することができます。この例では、メトリクス ダッシュボードからクローン検出器を開始します。ただし、[アプリ] タブを開き、[クローン検出器] をクリックして開くこともできます。

クローンの特定とライブラリ ブロックのリンクへの置き換え

  1. [アーキテクチャ] セクションの [実際の再利用] ウィジェットの青いバーは、サブコンポーネントの総数のうち、リンクされたライブラリ ブロックであるものの割合を示しています。[実際の再利用] ウィジェットの上にマウスをポイントすると、詳しい情報が表示されます。このモデルでは、サブコンポーネントの総数の 10% がリンクされたライブラリ ブロックです。

  2. 詳細を表示するには、青いバーをクリックします。System LagThrottle CommandCheckRange がリンクされたライブラリ ブロックです。

    Table with details on the library linked component content metric results for the sldemo_fuelsys model and its subsystems, charts, and MATLAB Function blocks

  3. ダッシュボードのメイン ページに戻ります。

  4. [アーキテクチャ] セクションの [可能な再利用] バーは、モデルにクローンが含まれることを示しています。[可能な再利用] の上にマウスをポイントします。このモデルでは、サブコンポーネントの 7% がクローンです。

  5. 詳細を表示するには、黄色のバーをクリックします。Pressure.map_estimateThrottle.throttle_estimate がそれぞれのクローンです。

  6. これらのクローンがリンクされたライブラリ ブロックへの置換の候補であるかどうかを判別するには、[変換ツールを開く] をクリックします。

    [クローン検出器] アプリがモデルの新しいタブとして開きます。

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

    クローン グループが 1 つあります。薄い青のシェーディングは、これらのクローンが類似クローンであり、厳密クローンではないことを示しています。類似クローンでは、パラメーターの設定および値が異なります。

  8. このクローン グループを展開します。

    このクローン グループは、2 つのサブチャートで構成されます。

    Clone Detector App showing Clone Detection Results and Actions for the clone group

  9. パラメーターの差分を特定するには、[ブロックの差異] 列で [View parameter difference] をクリックします。

    このクローン グループ内のサブチャートは、その中の Lookup Table ブロックのブレークポイント パラメーターの値のみが異なる Simulink® 関数を呼び出します。

  10. [クローンの結果] タブの [クローンを配置するライブラリ] パラメーターで、[参照] ボタンを使用してライブラリを選択するか、新しいライブラリ名を指定します。新しいライブラリ名を指定すると、アプリでライブラリが作成されます。

  11. 作業フォルダーにモデルを保存し、[クローン検出器] タブで [クローンの置換] をクリックします。可能な場合、アプリは類似のクローンをマスク ライブラリ サブシステムへのリンクに置き換えます。

    [ログ] タブで最新のログをクリックします。

    ログに含まれるメッセージは、Simulink 関数のデータをサブチャート データにプロモートできないため、クローンをリンクされたライブラリ ブロックに置き換えできないことを示します。

  12. メトリクス ダッシュボードとモデルを閉じます。

クローン検出器アプリがモデルをリファクタリングしてクローンをライブラリ ブロックへのリンクに置き換えるとき、アプリによってバックアップ フォルダーが作成されます。バックアップ フォルダーの名前には、接頭辞 m2m_<model name> が付きます。Simulink Test™ ライセンスをお持ちの場合、[クローン検出器] タブで [同一性のチェック] をクリックすると、リファクタリングされたモデルと元のモデルの同一性を検証できます。

その他のオプションの確認

Simulink Check™ で対処可能な一般的なタスクの一覧を次の表に示します。

タスクリファレンス

複雑なモデルを簡略化し、デバッグする。

機能の依存関係の強調表示

高信頼性システム用のモデリング ガイドラインと MAB 制御アルゴリズム モデリング ガイドラインに関連付けられた安全規格への準拠性に関するモデル アドバイザー チェックを実行する。

モデル アドバイザーを使用したモデルの準拠性のチェック
カスタム モデル アドバイザー チェックを記述する。カスタム モデル アドバイザー チェックの定義
カスタム モデル アドバイザー構成を作成し、展開する。モデル アドバイザー カスタム構成の作成と展開およびモデル アドバイザー構成エディターを使用したモデル アドバイザーのカスタマイズ

メトリクス ダッシュボードを使用して、品質評価のためにメトリクス データの収集と表示を行う方法の詳細を学ぶ。

メトリクス ダッシュボードを使用したメトリクス データの収集と確認
準拠メトリクスを設定したり、メトリクスのしきい値を追加したり、メトリクス ダッシュボードのレイアウトをカスタマイズしたりする。 メトリクス ダッシュボードのレイアウトおよび機能のカスタマイズ

モデル トランスフォーマー ツールおよびクローン検出器アプリを使用してモデルをリファクタリングし、モデルのコンポーネント化と可読性を改善して再利用を可能にする。

モデルをバリアント システムに変換およびクローン検出を使用したコンポーネント再利用の有効化
Simulink 製品を使用して、モデルとコードをテストし、設計エラーの有無をチェックし、標準に対するチェックを行い、カバレッジを測定し、システムを検証する方法の詳細を学ぶ。検証と確認