Стандартные числовые атрибуты СЧА
При моделировании сложных систем возникает необходимость автоматически регистрировать и корректировать некоторую информацию. Иногда возникает необходимость учета различных состояний приборов, устройств, очередей и т.д. Все рассмотренные объекты требуют определенного числа ячеек памяти, в которых во время моделирования хранятся так называемые атрибуты объекта.
К большинству из этих атрибутов может обращаться только управляющая программа, однако к некоторым атрибутам может обращаться и пользователь. Такие атрибуты называются стандартными числовыми атрибутами (СЧА).
Каждый объект в GPSS имеет свой набор СЧА. Кроме СЧА объектов, существуют еще системные числовые атрибуты, к которым пользователь может обращаться в модели, но не может изменить их значения.
Стандартные числовые атрибуты могут использоваться в качестве операндов практически в любом блоке.
Атрибуты транзакта:
Pj – значение параметра j текущего транзакта, обрабатываемый в данный момент времени;
MPj – промежуточное время прохождения транзактом участка программы, записываемое в ‘j-ом’ параметре;
PR – приоритет транзакта, обрабатываемого управляющей программой в данный момент времени;
M1 – время прохождения транзактом участка модели;
MBj – флаг синхронизации: 1, если транзакт в блоке j принадлежит тому же семейству, что и текущий транзакт; 0 – в противном случае.
Атрибуты блоков:
Nj - общее число транзактов, которое должно войти в j-й блок;
Wj - счетчик задержанных в j-ом блоке транзактов.
Атрибуты многоканальных устройств:
Sj – содержание j - го многоканального устройства;
Rj- число свободных единиц j-го многоканального устройства.
Атрибуты одноканального устройства:
Fj – текущее состояние j-го устройства;
FRj – коэффициент использования j-го устройства одним транзактом;
FCj – общее число входов в устройство j;
FTj – среднее время использования устройства транзактами.
Атрибуты очереди:
Qj – текущая длина очереди;
QAj – среднее значение длины очереди;
QTj – среднее время пребывания в очереди.
Во всех случаях j – номер объекта, если j – имя, то перед ним ставится знак $.
Рассмотрим переход транзакта в блок, отличный от последующего
Блок TRANSFER (передать)предназначен для передачи входящего в него транзакта в любой другой блок модели.
Блок имеет следующий формат:
TRANSFER [A], [B], [C], [D],
здесь А – режим выбора блока, которому должен быть передан транзакт.
Существуют следующие режимы работы блока:
- Безусловный (пробел);
- Статистический (.);
- Both;
- ALL и другие.
Безусловный режим выбора. Если операнд А опущен, то входящий в блок TRANSFER транзакт переходит к блоку, указанному в поле B.
Например,
TRANSFER , B1
Режим BOTH. Транзакт пытается войти в блок, указанный в поле B. Если не может войти в этот блок, то пытается войти в блок, указанный в поле С. Если транзакт не может перейти и к этому блоку, то опять пытается войти в блок, указанный в В, и т.д., пока не сможет войти в один из блоков.
TRANSFER BOTH TR1,TR2
.
.
.
TR1 SEIZE 1
TR2 SEIZE 2
Статистический режим выбора. В этом режиме в поле А записывается точка (.), после неё следует трехзначное число. Это число показывает, какой процент, входящих в блок транзактов, следует направить к блоку, указанному в поле С. Остальные транзакты направляются к блоку, указанному в поле В. Если операнд В опущен, то транзакт направляется к следующему блоку.
Например,
TRANSFER .700, BLK1, BLK2
0.700 будут пытаться войти в BLK2, остальные 0.300 в BLK1.
0.700 – интерпретируется как вероятность.
Дата добавления: 2015-10-05; просмотров: 1461;