Дискретная динамическая модель гейзера

курсовая работа

3.2 Компоненты дискретно-событийной имитационной модели и их организация

Хотя моделирование применяется к самым разнообразным реальным системам, все дискретно-событийные имитационные модели включают ряд общих компонентов. Логическая организация этих компонентов позволяет обеспечивать программирование, отладку и последующее изменение программы имитационной модели. В частности, дискретно-событийная имитационная модель, которая использует механизм продвижения времени от события к событию и написана на универсальном языке, содержит следующие компоненты:

1)состояние системы - совокупность переменных состояния, необходимых для описания системы в определенный момент времени;

2)часы модельного времени - переменная, указывающая текущее значение модельного времени;

3)список событий - список, содержащий время возникновения каждого последующего типа событий;

4)статистические счетчики - переменные, предназначенные для хранения статистической информации о характеристике системы;

5)программа инициализации - подпрограмма, устанавливающая в исходное состояние имитационную модель в момент времени, равный 0;

6)синхронизирующая программа - подпрограмма, которая отыскивает следующее событие в списке событий и затем переводит часы модельного времени на время возникновения этого события;

7)программа обработки событий - подпрограмма, обновляющая состояние системы, когда происходит событие определенного типа (для каждого типа событий существует отдельная программа обработки событий);

8)библиотечные программы - набор подпрограмм, применяемых для генерации случайных наблюдений из распределений вероятностей, которые были определены как часть имитационной модели;

9)генератор отчетов - подпрограмма, которая считывает оценки (со статистических счетчиков) критериев оценки работы и выдает отчет по окончании моделирования;

10)основная программа - подпрограмма, которая вызывает синхронизирующую программу, для того чтобы определить следующее событие, а затем передает управление соответствующей событийной программе с целью обеспечения заданного обновления состояния системы. Основная программа может также контролировать необходимость прекращения моделирования и вызывать генератор отчетов по его окончании.

Логические отношения (поток управления) между данными инициализации, которая устанавливает часы модельного времени в 0, затем задает исходное состояние системы, устанавливает в исходное состояние статистические счетчики и инициализирует список событий. После возвращения управления основной программе она вызывает синхронизирующую программу, чтобы определить тип ближайшего события. Если следующим должно произойти событие типа г, часы имитационного времени переводятся на время возникновения события типа i, и управление возвращается основной программе.

Основная программа активизирует программу обработки событий i, при этом происходят три типа действий:

первое - обновляется состояние системы в соответствии с произошедшим событием типа г;

второе - собирается информация о критериях оценки работы системы путем обновления статистических счетчиков;

третье - генерируется время возникновения будущих событий, и информация о нем добавляется в список событий.

Часто при определении времени будущих событий возникает необходимость сгенерировать случайные наблюдения из распределения вероятностей. Такое наблюдение будем называть случайной величиной. После полного завершения обработки в программе обработки событий г или в основной программе выполняется проверка с целью определить (относительно некоторого условия останова), следует ли прервать моделирование.

И если моделирование должно быть завершено, из основной программы вызывается генератор отчета, для того чтобы считать оценки (со статических счетчиков) необходимых критериев работы и создать отчет. Если время прекращения моделирования еще не настало, управление снова передается основной программе, и цикл «основная программа-синхронизирующая программа - основная программа - программа обработки событий - проверка условия прекращения имитации» повторяется до тех пор, пока условие останова не будет выполнено.

Прежде чем завершить этот раздел, следует сказать несколько слов о состоянии системы. Как уже говорилось в разделе 1, система - это четко определенная совокупность объектов.

Объекты характеризуются с помощью значений, именуемых атрибутами. В дискретно-событийной имитационной модели эти атрибуты являются частью состояния системы.

Объекты с каким-либо общим свойством часто объединяются в списки (в файлы, либо наборы). Для каждого объекта существует запись в списке, состоящем из атрибутов объектов. Порядок размещения объектов в списке определяется некоторым правилом.

Рисунок 2 - Поток управления в механизме продвижения времени от события к событию

Организация и функционирование дискретно-событийной моделирующей программы, в которой применяется механизм продвижения времени от события к событию, довольно типичны, если эта программа написана на универсальном языке (например, FORTRAN или С). Такой подход к имитационному моделированию называется планированием событий, поскольку время будущих событий явно указано в модели и запланировано в модельном будущем.

Существует альтернативный подход к имитационному моделированию, именуемый процессным подходом. При этом моделирование рассматривается с точки зрения отдельных объектов, участвующих в нем, и разработанный код описывает «опыт» отдельного «типичного» объекта по мере его «перемещения» по системе.

Для разработки такого рода имитационных моделей требуется специальное программное обеспечение имитационного моделирования. Даже при использовании процессного подхода моделирование фактически выполняется вне нашего поля зрения - как часть представленной выше логики планирования событий.

Делись добром ;)