Лекция: Практическое занятие №2

Объекты GPSS-модели

 

В ходе машинного моделирования СМО описывается в виде набора абстрактных элементов (объектов GPSS-модели). Все объекты можно разделить на несколько категорий:

Категория Объекты категории Примечания
Динамическая Транзакты (сообщения) Передвигающиеся по модели заявки на обслуживание
Операционная Блоки Задают пути продвижения заявок и общую логику работы модели
Аппаратная – Приборы; – М/к прибор (память); – Логические ключи Это абстрактные элементы, на которые может быть декомпозировано оборудование реальной СМО
Вычислитель- ная – Переменные; – Функции Описывают в математическом виде связи между компонентами системы
Запоминающая Сохраняемые величины Это ячейки памяти, где фиксируются требуемые значения
Статистическая – Очереди; – Таблицы Вводятся в модель для оценки характеристик работы системы

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

ПРИМЕР: время обслуживания в приборе задается равным 4.5 мин (нецелое число); GPSS-программа в качестве единиц модельного времени может принять секунды. Тогда время обслуживания транзактов будет равно 270 с. Все остальные интервалы времени также переводятся в секунды.

Все объекты модели могут иметь 2 вида имён. Имя объектаможет быть числовое (например, прибор 1) или символическое (прибор PAR), включающее латинские буквы, цифры и знаки подчеркивания. Символические имена необязательны, но их использование увеличивает понятность программы.

Блоки языка GPSS

GPSS – программа пишется позиционно, в три столбца: с 1-й позиции указывается символическое или числовое имя объекта GPSS, а также метка блока; с 8-й – название карты или блока; с 19-й – операнды карты или блока.

ПРИМЕР: Список операндов для карты или блока может иметь вид:

GENERATE A,B,C,D,E,F – все операнды перечислены через запятую;

GENERATE A,B – отсутствуют операнды в конце списка;

GENERATE A,B,, ,E – нет 2-х операндов внутри списка;

GENERATE,, C – нет 2-х операндов в начале списка.

Многие блоки в GPSS-программе являются парными, описывают начало и конец обслуживающего действия.

БЛОК GENERATE– отвечает за генерацию (создание) транзактов в модели.

A – среднее время или средний интервал между появлением двух транзактов (по умолчанию А = 0);

B – модификатор разброса, если поток заявок случайный, (по умолчанию В = 0); обязательное условие: A³B;

С – определяет время появления в модели 1-го транзакта (по умолчанию C = 0);

D – задает число создаваемых этим блоком транзактов (по умолчанию их число неограниченно);

E – уровень приоритета создаваемых транзактов 0¸127 (по умолчанию Е = 0);

F – задает количество параметров транзакта — ячеек памяти, связанных с любым из создаваемых транзактов (по умолчанию F = 12, мах F = 1020).

ПРИМЕР:

1) GENERATE 10,3,100,16,5

Транзакты создаются через каждые (10±3) единиц времени, причем 1-й транзакт создан в момент времени = 100; всем 16 транзактам, созданным в этом блоке, присваивается 5-й уровень приоритета.

2) GENERATE,, ,1

Блок создает один единственный транзакт в начальный момент времени

БЛОК TERMINATE – удаляет (выводит) транзакты из модели;

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

В программе может быть несколько выходов (блоков TERMINATE), но хотя бы один из них обязан иметь A>0, иначе моделирование не сможет завершиться.

БЛОК QUEUE – постановка транзакта в очередь перед обслуживанием.

A –обязательный операнд; указывает имя очереди;

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

Транзакт может находиться не более чем в 2-х очередях одновременно.

БЛОК DEPART – моделирует уход транзакта из очереди. Операнды блока имеют тот же смысл.

БЛОК SEIZE – транзакт занимает прибор, указанный операндом А. Транзакт не может войти в устройство, если оно уже занято другим транзактом.

 

БЛОК RELEASE – моделирует выход транзакта из прибора А. Транзакт не может освободить прибор, который не занимал.

 


БЛОК ADVANCE – моделирует задержку транзактов на некоторое время в определенных точках модели (например, в приборе – на время обслуживания).

А – средний интервал задержки;

В – модификатор разброса, если это время случайно.

 

Управляющие карты языка GPSS

Карты не отражаются на блок-диаграммах, но входят в текст GPSS-программ и могут быть 2-х видов:

1. Карты описания объектов (например – карта FUNCTION, STORAGE);

2. Карты, управляющие процессом моделирования (START и т.д.).

 

КАРТА START – указание о начале и окончании моделирования. Моделирование завершится, когда через систему пройдет определенное значением операнда А количество транзактов. Операнд А называют счетчиком завершений.

ЗАДАЧА № 2 (условие задачи № 1, в блок-диаграмме нет лишь сегмента времени)

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

GENERATE 18,6

еще рефераты
Еще работы по информатике