Сделай Сам Свою Работу на 5

Процедура обработки событий Event





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

Процедура инициализации Inicializ

Процедура инициализации Inicializ предназначена для задания пользовательских условий имитации. В ней происходит задание прогонных переменных. Обязательными являются оператор задания начального имитационного времени и оператор планирования события. Устанавливаются:

1. начальное время TNOW очередного прогона;

2. номер прогона NRNS;

3. освобождаются подпрограммы обработки событий;

4. обнуляются параметры очереди;

5. планируется событие класса 1 – «Прилёт самолёта».

Процедура Otchot_progon

Процедура Otchot_progon формирования отчета по прогону запоминает полученные данные, которые потом будут учитываться при составлении основного отчета. Полученные данные выводятся на экран и размещаются в файле «Отчёт по прогонам.txt». В этой процедуре вычисляется общее количество обслуженных за прогон самолётов.



Процедура Otchot_vse

Процедура Otchot_vse формирования вывода итогового отчета выполняет вывод на экран общее количество обслуженных самолётов за все прогоны.

Все данные формируются за все прогоны. Результаты записываются в текстовый файл «Отчёт по имитации.txt».

Процедура Izvlech

Процедура извлечения первой записи из календаря является одной из важнейших операций с календарем событий. Процедура системного типа, без параметров. Извлекаются и запоминаются для передачи переменные TSob, KEvent, ATRIB (время свершения, код события, атрибуты).

Вначале в ATRIB запоминается время свершения, код и атрибут события. После этого код события извлекаемой записи обнуляется (запись становится условно пустой). Измененный календарь запоминается, а для восстановления порядка записей вызывается процедура GRUP.

Процедура управления ходом имитации SLAM

Все вышеописанные шаги выполняет специальная процедура - процессор имитации, вызываемый из главного модуля программы. Блок-схема процессора SLAM приведена на рисунке 2.



Рисунок 2 – Блок схема алгоритма управления имитацией

 

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

Обработка события происходит после поиска соответствующей программы процедурой EVENT(Kevnt) по коду извлеченного события. Здесь также проверяется условие окончания прогона (TNow>=TTFin). Отчет по прогону и итоговый отчет оформляются соответственно процедурами OUTPUTN и OUTPUT. Вызов OUTPUT осуществляется, когда закончатся все прогоны.

Подпрограммы реализации

Подпрограмма Код №1

Формируются данные о том, прилетел ли самолёт в аэропорт. Если прилетел, но служба заправки не свободна, то самолёт становится в очередь и ожидает время, когда заправочная служба освободится и сможет его обслужить. Процедура подсчитывает время наступления следующего события (поиск операции). Если заправочная служба свободна, то самолёт обслуживается сразу.

Подпрограмма Код №2

Даная процедура имитирует заправку самолёта. Также процедура проверяет, пуста ли очередь, и, если это так, объявляет заправочную службу свободной, в противном случае обслуживание стоящих в очереди самолётов продолжается до окончания очереди.


Выбор программного обеспечения

Для реализации имитационной модели воспользуемся универсальным языком программирования. В качестве такого языка будем использовать Turbo Delphi.

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




Программа имитационного моделирования

Программная система состоит из файлов:

- Календарь - файл, содержащий текст основной программы с описанием основных процедур моделируемой системы;

- Otchot_progon.txt – файл c отчетами по прогонам;

- Otchot_vse.txt – файл c отчетом по всем прогонам (имитации).

После запуска программы начнётся моделирование заданной системы с данными парамерами. По окончании имитации работы модели в текстовых файлах появятся записи – результаты выходных данных за все прогоны (Otchot_vse.txt), а также результаты выходных данных по каждому прогону в частности (Otchot_progon.txt).


Результат моделирования

Осуществим имитацию модели со следующими исходными данными:

- время имитации – 900 минут (15 часов);

- число прогонов – 25.

В результате имитации получим данные, отображенные в Таблице 1.

 

Номер прогона Количество обслуженных клиентов

Таблица 1 – Результат имитации.

 

За 25 рабочих дней одного месяца операционную кассу аэропорта посетило675 человек. Среднее количество обслуженных за все прогоны 27.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.