Transfer ,В

Таблица 4.8

Операнд Значение Результат по умолчанию
А Не используется
В Позиция блока, в которую должен перейти транзакт Ошибка

Позиция блока это номер или метка блока. Так как операнд А не используется, то перед операндом В должна стоять запятая. В режиме безусловной передачи блок TRANSFER не может отказывать транзакту во входе. Кстати, если транзакт входит в блок, то он сразу же пытается войти в блок В.

Транслятор GPSS/РС не улавливает пропущенную запятую вместо операнда А (например, TRANSFER LАМD). На этапе трансляции метке LАМD присваивается числовое значение, и транзакт в этом случае направляется в блок с соответствующем номером.

Статистический режим. В этом режиме осуществляется передача транзакта в один из двух блоков случайным образом. Формат блока:

TRANSFER А,[В],С

Таблица 4.9

Операнд Значение Результат по умолчанию
А Вероятность передачи транзакта в блок С, задаваемая в долях тысячи Ошибка
В Позиция блока, в которую должен перейти транзакт (с вероятностью 1–А) Следующий по порядку блок
С Позиция блока, в которую должен перейти транзакт (с вероятностью А) Ошибка

При задании вероятности (операнд А) используется не более трех цифр, первый символ записи частоты «.» (десятичная точка), если используется действительное число, которое должно быть в пределах от 0 до 1,0 (например, 0,235). Если операнд – положительное целое число, то вероятность интерпретируется в долях тысячи.

Пример 4.6

TRANSFER.333,LРRIВ1,LРRIВ2

LPRIB1 SEIZE РR1

LPRIB2 QUEUE QPR2

С частотой 0,667 транзакт переходит в блок с меткой LPRIB1 и с частотой 0,333 – в блок с меткой LPRIB2.

Пример 4.7

ТRANSFER 4,,LPRIB2

SEIZE PR1

LPRIB2 QUEUE QPR2

С частотой 0,6 транзакт переходит в блок SЕIZE РR1 и с частотой 0,4 – в блок с меткой LPRIB2.

Режим ВОТН. Если в операнде А стоит зарезервированное сло­во ВОТН, то блок TRANSFER работает в режиме ВОТН.

В этом режиме входящий транзакт сначала пытается перейти к блоку, указанному в операнде В. Если это сделать не удается, транзакт пытается перейти в блок, указанный в операнде С. Если транзакт не сможет перейти ни к тому, ни к другому блоку, то он остается в блоке TRANSFER и при каждом просмотре списка текущих событий, будет повторять в том же порядке попытки перехода до тех пор, пока не сможет выйти из блока TRANSFER.

Пример 4.8

TRANSFER ВОТН,LL1,LL2

LL1 SEIZE РRI1


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



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