Num storage a

где 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, имеющим формат


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: