1

2つのUMLモデル間の(セット?)差を計算する方法について、いくつかの参考資料とアイデアを知りたいです。基本的に、私はシステム(UML / xmiで表される)を持っており、このシステムにいくつかのパターン(UML / xmiで表される)を適用できます。

たとえば、パターンbをシステムに適用した結果にパターンaを適用できます- Pa(Pb(S))。パターンを適用した後、マージされたシステムは元のシステムと見なすことができるので、計算dif(Pb, S)してから計算したいと思います。dif(Pa, S)

車輪の再発明をしたくないので、参考文献(文献にあるかどうかに関係なく)とアルゴリズムを探しています。最後にJavaでコーディングします。

前もって感謝します、

ペドロ

4

2 に答える 2

2

正確な文献を指摘することはできませんが、上記のEMFソリューションを選択できない、または選択できない場合は、次のことを考えてください。UMLモデルはグラフです(エッジと頂点が何であるかを理解するために少し考えます。とにかく)。差を取得するには、頂点セットとエッジセットの両方の対称差が必要です。そうすれば、グラフの1つだけにあるすべてのものを取得できます。元のパターンとパターンが適用されたモデルの対称差を計算すると、パターンがモデルに対して行ったことを正確に知ることができます。

于 2013-01-21T10:03:06.763 に答える
2

Eclipse EMF Compareを使用すると、2つの異なるEMFモデルインスタンスを比較できます。UMLはEclipseではEMFモデルインスタンスとして表されるため、UMLモデルを比較するために使用できます。EMF Compareをインストールし、パッケージエクスプローラー(または使用するビュー)でUMLモデルをマークし、コンテキストメニューから[比較]->[相互に...]を選択するだけです。比較エディタを使用すると、違いを.emfdiffファイルとして保存できます。

于 2013-01-21T09:59:50.637 に答える