- •Язык имитационного моделирования gpssWorld
- •Базовые понятия системы имитационного моделирования gpssWorld.
- •Системные числовые атрибуты
- •Логические и условные операторы
- •Формат записи операторов языка gpss
- •Операторы, имитирующие работу динамической категории объектов.
- •Операторы, имитирующие работу аппаратной категории объектов.
- •Операторы, имитирующие работу статистической категории объектов
- •Операторы операционной категории
- •Блок выбора объекта из однородной совокупности объектов по заданному условию
- •Блоки, изменяющие маршрут движения транзактов.
- •Размножение транзактов.
- •Операторы вычислительной категории
- •Операторы, имитирующие работу группирующей категории
- •Операторы, имитирующие работу запоминающей категории
- •Примеры построения модели на языке gpssWorld
- •Пример №1
- •Пример №2
- •Пример №3
- •Пример №4
- •Пример №5
- •Пример №6
- •Редактор форм
- •Введение
- •Создание формы и указание модели
- •Ввод информации о модели
- •Настройка динамического мониторинга
- •Добавление пользовательского объекта мониторинга
- •Построение формы ввода одного эксперимента
- •Корневая панель
- •Команда «Надпись»
- •Команда «Группа»
- •Команда «Элемент управления вкладками»
- •Команда «Скрывающаяся панель»
- •Команда «Изображение»
- •Команда «Секция ввода»
- •Привязка к операнду
- •Связывание элемента диалога и элемента «надпись»
- •Добавление/удаление факторов
- •Команда «Выпадающий список»
- •Команда «Галка»
- •Команда «Кнопка»
- •Форма планирования экспериментов
- •Принципы планирования
- •Добавление факторов
- •Добавление показателей
- •Выбор серии экспериментов
- •Ручной план эксперимента
- •Автоматическое построение плана с использованием шага
- •Работа с exe-модулем
- •Ошибки во время моделирования
- •Анализ результатов
- •Открытие результатов
- •Анализ результатов моделирования одиночного эксперимента
- •Стандартный отчет
- •План полного факторного эксперимента.
- •План дробного факторного эксперимента
- •Планы второго порядка
- •Ортогональный центральный композиционный план
- •Ротатабельный центральный композиционный план
- •Планы Коно
- •Планы Кифера
- •Использование пакета Statistica10 для статистической обработки экспериментальных данных
- •Вычисление основных статистических характеристик
- •Оценка нормальности распределения
- •Необходимость проверки нормальности распределения анализируемых данных
- •Проверка на нормальность распределения анализируемых данных
- •Тесты Колмогорова – Смирнова и Шапиро – Уилка
- •График нормальных вероятностей
- •Корреляционный анализ
- •Коэффициент корреляции Пирсона
- •Коэффициент корреляции Спирмена
- •Факторный анализ
- •Выбор числа факторов
- •Кластерный анализ
- •Стандартизация данных
- •Кластерный анализ
- •Регрессионный анализ
- •Оптимизация
- •Пример моделирования предметной области и анализ результатов
- •Модель процесса сборки пк
- •Разработка модели процесса сборки пк
- •Моделирование процесса сборки пк
- •Настройки модели
- •Корреляционный анализ
- •Регрессионный анализ
- •Задание
- •Задание на лабораторную работу №1
- •Задания на лабораторную работу №2
- •Задание на лабораторную работу №3
- •Варианты заданий
- •Варианты первых заданий
- •Варианты вторых заданий
- •Варианты третьих заданий
Операторы, имитирующие работу аппаратной категории объектов.
В аппаратную категорию входят объекты трёх типов: устройства (ОКУ), памяти (МКУ) и логические ключи.
Устройство – это объект, который может находиться в одном из двух состояний: либо быть свободным, либо занятым только одним транзактом. Изменять состояние устройства можно с помощью блоков (см. Таблица 1 .6).
Таблица 1.6 Операторы, изменяющие состояние устройства
№ |
Блок |
Описание |
1 |
SEIZEA |
Занятие устройства |
2 |
RELEASEA |
Освобождение устройства |
3 |
PREEMPT A,B,C,D,E |
Занятие устройства по приоритету |
4 |
RETURN A |
Освобождение устройства по приоритету |
5 |
FUNAVAIL A,B,C,D,E,F,G,H |
Установление устройства в режим недоступности |
6 |
FAVAILA |
Установление устройства в режим доступности |
В операнде А всех указанных выше блоков указывается идентификатор устройства, который может быть именем или номером с прямой или косвенной адресацией.
Блок занятия по приоритету относится к сложным блокам. В операнде В можно указать приоритетный режим PR. В операнде С можно указать метку, к которой направляется транзакт, обслуживание которого было прервано транзактом более высокого приоритета. В этом случае в операнде Е обязательно записывается символRE. В операндеDможно указать идентификатор параметра, в который будет записано время, оставшееся на дообслуживание прерываемого транзакта. Если операнды С и Е «нулевые» (не заполнены), то транзакт, обслуживание которого прервано, будет обслужен после завершения обслуживания прервашего его транзакта.
Блок FUNAVAIL. ОперандыB,C,Dустанавливают режим для прерываемых транзактов. ОперандыE,F– для транзактов, прерванных на данном устройстве ранее. ОперандыG,H– для транзактов, ожидающих освобождения устройства. Если эти три категории транзактов не претендуют на дообслуживание после восстановления режима доступности, то в операндахB,E,Hзаписываются символыRE(для каждой категории, независимо от других). В этом случае в операндахC,F,Hуказываются метки, к которым направляются данные категории транзактов. В операндеDможно указать идентификатор параметра, в который будет записано время, оставшееся на дообслуживание для прерываемого транзакта. Тысячилетие составление
Памяти можно использовать по прямому назначению для имитации работы памятей компьютеров, складов и т.п. Кроме того, их можно рассматривать как многоканальные устройства и в отличие от классических устройств, рассмотренных в предыдущем разделе, памяти могут заниматься и обслуживаться несколькими транзактами одновременно.
Состояние памяти могут менять четыре блока (см. Таблица 1 .7).
Таблица 1.7 Операторы, изменяющие состояние памяти
№ |
Блок |
Описание |
1 |
ENTER A,B |
Занятие памяти |
2 |
LEAVE A,B |
Освобождение памяти |
3 |
SUNAVAILA |
Установление памяти в режим недоступности |
4 |
SAVAILA |
Установление памяти в режим доступности |
В операнде А всех блоков указывается идентификатор памяти. В операнде В первых двух блоков можно указать количество занимаемых и освобождаемых мест памяти одним транзактом. По умолчанию принимается один транзакт. Для использования памяти требуется обязательно её определить командой NAMESTORAGEA, в поле метки которой указывается имя памяти, а в операнде А количество мест в памяти. Если количество мест не ограничено, то в операнде А записывается какое-то большое число, например, 1000000.
Имитация процессов коммутации в GPSS выполняется с использованием логических ключей, имеющих два состояния «Включено» – «Выключено». Работа логических ключей отображается блоком LOGIC r A, где А – имя логического ключа, r – внутренний оператор, принимающий значения I – переключить, R – выключить, S – включить. При входе транзакта в блок LOGIC происходит срабатывание соответствующего ключа. Ключи не имеют СЧА.
Примеры использования описанных выше блоков приведены в таблице 1 .8.
Таблица 1.8 Примеры использования операторов, имитирующих работу аппаратной категории объектов
Пример использования оператора |
Комментарии |
SEIZEPK |
Занятие устройства с именем PK |
SEIZE P$NUMBER_OF_FACILITY |
Занятие устройства, номер которого записан в параметре NUMBER_OF_FACILITY |
RELEASE P$NUMBER_OF_FACILITY |
Освобождение устройства, номер которого записан в параметре NUMBER_OF_FACILITY |
PREEMPTFACILITY_1 |
Когда транзакт входит в блок PREEMPT, ему предоставляется право занять устройство, если оно в настоящий момент не занято с вытеснением |
PREEMPTFACILITY_1,, FACILITY_2,101,RE |
Транзакт может в блок и занять устройство, если устройство еще не занято вытесняющим транзактом. Приоритеты транзактов игнорируются. Когда транзакт вытесняется все оставшееся в блоке ADVANCEвремя записывается в параметр 101 вытесненного транзакта. Вытесненный транзакт исключается из состязания за устройство и направляется к блоку с меткойFACILITY_2 |
PREEMPTFACILITY_1,PR, FACILITY_2 |
Транзакт может зайти в блок и занять устройство, если устройство не занято транзактом с равным или более высоким приоритетом. Любой вытесненный транзакт не исключается из состязания за устройство. Вытесненные транзакты могут продолжать двигаться в процессе моделирования и в данном случае направляются к блоку с меткой FACILITY_2 |
RETURNFACILITY_1 |
Если транзакт, занимающий устройство входит в блок RETURN, он освобождает данное устройство |
FUNAVAIL |
|
FUNAVAIL |
|
ENTERSTORAGE_1,2 |
Занятие в памяти двух мест одним транзактом |
LEAVESTORAGE_1б2 |
Освобождение в памяти двух мест одним транзактом |