LINK list,fifo

В этом примере транзакт, вошедший в блок, помещается в конец списка с именем LIST.

Стандартные числовые атрибуты, связанные с блоком LINK:

СА<номер списка>, СА$<имя списка> – среднее число транзактов в СП;

СС<номер списка>, СС$<имя списка> – общее число транзактов в СП;

СН<номер списка>, СН$<имя списка> – текущее число транзактов в СП;

СМ<номер списка>, СМ$<имя списка> – максимальное число транзактов в СП;

СТ<номер списка>, СТ$<имя списка> – среднее время пребывания транзакта в СП.

Блок UNLINK (ВЫВЕСТИ ИЗ СПИСКА). Блок UNLINK удаляет транзакты из СП. После этого интерпретатор ОР85 возобновляет их движение по модели.

Формат блока:

UNLINK [Х] A,B,[C],[D],[E],[F]

Операторы отношения, которые записываются во вспомогательном операнде X, определяют, какое условие (отношение) будет рассматриваться. Если этот оператор не задан, предполагается отношение равенства Е.

Операторы отношения могут быть такими:

G (больше) отношение истинно, если значение параметра, заданного в операнде D, больше значения, заданного в операнде Е;

GЕ (больше или равно) отношение истинно, если значение параметра, заданного в операнде D, больше значения, заданного в операнде Е, или равно ему;

L (меньше) отношение истинно, если значение параметра, заданного в операнде D, меньше значения, заданного в операнде Е;

(меньше или равно) отношение истинно, если значение параметра, заданного в операнде D, меньше значения, заданного в операнде Е, или равно ему;

Е (равно) отношение истинно, если значение параметра, заданного в операнде D, равно значению, заданному в операнде Е;

NЕ (не равно) отношение истинно, если значение параметра, заданного в операнде D, не равно значению, заданному в операнде Е.

Операнд А задает СП, из которого удаляются один или несколько транзактов. Операнд А может быть именем, положительным целым, СЧА или СЧА*СЧА.

В операнде В указывается номер блока, к которому переходят удаляемые из списка транзакты. Операнд В может быть именем, положительным целым, СЧА, СЧА* СЧА.

Операнд С задает число транзактов, удаляемых из СП (счетчик удалений). Операнд С может быть именем, положительным целым, СЧА, СЧА*СЧА или «ALL» (означает удаление всех транзактов).

Операнд D может быть именем, целым, СЧА, СЧА*СЧА, «ВАСК». Действия, выполняемые при вхождении транзакта в блок UNLINK, зависят от того, на что ссылается операнд D. В операнде D могут быть указаны номер параметра, булева переменная или слово «ВАСК».

Номер параметра. Если операнд E пропущен, значение заданного параметра вошедшего транзакта сравнивается со значением этого же параметра транзактов СП. Если Е не пропущен, значение заданного параметра транзактов СП сравнивается со значением СЧА из операнда Е. В обоих случаях транзакты, удовлетворяющие заданному отношению, будут удалены из списка и направлены в блок, указанный в операнде В.

Булева переменная BVj вычисляется отдельно для каждого транзакта из СП. Если для транзакта значение BVj= 1, то он удаляется из СП (количество удаляемых транзактов не может превышать значения операнда С). Если BVj= 0 для всех транзактов списка, то вошедший транзакт пытается переместиться в блок, заданный в операнде F. Если операнд F пропущен, транзакт пытается перейти в сле­дующий по номеру блок.

Если в операнде D задана булева переменная, операнд Е должен быть пустым. Если булева переменная BVj имеет ссылку на какой-либо параметр, то эта ссылка относится к параметрам транзактов из списка, а не к входящему в блок UNLINK транзакту.

Слово «ВАСК». Из указанного списка, начиная с его конца, будет исключено столько транзактов, сколько задано операндом С. Операнд Е в этом случае должен быть пустым.

Операнд Е содержит СЧА, значение которого сравнивается ее значением параметра транзактов СП (номер параметра указан в операнде D). Операнд Е может быть именем, целым, СЧА, СЧА*СЧА.

Операнд F задает номер следующего блока для того транзакта, который входит в блок UNLINK в случаях, когда соответствующий СП пустой или не выполнено заданное отношение, или же указанная в операнде D булева переменная равна нулю для всех транзактов списка (т.е. в случае, когда из СП нельзя ничего удалить). Операнд F может быть именем, положительным целым, СЧА, СЧА*СЧА.


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



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