Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПрактикумКМ / лаб2 .doc
Скачиваний:
70
Добавлен:
10.02.2015
Размер:
140.8 Кб
Скачать

Моделирование входящих и выходящих потоков

Истокам и стокам СМО в GPSS соответствуют блоки GENERATE (генерировать) и TERMINATE (завершить) соответственно. Через GENERATE транзакты поступают в модель, т. е. моделируется входящий поток. Таких блоков в одной модели может быть несколько.

Когда транзакт входит через блок GENERATE, интерпретатор планирует время прихода следующего разыгрыванием случайного числа в соответствии с распределением интервала поступления и прибавляет его к текущему значению таймера. При достижении этого времени следующий транзакт вводится в модель и т. д.

Общий вид блока: GENERATE А, В, С, D, Е. В таблице 3 приведены операнды и их значения для базисного GPSS. Графическое изображение блока представлено на рисунке 4.

Рисунок 4 - Графическое изображение блока GENERATE

В данном параграфе рассмотрим моделирование входящих потоков только с равномерным законом распределения интервалов прибытия заявок.

Таблица 3

Операнд

Значение

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

A

Средний интервал времени

Ноль

B

Половина поля допуска равномерно распределенного интервала

Ноль

C

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

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

D

Ограничитель

Бесконечность

E

Уровень приоритета

Ноль

Пример 2. Имитировать входящий поток с равномерным распределением интервалов между заявками на отрезке [18, 24].

Рабочая формула:

xi = 18+(24-18)ξi,

где xi - случайная, равномерно распределенная величина на интервале [18, 24];

ξi - псевдослучайные числа, ξi [0,1].

Для реализации на Фортране потребуется восемь операторов для

ξi и четыре для xi. В GPSS достаточно записать GENERATE 21, 3.

Положим, что в интервале [18, 24] были разыграны следующие значения: 19, 20, 20. Тогда первый транзакт войдет в модель в момент времени 19, второй - 39, третий - 59. Напомним, что таймер GPSS регистрирует только целые значения.

Пример 3. Транзакты должны поступать в модель точно через 2 единицы времени. Тогда запишем GENERATE 2.

Операнд С используется как для ускорения, так и для замедления прихода первого транзакта. Операнд D указывает число транзактов, которые могут войти в модель через этот блок, затем он перестает быть активным. Операнд Е устанавливает для транзакта уровень приоритета задаваемого числами от 0 до 127. Чем больше число, тем выше приоритет.

Пример 4. Имитировать входящий поток из 30 заявок 2-го уровня приоритета. Интервалы между приходами имеют равномерное распределение, т. е. 10±3 мин. Первая заявка должна прийти спустя 32 мин.

Такой входящий поток моделируется следующим образом:

GENERATE 10, 3, 32, 30, 2.

Д

1

ля удаления транзактов из модели, т. е. для имитации выходящих потоков, в GPSS используется блок TERMINATE. Он всегда разрешает транзакту выйти, а количество TERMINATE в модели не ограничено. Общий вид блока:TERMINATE А. Операнд А задает величину, вычитаемую из счетчика завершений каждый раз при входе транзакта в блок TERMINATE. По умолчанию операнд А равен нулю. Графическое изображение блока TERMINATE приведено на рисунке 5.

Рисунок 5 - Графическое изображение блока TERMINATE

В счетчик завершений интерпретатор заносит целое положительное число из поля операндов оператора START (начать). При моделировании транзакты попадают в блоки TERMINATE и содержимое счетчика уменьшается. При достижении им нулевого значения моделирование в GPSS завершается.

Пример 5. Выполнить моделирование поведения вычислительной системы для 50 заявок.

Для завершения моделирования после выхода 50-й заявки через TERMINATE в счетчик завершений необходимо занести 50:

˳

˳

˳

TERMINATE 1,

START 50

Пример 6. Разработчик принял за единицу модельного времени 1 мин. Завершить моделирование через 7 часов.

Для этого нужно включить в модель сегмент:

GENERATE 420

TERMINATE 1

а в счетчик завершений занести единицу START 1.

Во всех других блоках TERMINATE, если они есть в программе, операнд А не указывается. В момент времени 420 транзакт входит в блок GENERATE и сразу же перейдет в блок TERMINATE, из счетчика завершений вычитается единица и моделирование завершается. Таким образом имитируются «часы» в GPSS.

Соседние файлы в папке ПрактикумКМ