У меня тут куча проблем. Я стремлюсь создать структуру, позволяющую интегрировать различные модели симуляции трафика. Эта интеграция основана на совместном использовании соединений, затрат на соединение и транспортных средств между симуляциями.
Чтобы выполнить распределенное моделирование, я планирую иметь «координатора» (звездная топология). Все участвующие симуляции просто регистрируются в нем и общаются только с координатором. Координатор затем координирует выполнение различных задач между каждой имитацией.
Быстрый пример проблемы распределения, когда одна симуляция «отвечает» за определенные объекты, такие как дорога. А другой «отвечает» за другие дороги. Однако эти дороги взаимосвязаны (и, следовательно, нам необходима синхронизация между этими симуляциями, и мы должны иметь возможность обмениваться данными / вызывать методы удаленно).
Я посмотрел на RMI и думаю, что он может подойти для этой задачи. (Чтобы абстрагироваться от необходимости создания дисциплины сигнализации по проводам).
Это нормально? Проблема здесь заключается в том, что участники моделирования должны централизовать некоторые своего хранилища данных в «координаторе», чтобы обеспечить явную синхронизацию между моделированиями. Кроме того, для некоторых симуляций могут потребоваться компоненты или методы других симуляций. (Отсюда и идея использования RMI).
Мой основной подход заключается в том, чтобы «координатор» управлял гигантским реестром RMI. И каждое моделирование просто просматривает все в реестре, гарантируя, что правильные объекты используются на каждом этапе.
У кого-нибудь есть советы, как идти по этому пути?