SimDiff
SimDiff は、2005 年に初リリースを発表して以来、Simulink モデルの先導的な比較・マージツールとして知られています。SimDiff の正確さ、スピード、安定性は、世界中の自動車業界、航空宇宙業界、そして軍需産業の大企業の信頼を維持してきました。
こちらのデモ動画では、機能の一部概要をご紹介しております。お手元のモデルで、SimDiff の無償トライアルをお試し下さい。
SimDiffトライアルのお申し込み
SimDiff によるモデルの比較
SimDiff は .mdl または .slx 形式のモデルの比較をサポートします。比較とマージの2つのモードから選択できます。比較モードは、変更を確認するために最適化されており、マージモードでは変更をマージできます。
変更のレビュー
SimDiff の結果ウィンドウには、結果を確認できる2つのツリーがあります。
左側のツリーは、変更が実行されたSimulinkモデルです。右側のツリーは、他のユーザーによって変更が実行されたたSimulink モデルです。各差分には番号が振られ、色付けされています。青は変更、赤は削除、緑は追加を示します。これらの色は、環境設定でカスタマイズできます。また、SimDiffの色とアイコンを説明する凡例(右上のボタン)も含まれています。ウィンドウの下には、ステータスバーがあり、比較にかかった時間とモデルに加えられた変更の数を表示します。各項目にマウスを置くと、詳細が表示されます。
SimDiff の優れた機能の一つは、そのスピードです。SimDiffに付属しているサンプルモデルの比較は0.5秒以内に行われ、大きなモデルでも迅速に比較が実行されます。SimDiff は、数千ブロックのモデルを2.5秒以内で、30,000ブロック以上を含む20MB MDLファイルを10秒以内で比較できます。この迅速かつ正確な比較は、EnSoft社におけるグラフ理論研究の結果です。
SimDiffトライアルのお申し込み
具体的な変更を見てみましょう。
こちらの図では、Actual Speedブロックが水色でハイライト表示されています。これはブロックに1つ以上の変更された属性があることを意味しています。どちらのツリーでも、ブロックをクリックすると、SimDiff がウィンドウの下部に属性の比較を表示します。定数ブロックの値が400から500に変更されたことが、属性パネルで確認できます。
Simulink の差分を表示するには、差分をダブルクリックするか、差分を選択した状態でツールバーボタンをクリックします。SimDiff はSimulink で現在選択されているブロックをハイライト表示します。デフォルトでは、SimDiffの2つのツリー表示で使用されている色と一致するように、変更、削除、追加されたブロックもハイライト表示されます。SimDiff のツールバーにはナビゲーションボタンがあり、変更を1つずつ段階的に進めることができます。
次に、同じブロック内で並列編集が行われた別の種類の変更を見てみましょう。
赤いバーは、これが競合する変更であることを示しています。属性パネルでは、左と右の両方のモデルで名前が変更されたため、競合が起きていることが示されています。
変更のフィルター
この変更は、関数名がサブシステムの名前に基づくため、生成されたコードのインターフェイスに影響します。そのため、名前のフィルターを特定のタイプのブロックに限定する必要があるでしょう。それには、フィルターを微調整する必要があります。これはフィルター編集 (編集 > フィルター…) から実行できます。
フィルター編集から、フィルターを追加、編集、削除できます。必要に応じて、有効または無効にできます。SimDiff には、ほとんどの場合重要でない属性設定を除外できるビルトインフィルターが含まれています。必要に応じて、ビルトインフィルターを無効にできます。
この場合、Name フィルターを修正すると、特定の要素にのみ適応させることができます。現段階では、フィルターは全ての要素に適用されます。フィルターからサブシステムを除外してみましょう。要素の名前を入力するか、または右側のリストから要素の名前をコピーして貼り付けることができます。
サブシステムの名前がフィルター処理されなくなり、SimDiffがサブシステムブロックの変更を検出することが分かります。
SimDiffトライアルのお申し込み
監査
SimDiff はデフォルトで。差分のないブロックを含む全てのモデル内容を表示します。しかし、ツリーの上部にあるボタンで、表示をカスタマイズできます。例えば、「全変更」をクリックすると、変更のある項目のみを表示するように調整できます。
この表示は、レビューの過程で役に立ちます。レビュー担当者は、レビュー中に右側の列の変更にチェックを入れることで、進捗状況を追跡できます。レビューの進行状況は、ステータスバーに表示されます。
監査パネルでは、選択したモデル要素に、タグやメモなどの監査情報を追加することができます。ユーザー名と日付は、自動的に入力されます。
監査情報をXML ファイルに保存して、後でSimDiff に読み込むことができます。更に、監査情報を変更レポートに含むこともできます。変更レポートは、HTML またはXML形式で保存することができます。HTMLは表示に適した形式である一方、外部ツールを使った自動後処理にはXMLが便利です。
レポート
SimDiff では、比較レポートを作成できます。
レポートには、モデルの情報、凡例、差分の概要、及び詳細な表が含まれます。簡単にナビゲーションできるようにリンクさせた目次もあります。SimDiff はSimulink を使用して、変更レポートのスクリーンショットを生成できます。SimDiff アプリケーションと同様に、差分には番号が振られています。スクリーンショットの画像をクリックすると、フル解像度で表示できます。
バージョン管理システムの統合
SimDiff は、複数のリポジトリシステムと統合できます。
リンク先の情報、及び表示されていないバージョン管理システムについては、EnSoft のサポート担当にご連絡ください。
変更のマージ
マージモードでは、マージ結果を保存する場所を指定する必要があります。
慣例では、これは通常、左側のモデルです。しかし、別の出力モデルファイルを用意することもできます。
マージモードには、比較モードとほぼ同じ機能がありますが、右側のモデルの変更を左側のモデル(または出力モデル)にマージすることもできます。ステータスバーでマージの進行状況を確認できます。
例として、少し高度な変更を見てみましょう。Terminator ブロックが、Radar Kalman Filter サブシステムの中から削除され、新しい Terminator ブロックがサブシステムの外側に追加されました。この Terminator ブロックを、モデルに追加する必要があります。これを実行するには、マージの矢印をクリックするだけで、SimDiff が変更を追加します。
SimDiff はSimulink でマージ動作を適用します。これらの修正は、Simulink モデルの未保存の変更として表示されます。マージされたブロックをモデル内で確認し、移動させることができます。
この信号は、Terminator ブロックに接続していて、出力モデルの Kalman Filter にまだ存在していないポートにも接続されています。SimDiff を使ってマージをすると、何が起こるでしょうか。SimDiff は依存関係を検知し、必要な3つ目の出力ポートを作成します。SimDiffウィンドウの下部にある依存関係タブを見ると、SimDiffにより検出された依存関係が確認できます。
ここでは、コピーした行がTerminatorブロックとKalman Filter の3つ目の出力ポートの両方に依存していることが分かります。この様にSimDiffは出力ポートを作成して適確な名前を付けます。マージ動作を元に戻したり、やり直したりすることもできます。
サンプルモデルでは、まだマージされていない変更がいくつかあります。「階層マージ」ボタンを使って、その下のサブシステムを含む、サブシステム全体の内容をマージできます。
ステータスバーは、SimDiff が競合しない変更全てをマージしたことを示していますが、まだ1つ競合する変更があります。ユーザーだけが変更が正しいかを判断できるため、安全のため、階層マージは競合する変更をスキップします。「次の競合」ボタンを使用すると、競合する変更へジャンプできます。この場合は、Mux ブロックで1つ競合が見られます。
他のユーザーの変更の方が、あなたの変更より優れているように見えるため。競合する変更をマージして先に進んだとします。これにより、全ての変更がマージされました。マージが終了したら、出力モデルを保存するだけです。
以上が、SimDiff の概要です。SimDiff には、モデルのハイライト表示されたコピーの抽出、
この機会に、ぜひご自身のモデルでSimDiff をお試しください。
SimDiffトライアルのお申し込み
ライセンスと価格
製品と価格の詳細は、こちらをクリックしてください。
システム要件
SimDiff は、あらゆるソフトウェアやハードウェア環境に対応しています。
バージョン管理システムの統合
SimDiff では、複数のバージョン管理システムを統合することが可能です。
SimDiffの購入
お見積りをご希望の場合は、こちらをクリックしてください。
SimDiff のダウンロード
SimDiff のダウンロードは、以下のリンクからアクセスしてください。