Блок передачи транзактов GOTO
Блок GOTO (ПЕРЕЙТИ) используется для организации перехода транзактов в блок, отличный от последующего. Блок GOTO можно использовать в одном из двух режимов :
1) в режиме безусловной передачи;
2) в режиме статистической передачи.
Безусловный GOTO подобен аналогичному оператору во многих языках программирования высокого уровня. В режиме безусловной передачи блок GOTO имеет вид
GOTO А
В приведенной записи операнд А указывает адрес блока, в который транзакт должен сделать попытку входа. Адрес этого блока может задаваться либо символически (меткой), либо в виде номера блока. Обычно используют символическое имя. Пример использования оператора GOTO в режиме безусловной передачи:
BACK ADVANCE 30,5
SEIZE JVEN
...
...
GOTO BACK
Режим статической передачи используется для передачи транзакта в указанный блок с заданной вероятностью. Этот режим использует два операнда и имеет следующий формат блока :
GOTO A,B
Операнд В - частота, с которой транзакт должен попадать в блок с адресом, указанным в операнде А. Операнд В задается числом в диапазоне 0.0001 до 0.9999, которое может иметь не более четырех цифр после запятой. Операнд А задает адрес блока, на который осуществляется переход.
Пример использования блока GOTO в режиме статистической передачи.
simulate
generate ,,,4
begin advance 30,5
seize oven
advance 8,2
release oven
goto begin,.25 ! Перейти к метке begin
generate 600 ! в 25% случаев
terminate 1
start 1
end