Слайд 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
УЧЕБНЫЙ МАТЕРИАЛ
Условные обозначения на блок-схемах
Слайд 43
УЧЕБНЫЙ МАТЕРИАЛ
Условные обозначения на блок-схемах
PRIORITY
A
Слайд 44
УЧЕБНЫЙ МАТЕРИАЛ
Условные обозначения на блок-схемах
Слайд 45
УЧЕБНЫЙ МАТЕРИАЛ
Условные обозначения на блок-схемах
Слайд 46
УЧЕБНЫЙ МАТЕРИАЛ
Условные обозначения на блок-схемах
SELECT A,B,C,D,E
X
Слайд 47
УЧЕБНЫЙ МАТЕРИАЛ
Условные обозначения на блок-схемах
С
В
А
Х
TEST
Слайд 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 с.