
- •Создание и уничтожение транзактов
- •Элементы, отображающие одноканальные обслуживающие устройства
- •Реализация задержки во времени.
- •Сбор статистики об ожидании.
- •Переход транзакта в блок, отличный от последующего.
- •Моделирование многоканальных устройств
- •Переменные
- •Определение функции в gpss
- •Стандартные числовые атрибуты, параметры транзактов.
- •Изменение значений параметров.
- •Организация циклов.
- •Изменение приоритета транзактов.
- •Организация обслуживания с прерыванием.
- •Сохраняемые величины
- •Проверка числовых выражений.
- •Определение и использование таблиц
- •Блоки управления потоками транзактов
- •Блок gate
Создание и уничтожение транзактов
Продвижение сообщений по модели начинается с блока GENERATE (создать) и заканчивается в блоке TERMINATE (завершить).
GENERATE А,В,С,D,Е
A – среднее значение интервала поступления (СЧА, число)
B – интервал – модификатор или интервал – функция. Половина поля допуска равномерно распределенного интервала (СЧА, число)
C – временная задержка начала моделирования. Смещение интервала
D – число генерируемых транзактов
Е – приоритет транзактов 0 – 127
GENERATE 25,15 25 – средний интервал между поступлениями требований в систему, 15 – максимальное отклонение от среднего. Интервал 10-40 мин.
TERMINATE А
А – число транзактов, на которое этот блок изменяет содержимое счетчика завершений, определяющего момент окончания моделирования.
TERMINATE 1
В поле <А> блока задается число единиц (транзактов), на которое этот блок изменяет содержимое счетчика завершений, определяющего момент окончания моделирования. В данном случае это число равно 1. По умолчанию 0. Значение счетчика завершений или количество транзактов, которое необходимо пропустить через модель, задается оператором START.
Оператор START – задает значение счетчика завершений или количества трансактов, которое необходимо пропустить через модель.
START А
А - число требований (проходов) через систему.
START 100
START 1
Элементы, отображающие одноканальные обслуживающие устройства
Рассмотрим элементы, которые используются для представления обслуживания. Аналогами обслуживающих элементов могут быть люди, механизмы, линии связи и другие объекты реальных систем. В GPSS такие объекты моделируются с помощью устройств, МКУ, логических ключей.
Устройство характеризируется двумя основными свойствами:
1. Каждое устройство в любой момент времени может обслуживать только один транзакт. Если в процессе обслуживания появляется новый транзакт, то он должен:
1) либо подождать своей очереди,
2) либо направиться в другое место,
3) либо, если вновь пришедший транзакт имеет больший приоритет, устройство прерывает текущее обслуживание и начинает обслуживать новый транзакт.
2. Когда транзакт поступает в устройство, он должен пробыть там необходимое для обслуживания время.
Всем устройствам необходимо задавать имена. Они могут быть или числовыми (числа должны быть положительными целыми), или символьными. Во время трансляции символьным именам сам транслятор присваивает числовые значения.
Для того, чтобы использовать одноканальное обслуживающее устройство (прибор), транзакту необходимо выполнить следующие шаги.
Ждать своей очереди, если это необходимо. Ожидание длится в течение некоторого интервала времени.
Когда подходит очередь, занять устройство. Событие «занятие устройства» происходит в некоторый момент модельного времени.
Устройство находится в состоянии занятости до тех пор, пока не закончится обслуживание. Для обслуживания необходим некоторый интервал времени.
Когда обслуживание закончится, освободить устройство. Событие «освобождение устройства» происходит в некоторый момент модельного времени.
Эта последовательность шагов выполняется GPSS при моделировании использования устройства. Второй и четвертый шаги реализуются блоками SEIZE (ЗАНЯТЬ) и RELEASE (ОСВОБОДИТЬ).
SEIZE А
А – номер или имя устройства, заданное пользователем. При входе транзакта в этот блок интерпретатор системы проверяет, занято устройство или нет. Если устройство свободно, то оно занимается. Устройство считается занятым до тех пор, пока занимающий его транзакт не войдет в соответствующий блок RELEASE.
RELEASE А
А – номер или имя устройства, заданное пользователем. Оно должно совпадать с именем в блоке SEIZE .
SEIZE PRIEM
RELEASE PRIEM
Статистическая информация о работе устройства при моделировании собирается автоматически.
Если в модели используются объекты типа «устройство», то в файле стандартной статистики будет представлена информация об использованных устройствах.
После блока SEIZE может сразу же следовать другой блок SEIZE, если транзакт должен одновременно занять два или более устройств (например, рабочего и инструмент).
Транзакт не может освободить устройство, которое он не занимал.