Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Modelirovanie_sistem_uch_posobie_izdatelstvo.doc
Скачиваний:
101
Добавлен:
15.04.2019
Размер:
5.93 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 4.4. Блок-схема системы ДСИМ с механизмом продвижения от события к событию

Блок-схема программной системы дискретно-событийного имитационного моделирования показана на рис. 4.4. Моделирование начинается в момент времени, равный 0. При этом основная программа вызывает программу инициализации, которая устанавливает часы модельного времени в 0, затем задает исходное состояние системы, устанавливает в исходное состояние статистические счетчики и инициализирует список событий. После возвратая управления основной программе она вызывает синхронизирующую программу, чтобы определить тип ближайшего события. Если следующим должно произойти событие типа i, часы имитационного времени переводятся на время возникновения события типа i, и управление возвращается основной программе. Основная программа активизирует программу обработки событий i, при этом происходят три типа действий: первое ‑ обновляется состояние системы в соответствии с произошедшим событием типа i; второе ‑ собирается информация о критериях оценки работы системы путем обновления статистических счетчиков; третье - генерируется время возникновения будущих событий, и информация о нем добавляется в список событий. Часто при определении времени будущих событий возникает необходимость генерации случайных наблюдений с некоторым распределением вероятностей, поскольку такое наблюдение является реализацией (выборкой, как говорят статистики) некоторой случайной величины. После полного завершения обработки в программе обработки событий i или в основной программе выполняется проверка с целью определить (относительно некоторого условия останова), следует ли прервать моделирование. И если моделирование должно быть завершено, из основной программы вызывается генератор отчета, для того чтобы считать оценки (со статических счетчиков) необходимых критериев работы и создать отчет. Если время прекращения моделирования еще не настало, управление снова передается основной программе, и цикл «основная программа ‑ синхронизирующая программа ‑ основная программа ‑ программа обработки событий ‑ проверка условия прекращения имитации» повторяется до тех пор, пока условие останова не будет выполнено.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]