- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •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
10.8. Взаимно исключающие параллельные процессы
Очень часто два параллельных вычислительных процесса используют общий аппаратный ресурс, например, общую часть оперативной памяти. Для правильной работы вычислительной системы необходимо обеспечить поочередный доступ к общему ресурсу и блокировать доступ к занятому ресурсу. Эта ситуация изображена на следующем рисунке.
Рис. 10.15. Сеть Петри для взаимно исключающих процессов
На этой схеме позиции p3 и p8 соответствуют критическим сегментам программы, в которых они обращаются к общему аппаратному ресурсу. Этот ресурс захватывает тот процесс, в котором раньше появится фишка в позиции p2 или p7. Пусть появилась фишка в позиции p2. Тогда переход t2 оказывается активным и фишки из позиции p2 и "разрешающей" позиции p4 поступают в позицию p3, соответствующую общему аппаратному ресурсу для двух процессов. В результате переход t3 оказывается активным и после его срабатывания фишки поступают в позицию p5 и "разрешающую" позицию p4. Все время, пока первый процесс находится в позиции p3, критическая позиция p8 оказывается заблокированной для второго процесса.
Замечание. В рассматриваемых сетях Петри рассматриваются только примитивные, мгновенно происходящие события, и соответствующие им примитивные переходы. Поэтому вероятность одновременных событий принимается равной нулю.
Замечание. Сети Петри моделируют только логику работы программы или технического устройства.
Моделирование систем с флагами. Одним из наиболее распространенных механизмов синхронизации является использование флагов (семафоров), указывающих на возможность использования в программе соответствующего блока. Флаг – это элемент данных, принимающих два значения:
"0" – блок свободен,
"1" – блок занят.
Такие системы очень просто моделируются сетями Петри.
Рис. 10.16. Моделирование системы с флагом
При поступлении фишки в позицию p1 переход t1 оказывается разрешенным. После срабатывания этого перехода фишка попадает в позицию p2 , при этом переход t1 запрещен (нет фишки в позиции p3 ).
Переход t2 разрешен и после его срабатывания фишки попадают в позиции p3 и p4 . Таким образом в позиции p2 может находиться только одна фишка (только одна заявка находится в функциональном блоке, моделируемым позицией p2 ).
По этой схеме действует пара блоков SEIZE и RELEASE языка GPSS.
10.9. Анализ сетей Петри
Построение модели вычислительной системы в форме сети Петри является только предварительным этапом моделирования. Для изучения свойств моделируемой системы необходимо провести анализ сети. На практике для этого необходимо как правило написать компьютерную программу и задавая различные исходные данные изучить работу моделируемой системы. Широкие возможности для моделирования открывает система Simulink пакета Matlab. Определим основные свойства сетей Петри, которые являются основными задачами моделирования.
Безопасность. Позиция сети Петри называется безопасной, если в ней может быть не более одной фишки. Сеть Петри называется безопасной, если все ее позиции безопасны.
Понятно, что безопасная сеть Петри позволяет упростить техническую реализацию моделируемой системы. Такая система реализуется в обычной бинарной логике на базе обычной элементной базы (триггеров, логических микросхем). Безопасные позиции соответствуют логическому условию (есть фишка – условие истинно, нет фишки – условие ложно). Если в позиции может быть несколько фишек, то такая логическая интерпретация невозможна. Таким образом только в безопасной сети возможно простое моделирование событий и условий.
Сеть Петри, являющаяся безопасной в начальный момент времени, может быть сделана принудительно безопасной (кратных дуг в сети быть не должно). Рассмотрим способ обеспечения безопасности на примере. Структура сети Петри не гарантирует безопасность, так как при поступлении в начальную позицию нескольких фишек они могут продвигаться по автоматически разрешенным переходам или накапливаться в некоторых позициях.
Рис. 10.17. Пример небезопасной сети Петри
Переход t2 на этом рисунке размножает фишки, которые накапливаются в позиции p2.
Безопасная сеть может быть создана из небезопасной различными способами. Например, можно ввести дополнительные условия, состоящие в принудительном запрещении попадания в любую позицию более одной фишки.
Рис. 10.18. Сеть Петри, которая начиная с позиции p3 становится безопасной.
Для принудительного обеспечения безопасности, например, позиции p3 достаточно ввести дополнительную позицию p5, реализующую условие: в позиции p3 нет фишки (рис. 10.18).
Понятие безопасности сети Петри естественным образом расширяется на понятие ограниченности, состоящее в том, что в позиции сети не может быть больше чем m фишек. Безопасная позиция может быть аппаратно реализована триггером, а ограниченная – счетчиком. Неограниченную сеть Петри реализовать нельзя.
Сохраняемость. Для некоторых вариантов сетевых моделей важным является понятие сохраняемость. Сеть Петри называется сохраняющей, если в процессе работы сохраняется число фишек, перемещающихся в сети. Это важно, когда фишкам соответствуют какие либо ресурсы, например, блоки памяти или устройства ввода и вывода информации.
Рис. 10.19. Пример сохраняющей сети Петри.
В процессе функционирования модели эти блоки не могут возникать или уничтожаться.
Условие сохраняемости является очень жестким. В качестве примера рассмотрим сеть, моделирующую взаимно исключающие процессы (рис. 10.19) (сравни с рис. 10.15). Если в позицию p1 фишка попадет раньше, чем в позицию p4 , то сработает переход t1 и в позицию p2 попадут две фишки (фишки из позиций p1 и p3 будут удалены). Затем через переход t2 фишки вернутся в позиции p1 и p3 . Ситуация, когда в позиции p1 и p4 фишки попадут одновременно невозможна, так как переходы примитивны.
Не сохраняющая сеть Петри показана на рис. 10.20.
Рис. 10.20. Не сохраняющая сеть Петри
Активность. В процессе функционирования сети Петри могут возникать ситуации, когда некоторые фишки попадают в тупики, в результате чего некоторые переходы сети перестают быть активными. Возможно ситуация, когда неактивны все переходы сети, в результате чего движение фишек в ней прекращается. Понятно, что это ситуация зависит от начального расположения меток в сети (от начальной маркировки).
Достижимость. С понятием активность близко связано понятие достижимость. Под достижимостью маркировки μj из начальной (из другой) маркировки μk понимается существование последовательности маркировок, приводящих сеть из состояния с маркировкой μk в состояние с маркировкой μj.