где num - имя или номер памяти;
А - ёмкость памяти (целое без знака), по умолчанию А = 32767.
Работа памяти с именем, указанным в поле А, отображается блоками
ENTER A, B; войти в память
LEAVE A, B; выйти из памяти
Входящий в блок ENTER транзакт занимает в памяти часть емкости, указанную в поле B. При переходе в блок LEAVE память освобождается на величину, определяемую полем B и не обязательно равную при входе в блок ENTER. По умолчанию принимается В = 1.
С объектом STORAGE связаны следующие СЧА:
S$j – ёмкость памяти j;
R$j – свободная емкость памяти j;
SR$j – коэффициент использования памяти j;
SM$j – максимальное заполнение памяти j;
SA$j – среднее заполнение памяти j;
SC$j – число входов в память j;
ST$j – среднее время пребывания транзакта в памяти j.
Память имеет также стандартные логические атрибуты, которые используются для проверки состояния памяти:
SE$j – память j пуста; NE$j – память j не пуста;
SF$j – память j заполнена; SNF$j – память j не заполнена.
Проверка состояния памяти осуществляется блоком GATE аналогично проверке состояния устройства: если СЛА = "истина", то блок GATE беспрепятственно пропускает транзакт в следующий блок, если СЛА = "ложь", то при отсутствии поля С в блоке GATE транзакт задерживается в этом блоке, а при наличии поля С в блоке GATE транзакт направляется на ветку программы, указанную меткой в поле С.
|
|
2.4. ОЧЕРЕДИ
Транзакты в процессе перемещения по модели могут задерживаться перед екоторыми блоками, если условия входа не выполняются. Примерами таких блоков из рассмотренных выше являются блоки:
· SEIZE (если ранее вошедший в этот блок транзакт не вошел в блок RELEAZE),
· ENTER (если требуемая текущим транзактом емкость памяти больше емкости свободного участка данной памяти),
· GATE и TEST (если в этих блоках не указан альтернативный выход и проверяемое условие не выполняется).
При поступление транзактов на вход задерживающих блоков образуются очереди. Для сбора статистики об очереди в местах задержки транзактов ставят блок входа в очередь QUEUE A, B,где А - имя или номер очереди, В - число элементов, добавляемых в очередь транзактом, по умолчанию В=1. Этот блок сам по себе не создает очереди, а лишь являются средством ее регистрации. При входе в блок QUEUE текущая длина очереди получает приращение на величину, задаваемую полем В. Блок выхода из очереди имеет вид DEPART A, B, где А - имя или номер очереди, B - число элементов, удаляемых из очереди транзактом.
Таким образом, работа очереди в GPSS-модели отображается двумя блоками:
QUEUE A, B
DEPART A, B
Очереди имеют следующие СЧА:
Q$j – текущая длина очереди j;
QM$j – максимальная длина очереди j;
QA$j – средняя длина очереди j;
|
|
QC$j – число входов в очередь j;
QZ$j – число входов в очередь с нулевым временем пребывания
(транзакт прошел через блок QUEUE, не задерживаясь в очереди);
QT$j – среднее время пребывания в очереди j, включая нулевые входы;
QXSj – среднее время пребывания в очереди j без нулевых входов.
2.5. ЛОГИЧЕСКИЕ КЛЮЧИ
Имитация процессов коммутации в GPSS выполняется с использованием логических ключей, имеющих два состояния "Включено" - "Выключено". Работа логических ключей отображается блоком LOGIC_r A, где А - имя логического ключа, r - внутренний оператор, принимающий значения I - переключить, R - выключить, S - включить. При входе транзакта в блок LOGIC происходит срабатывание соответствующего ключа. Ключи не имеют СЧА. Их состояния задаются только стандартными логическими атрибутами:
LS$j - ключ j включен; LR$j - ключ j выключен.
Проверка состояния ключа осуществляется блоком GATE. Начальное состояние ключа по умолчанию принимается “ выключено” (RESET). Для принудительного начального включения группы ключей (для установки в состояние SET) применяется управляющий оператор
LINITIAL KL1,KL2,…,KL6; KL1,KL2,…,KL6 – имена ключей.
Одним оператором допускается устанавливать не более шести ключей.
Примеры.
LINITIAL 1,2, KL1, KL3; устанавливаются ключи 1 и 2, ключи KL1, KL3
LOGIC_S 5; включается логический ключ 5 при входе транзакта в данный блок
LOGIC_R KL3; выключается логический ключ KL3 при входе транзакта в данный блок
LOGIC _I P$4; переключается в противоположное состояние логический ключ, номер которого хранится в параметре 4 транзакта, вошедшего в данный блок.
2.6. ЯЧЕЙКИ
Ячейки используются для записи и хранения в процессе моделирования текущих значений СЧА. Занесение информации в ячейку производится блоком SAVEVALUE, имеющим формат