EMFを使用してネットワークをモデル化しようとしています。 ネットワークは、相互に接続されたノードで構成されている必要があります。 各ノードは、メッシュネットワークのように他のノードと1つまたは複数の接続を持つ必要があります。EMFの自己参照ノードをモデリングしてECPで編集する
モデルは、EMFクライアントプラットフォーム(ECP)デモアプリケーションで編集可能である必要があります。 ユーザがノードを作成すると、ECPモデルエクスプローラで、他のノードへの接続を設定することができます。
最初の試行は自己参照でしたが、問題は双方向の自己参照がないことです。これにより、反対側のノードからの接続が見えなくなります。
私の次のアイデアは中間接続クラスを使用することでした。これは別の問題につながります。モデル・エクスプローラに接続クラスを表示せずにこの接続を自動的に作成したいと思います。生成されたEMFビューアでは実現できますが、使用しているECPデモアプリケーションでは実現できません。
第3のアイデア:最後のアイデアを解決するために考えられる唯一の方法は、ノードのビューでtableControlを使用してそこの接続クラスを編集することです。しかし、モデルエクスプローラで接続クラスを隠す問題は残り、接続クラスはプロジェクトフォルダ(最高レベル)に表示され、含まれるクラス(私の場合はネットワーククラス)では表示されません。
Doeの誰かが私の問題を解決するにはいくつかのアイデアを持っていますか?
編集:追加情報は、ノード間
接続が定義全二重によるものです。 そして、グラフは最短経路アルゴリズムの入力として使用する必要があります。
方向性ありがとうございます。しかし今、それはイン・アンド・アウトのようなものです。生成されたコード内の親戚への参照を自動的に追加することをお勧めします。これにより、参照のうちの1つを使ってグラフをステップ実行することができます。 – zumbie
私は忘れていました:もしそうなら、この二重の追加(または参照リストのより良い同期)を実装する場所はどこでしょうか。ところで、元の質問に答えるので、私はあなたの印をつけます。再度、感謝します。 – zumbie
私はあなたの要求が正しいことを確信していません。私が与えた解決策では、例えば 'references'コレクションのみを使ってグラフを進めることができます。2つのコレクションが自動的に同期されます.2つのコレクションのいずれかに要素を配置すると、もう一方の要素が更新されます。 –