Добавил:
sora.alai.102@gmail.com Делаю работы на заказ. Какие именно? Пишите. Или регайтесь на бирже, где я работаю: https://vsesdal.com/promo?ref=748568 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод. указания к ЛР (часть 1).docx
Скачиваний:
30
Добавлен:
25.11.2018
Размер:
127.75 Кб
Скачать

Пример выполнения задания

Запуск системы GPSS World

  • Курсор на папку «Program Files» на жестком диске С. М2. Здесь и далее М2 и М1 обозначают следующие действия – соответственно два и один щелчок левой кнопкой мыши.

  • Курсор на папку «Minuteman Software». М2.

  • Курсор на папку «GPSS World Student Version». М2.

  • Курсор на файл GPSS.exe. M2.

  • Курсор в окно «Notices need to be updated» на «Don’t Download». М1.

  • Курсор в окно «Notices» на «Don’t Download». М1.

На экране появляется главное окно GPSS World.

Создание объекта «Модель»

  • Курсор в главное окно GPSS World на «File». М1.

  • Курсор в меню «File» на «New». М1.

  • Курсор в окно «Новый документ» на «ОК». М1.

На экране появляется окно «Untitled Model 1».

При наборе программы в окне «Untitled Model 1» при вводе блоков GPSS можно использовать меню блоков. Покажем это на примере ввода блока GENERATE.

  • Курсор в окне «Untitled Model 1» в новую строку

  • Курсор в главное окно GPSS World на «Edit». М1.

  • Курсор в меню «Edit» на «Insert GPSS Blocks...». М1.

  • Курсор в меню блоков на «GENERATE». М1.

Появляется диалоговое окно создания блока, в которое необходимо ввести информацию о блоке GENERATE.

  • В поле операнда А наберите 18.

  • Курсор в поле операнда В. Наберите 7.

  • Курсор в поле комментария «Comment». Наберите «поступление транзактов в модель». ОК.

Созданный блок GENERATE помещается в строку окна «Untitled Model 1», в которую был установлен курсор. Меню блоков при этом остается активным и его можно использовать для ввода следующих по порядку блоков GPSS.

После ввода всех операторов программы сохраним модель.

  • Курсор в главное окно GPSS World на «File». М1.

  • Курсор в меню «File» на «Save As…». М1.

  • В диалоговом окне «Сохранить как» наберите «Primer1». Выберите папку «Sample Models», входящую в папку «GPSS World Student Version». Нажмите «Сохранить»

Теперь модель располагается в окне «Primer1». Закройте это окно. Закройте главное окно GPSS World.

Создание объектов «Процесс моделирования» и «Отчет»

  • Курсор в главное окно GPSS World на «File». М1.

  • Курсор в меню «File» на «Open». М1.

  • Курсор на файл «Primer1» в меню «Открыть». Нажмите «Открыть».

В окне «Primer1» появится модель.

  • Курсор в главное окно GPSS World на «Command». М1.

  • Курсор в меню «Command» на «Create Simulation». М1.

Это приведет к трансляции модели в объект «Процесс моделирования». Если в модели имеются синтаксические ошибки, они будут обнаружены и показаны в окне «Journal». В противном случае в этом окне появятся две строки «Model Translation Begun» и «Ready», начинающиеся с даты и времени трансляции. Далее сразу же запустится процесс моделирования и появится окно «REPORT» со стандартным отчетом, которое автоматически открывается по окончании процесса моделирования.

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

  • Курсор в главное окно GPSS World на «File». М1.

  • Курсор в меню «File» на «Print». М1.

  • Убедитесь, что правильно выбрали принтер и что окно «REPORT» активно. Нажмите ОК.

Отчет о работе

Отчет должен содержать:

  1. задание и исходные данные для выполнения работы;

  2. текст программы;

  3. распечатку стандартного отчета (объекта «Отчет»);

  4. оценку времени прохождения через модель N транзактов;

  5. оценку количества транзактов, прошедших через модель за Т часов.

