Блоки, изменяющие маршрут движения транзактов.

Для изменения маршрута движения транзактов используются блоки, представленные в таблице 1.10.

Таблица 1.13 Операторы, изменяющие маршрут движения транзактов

Блок Описание
GATE O A,B Изменение движения маршрута в зависимости от состояния некоторого объекта
TEST O A,B,C Сравнение значения и управление местом назначения активного транзакта, основываясь на результате сравнения
LOOP A,B Изменение параметра и управление местом назначения активного транзакта, основываясь на результат
TRANSFER A,B,C,D Обеспечение перехода активного транзакта к новому блоку

В поле операции блока GATE после идентификатора операции с пробелом в одну позицию записывается операнд О, который является логическим оператором, перечень которых приведен в пункте 1.3. В операнде А указывается идентификатор объекта аппаратной категории. Транзакт, вошедший в блок GATE, проверяет выполнение поставленного операндом О условия и если оно выполняется, то он не меняет маршрута своего движения, а переходит к следующему блоку. При невыполнении поставленного условия, транзакт переходит к метке, указанной в операнде В.

В поле операции блока TEST записывается операнд О, который является условным оператором, перечень которых приведен в пункте 1.3, но из них нельзя использовать операторы MIN и MAX. В операнде А указывается первый сравниваемый СЧА, в операнде В второй. Между ними действует операнд О и если поставленное в нём условие выполняется, то транзакт переходит к следующему блоку, а иначе к метке, которая указана в операнде С.

Блок LOOP предназначен для организации цикла. В операнде А блока записывается идентификатор параметра, в котором указывается сколько раз требуется повторить цикл. В операнде В указывается метка начала цикла. Отметим, что для организации цикла до его начала требуется задать количество повторений цикла в выбранном для этого параметре.

Блок TRANSFER имеет множество модификаций:

1. Безусловный переход транзакта. В этом режиме операнд А остается пустым, а после запятой в операнде В указывается метка, к которой передается транзакт.

2. Режим статистической передачи. С вероятностью, указанной в операнде А транзакт передается на метку, идентификатор которой указан в операнде С и с вероятностью единица минус указанная на метку, указанную в операнде В. Если метка, указанная в операнде В, следует сразу после блока TRANSFER, то ее можно не указывать.

3. Режим BOTH. В операнде А записывается символ модификации выбора по условию – BOTH. Транзакт, вошедший в блок TRANSFER пытается занять устройство, метка которого указана в операнде В, если это не удаётся то занять устройство, метка которого указана в операнде С, если и это ему не удаётся, то транзакт остаётся в блоке TRANSFER до тех пор, пока не появится возможность занять одно из указанных устройств. Если метка, указанная в операнде В, следует сразу после блока TRANSFER, то ее можно не указывать.

4. Режим FN. В режиме FN место назначения активного транзакта выбирается путем вычисления функции, заданной в операнде B.

Примеры использования описанных выше блоков приведены в таблице 1.14..


 

Таблица 1.14 Примеры использования операторов операционной категории