- •Язык имитационного моделирования gpssWorld
- •Базовые понятия системы имитационного моделирования gpssWorld.
- •Системные числовые атрибуты
- •Логические и условные операторы
- •Формат записи операторов языка gpss
- •Операторы, имитирующие работу динамической категории объектов.
- •Операторы, имитирующие работу аппаратной категории объектов.
- •Операторы, имитирующие работу статистической категории объектов
- •Операторы операционной категории
- •Блок выбора объекта из однородной совокупности объектов по заданному условию
- •Блоки, изменяющие маршрут движения транзактов.
- •Размножение транзактов.
- •Операторы вычислительной категории
- •Операторы, имитирующие работу группирующей категории
- •Операторы, имитирующие работу запоминающей категории
- •Примеры построения модели на языке gpssWorld
- •Пример №1
- •Пример №2
- •Пример №3
- •Пример №4
- •Пример №5
- •Пример №6
- •Редактор форм
- •Введение
- •Создание формы и указание модели
- •Ввод информации о модели
- •Настройка динамического мониторинга
- •Добавление пользовательского объекта мониторинга
- •Построение формы ввода одного эксперимента
- •Корневая панель
- •Команда «Надпись»
- •Команда «Группа»
- •Команда «Элемент управления вкладками»
- •Команда «Скрывающаяся панель»
- •Команда «Изображение»
- •Команда «Секция ввода»
- •Привязка к операнду
- •Связывание элемента диалога и элемента «надпись»
- •Добавление/удаление факторов
- •Команда «Выпадающий список»
- •Команда «Галка»
- •Команда «Кнопка»
- •Форма планирования экспериментов
- •Принципы планирования
- •Добавление факторов
- •Добавление показателей
- •Выбор серии экспериментов
- •Ручной план эксперимента
- •Автоматическое построение плана с использованием шага
- •Работа с exe-модулем
- •Ошибки во время моделирования
- •Анализ результатов
- •Открытие результатов
- •Анализ результатов моделирования одиночного эксперимента
- •Стандартный отчет
- •План полного факторного эксперимента.
- •План дробного факторного эксперимента
- •Планы второго порядка
- •Ортогональный центральный композиционный план
- •Ротатабельный центральный композиционный план
- •Планы Коно
- •Планы Кифера
- •Использование пакета Statistica10 для статистической обработки экспериментальных данных
- •Вычисление основных статистических характеристик
- •Оценка нормальности распределения
- •Необходимость проверки нормальности распределения анализируемых данных
- •Проверка на нормальность распределения анализируемых данных
- •Тесты Колмогорова – Смирнова и Шапиро – Уилка
- •График нормальных вероятностей
- •Корреляционный анализ
- •Коэффициент корреляции Пирсона
- •Коэффициент корреляции Спирмена
- •Факторный анализ
- •Выбор числа факторов
- •Кластерный анализ
- •Стандартизация данных
- •Кластерный анализ
- •Регрессионный анализ
- •Оптимизация
- •Пример моделирования предметной области и анализ результатов
- •Модель процесса сборки пк
- •Разработка модели процесса сборки пк
- •Моделирование процесса сборки пк
- •Настройки модели
- •Корреляционный анализ
- •Регрессионный анализ
- •Задание
- •Задание на лабораторную работу №1
- •Задания на лабораторную работу №2
- •Задание на лабораторную работу №3
- •Варианты заданий
- •Варианты первых заданий
- •Варианты вторых заданий
- •Варианты третьих заданий
Блоки, изменяющие маршрут движения транзактов.
Для изменения маршрута движения транзактов используются блоки, представленные в таблице 1 .13.
Таблица 1.13 Операторы, изменяющие маршрут движения транзактов
№ |
Блок |
Описание |
1 |
GATEOA,B |
Изменение движения маршрута в зависимости от состояния некоторого объекта |
2 |
TESTOA,B,C |
Сравнение значения и управление местом назначения активного транзакта, основываясь на результате сравнения |
3 |
LOOPA,B |
Изменение параметра и управление местом назначения активного транзакта, основываясь на результат |
4 |
TRANSFER A,B,C,D |
Обеспечение перехода активного транзакта к новому блоку |
В поле операции блока GATEпосле идентификатора операции с пробелом в одну позицию записывается операнд О, который является логическим оператором, перечень которых приведен в пункте 1.3. В операнде А указывается идентификатор объекта аппаратной категории. Транзакт, вошедший в блокGATE, проверяет выполнение поставленного операндом О условия и если оно выполняется, то он не меняет маршрута своего движения, а переходит к следующему блоку. При невыполнении поставленного условия, транзакт переходит к метке, указанной в операнде В.
В поле операции блока TESTзаписывается операнд О, который является условным оператором, перечень которых приведен в пункте 1.3, но из них нельзя использовать операторыMINиMAX. В операнде А указывается первый сравниваемый СЧА, в операнде В второй. Между ними действует операнд О и если поставленное в нём условие выполняется, то транзакт переходит к следующему блоку, а иначе к метке, которая указана в операнде С.
Блок LOOPпредназначен для организации цикла. В операнде А блока записывается идентификатор параметра, в котором указывается сколько раз требуется повторить цикл. В операнде В указывается метка начала цикла. Отметим, что для организации цикла до его начала требуется задать количество повторений цикла в выбранном для этого параметре.
Блок TRANSFERимеет множество модификаций:
Безусловный переход транзакта. В этом режиме операнд А остается пустым, а после запятой в операнде В указывается метка, к которой передается транзакт.
Режим статистической передачи. С вероятностью, указанной в операнде А транзакт передается на метку, идентификатор которой указан в операнде С и с вероятностью единица минус указанная на метку, указанную в операнде В. Если метка, указанная в операнде В, следует сразу после блока TRANSFER, то ее можно не указывать.
Режим BOTH. В операнде А записывается символ модификации выбора по условию –BOTH. Транзакт, вошедший в блокTRANSFERпытается занять устройство, метка которого указана в операнде В, если это не удаётся то занять устройство, метка которого указана в операнде С, если и это ему не удаётся, то транзакт остаётся в блокеTRANSFERдо тех пор, пока не появится возможность занять одно из указанных устройств. Если метка, указанная в операнде В, следует сразу после блокаTRANSFER, то ее можно не указывать.
Режим FN. В режимеFNместо назначения активного транзакта выбирается путем вычисления функции, заданной в операндеB.
Примеры использования описанных выше блоков приведены в таблице 1 .14..
Таблица 1.14 Примеры использования операторов операционной категории
Пример использования оператора |
Комментарии |
GATESNF STORAGE_1 |
Активный транзакт входит в блок GATE, если память с именемSTORAGE_1 не заполнена. Если память заполнена, активный транзакт блокируется до тех пор, пока 1 или более элементов памяти не станут доступными |
GATE SNE STORAGE_1,METKA_EXIT |
Активный транзакт входит в блок GATE. Если память с именемSTORAGE_1 не пуста, транзакт переходит к следующему по порядку блоку. Если память пуста, активный транзакт направляется на меткуMETKA_EXIT |
TESTG C1,70000 |
Активный транзакт входит в блок TEST, если значение относительного модельного времени больше 70000. Иначе, транзакт блокируется до тех пор, пока условие не будет выполнено |
TEST G Q$QUEUE_1, Q$QUEUE_2,METKA_EXIT |
Активный транзакт входит в блок TEST. Если длина очереди с именемQUEUE_1 больше длины очереди с именемQUEUE_2, транзакт переходит к следующему по порядку блоку. Иначе, транзакт направляется к блоку с меткойMETKA_EXIT. |
ASSIGN LOOP_INDEX,5
LOOP_START SEIZE PK ADVANCE 10 RELEASE PK
LOOP LOOP_INDEX,LOOP_START |
Когда транзакт входит в блок LOOP, его параметр с именемLOOP_INDEXуменьшается на 1. Если результат не нулевой, то транзакт переходит к блоку с меткойLOOP_START. Иначе, транзакт переходит к следующему по порядку блоку |
TRANSFER,NEW_PLACE |
Когда транзакт входит в блок TRANSFER, он немедленно направляется в блок с меткойNEW_PLACE |
TRANSFER.75,,NEW_PLACE |
Когда транзакт входит в блок TRANSFER, он переходит к меткеNEW_PLACEс вероятностью 0,75. С оставшейся вероятностью он переходит к следующему по порядку блоку. |
TRANSFER BOTH, FIRST_PLACE, SECOND_PLACE |
Когда транзакт входит в блок TRANSFER, проверяется блок с меткойFIRST_PLACE. Если транзакт не может войти в него, проверяется блок с меткойSECOND_PLACE. Если транзакту отказана во входе и во второй блок, от остается в блокеTRANSFERдо тех пор, пока не сможет войти в один из блоков |
TRANSFER FN,SELECTED_DEVICE |
Место назначения активного транзакта выбирается путем вычисления функции SELECTED_DEVICE |