logo
Имитац

Изменение маршрута движения транзактов

Блок TRANSFER (передавать) предназначен для передачи входящего в него транзакта в другой блок модели. Он имеет формат:

TRANSFER [A],[B],[C],[D]

Операнды В и С являются метками блоков, куда направляется транзакт. Операнд А задаёт режим выбора блока, к которому направляется транзакт, существует 9 режимов:

В режиме безусловного перехода операнд А пуст и все транзакты отправляются к блоку, указанному в блоке В. Например, TRANSFER ,MET1

В статистическом режиме значение операнда А, записываемое после точки как трёхзначное десятичное число, показывает вероятность (долю) транзактов, которые должны быть отправлены в блок с меткой С, остальные в блок В или к следующему блоку, если операнд В опущен. Примеры:

TRANSFER .7,MET1,MET2;70 % идёт на метку MET2, 30 % – на MET1

TRANSFER .4,,MET2 ;40 % идёт на метку, 60 % – в блок ниже

Если блоки с меткой MET1, MET2 заняты, то транзакт остаётся в блоке TRANSFER и повторяет попытку перехода в каждый следующий момент модельного времени.

В режиме BOTH транзакт проверяет два пути: сначала возможность войти в блок с меткой В, затем в С, если оба заняты, то ждёт.

В режиме ALL транзакт проверяет возможность войти в любой блок, начиная с блока, указанного в операнде В, и заканчивая блоком, указанным С. Операнд В определяет шаг изменения номера проверяемого блока.

В функциональном режиме вычисляется значение функции, имя которой указано в операнде В, берётся целая часть, полученное число складывается с С (может быть 0) и в блок с этим номером направляется транзакт.