ЛАБОРАТОРНАЯ РАБОТА №2

МОДЕЛИРОВАНИЕ ОДНОКАНАЛЬНЫХ СИСТЕМ ОБСЛУЖИВАНИЯ

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

Краткие теоретические сведения

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

Независимо от того, люди это или предметы, подобные элементы будем называть устройствами, или одноканальными устройствами (ОКУ). Устройства характеризуются двумя основными свойствами:

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

  2. Когда на устройство поступает требование, в модели надо пропустить время, необходимое для его обслуживания. Такое время называется временем обслуживания.

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

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

  1. Ожидаем своей очереди, если это необходимо. Естественно, что ожидание требует некоторого интервала времени.

  2. Когда подходит наша очередь, занимаем устройство. Событие «занятие устройства» происходит в некоторой точке времени.

  3. Устройство остается в состоянии занятости, пока не закончится обслуживание. Для обслуживания требуется также некоторый интервал времени.

  4. Когда обслуживание заканчивается, мы освобождаем устройство. Событие «освобождение устройства» также происходит в некоторой точке времени.

Подобная последовательность шагов выполняется и при моделировании использования устройства в GPSS. В GPSS элементами, которые требуют обслуживания, являются транзакты. Для транзактов характерно перемещение по модели блок за блоком. Предположим, что в какой-то момент активности транзакт занимает устройство. Для этого транзакт входит (или пытается войти) в соответствующий блок, описывающий это устройство. Блок должен обладать следующими свойствами:

  • Если устройство уже используется, транзакт не может войти в блок, то есть ему не разрешается занять устройство в данный момент времени, и он должен ждать в очереди. Такой запрет на вход в блок приводит к тому, что транзакт на время исключается из рассмотрения.

  • Eсли устройство не используется, транзакт может войти в блок. Вход транзакта в блок вызывает выполнение подпрограммы обработки этого блока. Результатом выполнения подпрограммы является изменение статуса устройства из «незанято» в «занято».

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

Формат: SEIZE A

Назначение: занятие транзактом свободного устройства.

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

Операнд

Значение

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

A

Имя (символическое или числовое) занимаемого устройства

Ошибка

Вход транзакта в блок SEIZЕ моделирует занятие устройства, вход того же транзакта в блок RELЕАSЕ (освободить) моделирует освобождение устройства. Назначением этого блока является изменение состояния ранее занятого устройства с «занято» в «незанято».

Формат: RELEASE A

Назначение: удаление транзакта из устройства (освобождение устройства).

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

Операнд

Значение

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

A

Имя (символическое или числовое) освобождаемого устройства

Ошибка

Обычно транзакт занимает устройство для того, чтобы немедленно начать на нем обслуживание. Обслуживание длится некоторый период времени. В течение этого времени транзакт должен прекратить двигаться по модели. Только по истечении времени обслуживания он должен попасть в блок RЕLЕАSЕ для освобождения устройства.

В GPSS существует блок АDVANCЕ для реализации задержки продвижения транзакта в течение некоторого интервала времени. Обычно этот интервал задается случайной переменной. Опыт показывает, что время обслуживания обычно меняется от одного обслуживания к другому. Информация, необходимая для описания соответствующего времени обслуживания и его распределения, задается операндами А и В блока АDVANCЕ.

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

Блок ADVANCE (задержать)

Назначение: занятие транзакта на некоторое время (обслуживание транзакта в устройстве).

Формат: ADVANCE A, B.

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

Операнд

Значение

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

A

Среднее время обслуживания

Ноль

В

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

Ноль

Блок АDVANCE никогда не препятствует входу транзакта. Любое число транзактов может находиться в этом блоке одновременно. Когда транзакт попадает в такой блок, выполняется соответствующая подпрограмма и вычисляется время пребывания транзакта в нем. Вновь прибывший транзакт никак не влияет на уже находящийся в блоке транзакт.