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