Если в операнде А стоит зарезервированное слово BOTH, то блок TRANSFER работает в режиме BOTH.
В этом режиме входящий транзакт сначала пытается перейти к блоку, указанному в операнде В. Если это сделать не удается, транзакт пытается перейти в блок, указанный в операнде С. Если транзакт не сможет перейти ни к тому, ни к другому блоку, то он остается в блоке TRANSFER и при каждом просмотре списка текущих событий, будет повторять в том же порядке попытки перехода до тех пор, пока не сможет выйти из блока TRANSFER.
Управление продолжительностью процесса моделирования.
В языке GPSS продолжительностью процесса моделирования можно управлять двумя способами:
1) завершать моделирование после того, как модель покинет заданное число транзактов определенного типа;
2) завершать моделирование по истечению заданного интервала времени.
Первый способ:
1. В команде START операнду А присваивается значение заданного числа транзактов.
2. Во всех блоках TERMINATE, через которые транзакты заданного типа покидают модель, операнду А присваивается значение «1» или другое, отличное от нуля (соответственно содержательному значению транзактов).
|
|
3. Во все других блоках TERMINATE используется значение операнда А по умолчанию (А = 0). Значение счетчика завершения не будет зависеть от этих блоков.
Первый способ позволяет закончить моделирование, когда через модель пройдет заданное количество транзактов, например 1000:
GENERATE 40,5
TERMINATE I START 1000
Второй способ:
Пусть разработчик выбрал за единицу модельного времени 1 мин и хочет смоделировать поведение системы на протяжении 8 часов. Это можно сделать таким образом:
1. Ввести в модель таймер-сегмент, состоящий из двух блоков: