Объекты GPSS

GPSS основан на допущении, что любую сложную систему можно представить как совокупность элементарных абстрактных понятий, называемых объектами. Объекты GPSS – это абстрактные объекты, функциони­рующие в процессе моделирования. Совокупность всех объектов GPSS называется имитационной моделью.

Объекты системы имеют различное назначение. Модель может содержать множество различных объектов любого типа. В зависимости от характеристик моделируемой системы осуществляется выбор объектов для реализации конкретной модели. Каждый объект характеризуется некоторым числом свойств, называемых в GPSS стандартными числовыми атрибутами (CЧA), часть СЧА доступна пользователю только для чтения, а на значение других он может влиять, применяя соответствующие блоки. Для эффективного моделиро­вания необходимо понимать свойства каждого из объектов GPSS и способы применения бло­ков GPSS, это позволит обеспечить требуемое взаимодействие между объектами.

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

Транзакт представляет собой некоторое сообщение (заявку, требование на обслуживание и т.п.), которое поступает извне на вход системы и подлежит обработке [3, 5]. Транзакт — обязательный элемент каждой модели на GPSS. Транзакты генерируются и уничтожаются, воздействуя при этом на объекты модели.

C точки зрения программы транзакт – это структура данных,которая содержит следующие поля: имя или номер транзакта; время появления транзакта; текущее модельное время; номер блока, в котором находится транзакт; номер блока, в который транзакт продвигается; момент времени начала продвижения транзакта; приоритет транзакта; параметры транзакта (P1, P2,...). Отличие одних транзактов от других состоит в назначаемом им наборе параметров. Параметры транзактов отображают свойства моделируемого динамического объекта. [3, 4]

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

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

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

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

Структура GPSS-модели имеет вид [3], представленный на рис. 1.1.

 
 


Рис. 1.1. Структурная схема GPSS-модели

Устройства. Аналогами обслуживающих устройств реальных систем в GPSS являются одноканальные, многоканальные устройства и логические ключи.

GPSS – это объектно-ориентированный язык, каждый объект в нем имеет свойства и методы, которые изменяют эти свойства. Как было отмечено, в GPSS свойства объектов называют стандартными числовыми атрибутами.

Одноканальное устройство, или прибор, представляет собой ресурс системы, который в любой момент времени может быть занят только одним транзактом. Интерпретатор автоматически вычисляет такие его СЧА, как общее время занятости устройства, число транзактов, которые занимали устройство, коэффициент использования устройства, среднее время занятости устройства одним транзактом и т. п. [4]

Многоканальные устройства (МКУ) (несколько параллельных одинаковых устройств) могут использоваться несколькими транзактами одновременно, они представляют собой ресурсы системы, предназначенные для параллельной обработки. В GPSS емкость каждого МКУ, используемого в модели, определяется пользователем. Интерпретатор автоматически подсчитывает число устройств, занятых в каждый момент времени, а также такие СЧА, как число транзактов, которые вошли в МКУ, среднее число каналов, занятых одним транзактом, среднее время нахождения транзакта в устройстве и др.

Логические ключи. Логические ключи служат для моделирования объектов с двумя логическими состояниями: «включено», «выключено». Управление ключами осуществляется транзактами, продвигающимися по модели. Транзакт может установить ключ в состояние «включено», сбросить его — перевести в состояние «выключено» – или инвертировать, т. е. изменить состояние ключа на противоположное значение.

Переменные. Арифметические переменные позволяют вычислять арифметические выражения, которые состоят из операций над СЧА объектов. В арифметических выражениях могут применяться функции (библиотечные или пользовательские) и некоторые арифметические операции (см. раздел 1.7).

Булевы переменные позволяют пользователю одновременно проверять несколько условий исходя из состояния объектов или значений СЧА.

Функции. Применяя функции, пользователь может задавать непрерывную или дискретную функциональную зависимость между аргументом функции и ее значением. Все функции в GPSS задаются таб­личным способом c помощью специальных операторов описания функций (непрерывного или дискретного типа).

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

Очереди. В любой системе может возникать задержка в продвижении потока транзактов из-за недоступности ресурсов. В этом случае задержанные транзакты становятся в очередь. Учет очередей – одна из основных функций интерпретатора GPSS, который автоматически поддерживает дисциплину обслуживания очереди FIFO («первым пришел – первым обслужен»), соответственно получить стандартную статистическую информацию возможно только об этой очереди. Если возникает необходимость организовать очередь из транзактов с другой дисцип­линой обслуживания (например, LIFO), то для этого используются списки пользователей, которые также помогают осуществлять синхронизацию движения разных транзактов по модели.

Таблицы. Таблицыпредназначены для сбора и регистрации различного рода статисти­ческой информации о случайных величинах, заданных пользователем. Таблица состоит из частотных классов, в которые заносится число попаданий конкретной величины (некоторого СЧА). [3]


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



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