Изменение последовательного перемещения транзакта по модели может быть
нарушено оператором блока TRANSFER, определяющим для данного транзакта номер
следующего блока.
Перечислим все блоки GPSS и остановимся более подробно на тех, которые
понадобятся для составления программ при выполнении курсовой работы.
Блоки GPSS используются для описания функций моделируемой системы S и
управляют движением транзактов. Практически все изменения состояния модели системы
S возникают в результате поступления транзактов в соответствующие блоки и
выполнения подпрограмм, связанных с этими блоками. После выполнения
соответствующей подпрограммы транзакт либо продолжает движение к следующему
блоку, либо задерживается на некоторое время в блоке.
У каждого блока имеется два СЧА: Wn — счетчик входов в блок или ожидающий
счетчик, который содержит в себе номер текущего транзакта, находящегося в блоке n; Nn
— общий счетчик транзактов, поступивших в блок с начального момента моделирования
или с момента обнуления (с помощью карт RESET либо CLEAR). Оба счетчика меняют
свое содержимое автоматически.
В зависимости от назначения блоки подразделяются на несколько групп (см.
Приложение 4):
1. Блоки, осуществляющие модификацию атрибутов транзактов: а) временная
задержка ADVANCE; б) генерирование и уничтожение транзактов GENERATE,
TERMINATE, SPLIT, ASSEMBLE; в) синхронизация движения нескольких транзактов
MATCH, GATHER; г) изменение параметров транзактов ASSIGH, INDEX, MARK; д)
изменение приоритета PRIORITY.
2. Блоки, изменяющие последовательность передвижения транзактов (блоки
передачи управления): TRANSFER, LOOP, TEST, GATE.
3. Блоки, связанные с группирующей категорией: JOIN, REMOVE, EXEMINE,
SCAN, ALTER.
4. Блоки, организующие использование объектов аппаратной категории: а)
устройства (технические средства) SEIZE, RELEASE, FAVAIL, PREEMPT, RETURN,
FUNAVAIL, б) памяти (запоминающие устройства) ENTER, LEAVE, SAVAIL,
SUNAVAIL, в) ключи (логические переключатели) LOGIC.
5. Блоки, сохраняющие необходимые значения для дальнейшего использования:
SAVEVALUE, MSAVEVALUE.
6. Блоки, обеспечивающие получение статистических результатов; а) очереди
QUEUE, DEPART; б) статистические таблицы TABULATE, TABLE.
7. Специальные блоки BUFFER, PRINT, EXECUTE, COUNT'X', CHANGE, TRACE,
UNTRACE, SELECT'X', HELP.
8. Блоки для организации цепей: LINK, UNLINK.
9. Вспомогательные блоки: WRITE, SAVE, LOAD, REPORT, UPDATE. |