2016-12-06 6 views
0

Я использую актеров Akka, чтобы имитировать ситуацию в реальном мире. Это зависит от времени, поэтому мне нужен способ представить идею модели , моделируемой. Например, где 1s real time = 1ms моделируется время. Обычно сообщения поступают в том порядке, в котором они отправляются (по крайней мере, с диспетчером по умолчанию и локально). Тем не менее, мне нужно, чтобы они пришли в порядок на основе , имитировавшего время.Управление отправкой сообщений в Akka

Сообщение, которое находится в далеком будущем, может быть отправлено до ближайшего будущего, так как оно включает в себя , смоделированный. Сообщения поставляются с полем sent, при этом моделирует время, когда сообщение было отправлено.

Например, можно ли блокировать сообщения, которые должны появиться в будущем? Сохраняя список ожидания в актере и отправляя сообщения, как подходит , имитируемое времени?

Любые другие методы, которые вы бы предложили?

ответ

1

Поиск в сети для «моделирования дискретных событий». Как правило, в реальном времени нет никакого отношения к моделируемому времени, например, «1s real time = 1ms simulated». Вместо этого моделированное время моделируется с приоритетной очередью, где приоритет считается временем моделирования. Каждое сообщение, помимо адреса назначения, имеет значение времени, обозначающее смоделированное время, когда оно должно прибыть. Все сообщения сначала направляются в очередь приоритетов, тогда симулятор изменяет показание имитированных часов до ближайшего текущего в очереди, без отношения к реальному времени. Все запланированные на это время сообщения направляются в пункт назначения, обрабатываются, вызывая перенаправление новых сообщений в очередь приоритетов, а затем часы перемещаются в следующий раз, на которые ссылаются сообщения.

Поскольку интерфейс отправки сообщения включает в себя значение моделируемого времени, он отличается от интерфейса Akka, поэтому вы не можете напрямую использовать Akka для своей задачи. Посмотрите на List of discrete event simulation software, чтобы выбрать соответствующую библиотеку.

 Смежные вопросы

  • Нет связанных вопросов^_^