Лекция 3. Моделирование одноканальных и многоканальных устройств на языке GPSS World
Цель лекции: изучение блоков языка GPSS World, необходимых для моделирования одноканального устройства.
Содержание:
а) блоки, составляющие модель одноканального обсуживающего устройства;
б) статистический отчет о процессах в системе;
в) управление продолжительностью процесса моделирования;
г) блоки и операторы, составляющие модель многоканального устройства.
Рассмотрим блоки, составляющие модель одноканального обслуживающего устройства.
Блок GENERATE(генерировать) – это блок, через который транзакты поступают в модель. В модели может быть несколько таких блоков.
Формат записи:
GENERATE А, В,
здесь А – среднее время между последовательными приходами транзактов, В – половина поля допуска при равномерном распределении.
GENERATE 18,7
0 11 18 25
Рисунок 3.1 – Поле допуска
Для того чтобы задать более сложный вид распределения интервалов времени используются функции. С ними познакомимся позже.
Блок SEIZE(занять) – блок моделирует занятие прибора, переводит его в состояние «занято».
Формат записи:
SEIZE A,
здесь А – символическое или числовое имя прибора.
Например,
SEIZE 1
или SEIZE EQO.
Прибор из состояния «незанято» переходит в состояние «занято».
Свойства блока:
1. Если в текущий момент устройство используется, то транзакт не может войти в блок и должен ожидать своей очереди.
2. Если устройство свободно, то транзакт входит в блок.
Блок RELEASE(освободить) – освобождает обслуживающий прибор, переводит его в состояние «незанято».
Формат записи:
RELEASE А,
здесь А – символическое или числовое имя прибора.
Таким образом, блоки SEIZE и RELEASE моделируют использование устройства, прибора, канала. Статистическая информация о работе устройства при моделировании собирается автоматически. В конце моделирования выдается стандартная статистика о работе использованного устройства.
FACILITY Номер или имя устрой- ства | ENTRIES Количество входов | UTIL Коэффициент использования | AVE. TIME Среднее время преб. в устройстве | AVAIL Состояние готовности |
0,07 | 70,3 |
OWNER | PEND | INTER | RETRY | DELAY |
Блок ADVANCE(задержать) – моделирует задержку транзакта в течение некоторого модельного времени.
Формат записи:
ADVANCE А, [В] ,
где А – задержка на время обслуживания, В – половина допуска равномерно распределенного интервала времени задержки.
Транзакт всегда может войти в этот блок. Вычисляется время пребывания в нем транзакта. В блоке может одновременно находиться несколько транзактов.
Если время пребывания равно нулю, то вместо задержки транзакт сразу перемещается в следующий блок.
Блок QUEUЕ (стать в очередь) - организует очереди и осуществляет сбор статистики.
Формат записи:
QUEUE A, [B]
где А – имя или номер очереди;
В – число единиц, на которое необходимо увеличить длину очереди.
Счетчик числа транзактов увеличивается на единицу, запоминается текущее модельное время.
Блок DEPART(покинуть очередь) – моделирует выход транзакта из очереди.
Формат записи:
DEPART A, [B]
где А – имя или номер очереди;
В – число единиц, на которое необходимо уменьшить длину очереди.
Счетчик длины очереди уменьшается на единицу, или на величину В.
В конце моделирования автоматически распечатывается статистика, содержащая информацию о значении счетчика входов, среднем значении длины очереди, максимальном времени пребывания в очереди и т.д.
Блок TERMINATE(завершить) – моделирует выход транзакта из модели.
Формат записи:
TERMINATE А
где А – величина, которая должна вычитаться из счетчика завершений.
Транзакты удаляются из модели, попадая в блок TERMINATE.
Счетчик завершений задается с помощью оператора START.
Оператор START(начать)
START A, [B]
где А – число завершений, или число транзактов, необходимых в модели;
В – операнд вывода статистики, по умолчанию выводится стандартная статистика.
Моделирование идет до тех пор, пока содержимое А не будет равно 0. Счетчик уменьшает блок TERMINATE.
Дата добавления: 2015-10-05; просмотров: 2263;