- •Имитационное моделирование Содержание
- •5 Некоторые приёмы программирования в gpss World 127
- •6 Задания для самостоятельной работы 138
- •Введение
- •1Установка и работа программы gpss World
- •1.1Установка студенческой версии программы gpss World
- •1.2Вызов готовой программной модели
- •1.3Пояснения к тексту примера программной модели
- •1.4Запуск программы на счёт
- •2Примеры разработки моделей организационных объектов
- •2.1Модель предприятия обслуживания
- •2.2Модель учебного процесса в вузе
- •2.2.1Общая характеристика рассматриваемого примера
- •2.2.2Разработка программной модели на языке gpss World
- •2.3Модель движения автобуса по маршруту
- •3Элементы языка gpss World
- •3.1Блоки и команды gpss World
- •Блоки, изменяющие порядок прохождения блоков транзактами
- •Блоки для обработки сообщений, принадлежащих одному семейству
- •Транзакта, прерванные во время пребывания в блоке assemble
- •Вход прерванных сообщений в блок assemble
- •Транзакта, прерванные во время пребывания в блоке match
- •3.2Системные числовые атрибуты (System Numerical Attributes)
- •Системные Числовые Атрибуты — спецификаторы устройств (sna Entity Specifiers)
- •Доступные системные числовые атрибуты
- •3.3Математические операции в gpss World
- •4Визуализация результатов имитационного моделирования
- •4.1Общие принципы визуализации результатов имитационного моделирования
- •4.2Журнал Journal
- •4.3Стандартный отчёт Standard Report
- •4.4Окна gpss World
- •4.4.1Обзор Окон gpss World
- •4.4.2Окно блоков Blocks Window
- •4.4.3Окно выражений Expression Window
- •4.4.4Окно обслуживающих устройств Facilities Window
- •4.4.5Окно логических ключей Logicswitches Window
- •4.4.6Окно матриц Matrix Window
- •4.4.7Окно графиков Plot Window
- •4.4.8Окно очередей Queues Window
- •4.4.9Окно сохраняемых величин Savevalues Window
- •4.4.10Окно Многоканальных устройств Storages Window
- •4.4.11Окно гистограмм Table Window
- •4.5Совместное использование нескольких окон
- •5Некоторые приёмы программирования в gpss World
- •5.1Общая характеристика программирования
- •5.2Использование имён и номеров блоков
- •6Задания для самостоятельной работы
- •Заключение
- •Библиографический список
4.4.4Окно обслуживающих устройств Facilities Window
Facilities Window — Окно обслуживающих устройств. Обслуживающие устройства — это устройства, в которых выполняется обслуживание (обработка) транзактов. Все транзакты обслуживаются в этих устройствах в течение некоторого времени (но время задаётся не в самих Обслуживающих устройствах, а в блоке advance). Можно получить информацию о текущих, максимальных, средних временах обслуживания транзактов. Окно обслуживающих устройств Facilities Window может быть представлено в двух видах — развёрнутом (Рисунок 4 .33) и компактном (Рисунок 4 .34).
Рисунок 4.33 — Окно обслуживающих устройств Facilities Window в развёрнутой форме
Рисунок 4.34 — Окно обслуживающих устройств Facilities Window в компактном виде
Переход от развёрнутого вида к компактному и наоборот осуществляется, как и в случае с Окном блоков Blocks Window, с помощью меню View → Entities Details.
Компактный вид (Рисунок 4 .34) не представляет существенного интереса и необходим только для того, чтобы просмотреть весь набор Обслуживающих устройств. В основном используется развёрнутый вид. В этом случае окно содержит таблицу с 10 столбцами и числом строк, равным числу Обслуживающих устройств.
Столбцы Окна обслуживающих устройств Facilities Window включают следующую информацию:
Facility — имя Обслуживающего устройства, данное ему в программе (в примере — имя BARBER);
Utilization — коэффициент использования, равный отношению суммарного времени обслуживания к общему времени моделирования (характеризует эффективность работы Обслуживающего устройства и может изменяться в диапазоне 0,000…1,000);
Delay Chain — число транзактов, находящихся в Цепи задержки;
Acquisitions — число входов транзактов в Обслуживающее устройство;
Available — доступность Обслуживающего устройства (+ доступно, – недоступно), доступность можно задавать принудительно, имитируя, например, поломку или перерыв в работе;
Ave. Time (average time) — среднее время обслуживания;
Owner XN — номер обслуживаемого в данном устройстве в данный момент транзакта;
Retry Chain — число транзактов в Цепи повторений;
Pending Chain — число транзактов в Цепи продолжения;
Interrupt Chain — число транзактов в Цепи прерываний.
Таким образом, Окно обслуживающих устройств Facilities Window в основном даёт информацию о нахождении транзактов в различных Цепях модели (см. соответствующий раздел этого учебного пособия), имеющих отношение к Обслуживающим устройствам.
4.4.5Окно логических ключей Logicswitches Window
Logicswitches Window — Окно логических ключей. Логические ключи — специфические переменные GPSS, задаваемые специальным оператором LOGIC. Они бывают необходимы, чтобы обеспечить задание и учёт условий для условных операций. Транзакты могут переключать логические ключи в одно из двух состояний: 0 или 1. В любом другом месте программы можно проанализировать состояние того или иного ключа и в зависимости от него выполнить то или иное действие. Например, может фиксироваться проход транзакта через какое-то Обслуживающее устройство в середине программы и на основании этого приниматься решение в другом месте программы.
Окно логических ключей может быть как в развёрнутом (Рисунок 4 .35), так и в компактном (Рисунок 4 .36) виде.
Рисунок 4.35 — Окно логических ключей Logicswitches Window в развёрнутом виде
В развёрнутом виде Окно логических ключей содержит таблицу с 3 колонками и количеством строк, равным количеству Логических ключей. В первой колонке указывается имя Логического ключа, заданное в программе. Во второй колонке — его значение (1 или 0). В третье колонке указывается количество транзактов в Цепи повторений Retry Chain, связанной с Логическими ключами.
Рисунок 4.36 — Окно Логических Ключей Logicswitches Window в компактном виде
Логических ключей может быть много и они имеют свои имена. Окно логических ключей позволяет просматривать их работу. Это необходимо большей частью при отладке программы, но может быть полезно и для получения информации о процессе. Окно логических ключей открывается всегда, но заполнено только в том случае, если такие ключи имеются в программе.
Использование Логических ключей — специфический приём программирования, поэтому во многих программах их может не быть, так как вместо них можно использовать обычные переменные. Достоинство логических ключей, что их переключение из состояния 1 в 0 и наоборот может происходить в том числе по команде, обеспечивающей инвертирование значения (т. е. не нужно программно проверять предыдущее значение и подставлять противоположное), а также то, что они занимают одну ячейку памяти.
