Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornaya_1_otchetvvv.docx
Скачиваний:
11
Добавлен:
14.11.2019
Размер:
246.57 Кб
Скачать
    1. Внесение транзактов в модель, блок generate

Блок GENERATE (ГЕНЕРИРОВАТЬ) – это блок, через кото­рый транзакты входят в модель. Не существует ограничений на коли­чество разных блоков GENERATE в одной модели.

Интервал времени между последовательными появлениями транзактов из блока GENERATE называют интервалом поступле­ния. Когда транзакт входит в модель через блок GENERATE. интерпретатор планирует время поступления следующего транзакта путем розыгрыша случайного числа c соответствующим распределением интервалов поступления на время, равное текущему значению ЧАСОВ плюс разыгранное значение. При достижении этого значения модельного времени следующий транзакт вводится в модель через блок GENERATE и т.д.

Формат блока: GENERATE [A],[B],[C],[D],[E].

Таблица 1.1 – Значения операндов

Операнд

Значение

Значение по умолчанию

А

Средний интервал времени (число, СЧА)

0

В

Половина поля допуска равномерно распределенного интервала (число, CЧА)

0

С

Смещение интервалов

Смещение отсутствует

D

Ограничитель транзактов

Е

Уровень приоритета транзакта. Возможные значения 0 – 127

0

    1. Удаление транзактов из модели. Блок terminate

Транзакты удаляются из модели, попадая в блок TERMINATE (ЗАВЕРШИТЬ). В этот момент освобождается память, выделенная под транзакт. Эти блоки всегда позволяют выйти всем транзактам, которые пытаются это сделать. В модели может быть любое количе­ство блоков TERMINATE. Формат блока: TERMINATE [A].

Операнд А является величиной уменьшения специального счет­чика, который называется счетчиком завершения. Этот операнд за­дает величину, которая вычитается из счетчика каждый раз, когда транзакт входит в блок TERMINATE. По умолчанию A = 0. Вход гранзакта в блок TERMINATE c нулевым значением операнда А не вызывает уменьшения счетчика завершения.

Счетчик завершения – это ячейка в памяти ЭВМ, которая хранит целое положительное число. Начальное значение этого счетчика ус­танавливается в начале моделирования. Оно равняется значению опе­ранда А команды START (НАЧАТЬ). В процессе моделирования транзакты попадают в блок TERMINATE и, таким образом, умень­шают значение счетчика на величину операнда А. Моделирование за­канчивается, когда значение счетчика становится равным нулю или отрицательному числу.

  1. Выполнение задания

    1. Напишите программу модели, которая моделирует поступление транзактов с равномерным законом распределения (25±7)

Для моделирования поступления транзактов с равномерным законом распределения воспользуемся блоком GENERATE, присвоив операндам А и В значения 25 и 7 соответственно. Для выхода транзактов из модели (в данном случае, для завершения моделирования) используем блок TERMINATE, А = 1. Значение параметра А каждый раз будет вычитаться из счетчика завершения, устанавливаемого командой START. Процесс моделирования завершится, когда значение счетчика завершения будет меньше или равно 0. Далее моделируем поступление 5 транзактов.

Рисунок 2.1 – Создание программы модели

По завершению моделирования, GPSS выдает стандартный отчет REPORT, содержащий результаты моделирования.

Рисунок 2.2 – Стандартный отчет

В отчете содержится информация о самом файле отчета, о дате и времени его создания и другие данные:

– START TIME – время начала моделирования (модельное время);

– END TIME - время окончания моделирования (модельное время);

– BLOCKS - количество блоков, используемых в программе;

– FACILITIES – количество одноканальных устройств;

– STORAGES – количество многоканальных устройств;

– LOC – номер блока, назначенный системой;

– BLOCK TYPE – название блока;

– ENTRY COUNT – количество транзактов, прошедших через блок за время моделирования;

– СURRENT COUNT – количество транзактов, задержанных в блоке на момент конца моделирования;

– RETRY – количество транзактов, ожидающих специальных условий для прохождения через данный блок;

– FEC ( Future Events Chain ) – информация о следующем событии;

– XN – номер транзакта;

– PRI – приоритет транзакта;

– BDT – абсолютное модельное время выхода транзакта из списка будущих событий и перехода транзакта в список текущих событий;

– ASSEM - номер семейства транзактов;

– CURRENT - номер блока в котором находится транзакт (0 – если транзакт не вошел в модель);

– NEXT - номер блока в который перейдет транзакт далее;

– PARAMETER – номер или имя параметра транзакта;

– VALUE – значение параметра.

На рисунке, содержащем отчет по данной программе можно увидеть, что, например, используется всего 2 блока, в модель вошло 5 транзактов, номер следующего транзакта 6 и тд.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]