В этом примере показано, как можно использовать блок дискретной диаграммы событий для моделирования сервера очереди, который может выполнить очистку объектов при получении сообщения в порту «FlushCmd».

Диаграмма дискретных событий реализует один сервер с двумя состояниями «Idle» и «Busy». Сервер занят, когда объект приходит в порт IN. Объект находится в локальной очереди с именем «LocalQueue» до истечения времени обслуживания. По истечении этого времени объект пересылается.
При обслуживании объекта, если получена команда «FlushCmd», он переходит в состояние «Flushing», в котором он выполняет итерацию по своей входной очереди и пересылает каждый из своих ожидающих объектов из выходного порта FLUSH. Кроме того, он также пересылает объект, который в настоящее время обслуживается в LocalQueue.

Результаты показывают, что команда смыва была получена в моменты времени 10 и 20 во время моделирования. В эти моменты все объекты в очереди-сервере были удалены.


Диаграмма дискретных событий | Генератор объектов | Очередь