Чёрненький В.М. - Учебное пособие по GPSS, страница 2
Описание файла
PDF-файл из архива "Чёрненький В.М. - Учебное пособие по GPSS", который расположен в категории "". Всё это находится в предмете "имитационное моделирование дискретных процессов" из 7 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "имитационное моделирование дискретных процессов" в общих файлах.
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
Система GPSS имеет развитую библиотеку процедур.Общие положенияОбъекты GPSSОбъекты являются концептуальными единицами, с помощью которых создается имитационная модель. Объекты либо создаются автоматически – при ссылке на них в модели, либо должны быть обязательно описаны перед их использованием.В языке GPSS существуют следующие объекты:основные• транзакты• блоки• операторыресурсы•приборы•памяти•ключигруппы и списки• семейства транзактов• группы транзактов• числовые группы• списки пользователявычислительные•датчики случайных чисел•функции•переменные•булевские переменные•сохраняемые величины•матрицы сохраняемых величинОглавлениеВ.М.
Черненький. Адаптированное описание системы имитационного моделирования GPSS4статистические•очереди•таблицыКаждый представленный объект имеет набор стандартных числовых атрибутов(СЧА) и стандартных логических атрибутов (СЛА), определяющий свойства объекта.Именование объектовДля идентификации объектов в модели используются имена. Имена могут бытьчисловыми и символическими. Основными именами являются числовые имена.Числовое имя - целое положительное число.Символическое имя - последовательность символов. Cuмволы включают прописные буквы А-Z, строчные буквы a-z, цифры 0-9 и символ _ (подчеркивание).Правила создания символических имен:• длина имени от 1 до 250 символов• имя должно начинаться с символа• имя не должно быть ключевым словом GPSS.Система GPSS не различает в обозначениях верхний и нижний регистры (прописные или строчные буквы)Нельзя присваивать объектам имена операторов и блоков, а также стандартных числовых атрибутов, используемых в системе.Имена используются также в качестве меток операторов или блоков GPSS.Типы данныхВ системе выделяют три типа данных: целочисленный (Integer), вещественный(Real) и строковый (String).
Первые два относятся к числовому типу данных.Целочисленный тип - 32-разрядные целые числа. Если во время арифметическихопераций происходит переполнение целого числа, то выполняется его преобразование квещественному числу.Вещественный тип - это числа с двойной точностью с плавающей запятой. Ониимеют точность 15 десятичных цифр и диапазон экспоненты от -306 до 306.Строковая константа - последовательность символов ASCII, взятая в двойные кавычки.
Строковая константа может иметь любой размер. Для создания и управления строковыми константами в системе имеются строковые процедуры, которые находятся в библиотеке процедур. Строковые константы используются при выводе результатов моделирования в файл результата и формирования собственных сообщений.Типы данных преобразуются либо явным образом при помощи вызова соответствующих процедур, либо неявно при вычислении выражения.Правила описания стандартных числовых и стандартных логических атрибутовКаждый тип объектов имеет набор стандартных числовых (СЧА) и стандартных логических (СЛА) атрибутов, определяющий свойства объектов данного типа. Как правило,у этих атрибутов имя начинается с префикса, однозначно соответствующего типу объекта.Стандартный числовые и логические атрибуты конкретного объекта данного типамогут быть заданы одним из следующих способов:1) < имя СЧА/СЛА типа объекта><j> – где j – положительное целое число, определяющеечисловое имя объектаПример:Q1 – текущая длина очереди с именем 12) <имя СЧА/СЛА типа объекта >$ <имя> – где имя – символическое имя объектаПример:ОглавлениеВ.М.
Черненький. Адаптированное описание системы имитационного моделирования GPSS5Q$SERVER – текущая длина очереди с именем SERVER3) <имя СЧА/СЛА типа объекта >*<j> – где j – положительное целое число, определяющее числовое имя параметра активного транзакта, который содержит числовое имя объекта (косвенная адресация)Пример:Q*1 – текущая длина очереди, числовое имя которой содержится в первом параметре транзакта4) <имя СЧА/СЛА типа объекта >*< имя >(или <имя СЧА,СЛА типа объекта >*$<имя >)– где имя – символическое имя параметра активного транзакта, который содержит числовое имя объекта (косвенная адресация)Пример:Q*CHANNEL ( или Q*$CHANNEL ) – текущая длина очереди , числовое имя которой содержится в параметре транзакта с именем CHANNEL.Примечание.Системные СЧА и СЧА транзактов (кроме СЧА Р (значение параметра активноготранзакта) являются «атомарными».
Такие СЧА являются законченными, для их вычисления не требуется задания имени объекта.Системные СЧАТаблица 1 – Системные СЧАC1 Текущее значение условного времени. Автоматически изменяется в модели и устанавливается в 0 управляющими операторами CLEAR или RESET. Вещественноезначение.RN Число, вычисляемое датчиком случайных чисел (№ - до 7 датчиков). Датчик гене№ рирует последовательность равномерно распределенных целочисленных случайныхчисел в интервале 0 – 999.
При использовании датчика в качестве аргумента функции или объекта в переменной значение будет дробью от 0 до 0.999999.Арифметическое выражениеАрифметическое выражение представляют собой комбинацию арифметических операторов, стандартных числовых атрибутов, библиотечных функций и констант, котораяудовлетворяет правилам элементарной алгебры. Выражение вычисляется согласно приоритетам арифметических операций. Вычисление происходит слева направо. Порядок вычислений может быть изменен с помощью круглых скобок.При использовании арифметического выражения в качестве операнда блока, онодолжно быть записано в круглых скобках.Пусть имеем запись некоторой операции в виде: А<знак операции>ВРезультат такой операции представлен в таблицах 1 и 2.Таблица 2 - Арифметические операции в порядке возрастания приоритета.ЗнакОперацияРезультатоперацииСложениеA+B возвращает значение суммы А и В+ВычитаниеA-B возвращает значение разности А и ВУмножениеA#B возвращает значение произведения А и В#ДелениеA/B возвращает значение частного от деления А/на ВЦелочисленноеA\B возвращает значение целочисленного деле\делениения А на ВОглавлениеВ.М.
Черненький. Адаптированное описание системы имитационного моделирования GPSS6@Целый остаток^Возведение в степеньA@B возвращает целый остаток от деления А наВA^B возвращает значение А , возведенное в степень ВЛогическое выражениеЛогическое выражение принимает одно из двух значений: 1 или 0.Таблица 3 - Логические операцииЗнакОперацияРезультатоперацииЛогическоеA&B возвращает 1, если числовые значения А и В& , AND'«И»отличны от нуля, в противном случае - 0ЛогическоеA OR B возвращает 1, если хотя бы одно из число| , 'OR'«ИЛИ»вых значения А или В отлично от нуля, в противном случае - 0Таблица 4 - Условные операции отношенияЗнакОперацияРезультатоперацииБольшеA>B возвращает 1, если числовое значение А больше> , 'G'В, в противном случае - 0Больше илиA>=B возвращает 1, если числовое значение А боль>= ,равноше или равно В, в противном случае - 0'GE'РавноA=B возвращает 1, если числовое значение А равно= , 'E'В, в противном случае - 0Не равноA!=B возвращает 1, если числовое значение А не рав!= ,но В, в противном случае - 0'NE'МеньшеA<B возвращает 1, если числовое значение А меньше< , 'L'В, в противном случае - 0ТранзактыТранзакты – это динамические объекты, которые создаются в определенные моменты модельного времени, продвигаются интерпретатором системы через блоки модели изатем уничтожаются.
Фундаментальное свойство транзакта – инициативность, когдавыполнение любого блока в программе возможно лишь при подходе к нему транзакта.Иными словами, развитие процессов в имитационной модели выполняют транзакты.Транзакты не могут непосредственно ссылаться друг на друга. С каждым транзактомсвязана некоторая совокупность параметров, организованная в виде вектора. Эта совокупность называется параметры транзакта и имеет префикс Р.Таблица 5 – СЧА транзактаЗначение параметра активного транзакта: целочисленное, вещественное илиPстроковое значение.Приоритет активного транзакта: целочисленное значение.PRВремя пребывания в модели активного транзакта. Равно разности текущегоМ1значения абсолютного времени и времени рождения активного транзакта: вещественное значение.Номер активного транзакта.
Целочисленное значение.XN1ОглавлениеВ.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS7Продвижение транзактов по моделиЕсли транзакт в активном состоянии, интерпретатор пытается его продвинуть потреку блоков. При этом выполняются операции, соответствующие алгоритму блоков.Если в выполняемом блоке не задана явным образом задержка транзакта, интерпретатор сразу же пытается продвинуть транзакт через следующий блок.
Этот процесс продолжается до тех пор, пока транзакт не получает отказ при попытке войти в блок и будетзадержан.Блоки генерации и задержки транзактовБлоки – это объекты, описывающие изменение состояния модели. Блок характеризуется именем и параметрами, называемыми операндами блока. Блок выполняется толькотогда, когда на него поступает транзакт. Блок может принять транзакт или отказать ему вовходе, если не выполняются условия входа транзакта в блок. В случае отказа транзакт остается в предыдущем блоке. Если блок принял транзакт, то выполняются операции, соответствующие данному блоку.Таблица 6 – СЧА блокаОбщее число транзактов, которые вошли в блок: целочисленноезначение.Текущее число транзактов в блоке: целочисленное значение.NWБлок GENERATEНазначение. Блок генерирует транзакты и отправляет их вниз под себя на начало трека.Синтаксис.
GENERATE [A],[B],[C],[D],[E]ОперандABCНазначениеСреднее время между моментами генерации новыхтранзактовМодификатор, задающий разброс времени междумоментами генерации новых транзактов .Два типа модификаторов:- модификатор-интервал- модификатор-функция.Модификатор-интервал появляется, когда значением В является числовой скаляр. Тогда системапредполагает задание равномерного закона распределения времени между моментами генерацииновых транзактов. Нижняя граница интервала вычисляется как (А - В), верхняя граница как (А +В).Модификатор-функция появляется, когда значением В является функция.