Система GPSS World

Взаимодействие пользователя с системой GPSS World осуществляется с помощью оконного интерфейса в режиме диалога. Для этого предусмотрены в системе диалоговые окна.

Рис. 1. Главное окно системы GPSS World

Основные операции:

Создание новой модели 1. Меню File/New… 2. Нажать кнопку В появившемся окне выбрать Model и нажать кнопку OK
Ввод модели
Вставка блоков Ввод модели может выполняться либо вручную, либо с помощью спец. средства: Меню Edit/Insert GPSS Block В окне «Insert GPSS Block into Model Object» нажимается кнопка с требуемым блоком. Далее появляется окно, в котором необходимо ввести параметры блока. Например, для блока QUEUE
 
Выполнение модели Меню Command/Create Simulation вызывает транслятор для создания объекта имитации. При этом открывается ряд окон, в том числе окно протокола.
  Для наблюдения за системой в системе GPSS World используется окна, доступные в меню Window
   
   
   

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

Используя пункт меню Window/Simulation Window/Plot Window…, можно построить до 8 таких графиков.

 

Для этого необходимо:

  1. Создать модель, выбрав пункт меню Command/Create Simulation
  2. выбрать меню Window/Simulation Window/Plot Window…
  3. Заполнить поля в диалоговом окне Edit Plot Window и нажать OK.
  4. Запустить процесс имитации, выбрав пункт меню Command/START

Рассмотрим назначение полей диалогового Edit Plot Window:

  1. 1. Группа New Expression (новое выражение) предназначена для добавления нового выражения в список отображаемых выражений. После заполнения полей этой группы пользователь может нажать кнопку Plot для добавления введенного выражения в список отобра­жаемых выражений. Пользователь может также нажать кнопку Memorize (запомнить) для сохранения выражения с целью дальней­шего использования. В поле Label задается имя выражения, а в поле Expression - само выражение пользователя.
  2. 2. В группе Window Contents (содержимое окна) отображается список выражений и задается ряд глобальных настроек графика. В поле Title задается заголовок графика, а в поле Time Range - дли­тельность временного интервала, отображаемого на графике. Поля Min Value и Max Value определяют соответственно минимальное и максимальное значения отображаемой величины. Кнопка Remove ис­пользуется для удаления выражения.
  3. 3. Группа Memorized Expressions (сохраненные выражения) со­держит перечень сохраненных выражений пользователя.

Если значения отображаемого выражения выходят за пределы, указанные в параметрах Min Value и Max Value, либо длительность времени имитации превышает Time Range, пользователь может про­смотреть интересующие его значения выражений, прокрутив изобра­жение с помощью горизонтальных и вертикальных полос прокрутки.

Пример

Рассмотрим простейшую СМО вида D/D/1, работающую в ре­жиме перегрузки. Система состоит из очереди и одного устройства, время обслуживания которого детерминировано и равно 11 единицам модельного времени. Транзакты поступают на вход системы каждые 10 единиц модельного времени. Продолжительность моделирования - 10000 единиц модельного времени.

Программа:

GENERATE 10

QUEUE QB

SEIZE В

DEPART QB

ADVANCE 11

RELEASE В

TERMINATE 1

GENERATE 10000

TERMINATE 1

В качестве выражения для визуализации выберем длину очереди QB. Заполнив окно Edit Plot Window и выполнив коман­ду START 1, получим график.

 

Основы языка системы GPSS

Блок GENERATE (ГЕНЕРИРОВАТЬ)

Это блок, через кото­рый транзакты входят в модель. В одно модели может быть несколько разных блоков GENERATE.

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

GENERATE [A],[B],[C],[D],[E]

Операнд Значение Описание Значение по умолчанию*
А Средний интервал времени (число, СЧА) среднее значение интервала поступления  
В Половина поля допуска равномерно распределенного интервала (число, СЧА) величина разброса возможных значений относительно сред­него значения. (Если операнд В не задается, то интервал времени по­ступления - детерминированная величина)  
С Смещение интервалов момент времени, в который в блоке GENERATEдолжен появиться первый транзакт. (После этого первого прихода все ос­тальные приходы транзактов возникают в соответствии с распределе­нием, заданным операндами А и В) Смещение от­сутствует
D Ограничитель транзактов ограничитель общего числа транзактов, которое может вой­ти в модель через данный блок GENERATEна протяжении времени моделирования. (Если это число достигнуто, данный блок GENER­ATEперестает быть активным) оо
Е Уровень приоритета транзакта. Возможные значения 0 - 127 уровень или класс приоритета каждого из транзактов, кото­рые вводятся в модель через данный блок GENERATE.(Всего суще­ствует 128 разных уровней, которые задаются с помощью чисел от О до 127. Чем больше число, тем выше приоритет)  

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

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

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

TERMINATE [A]

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

Начало моделирования. Команда START

Интерпретатор начинает моделирование по команде START.

Ее формат:

START A,[B],[C],[D]

В операнде А задается начальное значение счетчика завершения.

Элементы, отображающие одноканальные обслуживающие устройства

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

Устройство характеризируется двумя основными свойствами:

1. Каждое устройство в любой момент времени может обслужи­вать только один транзакт. Если в процессе обслуживания появляется новый транзакт, то он должен:

1) либо подождать своей очереди,

2) либо направиться в другое место,

3) либо, если вновь пришедший транзакт имеет больший при­оритет, устройство прерывает текущее обслуживание и начинает об­служивать новый транзакт.

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

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

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

Первый шаг. Ждать своей очереди, если это необходимо. Ожи­дание длится в течение некоторого интервала времени.

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

Третий шаг. Устройство находится в состоянии занятости до тех пор, пока не закончится обслуживание. Для обслуживания необ­ходим некоторый интервал времени.

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

Эта последовательность шагов выполняется GPSS при модели­ровании использования устройства. Второй и четвертый шаги реали­зуются блоками SEIZE (ЗАНЯТЬ) и RELEASE (ОСВОБОДИТЬ).

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: