Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzamen.doc
Скачиваний:
12
Добавлен:
16.04.2019
Размер:
2.21 Mб
Скачать

23. Общие сведения о gpss.

24. Работа в системе gpss (текстовый файл, трансляция, запуск процесса моделирования, работа с «окнами», вывод графика).

25. Типы операторов в gpss.

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

- метка (имя блока),

- операция,

- вспомогательный оператор,

- операнды,

- комментарии.

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

Поле операции содержит название блока или команды (ключевое слово GPSS). Это поле должно быть отделено от метки пробелом. Некоторые блокиGPSS требуют для своего полного описания наличия вспомогательного оператора, поле которого должно быть отделено от поля операции пробелом. Допустимые значения этого поля зависят от конкретного ключевого слова. В качестве вспомогательного оператора могут использоваться:

- Операторы сравнения: ‘G’, ‘GE’, ‘L’, ‘LE’, ‘E’, ‘NE’.

- Операторы состояния одноканального устройства: ‘U’ – устройство занято, ‘NU’ – устройство свободно, ‘I’, ‘NI’ – устройство захвачено/не захвачено, ‘FV’, ‘FNV’ – устройство доступно/недоступно.

- Операторы состояния памяти (многоканального устройства): ‘SE’ – память пуста, ‘SNE’ – память не пуста, ‘SF’ – память заполнена, ‘SNF’ – память не заполнена, ‘SV’ – память доступна, ‘SNV’ – память недоступна.

- Операторы состояния логического ключа: ‘LS’ – логический ключ включен, ‘LR’ – логический ключ выключен;

- Операторы максимального (MAX) и минимального (MIN) значений.

Поля операндов отделяют от поля операции или поле вспомогательного оператора, если он обязателен для данного блока пробелом, они задают информацию специфичную для действия данного блока или команды в общем случае операнды обозначаются буквами: А, В, С,D, E, F, G. Между операндами должны стоять запятые, если операнд опущен, то вместо него ставится запятая. Знак;объявляет начало поля комментариев. Это необязательное поле. Допускается записывать комментарий не только после операндов, но и с начала строки. В этом случае, в первой позиции ставится; или *.

26. Блоки, связанные с транзактами (generate, terminate). Сегмент модели. Продолжительность прогона. Сегмент таймера.

27. Блоки, связанные с транзактами (assign, mark, priority, advance).

Функционирование объекта отображается в модели в виде перемещения от блока GENERATE в блок TERMINATE через промежуточные блоки. Транзакты являются абстрактными, подвижными элементами, которые могут моделировать различные объекты реального мира: сообщения, программы, транспортные средства, людей и т.п.

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

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

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

Все объекты GPSS имеют числовые характеристики, называемые стандартными числовыми атрибутами (СЧА). Для ссылки на какой-либо СЧА некоторого объекта соответствующий операнд оператора исходной программы записывается одним из следующих способов:

СЧА$name

СЧАj

где СЧА – системное обозначение (название конкретного стандартного числового атрибута данного объекта).

name – имя объекта.

j – номер объекта.

$ - символ-разделитель.

Транзакты имеют следующие СЧА:

Pj(P$name) – значение параметра с номером j (с именем name) активного транзакта.

PR – приоритет активного транзакта.

M1 – резидентное время транзакта, т.е. время, прошедшее с момента входа транзакта в модель через блок GENERATE.

MPj (MP$name) – транзитное время прохождения транзактом некоторого участка модели (разность между текущим модельным временем и временем, занесенным в параметр транзакта с номером j (с именем name) блоком MARK).

XN1 – номер транзакта.

В GPSS существует ряд блоков, с помощью которых можно изменить значения параметров транзактов. Блок ASSIGN модифицирует значение параметра транзакта, входящего в этот блок. Блок INDEX изменяет значение параметра с номером 1.

Блок MARK записывает в указанный им параметр текущее модельное время, или, если параметр не указан, заносит на место отметки времени входа транзакта в модель текущее время. Пересылка транзакта в требуемую точку модели осуществляется блоком TRANSFER.

Блок TEST проверяя выполнение определённого условия может также направлять транзакты в заданную точку модели, если условие не выполняется. При этом, его действие аналогично блоку GATE (впустить).

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

Изменение приоритета транзакта осуществляет блок PRIORITY.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]