Инструментарий ExtendSim для разработки и исследования дискретно-событийных моделей

Разработка простейшей модели

Один из основных подходов к созданию имитационных моделей систем, который реализован в среде ExtendSim, — дискретно-событийное моделирование.

Система называется дискретно-событийной если изменение состояний в ней происходит под влиянием явно определенных (дискретных) событий. Находясь в некотором состоянии, система сохраняет его (не изменяет своих характеристик) до наступления очередного события, под воздействием которого переменные системы (и, следовательно, ее состояние) изменяются «скачком». Термин «дискретно-событийное моделирование» исторически закрепился за моделированием, прежде всего, систем массового обслуживания (СМО) [6].

Понятие СМО охватывает широкий круг систем. СМО — любая динамическая система по обслуживанию заявок в условиях ограничения на ресурсы системы [3, 7]. Примерами СМО являются: библиотека, вычислительный центр, система передачи данных, информационная система, автоматизированная система управления, аэропорт, производственный участок, АЗС и т.д. Любая информационно-вычислительная система может быть представлена, формализовано описана и исследована, как СМО.

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

Реализованный в ExtendSim инструментарий для создания дискретно- событийной модели рассмотрим на примере простой задачи.

Пример 2. Известно, что вычислительная система состоит из одного компьютера. Интервал времени между двумя последовательными поступлениями заданий к компьютеру подчиняется равномерному закону распределения в интервале: 1—11 мин. Перед компьютером допустима очередь заданий, длина которой не ограничена. Время выполнения задания также равномерно распределено в интервале: 1—19 мин. Промоделировать процесс обработки 100 заданий.

Для создания модели используются блоки двух библиотек: Item.Их (см. приложение) и Plotter.lix. Библиотека Item.Их является основной при моделировании дискретно-событийных систем, библиотека Plotter.lix — содержит разные типы графиков. Конечный вид модели приведен на рис. 13.

Конечный вид модели

Рис. 13. Конечный вид модели

Рассмотрим построение модели по шагам. В модели используются следующие блоки: Create, Exit, Queue, Executive, Activity, Plotter Discrete Event. Остановимся подробно на настройках каждого из блоков.

В блоке Executive устанавливается общее время моделирования, моделирование завершается, когда через модель пройдут 100 заявок. В диалоговом окне блока выберите вкладку Control, выберите опцию: Stop simulation: when count connector value —> = и введите значение 100.

В блоке Create устанавливается интервал между поступлением двух заявок и закон распределения интервала. На рис. 14 приведены настройки блока:

Настройка блока Create

Рис. 14. Настройка блока Create

В блоке Activity устанавливается закон распределения интервала между поступлением двух заявок и параметры закона. На рис. 15. Приведены настройки блока:

Настройка блока Activity

Рис. 15. Настройка блока Activity

В настройках блоков Exit, Queue, Plotter Discrete Event используются параметры по умолчанию и ничего изменять не нужно.

Обратите внимание, блоки Queue и Activity содержат информационные выходные коннекторы, с которых можно снять информацию о характеристиках текущих (проходящих через модель) заявок или текущем состоянии блока. Например. у блока Queue следующие информационные выходные коннекторы: L текушая длина очереди; W — время ожидания в очереди текущей заявки; F — состояние очереди: возвращает 1, если очередь полна, 0 — в противном случае; Р — приоритет текущей заявки.

У блока Activity следующие основные информационные выходные коннекторы: L — текущее количество обрабатываемых заявок; U — коэффициент загрузки; РТ — время обработки текущей заявки и другие. Подробную информацию о коннекторах блока можно прочитать, нажав кнопку help в диалоговом окне блока.

Выходные коннекторы блоков (см. рис. 13) соединяются с графиком Plotter Discrete Event. После запуска модели на выполнение (пункт меню Run —> Run Simulation) выводятся график изменения выбранных характеристик системы в процессе моделирования (красная линия — средняя длина очереди, синяя линия — время обработки одной заявки) и временной ряд значений характеристик в табличном виде (рис. 16).

График изменении выходных характерце гик

Рис. 16. График изменении выходных характерце гик

Выходные характеристики эффективности функционирования системы по результатам моделирования (например, коэффициент загрузки системы, среднее время обработки заявок, средняя длина очереди и т.п.) выводятся во вкладке Results в диалоговом окне блока. Например, для блока Activity выводятся следующие результаты (см. рис. 17): текущее, среднее и максимальное число заявок в

устройстве (Current, Average, Maximum Length); текущее, среднее и максимальное время обработки заявки (Current, Average, Maximum Wait); коэффициент использования устройства (Utilization); число заявок, зашедших в устройство (Arrivals); число заявок, вышедших из устройства (Departures).

Выходные характеристики блока Activity

Рис. 17. Выходные характеристики блока Activity

Для блока Queue выводятся следующие результаты (см. рис. 18): текущее, среднее и максимальное число заявок в очереди (Current, Average. Maximum Length); текущее, среднее и максимальное время нахождения заявки в очереди (Current, Average, Maximum Wait); коэффициент использования очереди (Utilization); число заявок, зашедших в очередь (Arrivals); число заявок, вышедших из очереди (Departures).

Выходные характеристики блока Queue

Рис. 18. Выходные характеристики блока Queue

Очевидно, что моделируемая система не справляется с потоком заявок, так как средний интервал поступления (6 единиц времени) заявок меньше среднего интервала обработки заявки (10 единиц времени). Компьютер загружен на 99%, очередь заявок линейно растет и на конец моделирования включает 71 заявку.

По результатам моделирования также можно сформировать итоговый текстовый отчет. Для этого, в модель необходимо добавить блок из библиотеки Value.Их. Блок статистики нс требует подключения и обеспечивает сбор итоговой статистики но блокам модели. Для формирования отчета выберите пункты меню Run —> Generate Report, Run —> Report type(Statistics)/Statistics, Run —> Add all to report. В результате моделирования будет выведен текстовый отчет.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >