Смекни!
smekni.com

Методические указания по выполнению лабораторных работ по дисциплине «Имитационное моделирование экономических процессов» для студентов специальности (стр. 6 из 8)

Содержимое списка можно наблюдать – Window\Simulation Snapshort\FEC Snapshort» («Кадр СБС»).

2) Список текущих событий

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

Содержимое списка можно наблюдать – Window\Simulation Snapshort\CEC Snapshort («Кадр СТС»).

3) Список пользователя

Содержимое списка можно наблюдать – Window\Simulation Snapshort\UserChains Snapshort»(«Кадр списков пользователя»)

4) Cписок прерываний

В список прерываний помещаются транзакты, обслуживание которых прервано блоком PREEMPT. После снятия прерывания в блоке RETURN транзакты вновь возвращаются в список будущих событий.

5) Список синхронизации

В список синхронизации помещаются транзакты, ожидающие объединения с другими транзактами в блоках GATHER и ASSEMBLE или находящиеся в блоках MATCH. После выполнения условий синхронизации транзакты возвращаются в список текущих событий. Кроме рассмотренных списков, обработка которых происходит без участия программиста, в GPSS/PC существуют списки пользователя, управление которыми осуществляется с помощью блоков LINK и UNLINK.

СВЯЗАННЫЕ СЧА:

CA$j - среднее число транзактов в списке j;

CCSj - общее число входов транзактов в список j;

СН$j - текущее число транзактов в списке j;

CM$j - максимальное число транзактов в списке j;

CT$j - среднее время пребывания транзакта в списке j.

1.4. Устройства

Устройства моделируют объекты, в которых может происходить обработка транзактов. Как правило, она связана с затратами времени. Особенность устройств состоит в том, что каждое из них в данный момент времени может быть занято лишь одним транзактом. Существует аналогия между устройствами GPSS и каналами систем массового обслуживания. В GPSS имеется возможность моделировать прерывания устройств. Существуют средства логической проверки состояния устройств.

МОДЕЛИРУЩИЕ БЛОКИ:

SEIZE А

Занимает устройство.

А - номер устройства.

RELEASE А

Освобождает устройство.

А - номер устройства (числовое или символьное имя освобождаемого устройства).

PREEMPT А

Переводит устройство в прерванное состояние.

А - номер прерываемого устройства.

RETURN А

Удаляет транзакт из прерванного устройства.

А - номер устройства (числовое или символьное имя освобождаемого устройства).

FAVAIL А

Обеспечивает перевод устройства с номером А в доступное состояние

FUNAVAIL А,В,C,D,E,F,G,H

Обеспечивает перевод устройства в недоступное для входа транзактов состояние.

Проверка состояния устройства может быть выполнена с помощью блока GATE.

СВЯЗАННЫЕ СЧА:

F$j - состояние устройства с номером j: О - если устройство свободно, и 1 - если

устройство занято;

FC$j – количество транзактов, занимавших устройство;

FI$j - если устройство в настоящий момент прервано блоком PREEMPT, то 1.

FR$j - коэффициент использования устройства j. Доля времени, когда устройство было занято. Принимает значение от 0 до 1000;

FT$j - среднее время использования устройства j одним транзактом;

FV$j – если устройство находится в доступном состоянии, то1.

1.5. Памяти

Памяти служат для моделирования объектов, обладающих определенной емкостью. Емкость памяти задают с помощью оператора STORAGE. Транзакт может занимать и освобождать определённую часть памяти.

МОДЕЛИРУЮЩИЕ БЛОКИ:

ENTER A,B

Помещает транзакт в память.

А - имя памяти символическое или числовое;

В - число занимаемых единиц памяти (необязательный операнд).

LEAVE А,В

Выводит транзакт из памяти.

А - номер памяти;

В - число освобождаемых единиц, памяти (необязательный операнд).

SAVAIL А

Обеспечивает доступное состояние памяти, имя или номер которого указаны в А.

SUNAVAIL А

Обеспечивает недоступное состояние памяти.

СВЯЗАННЫЕ СЧА:

R$j – емкость неиспользованной памяти j;

S$j - емкость используемой памяти j;

SA$j - среднее заполнение памяти j;

SC$j - число входов в память j;

SE$j - память j пуста;

SF$j - память j заполнена;

SM$j - максимальное заполнение памяти j;

ST$j – среднее время использования элемента в памяти j;

SV$j - память j в доступном состоянии;

SR$j - коэффициент использования памяти j . Доля общего использования, представленная средним объемом используемой памяти в памяти j;

1.6. Очереди

Транзакты в процессе движения могут задерживаться перед блоками, вход в которые в данных условиях невозможен. При поступлении транзактов на вход задерживающих блоков образуются очереди. Для сбора статистики об очередях в местах задержки ставят блоки QUEUE. Эти блоки сами по себе не создают очередь, а лишь являются средством ее регистрации. При входе транзакта в блок QUEUE текущая длина очереди получает приращение. Уход из очереди отображается блоком DEPART.

МОДЕЛИРУЮЩИЕ БЛОКИ:

QUEUE А,В

Помещает транзакт в конец очереди.

А - номер очереди (числовое или символьное имя очереди);

В - число добавляемых к очереди элементов (необязательный операнд).

DEPART A,B

Удаляет транзакт из очереди.

А - номер (имя) очереди;

В - число удаляемых из очереди элементов (необязательный операнд).

СВЯЗАННЫЕ СЧА:

Q$j - текущая длина очереди j;

QA$j - средняя длина очереди j;

QC$j - число входов в очередь j;

QM$j - максимальная длина очереди j;

QT$j - среднее время пребывания в очереди j, включая нулевые входы;

QX$j - среднее время пребывания в очереди j, без нулевых входов.

QZ$j - число входов в очередь с нулевым временем пребывания (транзакт прошел

через блок QUEUE, не задерживаясь в очереди);

1.7. Таблицы

Для сбора статистических данных о различных отчетах модели и их представления в стандартной табличной форме используют таблицы. Занесение информации в таблицу осуществляется блоком TABULATE в момент входа очередного транзакта в этот блок. Описание структуры таблицы и типа заносимых данных (СЧА) осуществляется картой TABLE.

МОДЕЛИРУЮЩИЕ БЛОКИ:

TABULATE A,B

Заносит значение в таблицу.

А – имя или номер таблицы;

В - вес, указывающий сколько раз значение должно быть занесено в таблицу (необязательный операнд).

NAME TABLE A,B,C,D

Определяет таблицу.

NAME – метка объекта;

А - аргумент таблицы (необязательный операнд): элемент данных, плотность распределения которого будет заноситься в таблицу;

В - верхняя граница нижнего интервала гистограммы;

С - ширина интервалов;

D - число интервалов (частотных классов);

NAME QTABLE A,B,C,D

Определяет таблицу статистики очереди (Q-таблицу), гистограмму плотности распределения времени ожидания в очереди

NAME – метка объекта;

А – имя очереди;

В - верхняя граница нижнего интервала гистограммы;

С - ширина интервалов;

D - число интервалов (частотных классов);

СВЯЗАННЫЕ СЧА:

TB$j - среднее значение фиксируемой в таблице j переменной;

TC$j - число входов в таблицу j;

TD$j - стандартное среднеквадратическое отклонение табулируемой переменной.

ПРИЛОЖЕНИЕ 4.

Системные числовые атрибуты

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

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

Следующие СЧА допустимы для использования в операндах и выражениях команд и операторов. Во всех случаях Еntпит необходимо заменять одним из спецификаторов объектов. Это может быть имя (перед именем должен стоять символ «$») или номер. В случае косвенной адресации перед именем или номером должен стоять символ «*».

Допустимые СЧА

A1 – Семейство активного транзакта. Целочисленное значение.

АС1 - Значение абсолютного модельного времени. (Модельное время с момента последней команды CLEAR). Вещественное значение.

ВVЕntпит - Значение булевой переменной Епtпит. Вещественное значение.

С1 - Значение относительного модельного времени. (Модельное время с момента последней команды RESET). Вещественное значение.

CAЕntпит - Среднее содержимое списка пользователя. Взвешенное по времени среднее количество транзактов, помещенных в список пользователя Еntпит. Вещественное значение.

CCЕntпит - Общее число входов транзактов в список пользователя. Число всех транзактов, находившихся в списке пользователя Епtпит. Целочисленное значение.