Компьютеры - Моделирование

Операционный блок ASSIGN


Главная /

Средства моделирования /

GPSS /

Косвенная адресация и gp -модели с настраиваемой структурой /

Операционный блок ASSIGN

 

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

Первая модификация блока ASSIGN производит просто замещение значения параметра транзакта, при котором старое значение теряется. В этом случае в поле А блока ASSIGN ставится либо целая константа (прямая адресация), либо дается ссылка на СЧА, в том числе и на параметр транзакта (косвенная адресация), либо ставится символ "*" (или же символы "Р*"), после которых ставится либо константа, либо дается ссылка на СЧА (двухуровневая косвенная адресация здесь недопустима). Поле А определяет номер параметра транзакта, вошедешго вблок ASSIGN, а поле В - то значение, которое присваивается (замещает старое значение) указанного в поле А параметра. Например, операционные блоки:

ASSIGN 1,0

ASSIGN P1,0

ASSIGN 3,P2

ASSIGN *4,FN$NUMBE

работают в режиме замещения. Первый из приведенных блоков

устанавливает значение 1-го транзакта в 0, второй блок обнуляет

параметр, номер которого содержится в первом параметре транзакта.

Третий блок ASSIGN переписывает в третий параметр транзакта

значение из второго параметра (!); в последнем случае читается

значение 4-го параметра транзакта, это значение используется как

номер параметра, в котором содержится номер того параметра,

значение которого следует изменить. Присваиваемое значение

определяется функцией с символическим именем NUMBE.

С помощью блока ASSIGN можно выполнять простейшие арифметические вычисления, оперируя со значениями параметров транзактов, указанных в поле А, и значениями СЧА (или констант), указанных в поле В. Разрешается увеличивать или уменьшать значения параметров, поэтому говорят, что данная модификация блока ASSIGN работает в режиме приращения. Символ уменьшения "-" или символ увеличения "+" ставится перед запятой, отделяющей поле А от поля

В. Например, операционный блок:

ASSIGN 1-,FN1

уменьшает значение первого параметра транзакта, входящего в блок,

на значение первой функции (функции с порядковым номером 1). Блок:

ASSIGN V+,5

увеличивает на целую константу 5 значение параметра, номер

которого определяется численным значением арифметической

переменной с порядковым номером 2.

Следующие модификации блока ASSIGN содержат поле С. Если в этом поле указывается целая константа, то тогда она интерпретируется как номер некоторой функции. Система моделирования организует обращение к этой функции; если функция является вещественной, непрерывной, то тогда сохраняется дробная часть значения функции. Полученное значение умножается на содержимое поля В (если там производится ссылка на СЧА, то предварительно производится считывание значения СЧА), от полученного результата берется целая часть, и только после этого производится присвоение значения параметру, указанному в поле А с помощью любого вида адресации.

Если в поле С стоит имя любого СЧА, то тогда значение этого СЧА интерпретируется как номер функции, к которой необходимо обратиться перед тем, как умножить полученное значение функции на содержимое поля В, взять целую часть произведения, которую и использовать для установлени я значения параметра, указанного в поле А.

Рассмотрим примеры записи блока ASSIGN с тремя полями операндов:

ASSIGN 1,1,1

Данный блок присваивает первому параметру транзакта значения целой части значения функции с номером 1.

ASSIGN 1,1,FN1

Данный блок присваивает первому параметру транзакта значение целой части значения функции, номер которой определяется после обращения (и отбрасывания дробной части, если функция вещественная, непрерывная) к функции с порядковым номером 1.

Рассмотренные модификации блока изменения значений параметров транзактов позволяют создавать GPSS-модели с настраиваемой структурой. Рассмотрим методику построения подобных моделей на примере модели замкнутой стохастической цепи систем массового обслуживания.





Copyright © 2005—2007 «Deloadvert.com» info@deloadvert.com