Я пытаюсь смоделировать сеть с помощью EMF. Сеть должна состоять из узлов, соединенных друг с другом. Каждый узел должен иметь одно или несколько соединений с другими, как в ячеистой сети.
Модель должна быть доступна для редактирования демонстрационным приложением EMF Client Platforms (ECP). Когда пользователь создает узлы, в обозревателе модели ECP он/она может установить соединения с другими узлами, желательно в виде списка.
Первой попыткой была ссылка на себя, но проблема в том, что нет двунаправленных ссылок на себя. Это приводит к тому, что соединение с противоположным узлом не видно.
Моей следующей идеей было использовать промежуточный класс соединения, что приводит к другой проблеме. Я хотел бы создать это соединение автоматически, чтобы класс соединения не появлялся в обозревателе модели. Этого можно было бы добиться в сгенерированном средстве просмотра EMF, но не в демонстрационном приложении ECP, которое я использую.
Третья идея: единственный способ, которым я могу придумать решение последней идеи, - это использовать tableControl в представлении узла, чтобы отредактировать там класс соединения. Но тогда проблема с сокрытием класса соединения в обозревателе моделей остается и класс соединения появляется в папке проекта (самый высокий уровень), а не в содержащем их классе (в моем случае сетевой класс).
У кого-нибудь есть идеи, как решить любую из моих проблем?
изменить: дополнительная информация
Соединения между узлами по определению полнодуплексные. Затем этот граф следует использовать в качестве входных данных для алгоритма поиска кратчайшего пути.