Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РУС ВЕРСИЯ _GPSS.doc
Скачиваний:
52
Добавлен:
01.07.2025
Размер:
182 Кб
Скачать
☆

2 Лабораторная работа № 2

Моделирование одноканальной системы массового обслуживания

2.1 Цель работы: получение навыков моделирования на GPSS одноканальных систем массового обслуживания, а именно построения моделей, проведения экспериментов и получения результатов моделирования.

2.2 Подготовка к работе

2.2.1 Изучить функции блоков, необходимых для построения одноканальной СМО.

2.2.2 Изучить пункты главного меню системы GPSS World для проведения процесса моделирования.

2.2.3 Изучить способы управления продолжительностью процесса моделирования /раздел 2/.

2.3 Задание к работе

Разработать модель одноканальной СМО с параметрами, соответствующими вашему варианту. Провести процесс моделирования, получить результаты.

2.4 Порядок выполнения работы

2.4.1 Получить задание и вариант работы у преподавателя.

2.4.2 Разработать модель СМО.

2.4.3 Осуществить ввод операторов модели.

2.4.4 Запустить процесс моделирования.

2.4.5 Получить результаты моделирования в виде отчета на экране.

2.4.6 Подготовить отчет о выполненной лабораторной работе, где представить модель, результаты моделирования и анализ полученных данных.

2.5 Материал для подготовки к лабораторной работе

2.5.1 Язык моделирования GPSS

GPSS – General Purpose Simulation System, общецелевая система моделирования.

Необходимо отметить, что GPSS – это язык моделирования СМО.

Сообщения поступают в случайные моменты времени, встают в очередь и ожидают момента начала обслуживания.

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

Следующими важными элементами языка моделирования являются операторы. Операторы GPSS делятся на три типа:

- блоки;

- операторы описания данных;

- команды GPSS.

Разработчику модели предоставляется в распоряжение более чем 40 блоков. Для построения модели нужно выбрать из них необходимые и выстроить в определенной последовательности.

Формат GPSS блоков:

[<метка>] <Операция> <Операнды> <; Комментарии>

Метка (имя блока). Последовательность символов, начинающаяся с буквы. В некоторых блоках поле является обязательным (именами или метками не могут быть названия блоков, команд).

Операция. Названиями операций блоков являются глаголы, которые описывают основные функциональные назначения блоков.

Операнды. Блоки могут иметь операнды. Операнды блоков задают информацию, необходимую для выполнения действия. В блоках не может быть использовано более 7 операндов. В общем случае операнды обозначаются символами А, В, С, D, E, F, G. Одни операнды являются обязательными, другие нет. Если операнд опущен, то вместо него ставится запятая. Между операндами не должно быть более одного пробела.

A, B, , D, , G 3, 5, , 1

Комментарии. Необязательное поле. Комментарии отделяются знаком «;».

Познакомимся с несколькими основными блоками GPSS.

1 Блок GENERATE (генерировать) – это блок, через который транзакты входят в модель. В одной модели может быть несколько таких блоков.

Формат блока:

GENERATE [А], [В], [C], [D], [E]

Значение операндов:

A – среднее значение интервала поступления транзактов;

B – величина разброса возможных значений относительно среднего значения. (Если операнд B не задается, то интервал времени поступления – детерминированная величина);

C – момент времени, когда в блоке GENERATE должен появиться первый транзакт;

D – ограничитель общего числа транзактов, которое может войти в модель через данный блок GENERATE на протяжении времени моделирования. (Если это число достигнуто, то этот блок перестает быть активным);

E – уровень или класс приоритета каждого из транзактов, которые вводятся в модель через данный блок GENERATE. (Всего существует 128 разных уровней, которые задаются с помощью чисел от 0 до 127).

Пример

GENERATE 18,7

A = 18, B = 7. Интервал времени поступления является случайным числом со средним значением 18 с полем допуска 7, то есть он может приобретать значения из интервала (11,25).

2 Блок SEIZE (занять) – блок моделирует занятие прибора, устройства, канала.

Формат блока:

SEIZE A,

здесь А – символическое или числовое имя прибора.

Например, SEIZE 1 или SEIZE EQO.

Прибор из состояния «незанято» переходит в состояние «занято».

Свойства блока:

А) Если в текущий момент устройство используется, то транзакт не может войти в блок.

Б) Если устройство свободно, то транзакт входит в блок.

3 Блок RELEASE (освободить) освобождает обслуживающий прибор, переводит его в состояние «незанято».

Формат блока:

RELEASE А,

А – имя освобождаемого прибора.

4 Блок ADVANCE (задержать) задерживает продвижение транзакта в течение некоторого времени. Обычно этот интервал задается случайной величиной.

Формат блока:

ADVANCE А, [В],

где A – среднее время задержки на обслуживание;

B – половина поля допуска равномерно распределенного времени задержки.

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

Пример

ADVANCE 30,5

Время задержки транзакта в этом блоке случайная величина, равномерно распределенная в промежутке (25, 35).

5 Блок QUEUE (стать в очередь) – блок обеспечивает возможность автоматического сбора статистических данных, описывающих вынужденное ожидание обслуживания.

Формат блока:

QUEUE A, [B],

где А – имя или номер очереди;

В – число единиц, на которое увеличивается длина очереди (по умолчанию В=1).

При входе транзакта в блок QUEUE счетчик числа транзактов увеличивается на В, запоминается текущее модельное время.

  1. Блок DEPART (покинуть очередь) транзакт перестает быть элементом очереди.

Формат блока:

DEPART A, [B],

где А – имя или номер очереди;

В – число единиц, на которое уменьшается длина очереди.

Если в модели используются объекты типа «очередь», то есть используются блоки QUEUE и DEPART, то в конце моделирования система автоматически выдает статистические данные: значение счетчика входов, максимальное значение длины очереди, среднее значение длины очереди, текущее значение длины очереди, среднее время ожидания в очереди и т.д.

  1. Блок TERMINATE (завершить) – удаляются транзакты из модели.

Формат блока:

TERMINATE [А]

Здесь А – величина, которая должна вычитаться из специального счетчика, который называется счетчиком завершения ( по умолчанию А=0). Таким образом, транзакты удаляются из модели, попадая в блок TERMINATE.

Счетчик завершений задается с помощью оператора START.

Оператор START (начать) – моделирование начинается с данного оператора.

Формат оператора:

START A, [B]

В операнде А задается начальное значение счетчика завершения. Моделирование идет до тех пор, пока содержимое А не будет равно 0. Содержимое счетчика уменьшает блок TERMINATE. В – операнд вывода статистики, по умолчанию выводится стандартная статистика.

Оператор END

Оператор предназначен для завершения работы с системой.