Ich versuche, ein Netzwerk mit EMF zu modellieren. Das Netzwerk sollte aus Knoten bestehen, die miteinander verbunden sind. Jeder Knoten sollte eine oder mehrere Verbindungen zu den anderen haben, wie ein Mesh-Netzwerk.modellieren selbst referenzierenden Knoten in EMF und bearbeiten sie mit ECP
Das Modell sollte von der EMC Client Platforms (ECP) Demo-Anwendung bearbeitet werden können. Wenn der Benutzer Knoten in ECPs Model-Explorer erstellt, kann er/sie die Verbindungen zu den anderen Knoten vorzugsweise in einer Liste festlegen.
Der erste Versuch war eine Selbstreferenz, aber das Problem ist, dass es keine bidirektionalen Selbstreferenzen gibt. Dies führt dazu, dass die Verbindung vom gegenüberliegenden Knoten nicht erkannt wird.
Meine nächste Idee war, eine Zwischenverbindungsklasse zu verwenden, die zu einem anderen Problem führt. Ich möchte diese Verbindung automatisch erstellen, ohne dass eine Verbindungsklasse im Model-Explorer erscheint. Was wäre im generierten EMF-Viewer möglich, aber nicht in der ECP-Demo-Anwendung, die ich verwende.
Dritte Idee: Die einzige Möglichkeit, die letzte Idee zu lösen, ist die Verwendung eines tableControl in der Ansicht des Knotens, um die Verbindungsklasse dort zu bearbeiten. Dann bleibt das Problem mit dem Verstecken der Verbindungsklasse im Model-Explorer bestehen und die Verbindungsklasse erscheint im Projektordner (oberste Ebene) und nicht in ihrer enthaltenen Klasse (in meinem Fall eine Netzwerkklasse).
Does hat jemand einige Ideen, wie man irgendwelche meiner Probleme löst?
bearbeiten: Zusätzliche Informationen
Die Verbindungen zwischen den Knoten sind per Definition Vollduplex. Und das Diagramm sollte anschließend als Eingabe für einen Algorithmus für den kürzesten Weg verwendet werden.
Danke für die Richtung. Aber jetzt ist es wie eine In- und Out-Verbindung. Ist es eine gute Idee, die Referenzen automatisch zu den Verwandten hinzuzufügen (im generierten Code), so dass ich den Graphen nur mit einer der Referenzen durchgehen kann. – zumbie
ou ich habe vergessen: und wenn ja, wo wäre der Ort, um diese doppelte hinzufügen (oder bessere Synchronisation der Referenzlisten) zu implementieren. BTW: Die ursprüngliche Frage ist beantwortet, also markiere ich deine. Danke noch einmal. – zumbie
Ich bin mir nicht sicher, ob ich Ihre Anforderung richtig verstanden habe. Mit der Lösung, die ich Ihnen gegeben habe, können Sie den Graphen zum Beispiel nur mit der Kollektion 'references' durchlaufen.Die beiden Sammlungen werden automatisch synchronisiert, wenn Sie ein Element in eine der beiden Sammlungen einfügen, wird das andere aktualisiert. –