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

GPSS (General Purpose Simulating System - общецелевая система моделирования) является одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем.

GPSS достаточно удобен при программировании, поскольку интерпретатор GPSS многие функции выполняет автоматически. Например, GPSS без специального на то указания пользователя собирает статистические данные, описывающие поведение модели, автоматически печатает итоговую статистику по завершении моделирования. Пользователю нет необходимости включать в модель вычислительные операторы для сбора и накопления этих данных или задавать их формат.

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

Язык GPSS может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания.

В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.

В системе GPSS основной единицей представления является процесс, а не событие. При этом имеется разветвленная система различных объектов, которые можно разделить на несколько классов:

1. Динамические - объекты, связанные с заявками или транзактами (генерация заявок, обеспечение условий реализации, размножение, уничтожение, останов, изменение их характеристик и т.д.)

2. Аппаратно-ориентированные - все объекты, которые связаны с элементами системы, которую мы проектируем (одноканальные и многоканальные устройства, очереди и т.д.)

3. Статистические объекты - сбор статистики, связанной с терминологией моделей массового обслуживания (сохраняемые величины, матрицы сохраняемых величин, таблицы).

4. Вычислительные – используются для определения различных математических выражений и зависимостей (переменные и функции).

5. Операционные объекты - все операторы для составления программы моделирования (блоки).

6. Списковые структуры (цепи): список текущих событий, которые выполняются сейчас или по каким-то причинам задерживаются, списки будущих событий, список заявок, список парных транзактов.

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

Значение атрибутов всех объектов модели по окончанию моделирования выводятся в стандартный отчёт. Большая часть атрибутов (табл. 4.1) доступна программисту (стандартные числовые атрибуты (СЧА)).

Для ссылки на стандартные числовые атрибуты соответствующий операнд оператора записывается:

СЧА$имя или СЧАj,

где СЧА - конкретный СЧА, имя - имя объекта, j - номер объекта, $ - символ-разделитель.

Таблица 4.1

Описание стандартных числовых атрибутов

Элемент СЧА Краткое описание
Блоки N Счетчик входов
W Счётчик текущего содержимого
Время С1 Значение относительного времени
AС1 Значение абсолютного времени
Генераторы случайных чисел RN(1-8) От 0.000000 до 0.999999
Матрицы сохраняемых величин MH(a, b), MX(a, b) Элемент строки "а", столбца "b" (полуслово и полное слово).
Многоканальное устройство R Свободная ёмкость
S Текущее содержимое
SA Среднее содержимое
SC Счётчик числа входов
SR Коэффициент использования
ST Среднее время задержки на единицу ёмкости
Очереди Q Текущее содержимое
QA Среднее содержимое
QC Счётчик числа входов (общее число)
QM Максимальное содержимое
QT Среднее время пребывания (по QC)
QX Среднее время пребывания (по QZ)
QZ Счётчик числа входов (нулевые входы)
Переменные BV Значение булевской переменной
V Значение арифметической переменной
Устройство F Состояние устройства
FC Счётчик числа занятий
FR Коэффициент использования
FT Среднее время задержки на одно занятие
Сохраняемые величины X, (XH) Значение полнословной (полусловной) сохраняемой величины
Таблицы TB Средняя величина не взвешенных коэффициентов
TC Количество не взвешенных входов
TD Дисперсия не взвешенных входов
Транзакты P Значение параметра
PR Уровень приоритета
M1 Время пребывания в модели
Функции FN Значение функции

Работа модели заключается в перемещении заявок (транзактов) от одного оператора (блока) к другому, в соответствии с логикой модели до тех пор, пока не произойдёт одно из следующих событий:

- транзакт входит в блок, функцией которого является удаление транзакта из модели;

- транзакт входит в блок, функцией которого является задержка транзакта на некоторое время;

- транзакт не может войти в следующий блок.

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

Симулятор GPSS помещает транзакты в зависимости от условий модели в тот или иной список, переносит их из списка в список, просматривает списки, выбирает следующий транзакт для обработки, корректирует таймер модельного времени после обработки всех транзактов в списке текущих событий.


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



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