- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •2. Классификация видов моделирования систем
- •3. Основные математические методы моделирования информационных процессов и систем
- •3.1. Виды математических моделей
- •3.2. Структурные математические модели
- •3.3. Функциональные математические модели
- •3.3.1. Непрерывно-детерминированные модели
- •3.3.2. Непрерывно-стохастические модели
- •3.3.2.1. Анализ работы разомкнутых смо
- •3.3.2.2. Замкнутые смо
- •3.4. Моделирование дискретных систем
- •3.4.1. Конечные автоматы
- •3.4.2. Дискретно-детерминированные модели
- •3.4.3. Вероятностные автоматы
- •3.5. Сетевые модели. Сети Петри (n-схемы)
- •4. Имитационное моделирование информационных процессов
- •4.1. Организация статистического моделирования
- •4.2Моделирование случайной величины с заданным законом распределения
- •4.3 Моделирование равномерно распределенных на отрезке [a,b] случайных чисел
- •4.4. Моделирование показательно распределенных св
- •4.5. Моделирование нормально распределенных случайных чисел
- •4.6. Проверка качества случайных чисел по критерию
- •4.7. Точность статистических оценок
- •4.8. Аппроксимация результатов моделирования
- •5. Формализация и алгоритмизация процессов функционирования систем
- •5.1. Методика разработки и машинной реализации моделей систем
- •5.2. Построение концептуальных моделей систем и их формализация
- •5.3. Алгоритмизация моделей систем и их машинная реализация
- •6. Планирование имитационных моделй с экспериментами
- •6.1. Полный факторный эксперимент
- •6.2. Дробные реплики
- •6.3. Общая схема планирования эксперимента
- •6.3.1. "Крутое восхождение"
- •6.3.2. Этапы планирования эксперимента
- •6.4. Стратегическое планирование
- •6.5. Тактическое планирование
- •7. Оценка точности и достоверности результатов моделирования
- •7.1. Общие положения
- •7.2. Регрессионный анализ
- •7.3. Корреляционный анализ
- •7.4. Экспертные оценки
- •8. Инструментальные средства моделирования систем
- •8.1. Архитектура языков имитационного моделирования
- •8.2. Задание времени в машинной модели
- •8.3. Сравнительный анализ языков моделирования
- •8.4. Примеры прикладных пакетов моделирования и языков моделирования
- •9. Правила построения моделирующих алгоритмов и способы реализации моделей
- •10. Сетевые модели вычислительных систем
- •10.1. Определение: Сеть Петри
- •Объекты, образующие сеть Петри
- •2Расширенная входная Расширенная выходная
- •10.2. Маркировка сети Петри.
- •10.3. Пространство состояний сети Петри
- •10.4. Моделирование параллельных процессов.
- •10.5. Моделирование процессора с конвейерной обработкой
- •10.6. Кратные функциональные блоки компьютера
- •10.7. Сети Петри и программирование
- •10.8. Взаимно исключающие параллельные процессы
- •10.9. Анализ сетей Петри
- •10.10. Дерево достижимости сети Петри
- •В позицию может входить и выходить только одна дуга
- •11. Система имитационного моделирования gpss/pc
- •11.1. Назначение и основные возможности системы
- •11. 2. Состав системы моделирования gpss/pc
- •11.3. Структура операторов языка gpss/pc
- •11.4. Команды среды gpss/pc
- •11.5. Основные операторы языка gpss/pc
- •11.5.1. Начало gpss-модели
- •11.5.2. Комментарии в gpss/pc
- •11.5.3. Имитация потоков событий. Транзакты
- •11.5.4. Имитация типовых узлов смо
- •11.6. Информация о ходе моделирования
- •11.6.1. Окно данных
- •11.6.2. Окно блоков
- •11.6.3. Окно устройств
- •11.6.4. Окно многоканальных устройств
- •11.7. Информация о результатах моделирования
- •11.7.1. Файл результатов моделирования
- •11.7.2. Содержание результатов моделирования
- •11.9. Управление движением транзактов
- •11.10. Дополнительные средства сбора информации о модели
- •11.11. Стандартные числовые атрибуты
- •11.12. Выбор направления движения транзактов с использованием сча
- •11.13. Датчики случайных чисел в gpss/pc
- •11.14. Функции в gpss/pc
- •11.14.1. Дискретные функции
- •11.14.2. Непрерывные функции
- •11.15. Переменные в gpss/pc
- •11.16. Организация циклов
- •11.17. Логические переключатели
- •11.18. Управление движением транзактов в зависимости от состояния элементов модели
- •11.19. Моделирование согласованных процессов на gpss-pc
- •11.19.1. Создание ансамблей транзактов
- •11.19.2. Накопление нескольких транзактов для последующей обработки
- •11.19.3. Объединение нескольких транзактов в один
- •11.19.4. Синхронизация движения транзактов в модели
- •11.20. Время пребывания транзакта в модели
- •11.21. Сбор данных о распределении значений характеристик модели. Таблицы
- •11.22. Изменение имени файла результатов моделирования
- •11.23. Приведение модели к исходному состоянию
- •11.24. Многократное выполнение моделирования
- •11.25. Моделирование нескольких вариантов системы в одной gpss-модели
- •11.26. Время моделирования
- •3 94026 Воронеж, Московский просп., 14
11.12. Выбор направления движения транзактов с использованием сча
В языке GPSS/PC имеются операторы, позволяющие управлять движением транзактов в зависимости от значений СЧА (т.е. от числовых характеристик объектов, имитируемых в GPSS-модели). Одна из таких возможностей уже рассмотрена в разделе 2.11 (применение оператора TEST).
В некоторых случаях требуется выбрать элемент модели, удовлетворяющий заданному условию, для какой-либо операции с ним. Например, во многих задачах требуется выбирать для транзакта (имитирующего обслуживаемую заявку) свободное устройство, наименее загруженное устройство, самую короткую очередь и т.д. Для этого применяется оператор SELECT. Формат этого оператора следующий.
SELECT усл A,B,C,D,E,F
Здесь "усл" - условие. Оператор SELECT обнаруживает элемент модели, удовлетворяющий заданному условию, и записывает его номер в заданный параметр транзакта, вошедшего в этот оператор. Некоторые из условий, которые могут задаваться в операторе SELECT, следующие (полный список условий имеется в документации по GPSS/PC).
Состояния устройств: NU - устройство свободно; U - устройство занято; NI - устройство не находится в состоянии прерывания; I - устройство находится в состоянии прерывания; FV - устройство доступно; FNV - устройство недоступно;
Состояния многоканальных устройств: SE - многоканальное устройство пусто (т.е. в нем нет транзактов); SNE - многоканальное устройство не пусто; SF - многоканальное устройство заполнено; SNF - многоканальное устройство не заполнено; SV- многоканальное устройство доступно; SNV многоканальное устройство недоступно;
Операторы отношения: MAX - максимальное значение СЧА; MIN минимальное значение СЧА; L - меньше; LE - меньше или равно; E - равно; NE - не равно; G - больше; GE - больше или равно.
Назначение операндов оператора SELECT следующее.
A - номер параметра, в который записывается номер объекта, удовлетворяющего заданному условию.
B,C - нижняя и верхняя граница номеров объектов, для которых проверяется заданное условие.
D - величина, с которой сравнивается заданный СЧА объекта. Сам СЧА задается в операнде E. Операнд D требуется указывать только в случае, если в качестве "условия" указан оператор отношения.
E - имя СЧА, для которого проверяется заданное условие.
F - метка оператора, на который должен перейти транзакт, если заданное условие не выполняется ни для одного из объектов модели (при выполнении условия для какого-либо объекта транзакт переходит на следующий оператор). Если операнд F не указан, то транзакт в любом случае переходит на следующий оператор. Если в качестве условия указаны операторы отношения MIN или MAX, то указывать операнд F не требуется, так как эти условия выполняются всегда.
Примечание. Если при составлении GPSS-модели предполагается выбирать какой-либо элемент модели (устройство, очередь, многоканальное устройство) с использованием оператора SELECT, то этому элементу модели необходимо присвоить номер, а не символьное имя.
Пример. Пусть в некоторой GPSS-модели имеются многоканальные устройства с номерами от 1 до 5. Требуется выбрать из них устройство, имеющее не менее двух свободных каналов, и записать номер этого устройства в третий параметр транзакта. Если такого устройства не окажется, то транзакт должен перейти на оператор с меткой KON. Эти действия реализуются следующим оператором SELECT:
SELECT GE 3,1,5,2,R,KON
Пример. На ВЦ поступают задачи для решения; интервал между задачами составляет от 2 до 4 часов. Решение одной задачи занимает от 2 до 6 часов. На ВЦ имеются три ЭВМ. К каждой ЭВМ формируется отдельная очередь задач, ожидающих решения. Задача, поступившая на решение, направляется на свободную ЭВМ, а если все ЭВМ заняты - то на ЭВМ, у которой самая короткая очередь. Требуется разработать GPSS-модель для анализа работы ВЦ в течение 100 часов.
Примечание. В данной модели нельзя имитировать ВЦ как многоканальное устройство, так как к каждой ЭВМ имеется своя очередь. Поэтому требуется имитировать каждую ЭВМ как отдельное устройство (однока-нальное).
10 SIMULATE
20 GENERATE 3,1
30 SELECT NU 1,1,3,,,SELQ
40 TRANSFER ,RESH
50 SELQ SELECT MIN 1,1,3,,Q
60 RESH QUEUE P1
70 SEIZE P1
80 DEPART P1
90 ADVANCE 4,2
100 RELEASE P1
110 TERMINATE
120 GENERATE 100
130 TERMINATE 1
GPSS-модель работает следующим образом. Для устройств, имитирующих ЭВМ, используются числовые имена (номера) 1,2,3. Очереди к устройствам обозначаются такими же номерами. Транзакт из оператора GENERATE поступает в оператор SELECT NU 1,1,3,,,SELQ. В этом операторе из устройств с номерами 1,2,3 выбирается свободное устройство (это задается условием NU); номер такого устройства записывается в первый параметр транзакта. Если свободное устройство найдено, то транзакт переходит на следующий оператор (TRANSFER ,RESH) и передается на метку RESH (на вход в очередь с номером, указанным в его первом параметре); такой транзакт не будет ждать в очереди и сразу же перейдет в оператор SEIZE P1, т.е. войдет в устройство с выбранным номером. Если свободное устройство не найдено, то транзакт передается на метку SELQ. В операторе SELECT MIN 1,1,3,,Q из очередей с номерами 1,2,3 выбирается очередь с минимальной длиной (СЧА Q - длина очереди). Номер очереди записывается в параметр 1. Затем транзакт входит в очередь с выбранным номером.
Важно отметить, что группа операторов с номерами 60-100 в данной модели имитирует работу не одного, а трех устройств (и трех очередей к ним); номера этих устройств содержатся в первом параметре обрабатываемых транзактов. Например, оператор QUEUE P1 означает вход в очередь, номер которой записан в первом параметре транзакта. В файле результатов для этой модели будут содержаться данные об очередях и об одноканальных устройствах с номерами 1,2,3.