- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •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.11. Стандартные числовые атрибуты
Стандартные числовые атрибуты (СЧА) - это числовые характеристики различных элементов GPSS-модели, автоматически рассчитываемые в процессе моделирования. СЧА являются доступными для программиста на GPSS/PC, т.е. на них можно ссылаться в тексте GPSS-модели. СЧА могут использоваться в качестве операндов большинства операторов языка GPSS/PC.
В GPSS/PC имеются системные СЧА, содержащие информацию о модели в целом, и СЧА отдельных элементов модели (транзактов, операторов модели, устройств, многоканальных устройств, очередей). Основные СЧА (их имена и значения) приводятся ниже.
К системным относятся следующие СЧА.
C1 - текущее значение относительного времени.
AC1 - текущее значение абсолютного времени (понятия относительного и абсолютного времени будут рассмотрены в разделе 11.26).
TG1 - текущее значение счетчика завершений.
XN1 - номер активного (обрабатываемого в данный момент) транзакта.
Z1 - размер свободной оперативной памяти в байтах.
Транзакты имеют следующие СЧА.
Pj - параметры транзактов (где j - номер параметра).
PR - приоритет транзакта.
M1 - время пребывания транзакта в модели.
Операторы GPSS-модели имеют следующие СЧА.
N - количество транзактов, вошедших в оператор.
W - текущее количество транзактов в операторе.
Устройства имеют следующие СЧА.
F - состояние устройства (0 - устройство свободно, т.е. в нем нет транзактов; 1 - в устройстве есть транзакт).
FI - признак прерывания устройства (1 - устройство находится в состоянии прерывания).
FV - признак доступности устройства (1 - устройство доступно).
FR - коэффициент загрузки устройства (указывается в тысячных долях; например, если коэффициент загрузки равен 0,85, то данный СЧА равен 850).
FC - общее количество транзактов, входивших в устройство.
FT - среднее время пребывания транзактов в устройстве.
Примечание. Состояния прерывания и недоступности устройств устанавливаются специальными операторами GPSS/PC.
Многоканальные устройства имеют следующие СЧА.
S - текущее количество занятых каналов.
R - текущее количество свободных каналов.
SR - коэффициент загрузки многоканального устройства (в тысячных до лях).
SA - среднее количество занятых каналов (за время с начала имитации).
SM - максимальное количество занятых каналов (с начала имитации).
SC - общее количество транзактов, входивших в многоканальное устройство.
ST - среднее время пребывания транзактов в многоканальном устройстве.
SE - признак пустоты многоканального устройства (1 - устройство пусто, т.е. в нем нет ни одного транзакта).
SF - признак заполненности многоканального устройства (1 - в устройстве заняты все каналы).
SV - признак доступности многоканального устройства (1 - устройство доступно).
Очереди имеют следующие СЧА.
Q - текущая длина очереди (т.е. количество транзактов в ней).
QA - средняя длина очереди (с начала моделирования).
QM - максимальная длина очереди (с начала моделирования).
QC - общее количество транзактов, входивших в очередь.
QZ - количество транзактов с нулевым временем пребывания в данной очереди (нулевые входы).
QT - среднее время пребывания транзактов в очереди (с учетом нулевых входов; для них время пребывания в очереди равно нулю).
QX - среднее время пребывания транзактов в очереди (без учета нулевых входов).
Для ссылки в операторе языка GPSS/PC на системный СЧА или на СЧА транзакта достаточно указать его имя. Для ссылки на СЧА какого-либо элемента модели требуется указать имя СЧА и имя соответствующего элемента (устройства, очереди и т.д.). Между именем СЧА и элемента модели не должно быть пробелов. Если имя элемента модели числовое (т.е. представляет собой номер), то оно указывается непосредственно после имени СЧА. Если имя элемента модели символьное, то между именем СЧА и именем элемента модели указывается знак $. Например, ссылка на текущее состояние устройства с именем PRINTER указывается так: F$PRINTER, а для устройства, обозначаемого в GPSS-модели номером 2 - в следующем
виде: F2.
Приведем примеры GPSS-моделей, использующих СЧА.
Пример (моделирование СМО с ограничением на длину очереди). На ВЦ, имеющий три ЭВМ, поступают задачи для решения; интервал времени между задачами составляет 20,5 часа. Решение одной задачи занимает 5 часов 20 минут. Чтобы исключить невыполнение задач в срок, ВЦ не принимает задачи на решение, если уже имеются 6 задач, ожидающих решения. Требуется разработать GPSS-модель для анализа работы ВЦ в течение 100 часов. Предусмотреть подсчет количества решенных задач, а также задач, получивших отказ.
Для имитации работы ВЦ введем многоканальное (трехканальное) устройство с именем COMP. Очередь к нему обозначим номером 1. Для подсчета количества решенных задач и задач, получивших отказ, будем использовать сохраняемые величины RESH и OTK соответственно. Запуск модели выполняется командой START 1.
5 SIMULATE
10 COMP STORAGE 3
20 GENERATE 120,30
30 TEST L Q1,6,OTKAZ
40 QUEUE 1
50 ENTER COMP
60 DEPART 1
70 ADVANCE 300,20
80 LEAVE COMP
90 SAVEVALUE RESH+,1
100 TRANSFER ,KON
110 OTKAZ SAVEVALUE OTK+,1
120 KON TERMINATE
130 GENERATE 6000
140 TERMINATE 1
Проверка возможности обслуживания задачи выполняется в операторе TEST L (номер 30). В нем проверяется условие Q1<6, где Q1 - текущая длина очереди с номером 1. Если условие Q1<6 выполняется, то транзакт (имитирующий задачу) пропускается на следующий оператор, т.е. имитируется поступление задачи в очередь на ВЦ. В противном случае транзакт передается на метку OTKAZ, учитывается в сохраняемой величине OTK и удаляется из модели.
Пример (моделирование СМО с отказами). Имитируется работа такого же ВЦ, что и в предыдущем примере. Однако ВЦ работает в следующем режиме: если задача поступает в момент, когда все три ЭВМ уже заняты решением задач, то поступившая задача не обслуживается (покидает ВЦ).
5 SIMULATE
10 COMP STORAGE 3
20 GENERATE 120,30
30 TEST NE SF$COMP,1,OTKAZ
50 ENTER COMP
70 ADVANCE 300,20
80 LEAVE COMP
90 SAVEVALUE RESH+,1
100 TRANSFER ,KON
110 OTKAZ SAVEVALUE OTK+,1
120 KON TERMINATE
130 GENERATE 6000
140 TERMINATE 1
Проверка возможности обслуживания задачи выполняется в операторе TEST NE. В нем проверяется следующее условие: признак заполненности многоканального устройства COMP (СЧА SF$COMP) НЕ РАВЕН 1 (т.е. не все каналы COMP заняты). Если условие выполняется, то транзакт (имитирующий задачу) пропускается на следующий оператор, т.е. имитируется поступление задачи на одну из ЭВМ для решения. В противном случае транзакт передается на метку OTKAZ, учитывается в сохраняемой величине OTK и удаляется из модели.