Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 4 ,tp htitybz.docx
Скачиваний:
3
Добавлен:
26.08.2019
Размер:
34.54 Кб
Скачать

Блок assign

Используется для определения и изменения параметров транзактов

При входе транзакта в модель начальные значения всех его параметров устанавливаются в ноль. Для изменения параметров транзактов используется блок ASSIGN (НАЗНАЧИТЬ). При входе транзактов в блок ASSIGN параметры могут задаваться или изменяться. Формат блока:

ASSIGN А,В,С .

Операнд А определяет имя или номер модифицируемого или задаваемого параметра.

Блок ASSIGN может использоваться в режиме замещения значения параметра и в режиме увеличения или уменьшения значения параметра.

В режиме увеличения текущее значение параметра увеличивается на значение, указанное в операнде В.

В режиме уменьшения текущее значение параметра уменьшается на величину, указанную в операнде В.

В режимах увеличения и уменьшения после операнда А перед запятой, разделяющей операнды А и В, соответственно режиму ставятся знаки "+" или "-".

В режиме замещения после операнда А ничего не ставится

Операнд С (если используется) определяет во сколько раз необходимо увеличить операнд В

Изменение направления движения транзактов Блок transfer

Блок TRANSFER (передать) предназначен для передачи входящего в этот блок транзакта в любой другой блок модели и может быть использован в разных режимах. Существуют следующие режимы работы блока:

  1. безусловный режим - переход к указанному блоку;

  2. статистический режим — выбор случайным образом одного из двух блоков;

  3. режим ВОТН — последовательный выбор одного из двух блоков;

  4. режим АLL - последовательный выбор одного из нескольких бло­ков;

  5. режим РIСК — выбор случайным образом одного из нескольких блоков;

  6. режим FN — функциональный режим;

  7. режим Р — параметрический режим;

  8. режим SBR — подпрограммный режим;

  9. режим SIМ — одновременный режим.

В общем случае блок TRANSFER имеет следующий формат:

TRANSFER А,В,С,D

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

Статистический режим.

TRANSFER А,В,С .

В этом режиме операнд А используется и не является зарезервированным словом, предназначенным для обозначения режима (ВОТН, АLL, РIСК, FN, Р, SBRК). В этом режиме осуществляется передача транзакта в один из двух блоков случайным образом.

Операнд А определяет вероятность передачи транзакта в блок, позиция которого задана операндом С; операнд В определяет позицию блока, в который должен перейти транзакт с вероятностью 1-А, операнд С определяет позицию блока, в который должен перейти транзакт с вероятностью равной значению операнда А. Позиция блока - это номер или метка блока.

Если значение операнда А - положительное целое число, то вероятность интерпретируется в долях тысячи. Если при задании вероятности в операнде А первый символ записи значения операнда есть "." (десятичная точка), то значение вероятности интерпретируется как де­сятичная дробь, например, 0.235. Таким образом, если значение операнда А записать в виде "333", либо ".333", то результат в обоих слу­чаях будет одинаковым. Если значение операнда А окажется меньше или равно нулю, то все транзакты будут направляться в блок, указанный в операнде В. Если значение операнда А окажется больше или равно 1000, то все транзакты будут направляться в блок, указанный в операнде С.

Режим безусловной передачи.

TRANSFER ,В

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

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

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

TEST X A,B,C

Блок определяет номер следующего блока для вошедшего в него транзакта в зависимости от того, выполняется требуемое условие или нет. Блок управляет потоком транзактов, проверяя выполнение ал­гебраических отношений между значениями, заданными в полях <А> и <В>. Во вспомогательном поле операции <Х> записывается один из шес­ти условных операторов:

LE — меньше или равно (отношение истинное, если значение аргу­мента поля <А> меньше или равно значению аргумента поля <В>);

GЕ — больше или равно (отношение истинное, если значение аргу­мента поля <А> больше или равно значению аргумента поля <В>);

Е — равно (отношение истинное, если значения обоих аргументов полей <А> и <В> равны);

L — меньше (отношение истинное, если значение аргумента поля <А> меньше значения аргумента поля <В>);

G — больше (отношение истинное, если значение аргу­мента поля <А> больше или равно значению аргумента поля <В>);

NE — не равно (отношение истинное, если значения аргументов по­лей <А> и <В> не равны).

Если отношение аргументов истинно, транзакт переходит к следую­щему по номеру блоку. Если отношение ложно, транзакт переходит к блоку, имя которого задано полем <С>.