Я пытаюсь смоделировать сеть с помощью EMF. Сеть должна состоять из узлов, соединенных друг с другом. Каждый узел должен иметь одно или несколько соединений с другими, например, с сеткой.моделирование самореференционных узлов в EMF и редактирование их с помощью ECP
Модель должна быть доступна для редактирования с помощью демонстрационного приложения EMP Client Platforms (ECP). Когда пользователь создает узлы, в модели-проводнике ECPs, он может устанавливать соединения с другими узлами, предпочтительно в списке.
Первая попытка была самореференцией, но проблема в том, что нет двунаправленных самореференций. Это приводит к тому, что соединение с противоположным узлом отсутствует.
Моя следующая идея состояла в том, чтобы использовать промежуточный класс соединений, что приводит к другой проблеме. Я хотел бы создать это соединение автоматически без класса подключения, появляющегося в модели-проводнике. Что можно было бы добиться в создаваемом средстве просмотра EMF, но не в демонстрационном приложении ECP, которое я использую.
Третья идея. Единственный способ, с помощью которого я могу решить последнюю идею, - использовать tableControl в представлении узла, чтобы отредактировать там класс подключения. Но тогда проблема с укрытием класса подключения в модели-проводнике остается, и класс подключения появляется в папке проекта (самый высокий уровень), а не в их классе -содержании (в моем случае - в сетевом классе).
У кого-то есть какие-то идеи, как решить любую из моих проблем?
редактировать: дополнительная информация
Соединения между узлами по определению полного дуплекса. И график впоследствии должен использоваться как вход для алгоритма кратчайшего пути.
Спасибо за руководство. Но теперь это похоже на вход и выход. Это хорошая идея, чтобы автоматически добавлять ссылки на родственников (в сгенерированном коде), чтобы я мог проходить через график только с помощью одной из ссылок. – zumbie
ou я забыл: и если да, где бы было место для реализации этого двойного добавления (или лучшей синхронизации списков ссылок). BTW: на исходный вопрос ответил, поэтому я отмечаю ваш. еще раз спасибо. – zumbie
Я не уверен, что получил ваше требование. С помощью решения, которое я вам дал, вы можете перейти через график, используя, например, только коллекцию 'reference'.Две коллекции автоматически синхронизируются, если вы поместите элемент в один из двух коллекций, другой будет обновлен. –