Главная
»
Информационные системы
»
Моделирование систем
»
Методика событийного моделирования.
Методика событийного моделирования.
В программах имитационного моделирования СМО преимущественно реализуется событийный метод организации вычислений. Сущность событийного метода заключается в отслеживании на модели последовательности событий в том же порядке, в каком они происходили бы в реальной системе. Вычисления выполняют только для тех моментов времени и тех частей (процедур) модели, к которым относятся совершаемые события. Другими словами, обращения на очередном такте моделируемого времени осуществляются только к моделям тех элементов (устройств, накопителей), на входах которых в этом такте произошли изменения. Поскольку изменения состояний в каждом такте обычно наблюдаются лишь у малой доли ОА, событийный метод может существенно ускорить моделирование по сравнению с пошаговым методом, в котором на каждом такте анализируются состояния всех элементов модели.
Рассмотрим возможную схему реализации событийного метода имитационного моделирования.
Моделирование начинается с просмотра операторов генерирования заявок, т.е. с обращения к моделям источников входных потоков. Для каждого независимого источника такое обращение позволяет рассчитать момент генерации первой заявки. Этот момент вместе с именем - ссылкой на заявку - заносится в список будущих событий (СБС), а сведения о генерируемой заявке - в список заявок (СЗ). Запись в СЗ включает в себя имя заявки, значения ее параметров (атрибутов), место, занимаемое в данный момент в имитационной модели. В СБС события упорядочиваются по увеличению моментов наступления.
Затем из СБС выбирают совокупность сведений о событиях, относящихся к наиболее раннему моменту времени. Эта совокупность переносится в список текущих событий (СТС), из которого извлекаются ссылки на события. Обращение по ссылке к СЗ позволяет установить место в имитационной модели заявки А, с которой связано моделируемое событие. Пусть этим местом является устройство X.
1) изменяет параметры состояния устройства X; например, если
заявка А освобождает X, а очередь к X не была пуста, то в соответствии с заданной дисциплиной обслуживания из очереди к X выбирается заявка В и поступает на обслуживание в X;
2) прогнозируется время наступления следующего события, связанного с заявкой В, путем обращения к модели устройства X, в которой рассчитывается продолжительность обслуживания заявки В; сведения об этом будущем событии заносятся в СБС и СЗ;
3) происходит имитация движения заявки А в сетевой имитационной модели (СИМ) по маршруту, определяемому заданной программой моделирования, до тех пор, пока заявка не придет на вход некоторого ОА; здесь либо заявка задерживается в очереди, либо путем обращения к модели этого ОА прогнозируется наступление некоторого будущего события, связанного с дальнейшей судьбой заявки А; сведения об этом будущем событии также заносятся в СБС и СЗ;
4) в файл статистики добавляются необходимые данные.
После отработки всех событий, относящихся к моменту времени tk, происходит увеличение модельного времени до значения, соответствующего ближайшему будущему событию, и рассмотренный процесс имитации повторяется.
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.