- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •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.7.2. Содержание результатов моделирования
Результаты моделирования, автоматически созданные системой GPSS/PC и преобразованные в текстовую форму программой GPSSREPT, содержат информацию о различных объектах GPSS-модели. Полное описание выходных данных GPSS-модели содержится в документации по системе GPSS/PC. Ниже рассматриваются основные результаты моделирования: информация об операторах GPSS-модели, об устройствах, многоканальных устройствах и очередях.
Информация об операторах содержит следующие колонки.
LINE - номер оператора.
LOC - метка оператора. Если оператор не имеет метки, то указывается его порядковый номер.
BLOCK TYPE - имя оператора.
ENTRY COUNT - количество транзактов, вошедших в оператор.
CURRENT COUNT - количество транзактов, находящихся в операторе в конце моделирования.
RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данного оператора.
Информация об операторах часто представляет интерес для отладки GPSS-модели. Например, нулевое значение колонки ENTRY COUNT для какого-либо оператора может указывать на ошибку (транзакты по какой-то причине не поступают на этот оператор). Большая величина в колонке CURRENT COUNT также может указывать на ошибку (транзакты почему-то не могут выйти из этого оператора).
Информация об операторах может представлять интерес и с точки зрения исследования самой моделируемой системы. Например, значение колонки ENTRY COUNT для оператора GENERATE может представлять собой количество заявок, поступивших на обслуживание; значение этой же колонки для операторов SEIZE или ENTER - количество заявок, обслуженных соответствующим устройством. Значение колонки CURRENT COUNT для оператора QUEUE указывает на количество заявок, оставшихся необслуженными к моменту окончания моделирования.
Информация об устройствах, многоканальных устройствах и очередях представляет собой набор характеристик моделируемой системы.
На основе этой информации могут рассчитываться другие характеристики (например, стоимостные).
Информация об устройствах содержит следующие колонки.
FACILITY - имя устройства.
ENTRIES - количество транзактов, входивших в устройство.
UTIL. - коэффициент загрузки устройства.
AVE.TIME - среднее время пребывания транзакта в устройстве.
AVAILABLE - состояние устройства в момент окончания моделирования (1 - устройство доступно, 0 - недоступно).
OWNER - номер последнего транзакта, вошедшего в устройство.
PEND - количество транзактов, ожидающих выхода устройства из режима прерывания.
INTER - количество транзактов, пребывание которых в устройстве было прервано.
RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данного устройства.
DELAY - количество транзактов, ожидающих возможности входа в устройство (обычно это транзакты, находящиеся в очереди).
Примечание. Значения колонок PEND, INTER и RETRY связаны с использованием специальных операторов GPSS/PC, применяемых достаточно редко.
Информация о многоканальных устройствах содержит следующие колонки.
STORAGE - имя многоканального устройства.
CAP. - количество каналов.
REMAIN. - количество свободных каналов в момент окончания моделирования.
MIN.- минимальное количество занятых каналов за время моделирования.
MAX.- максимальное количество занятых каналов за время моделирования.
ENTRIES - количество транзактов, входивших в многоканальное устройство.
AVL.- состояние многоканального устройства в момент окончания моделирования (1 - доступно, 0 - недоступно).
AVE.C.- среднее количество занятых каналов за время моделирования.
UTIL.- коэффициент загрузки многоканального устройства.
RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данного многоканального устройства.
DELAY - количество транзактов, ожидающих возможности входа в многоканальное устройство (обычно это транзакты, находящиеся в очереди).
Информация об очередях содержит следующие колонки.
QUEUE - имя очереди.
MAX - максимальная длина очереди (т.е. количество транзактов в ней) за время моделирования.
CONT.- длина очереди в момент окончания моделирования.
ENTRIES - количество транзактов, входивших в очередь.
ENTRIES(0) - количество транзактов, которым не потребовалось ждать в данной очереди (нулевые входы).
AVE.CONT.- средняя длина очереди.
AVE.TIME - среднее время пребывания транзактов в очереди.
AVE.(-0) - среднее время пребывания транзактов в очереди без учета нулевых входов (т.е. без учета транзактов с нулевым временем пребывания в очереди).
RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данной очереди.
С каждым транзактом могут быть связаны параметры. Параметр транзакта представляет собой числовую величину, отражающую некоторую характеристику объекта, имитируемого транзактом. Изменение значения параметра выполняется следующим оператором:
ASSIGN A,B
где A - номер параметра (1,2,3 и т.д.) и (необязательно) знак + или -;
B - числовая величина, на которую изменяется параметр (в простейшем случае - целое число).
Пример В первом из приведенных ниже операторов ASSIGN значение 2-го параметра транзакта увеличивается на 3, во втором - уменьшается на 2, в третьем - второму параметру присваивается значение 5.
ASSIGN 2+,3
ASSIGN 2-,2
ASSIGN 2,5
На значения параметров транзактов можно ссылаться в других операторах. Ссылка на параметр имеет следующий вид: Pномер_параметра.
С каждым транзактом связывается его приоритет. Приоритет транзакта может задаваться при его создании.
Кроме того, приоритет может быть изменен в процессе моделирования следующим оператором:
PRIORITY A
где A - новый приоритет (обычно - просто целое число).
На приоритет транзакта можно ссылаться в других операторах. Ссылка на приоритет транзакта имеет следующий вид: PR.