Блок-диаграмма GPSS — это графическое отображение операций, происходящих в моделируемой системе.
Введение
В пакете GPSS, для того чтобы представить моделируемую систему S в виде машинной модели, применяется язык блок-диаграмм. Блок-диаграммой в пакете GPSS именуется графическое отображение операций, которые происходят в моделируемой системе S. В таком варианте блок-диаграмма должна описывать взаимодействия, которые происходят внутри моделируемой системы S в процессе ее работы. Задаваемый набор блоков для блок-диаграмм способен однозначно определить совокупность операторов языка, которые осуществляют описание структуры моделируемой системы S, и логические правила, определяющие ее функционирование.
В блок-диаграммах GPSS блоки являются по сути выполняемыми над динамическими объектами операциями, а стрелки между блоками показывают маршруты перемещения данных объектов по системе. Альтернативные ситуации могут отображаться более чем одной стрелкой, которая выходит из блока.То есть, процесс формирования модели на языке блок-диаграмм GPSS может быть сведен к декомпозиции исходной системы S до уровня элементарных процедур, выполняемых в пакете GPSS, созданию фиксированной схемы, отображающей очередность элементарных процедур, исполняемых над динамическими объектами, и выработке набора логико-вероятностных правил передвижения потоков объектов по существующей схеме.
Формирование блок-диаграмм GPSS подразумевает знание программистом набора операторов пакета GPSS, который должен однозначно соответствовать совокупности блоков для описания блок-диаграмм. По этой причине формирование блок-диаграммы не является самоцелью, а представляет собой только промежуточный этап при создании имитационной модели изучаемой системы S с применением операторов пакета GPS.
Блок-диаграмма GPSS
Главные условные обозначения, которые используются на блок-диаграммах GPSS, отображены в таблице ниже.
Рисунок 1. Операторы пакета GPSS. Автор24 — интернет-биржа студенческих работ
Язык GPSS является языком декларативного типа, который построен по принципам объектно-ориентированных языков. Базовыми компонентами этого языка считаются транзакты и блоки, отображающие соответственно динамические и статические объекты исследуемой системы.
Предназначение объектов системы может быть различным. Назначение объектов для конкретной модели определяется характеристиками исследуемой на базе модели системы. Все объекты имеют некоторый набор свойств, именуемых в GPSS стандартными числовыми атрибутами. Часть этих атрибутов является доступной пользователю только для чтения, а на значение других ему разрешается оказывать влияние, применяя соответствующие блоки.
Все GPSS-модели обязаны иметь в своем составе такие объекты, как блоки и транзакты. В GPSS концепция передачи управления от блока к блоку обладает специфическими особенностями. Очередность блоков GPSS-модели должна показывать направления перемещения компонентов. Любой такой компонент именуется транзактом. Транзакты являются динамическими элементами GPSS-модели.
Блоки языка GPSS являются, по сути, подпрограммами, написанными на макроассемблере или на языке Си, которые содержат совокупность параметров (операндов) для обращения к ним. Аналогично другим языка моделирования, в GPSS присутствует внутренний механизм передачи управления, который осуществляется в модельном времени, что предоставляет возможность отображения динамических процессов в реальных системах. Передача управления от блока к блоку в программах GPSS осуществляется при помощи передвижения транзактов в модельном времени. Обращение к подпрограммам блоков реализуется посредством передвижения транзактов.
Наполнение содержанием значений транзактов определяется разработчиком модели. Именно разработчик должен установить соответствие между транзактами и фактическими динамическими компонентами моделируемой системы. Такое соответствие никогда не должно указываться транслятору GPSS, оно останется в воображении разработчика моделей.
С позиций самой программы транзактом является структура данных, содержащая следующие поля:
- Поле имени или номера транзакта.
- Поле времени появления транзакта.
- Поле текущего модельного времени.
- Поле номера блока, в котором располагается транзакт.
- Поле номера блока, куда он перемещается.
- Поле момента времени начала перемещения.
- Поле приоритета транзакта.
- Поле параметров транзакта, а именно P1, P2, ... и так далее.
В языке GPSS каждый транзакт должен нумероваться согласно его появлению в модели. Параметры транзактов призваны отображать свойства моделируемых динамических объектов.