Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2002-uch-posob-altaev-1

.pdf
Скачиваний:
7
Добавлен:
09.03.2016
Размер:
2.22 Mб
Скачать

Название блока

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

 

 

 

PRINT

 

 

Осуществляет вывод статистики 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,

Первоначальное значение ячеек