Блоки сбора статистики об ожидании: ARRIVE и DEPART
Блоки ARRIVE (СТАТЬ В ОЧЕРЕДЬ) и DEPART (ПОКИНУТЬ ОЧЕРЕДЬ) обеспечивают возможность автоматического сбора статистических данных, описывающих вынужденное ожидание, которое может происходить время от времени в различных точках модели. Например, на определенную операцию механической обработки поступает деталь. Если в момент ее поступления станок занят, то деталь «вынуждена» ждать своей очереди. Очень часто бывает необходимо собрать статистику, описывающую особенности протекания процесса ожидания. Эта статистика должна дать ответ на следующие вопросы :
1. Сколько раз заявки (транзакты) приходили в очередь?
2. Сколько пришедших требований присоединилось к очереди и сколько сразу заняли прибор?
3. Каково максимальное значение длины очереди?
4. Каково среднее число ожидающих транзактов?
5. Каково среднее время ожидания тех требований, которым пришлось ждать?
В GPSS сбор такого рода информации осуществляется с помощью регистратора очереди, который используется в тех точках модели, где возможно ожидание. Регистраторов очередей может быть несколько. Их различают заданием имен. Условия для задания имен регистраторов такие же, как и для приборов. Разработчик вносит регистратор очереди в модель с помощью двух блоков: ARRIVE и DEPART. Операнд А в этих блоках используется для указания имени соответствующей очереди. В конце моделирования автоматически распечатываются следующие элементы статистики:
1) «счетчик входов»;
2) «максимальное содержимое»;
3) «среднее значение содержимого»;
4) «счетчик текущего содержимого»;
5) среднее время пребывания в очереди ;
6) «счетчик нулевых вхождений»
Иногда ( обычно крайне редко) возникает необходимость использовать в этих блоках второй операнд - операнд В. Он указывает на какую величину должен быть изменен счетчик содержимого очереди. По умолчанию для этого операнда подразумевается единичное значение.
Ниже приведен пример использования блоков ARRIVE и DEPART:
simulate
generate 18,6
arrive tim ! Транзакт становится в очередь с именем TIM
seize sal
advance 25,5
release sal
depart tim ! Tранзакт покидает очередь
terminate
generate 480
terminate 1
start 1
end
Регистратор очереди не обязательно использовать в модели везде, где могут возникать очереди. Если он не используется, то очередь транзактов, в случае необходимости, создается и обрабатывается в соответствии с общими правилами GPSS, но об этой очереди не собирается статистика.