Лекция 26

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

К вычислительным объектам языка GPSS относятся переменные (арифметические VARIABLE и булевские BVARIABLE) и функции FUNCTION. Они используются для вычисления некоторых величин, заданных арифметическими или логическими выражениями либо табличными зависимостями.

Запоминающие объекты обеспечивают хранение в памяти ЭВМ отдельных величин и массивов величин, используемых в модели. К ним относятся так называемые сохраняемые величины и матрицы MATRIX сохраняемых величин.

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

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

Функциональный аппарат языка GPSS образуют блоки:

- осуществляющие модификацию атрибутов транзактов (временная задержка транзактов – ADVANCE; генерация и уничтожение транзактов – GENERATE, TERMINATE, SPLIT, ASSEMBLE; синхронизация движения нескольких транзактов – GATHER, MATH; изменение параметров транзактов – ASSIGN, INDEX, MARK; изменение приоритета – PRIORITY);

- изменяющие последовательность передвижения транзактов – блоки передачи управления (TRANSFER, LOOP, TEST, GATE);

- связанные с группирующей категорией (JOIN, REMOVE, EXEMINE, SCAN, ALTER);

- сохраняющие значения, необходимые для дальнейшего использования (SAVEVALUE, MSAVEVALUE);

- организующие использование объектов аппаратной категории (устройств – SEIZE, RELEASE, PREEMPT RETURN, FAVAIL FUNAVAIL; памяти – ENTER, LEAVE, SAVAIL, SUNAVAIL; ключей – LOGIC);

- обеспечивающие получение статистической информации (очереди – QUEUE, DEPART; таблицы – TABULATE, TABLE);

- специальные (BUFFER, HELP, TRACE, UNTRACE, PRINT, EXECUTE, COUNT`X`, CHANGE, SELECT`X`);

- организации цепей (LINK, UNLINK);

- вспомогательные (WRITE, REPORT, LOAD, SAVE, UPDATE).

Язык GPSS содержит две формы записи программы – блочную и кодовую.В случае сложной системы ее модель может быть оформлена в виде совокупности взаимосвязанных блоков, представленных в блочной форме (в виде блок-схемы), которая является одновременно программой на языке GPSS.В случае несложной системы ее модель представляется непосредственно в кодовой форме.На ПЭВМ типа IBM/PC язык GPSS реализован в рамках пакета прикладных программ GPSS/PC. Основной модуль пакета представляет собой интегрированную среду, включающую, помимо транслятора с входного языка, средства ввода и редактирования текста, отладки модели и наблюдения за процессом моделирования, графические средства отображения атрибутов модели, а также средства накопления результатов моделирования в базе данных и их статистической обработки.Кроме основного модуля в состав пакета входит модуль создания стандартного отчета GPSS/PC и ряд дополнительных модулей и файлов.

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



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