2002-uch-posob-altaev-1
.pdfНазвание блока
UNLINK
USING
UNTRACE
A |
B |
ALL,_ |
Номер или |
|
метка блока |
PICK |
Номер или |
|
метка блока |
k, |
СЧА*N |
метка |
номер |
цепи |
блока |
пользователя |
|
k, СЧА*N |
k, СЧА*N |
номер транзакта |
номер |
|
параметра |
Нет операндов
Операнд
|
C |
|
D |
|
E |
F |
G |
Номер или метка |
блока |
Значение шага k |
|
|
|
|
|
Номер или метка |
блока |
|
|
|
|
|
|
k, СЧА*N число |
транзактов |
k, СЧА*N число |
параметров |
k, СЧА*N номер |
параметра |
k, СЧА*N значение |
Альтернативный выход |
тип [X, XH, P, PB, PF, |
PH] |
k, СЧА*N номер |
параметра или ячейки |
метка, т.е. |
альтернативный выход |
|
|
|
|
|
|
|
|
|
|
61
ПРИЛОЖЕНИЕ 5. Карты GPSS
|
|
|
|
|
Операнд |
|
|
|
|
|
|
Название карты |
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
B |
|
C |
|
D |
|
E |
F |
G |
|
|
|
|
|
|
|
|
|
|
|
|
END |
|
|
|
|
нет операндов |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
EQU |
|
k |
|
|
(-32766<k<32766) |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
DQTABLE |
|
k |
k |
|
k |
|
k |
|
|
|
|
|
|
номер |
верхняя |
величина |
|
число |
|
|
|
|
|
|
очереди |
граница |
1 |
интервала |
|
интервалов |
|
|
|
|
|
|
|
|
интервала |
|
|
|
|
|
|
|
|
DTABLE |
|
k, |
k |
|
k |
|
k |
|
|
|
|
|
|
СЧА*N |
верхняя |
величина |
|
число |
|
|
|
|
|
|
аргумент |
граница |
1 |
интервала |
|
интервалов |
|
|
|
|
|
|
|
|
интервала |
|
|
|
|
|
|
|
|
FUNCTION |
|
СЧА*N |
тип |
|
|
|
|
|
|
|
|
|
аргумент |
функции |
|
|
|
|
|
|
|
|
|
|
|
|
[C,D] |
|
|
|
|
|
|
|
|
FVARIABLE |
|
Логические |
операции: |
см. |
VARIABLE, |
арифметические |
операции |
: + сложить, - |
|||
|
вычесть, / разделить, (), * умножить, @ сложить по модулю |
|
|
|
|||||||
INITIAL |
|
Номер |
k,… |
|
|
|
|
|
|
|
|
|
ячейки |
|
|
|
|
|
|
|
|
|
|
|
[XH,XF,X] |
|
|
|
|
|
|
|
|
|
|
JOBTAPE |
|
Имя файла |
метка |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LINITIAL |
|
LS$N1 |
LS$N2 |
LS$N3 |
|
NS$N4 |
|
L |
L |
L |
|
|
|
|
|
|
|
|
|
|
S$N5 |
S$N6 |
S$N7 |
REALLOCATE |
|
Мнемониче |
|
|
k, … |
|
(повторное |
описание) |
|
||
|
ское |
|
|
|
|
|
|
|
|
|
|
|
обозначение |
|
|
|
|
|
|
|
|
|
|
RESET |
|
|
|
|
нет операндов |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
REWIND |
|
k |
|
|
|
|
|
|
|
|
|
|
количество |
|
|
|
|
|
|
|
|
|
|
|
файлов |
|
|
|
|
|
|
|
|
|
|
RMULT |
|
RN$1 |
RN$2 |
RN$3 |
|
RN$4 |
|
R |
R |
R |
|
|
|
|
|
|
|
|
|
|
N$5 |
N$6 |
N$7 |
TABLE |
|
СЧА*N [-], |
k |
|
величина |
|
число |
|
|
|
|
|
IA, |
RT |
верхняя |
|
интервала k |
|
интервалов |
|
|
|
|
|
аргумент |
граница |
1 |
|
|
k |
|
|
|
|
|
|
|
|
интервала |
|
|
|
|
|
|
|
|
VARIABLE |
|
Логические |
операции: = (равно), < (меньше), > (больше), <= (меньше или равно), |
||||||||
|
>= (больше или равно), & (и), \ (или); арифметические операции: см. FVARIABLE |
||||||||||
QTABLE |
|
Номер |
k |
|
размер |
|
число |
|
|
|
|
|
очереди [-] |
верхняя |
|
интервала k |
|
интервалов |
|
|
|
|
|
|
|
|
граница |
1 |
|
|
k |
|
|
|
|
|
|
|
интервала |
|
|
|
|
|
|
|
|
START |
|
k счетчик |
отмена |
k |
|
1- |
|
|
|
|
|
|
транзактов |
печати NP |
интервал |
|
выдача |
|
|
|
|
||
|
|
|
|
|
выдачи |
|
сообщений |
|
|
|
|
|
|
|
|
|
печати |
|
о тразактах |
|
|
|
|
STORAGE |
|
S*N |
k |
|
, |
|
|
|
|
|
|
|
|
|
значение |
разделитель |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SIMULATE |
|
|
|
|
нет операндов |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Операнд |
|
|
|
|
|
Название карты |
|
|
|
|
|
|
|
|
|
|
А |
B |
|
C |
|
D |
E |
F |
G |
|
|
|
|
|
|
|
|
|
|
WDQTABLE |
номер |
k |
|
размер |
|
число |
|
|
|
|
очереди k |
верхняя |
|
интервала k |
|
интервалов |
|
|
|
|
|
граница |
1 |
|
|
k |
|
|
|
|
|
интервала |
|
|
|
|
|
|
|
WDTABLE |
номер |
k |
|
размер |
|
число |
|
|
|
|
очереди k |
верхняя |
|
интервала k |
|
интервалов |
|
|
|
|
|
граница |
1 |
|
|
k |
|
|
|
|
|
интервала |
|
|
|
|
|
|
|
ПРИМЕЧАНИЕ: N может принимать значения: 1.*num, где num - номер параметра транзакта 2.СЧА$k, где k - константа
63
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1
Условные обозначения на блок-диаграммах GPSS
|
Имя блока |
|
Обозначение блока |
|||||||||||||
|
ADVANCE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A, B |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
ALTER |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
B, C, D, |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
E, F |
|
|
|
|
|
|
|||
|
ASSEMBLE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
ASSIGN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
A, B, C |
|
|
|
|
|
|
|||||
|
BUFFER |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
CHANGE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
A |
|
B |
|
||||||||||
|
|
|
|
|
|
|
||||||||||
|
DEPART |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
B |
|
A |
|||||||||||
|
|
|
|
|
|
|||||||||||
|
ENTER |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
A |
|||||
|
EXAMINE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Назначение блока
Задерживает транзакт на время A±B, если B – const, или A B, если B – функция
Изменяет атрибуты членов группы A
Собирает A транзактов одного ансамбля, пропускает в следующий блок первый транзакт, остальные уничтожает
Присваивает параметру A входящего транзакта значение B, модифицированное значением C
Прерывает обработку транзакта и возвращает симулятор к началу списка текущих событий
Заменяет в процессе счета блок с номером A на блок с номером B
Обеспечивает освобождение в очереди A B единиц
Обеспечивает вхождение транзакта в накопитель А с занятием В единиц памяти
Изменяет маршрут движения в зависимости от состояния членов группы
А
49
Имя блока |
Обозначение блока |
||
EXECUTE |
|
|
|
|
А |
|
|
|
|
|
|
FAVAIL |
|
|
|
|
A |
||
|
|
FUNAVAIL
A
(X)
CATE LS X A
LR
(X) I
GATE NI X A
U
NU
(X) |
|
|
SE |
X |
A |
GATE SF |
|
|
SNE |
|
|
SNE |
|
|
GATHER |
|
|
GENERATE
A, B |
C,D,E, |
|
F,G,H |
HELP |
|
|
|
B,C,D,E,F,G |
A |
|
|
|
INDEX |
A |
|
|
|
|
|
B |
|
Назначение блока Выполняет операции блока с номером А.
Объявляет группу устройств А доступным
Объявляет группу устройств А недоступным
Проверяет условие нахождения логического ключа А в состоянии Х
Проверяет условие нахождения устройства А в состоянии Х
Проверяет условие нахождения накопителя А в состоянии Х
Собирает А транзактов одного ансамбля и пропускает их одновременно в следующий блок Генерирует транзакты через А единиц
времени, модифицированных В с задержкой C, D транзактов, с приоритетом Е, форматом F
Объединяет модули ПМДС с модулями на языках Ассемблера, Паскаля и т.д.
Записывает сумму значений параметра А и величины В в параметр 1 типа А
50
Имя блока |
|
Обозначение блока |
Назначение блока |
||||
JOIN |
|
|
|
A |
Включает в группу A транзакт или |
||
|
|
|
|
числовое значение B |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
|
|
LEAVE |
|
|
|
|
|
Освобождает в памяти А В единиц памяти |
|
B |
|
|
A |
||||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
LINK |
|
|
|
|
|
|
A |
Удаляет транзакт из списка текущих |
|
|
|
|
|
|
|
|
событий и помещает в список |
||
|
|
|
|
C |
|
||||
|
|
|
|
|
|
|
|||
|
|
|
|
|
B |
пользователя |
|||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
(X) |
|
|
|
|
|
|
|
Устанавливает логический ключ А в |
LOGIC |
S |
|
|
(X)A |
|
|
состояние Х |
||
|
R |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
LOOP |
I |
|
|
|
|
|
|
Осуществляет повторение А раз группы |
|
|
|
|
|
|
|
|
|||
|
A |
|
|
|
|
|
|||
|
|
B |
|
|
|||||
|
|
|
|
|
блоков от адреса В до данного блока |
||||
MARK |
|
|
|
|
|
|
|
A |
Осуществляет отметку времени в |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
параметре А |
|
|
|
|
|
|
|
|
|
|
|
MATCH |
|
|
|
|
|
|
|
|
Синхронизирует движение транзактов по |
|
|
|
|
|
|
|
|
Aблок-диаграмме совместно с блоком MATCH с меткой А
PREEMPT |
|
|
Выполняет приоритетную обработку в |
|
B,C, |
|
|||
|
|
A |
||
|
D,E |
|
устройстве A |
|
|
|
A |
||
|
|
|
||
|
|
Осуществляет вывод статистики C в |
||
A-B |
||||
|
|
|||
|
C,D |
пределах от A до B |
||
|
|
51
Имя блока |
Обозначение блока |
|
PRIORITY |
A |
|
|
|
|
|
B |
|
QUEUE |
B |
A |
|
||
RELEASE |
|
A |
|
|
|
RETURN |
|
A |
|
|
|
SAVAIL |
A |
|
|
|
|
SAVEVALUE |
|
|
|
A,B,C |
|
SCAN |
А,B,C,D,E |
|
|
||
|
X |
|
SEIZE |
|
|
|
|
A |
SPLIT |
|
|
A
C,D,E,F,G
B
SUNAVAIL |
A |
Назначение блока Присваивает входящему транзакту
приоритет A
Обеспечивает занятие B мест в очереди A
Освобождает устройство с номером A
Снимает прерывание с устройства A
Объявляет группу памятей A доступными
Сохраняет заданное значение B в ячейке A
Обрабатывает атрибуты членов группы A
Занимает устройство с номером A
Генерирует А копий входящего транзакта и направляет их по адресу В; основной транзакт переходит в следующий блок
Объявляет группу памятей А недоступными
52
Имя блока |
Обозначение блока |
TABULATE
B
A
TERMINATE
A
TRACE
(×)
E
TEST X NE A×B C
GE
LE
G
L
TRANSFER |
|
A |
|
|
B |
D |
C |
||
|
Назначение блока Табулирует значения входящих транзактов
в таблице А
Уничтожает А транзактов
Прослеживает движение транзактов
Проверяет соотношение × между А и В и направляет входящий транзакт в следующий блок при выполнении или по адресу С при невыполнении соотношения
Изменяет направление движения транзактов согласно режиму А
53
|
|
|
|
ПРИЛОЖЕНИЕ 2 |
|
|
|
Основные сокращения и обозначения симулятора GPSS |
|
TRANS |
- |
Номер транзакта |
||
BDT |
- |
Время выхода сообщения из блока ( это либо значение абсолютного |
||
|
|
условного времени, при котором транзакт покинет блок ADVANCE, |
||
|
|
либо значение абсолютного условного времени в момент, когда |
||
|
|
сообщение вышло из последнего блока ADVANCE, либо нуль, если |
||
|
|
сообщение еще не входило ни в один блок ADVANCE ) |
||
BLOCK |
- |
Номер блока, в котором сообщение находится в данный момент |
||
|
|
времени; |
|
|
PR |
- Уровень приоритета сообщения (0..127 ); |
|||
SF |
- Режим выбора (определяет режим выбора следующего блока: |
|||
|
|
• пробел означает переход к следующему блоку; |
||
|
|
• ”А” означает режим ALL блока TRANSFER); |
||
|
|
• |
“B” означает, что транзакт находится в блоке TRANSFER, |
|
|
|
|
работающем в режиме BOTH; |
|
NBA |
- адрес следующего блока, в который должен войти транзакт; |
|||
SET |
- |
номер следующего транзакта того же семейства ( при создании |
||
|
|
транзакта в SET записывается номер самого транзакта. При входе в |
||
|
|
блок SPLIT в SET записывается номер следующего транзакта из |
||
|
|
образуемого семейства ); |
||
MARK |
- отметка времени (записывается в момент создания транзакта или при |
|||
|
|
входе транзакта в блок MARK с пустым полем А); |
||
P1, …, P8 |
- текущие значения параметров 1..8; |
|||
S1 |
- |
индикатор просмотра (при S1 = 1 симулятор не будет пытаться |
||
|
|
продвинуть транзакт до измерения блокирующих условий; при |
||
|
|
снятии блокирующего условия S1 устанавливается равным нулю для |
||
|
|
всех транзактов, задержаных данным условием); |
||
T1 |
- индикатор трассировки (устанавливается в единицу блоком TRACE |
|||
|
|
и в нуль блоком UNTRACE); |
||
D1 |
- индикатор задержки для блока TRANSFER SIM; |
|||
C1 |
- |
индикатор списка |
||
|
|
• |
С1 = 0 - |
транзакт в списке пользователя, |
|
|
• |
С1 = 1 - |
движение транзакта прервано, |
|
|
• |
С1 = 2 |
- транзакт в списке текущих событий, |
|
|
• |
С1 = 4 |
- транзакт в списке будущих событий; |
MC |
- |
индикатор синхронизации (если МС = 4, то транзакт находится в |
||
|
|
блоках MATCH, ASSEMBLER, или GATHER); |
||
PC |
- |
счетчик прерываний; |
||
PF |
- |
флаг прерываний. |
|
|
|
|
ПРИЛОЖЕНИЕ 3 |
|
|
|
Стандартные числовые атрибуты (СЧА) GPSS |
|||
|
|
|
|
|
|
Тип |
СЧА |
Определение |
Блоки |
Примечание |
|
1 |
2 |
3 |
4 |
5 |
|
Транзакт |
P$ |
Текущее значение |
ASSIGN, |
|
|
(TRANSA- |
|
параметра формата |
INDEX, |
|
|
CTIONS) |
|
полуслово или |
INCREMENT, |
|
|
|
|
слово |
MARK, |
|
|
|
|
|
LOCATE, |
|
|
|
|
|
USING, |
|
|
|
|
|
DECREMENT, |
|
|
|
|
|
LOOP SPLIT |
|
|
|
PR$1 |
Приоритет |
PRIORITY |
Первоначальное значение |
|
|
|
|
|
приоритета назначается в |
|
|
|
|
|
GENERATE, |
|
|
M$1 |
Транзитное время |
|
диапазон 0-127 |
|
|
|
MP$ном, где номер параметра |
|
||
|
MP$ |
Параметрическое |
MARK, |
|
|
|
|
транзактное время |
ASSIGN (при |
транзакта - |
|
|
|
|
условии, что в |
целое число 0-100 (по |
|
|
|
|
операнде В СЧА |
умолчанию) |
|
|
XN$1 |
Номер транзакта |
AC$1, C$1) |
|
|
|
|
|
|
||
Блоки |
N$ |
Cчетчик входов в |
|
Значения СЧА собираются |
|
(BLOCKS) |
|
блок |
|
автоматически |
|
|
W$ |
Счетчик текущего |
|
|
|
|
|
содержимого бло- |
|
|
|
|
|
ка |
|
|
|
Переменные |
V$ |
Арифметическая и |
|
|
|
(VARIABLES) |
|
логическая |
|
|
|
|
|
переменная |
|
|
|
Функции |
FN$ |
Функции |
|
|
|
(FUNCTI |
|
|
|
|
|
ONS) |
|
|
|
|
|
Таблицы |
TB$ |
Среднее значение |
|
Значения СЧА собирается |
|
(TABLES) |
|
аргумента таблицы |
TABULATE |
автоматически |
|
|
TC$ |
Счетчик входов в |
|
|
|
|
TD$ |
таблицу |
|
|
|
|
Среднее |
|
|
|
|
|
|
квадратическое |
|
|
|
|
|
отклонение |
|
|
|
|
|
аргумента |
|
|
|
Ячейки |
XH$ |
Текущее |
SAVEVALUE, |
Первоначальное значение ячеек |
|