Слайд 1Тема 7. Язык моделирования GPSS
Дисциплина «Имитационное моделирование экономических процессов» Специальность №08080165 «Прикладная информатика (в экономике)» Институт информатики, инноваций и бизнес систем Кафедра информатики, инженерной и компьютерной графики Старший преподаватель Кийкова Е.В.
Слайд 2СОДЕРЖАНИЕ
Ключевые понятия Учебный материал Вопросы для самопроверки Рекомендуемая литература
Слайд 3КЛЮЧЕВЫЕ ПОНЯТИЯ
Язык GPSS Объекты языка GPSS Категории и типы Транзакт Стандартные числовые атрибуты Сохраняемые величины Списки пользователей
Слайд 4УЧЕБНЫЙ МАТЕРИАЛ
Основные задачи лекции
Раскрыть основные понятия, связанные с языком имитационного моделирования GPSS. Ознакомить со средой моделирования GPSS/W. Рассмотреть основные блоки GPSS. Ознакомить с моделированием вероятностных функций распределения в GPSS/W.
Слайд 5Принципы построения имитационных программ Объекты языка GPSS подразделяют на категории и типы. Наименование категорий: операционная, аппаратная, динамическая, вычислительная, статистическая, запоминающая, группирующая.
Слайд 6Наименование типов объекта: блоки, сообщения, устройства памяти, логические ключи, арифметические и булевские переменные, функции, очереди, таблицы, ячейки, матрицы ячеек, группы, списки.
Слайд 7Блоки С объектами связаны определенные совокупности блоков, описываемых функционирование самой моделируемой системы либо содержащих дополнительную информацию о порядке моделирования.
Слайд 8Операционная категория Блоки и сообщения - два основных типа объектов языка GPSS. Практически все изменения состояния модели происходят в результате входа сообщений в блоки и выполнения ими своих функций. С блоками связаны операторы, управляющие процессом моделирования.
Слайд 9Оператор SIMULATE укладывает на необходимость проведения моделирования. При его отсутствии производится только трансляция программы. Оператор START указывает на получение исходных данных и начало моделирования. Окончание моделирование производится при обнулении счетчика количества вводимых сообщений, задаваемого в поле А, Поле С определяет интервал выдачи промежуточной статистики.
Слайд 10Аппаратная категория Язык GPSS оперирует тремя группами оборудования: устройствами; памятью; логическими ключами.
Слайд 11К группе устройств относятся блоки: SEIZE, RELEASE, PREEMPT, RETURN. Введение в моделирующую программу описания устройства позволяет автоматически регистрировать статистическую информацию.
Слайд 12Группу памятей образуют блоки: ENTER, LEAVE, карта описания памяти STORAGE. Введение в моделирующую программу памяти позволяет автоматически регистрировать статистическую информацию.
Слайд 13Для управления ключами используется оператор LOGIG. Предусмотрено три режима изменения ключа: сброс в «0»; установка в «1»; инвертирование изменения состояния ключа на противоположное.
Слайд 14Динамическая категория Динамические объекты - это сообщения (транзакты). В процессе моделирования они создаются и уничтожаются. Каждому сообщению соответствует набор параметров, количество которых может быть удовлетворено до 100. Если количество параметров не называется, то оно принимается равным 12. Сообщениям можно присваивать приоритет от 0 до 127; если приоритет не назван, то он принимается равным 0.
Слайд 15С динамической категорией объектов связаны блоки, основные из которых можно подразделять на пять групп: Группа задержки состоит из единственного блока ADVANCE; Группа создания - из блоков GENERATE, SPLIT, ASSEMBLE; Группа уничтожения сообщений состоит из единственного блока TERMINATE;
Слайд 16Группа изменения маршрутов сообщений - из блоков TRANSFER, LOOP, GATE, TEST. Блок TRANSFER имеет шесть основных режимов использования; Группа синхронизации сообщений включает в себя блоки MATCH и GATHER. Сопряженные блоки MATCH не допускают продвижения сообщения, поступившего первым, пока не поступило второе сообщение.
Слайд 17Вычислительная категория В вычислительной категории используются объекты трех видов: арифметические переменные, логические (булевские) переменные, функции. Арифметические переменные описываются блоком VARIABLE в режиме целых чисел и FVARIABLE в режиме с плавающей точкой.
Слайд 18При вычислении используется пять алгебраических операций: "+" (сложение); "-" (вычитание); "*" (умножение); "/" (деление с отбрасыванием остатка); "_" (деление на модуль, при котором частное отбрасывается и сохраняется остаток, который считается положительным). Функции описываются с помощью блока FUNCTION. Основные типы функций - кусочно-линейная и кусочно-постоянная.
Слайд 19Статистическая категория В языке GPSS используется 2 типа статистических объектов: очереди; таблицы. Очередь выделяется блоками QUEUE и DEPART. Частоты попадания заданного СЧА регистрируются блоком TABULATE. Характеристики таблиц вводятся блоком TABLE.
Слайд 20Запоминающая категория Для сохранения в модели числовой информации отводятся специальные ячейки основной памяти SAVEVALUE. Совокупности ячеек можно организовать в матрицы. Для записи информации в ячейки служит блок SAVEVALUE, в матрицы – МSAVEVALUE. Матрица описывается с помощью оператора MATRIX. Присвоение начальных значений ячейкам и матрицам осуществляется блоком INITIAL, с помощью которого можно устанавливать также логические ключи в состояние «1».
Слайд 21Группирующая категория Из объектов группирующей категории рассмотрим блоки LINK и UNLINK, позволяющие переводить сообщения из списка текущих активных событий в списки пользователя неактивных событий и обратно. Использование списков пользователя позволяет моделировать различные дисциплины обслуживания сообщений.
Слайд 22Синтаксис элементов языка Алфавит. Алфавит языка GPSS состоит из латинских букв от А до Z; цифр от 0 до 9 и специальных символов. Русские буквы могут использоваться только в комментариях. Числа. В языке GPSS различают два типа чисел полные и действительны. Признаком действительного числа является десятичная точка. Числа могут занимать в памяти ЭВМ два байта (полусловные) и четыре байта (полнословные).
Слайд 23Идентификаторы. Они должны содержать не более пяти алфавитно-цифровых символов, причем первые три символа должны быть буквами. Идентификаторы используются для формирования имен объектов и блоков. Именование объектов в GPSS может выполняться двумя способами в виде числового имени, и в виде символического имени.
Слайд 24Стандартные числовые атрибуты В процесс моделирования GPSS автоматически регулирует и корректирует определенную информацию различных объектов, используемых в модели. Доступ к этой части информации осуществляется с помощью стандартного числового атрибута (СЧА).
Слайд 25Имя СЧА состоит из двух частей. Первая часть указывает групповое имя. Оно идентифицирует одновременно и тип элемента (т. е. прибор, многоканальное устройство, очередь) и тип информации (например, счетчик занятий прибора, нагрузку многоканального устройства). Вторая часть идентифицирует конкретного члена группы (т. е. какай прибор, какое многоканальное устройство).
Слайд 26Правила записи программы Формат GPSS-блоков такой: [Номер строки] [Метка] При описании формата квадратные скобки [ ] указывают на необязательность поля. Номер строки – обязательное поле для GPSS/PC (в GPSS/W – игнорируется). Начинается с первой позиции строки. Представляет собой десятичное число.
Слайд 27Метка (имя блока) – содержимым поля является имя – последовательность символов, начинающаяся с буквы. Операция - содержит названия блоков или команд GPSS/W.
Слайд 28Операнды – блоки могут иметь операнды. Операнды блоков задают информацию, специфичную для действия данного блока. В блоках не может использоваться больше семи операндов. Операнды в общем случае обозначаются символами: A, B, C, D, E, F, G. Значения операндов определяются типом блока. Операнды следуют один за другим и отделяются запятыми или одним пробелом. Если операнд опущен, то вместо него ставится запятая. Между операндами не должно быть больше одного пробела, так как это будет означать, что операнды закончились и интерпретатор прекращает чтение строки.
Слайд 29Комментарии – необязательное поле. Комментарии располагаются после описания операндов и отделяются от них символом «;». Если комментарии занимают всю строку, то в первой колонке должен стоять символ "*" или «;». Строка описания блока может содержать до 79 символов в GPSS/PC и до 250 символов в GPSS/W.
Слайд 30Стандартная статистика В процессе выполнения программы модели интерпретатор собирает стандартную статистическую информацию, которая автоматически распечатывается по окончании моделирования. Стандартную статистику можно наблюдать в окне REPORT (WINDOW/REPORT).
Слайд 31Основные разделы отчета: Титул – включает ссылку на систему моделирования, содержащий описание модели файл и дату. Общая информация указывает начало и конец системного времени, число блоков, устройств и памятей. Имена – это список назначенных программистом имен и их числовые эквиваленты. Блоки – сведения о месте в модели, типе блока и числе транзактов (общее, к концу моделирования, в цепи RETRY повторных попыток).
Слайд 32Если в модели используются объекты типа «устройство», то в файле стандартной статистики будет представлена информация об использованных устройствах. FACILITY ENTRIES UTIL. AVE. TIME (1) (2) (3) (4) AVAIL. OWNER PEND INTER RETRY DELAY (5) (6) (7) (8) (9) (10) 1 – номер или имя устройства; 2 – количество входов; 3 – коэффициент использования; 4 – среднее время пребывания транзакта в устройстве; 5 – состояние готовности; 6 – номер последнего транзакта, занявшего устройство; 7 – количество прерванных в устройстве транзактов; 8 – количество прерывающих устройство транзактов; 9 – количество транзактов, ожидающих специальных условий; 10 – количество транзактов, ожидающих занятия устройства.
Слайд 33Если в модели используются объекты типа «очередь», то в файле стандартной статистики будет представлена информация об этих объектах. QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. (1) (2) (3) (4) (5) (6) AVE.TIME AVE.(-0) RETRY (7) (8) (9) 1 – номер или имя очереди; 2 – максимальная длина очереди; 3 – текущая длина очереди; 4 – общее количество входов; 5 – количество «нулевых» входов; 6 – средняя длина очереди; 7 - среднее время пребывания транзактов в очереди; 8 - среднее время пребывания транзактов в очереди без учёта «нулевых» входов; 9 – количество транзактов, ожидающих специальных условий.
Слайд 34Если в модели используются объекты типа «многоканальное устройство», то в файле стандартной статистики будет представлена информация об этих объектах. STORAGE CAP. REMAIN MIN MAX ENTRIES (1) (2) (3) (4) (5) (6) AVL. AVE.C. UTIL. RETRY DELAY (7) (8) (9) (10) (11) 1 – имя или номер многоканального устройства (МКУ); 2 – емкость МКУ; 3 – количество единиц свободной ёмкости МКУ в конце периода моделирования; 4 – минимальное количество используемой ёмкости МКУ за период моделирования; 5 – максимальное количество используемой ёмкости МКУ за период моделирования; 6 – количество входов в МКУ; 7 – состояние готовности МКУ в конце периода моделирования (1 – готово, 0 – не готово); 8 – среднее значение занятой ёмкости за период моделирования; 9 – средний коэффициент использования всех устройств МКУ; 10 – количество транзактов, ожидающих специальных условий, зависящих от состояния МКУ; 11 – количество транзактов, ожидающих возможности входа в блок ENTER..
Слайд 35Если в модели используется блок TABLE то в файле стандартной статистики будет представлена информация об этих объектах. TABLE MEAN STD. DEV. RANGE RETRY (1) (2) (3) (4) (5) FREQUENCY CUM,% (6) (7) 1 - имя или номер таблицы; 2 – среднее значение; 3 – среднеквадратическое отклонение измеряемого значения; 4 – границы интервалов; 5 – ждут условий; 6 – количество попаданий; 7 – накопленная частость.
Слайд 36Кроме того, в отчет включаются данные: о цепях (пользователя, текущих и будущих событий), группах транзактов, числовых группах, логических ключах, матрицах, сохраняемых значениях. Для нулевых значений матриц указываются диапазоны индексов.
Слайд 37Главное окно системы включает в себя: Заголовок, Меню, Панель инструментов Поле клиента для набора текста модели.
Среда моделирования GPSS/W
Слайд 38Используя меню главного окна, можно создавать объекты GPSS/W: модели, имитации, отчеты, тексты. Каждый из них можно рассматривать в соответствующих дочерних окнах. Типичный проект начинается с создания или модификации модели. Следует иметь ввиду, что модель – не просто текстовый файл: она содержит также установки Settings, закладки Bookmarks и результаты, которые не могут читаться внешним редактором.
Слайд 39Условные обозначения на блок-схемах
Слайд 40
Слайд 41
Слайд 42
Слайд 44
Слайд 45
Слайд 46SELECT A,B,C,D,E X
Слайд 48Задание потоков с различными законами распределения В GPSS/W в библиотеку процедур включено 24 вероятностных распределений. Вызов каждой функции оформлен как оператор присваивания с указанием в его левой части типа возвращаемого значения. Встроенная библиотека процедур содержит следующие вероятностные распределения: Бета Real=BETA(RNj, min, max, a, b) Биномиальное Integer=Binomial(RNj, t, p) Дискретноравномерное Integer=DUNIFORM(RNj,min, max) Показательное Real=Exponential(RNj, m, s)
Слайд 49Обратное гауссово Real=INVGAUSS (RNj, m, s, a) Обратное Вейбулла Real=INVWEIBULL (RNj, m, s, a) Лапласа Real=LAPLACE(RNj, m, s) Логистическое Real=LOGISTIC(RNj, m, s) Нормальное Real=NORMAL (RNj, m, s) Парето Real=PARETO(RNj, m, s) Пирсона V типа Real=PEARSON5 (RNj, m, s, a) Пирсона VI типа Real=PEARSON6 (RNj, m, s, a, b) Крайних значений А Real=EXTVALA (RNj, m, s) Крайних значений Б Real=EXTVALB (RNj, m, s) Гамма Real=GAMMA(RNj, m, s, a) Геометрическое Integer=GEOMETRIC (RNj, p) Логарифм. Лапласа Real=LOGLAPLACE(RNj, m, s,a Логарифм. логистическое Real=LOGLOGIS(RNj, m, s, a)
Слайд 50Логарифм. нормальное Real=LOGNORMAL (RNj, m, s, a) Отрицат. биномиальное Integer=NEGBINOM (RNj, c, p) Пуассона Integer=POISSON (RNj, v) Треугольное Real=TRIANGULAR(RNj,min, max, mode) Равномерное Real=UNIFORM(a,b) Вейбулла Real=Weibull (RNj, m, s, a) Все процедуры вызываются по их указателю. Если требуется задать исходный датчик случайных чисел, подставляется только номер последнего – без предшествующего RN. Во всех случаях через Min и Max обозначены соответственно наименьшее и наибольшее значение генерируемой случайной величины, m – смещение, s – масштабный параметр (оба положительные), а и b - параметры формы.
Слайд 51ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
Дайте определение понятию транзакт. Перечислите категории объектов GPSS. Перечислите типы объектов GPSS. Как на блок-схеме изображаются блоки символизирующие занятие и освобождение приборов, многоканальных устройств? Перечислите блоки используемые для изменения пути движения транзакта. Какие блоки используются для сбора статистики? Какая информация выводится в отчёте по результатам моделирования? Принципы задания потоков с различными законами распределения.
Слайд 52РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
Кийкова Е.В., Лаврушина Е.Г. Имитационное моделирование. Практикум.- Владивосток: ВГУЭС, 2005. -100 с. Томашевский В.Н., Жданова Е.Г. Имитационное моделирование в среде GPSS. – М.: Бестселлер, 2003. – 416 с. Советов Б.Я., Яковлев С.А. Моделирование систем. Учебник для ВУЗов. - М.: Высшая школа, 2001.-344 с. Шрайбер Т.Дж. Моделирование на GPSS. - М.: Машиностроение, 1980.- 592 с.
Слайд 53Использование материалов презентации Использование данной презентации, может осуществляться только при условии соблюдения требований законов РФ об авторском праве и интеллектуальной собственности, а также с учетом требований настоящего Заявления. Презентация является собственностью авторов. Разрешается распечатывать копию любой части презентации для личного некоммерческого использования, однако не допускается распечатывать какую-либо часть презентации с любой иной целью или по каким-либо причинам вносить изменения в любую часть презентации. Использование любой части презентации в другом произведении, как в печатной, электронной, так и иной форме, а также использование любой части презентации в другой презентации посредством ссылки или иным образом допускается только после получения письменного согласия авторов.