- •Введение
- •Глава 1. Основные понятия теории моделирования
- •1.1. Классификация видов моделирования
- •1.2. Жизненный цикл компьютерной модели
- •1.3. Вычислительный эксперимент
- •1.4. Наиболее известные методологии и системы компьютерного моделирования
- •1.4.1. Универсальные системы моделирования
- •1.4.2.Системы моделирования бизнес-процессов
- •1.5. О моделировании вычислительных систем
- •Глава 2. Введение в сети Петри
- •2.1. Обыкновенные сети Петри
- •2.1.1. Формальное определение
- •2.1.2. Графы сетей Петри
- •2.1.3. Пространство состояний сети Петри
- •2.1.4. Основные свойства сетей Петри
- •2.1.5. Некоторые обобщения сетей Петри
- •Инварианты сетей Петри
- •2.2. Раскрашенные (цветные) сети Петри
- •2.2.1. Мультимножества
- •2 2.2. Формальное определение cpn
- •2.2.3. Функционирование cpn
- •2.2.4. Расширения cpn
- •2.2.5. Сравнение формализмов обыкновенных и раскрашенных сетей Петри
- •2.2.6. О моделирующих возможностях сетей Петри.
- •2.3. Моделирование дискретных систем
- •2.3.1. Моделирование вычислительных систем
- •1. Простейшая система массового обслуживания.
- •2.3.2. Моделирование программ
- •1. Последовательная модель программирования
- •2. Модель параллелизма данных
- •3. Моделирование некоторых структур параллельного программирования. Семафоры
- •4. Метод асинхронного программирования
- •3 Моделирование протоколов передачи данных
- •1. Описание работы протокола
- •3. Временной механизм работы cpn
- •4. Описание работы cpn
- •2.3.4. Об исследовании сетей Петри с помощью эвм
- •Глава 3. Моделирование вычислительных Процессов с помощью цепей Маркова
- •3.1. Определение цепи Маркова
- •3.3. Классификация состояний цепей Маркова
- •3.4. Оценка длительности пребывания процесса в множестве невозвратных состояний
- •3.5. Исследование динамики цепей Маркова при большом числе шагов
- •4.1. Задачи и упражнения по главе 2
- •4.2. Задачи и упражнения по главе 3
- •1. Запуск программы и построение графа сети Петри
- •2. Задание цветовых множеств, переменных и начальной маркировки
- •Библиографический список
- •Глава 1.Основные понятия теории моделирования 5
- •Глава 2 Введение в сети Петри 21
- •Глава 4. Задания для самостоятельной работы 148
- •Глава 5. Лабораторный практикум 162
2.2.4. Расширения cpn
Как уже отмечалось в п. 2.1.5., использование сетей Петри в различных прикладных задачах может потребовать придания им дополнительных возможностей, что приводит к созданию расширений этих сетей. Некоторые расширения аналогичны рассмотренным в п 2.1.5, (например иерархические СРN), потребность в ряде других отсутствует, т.к. формализм СРN позволяет их описать (CPN с приоритетами, ингибиторные сети, самомодифицируемые сети).
Ниже мы рассмотрим одно важное расширение СРN, значительно расширяющее их моделирующие возможности.
CPN с временным механизмом
Существует ряд задач моделирования, в которых необходимо учитывать не только последовательность событий, но и время их наступления, а также продолжительность. Для этой цели предусмотрено расширение возможностей раскрашенных сетей Петри путем введения временного механизма (так называемых timed CPN [10]). В несколько упрощенном виде сущность такого расширения описана ниже.
А. В модель системы вводятся часы, показывающие глобальное время t. Обычно это время считается дискретным, т.е. означает номер такта, выдаваемого тактовым генератором системы моделирования. Глобальное время t отличается от времени θ, которое содержится в определении (2.10), поскольку θ есть номер шага работы CPN, а t изменяется независимо от работы сети.
Б. Ресурсы, перемещаемые в сети (фишки), могут получить временные метки. Такие ресурсы в общем виде задаются мультимножествами с временными метками (timed multi-sets), однако мы эту теорию не рассматриваем. Отметим лишь, что при описании множества цветов добавляются пометки timed, а переменные соответствующего типа снабжаются знаками @ (по-английски читается at, т.е. «во время»). Это означает, что переменная привязана к глобальному времени. После значка @ в квадратных скобках указывается значение глобального времени, в течение которого возможно использование данных фишек для срабатывания переходов, для которых они являются входными. При этом запись вида @[500] говорит о том, что фишка «включается» в момент t = 500 и далее готова для работы в сети, а запись @[500, 600] означает, что фишка может использоваться в диапазоне глобального времени 500 < t < 600.
Приведем пример.
type colorU = (p,q,r);
type color I — Integer;
type colorP = product U*I timed ;
var x : colorP.
Возможное значение мультимножества, определяемого переменной х:
2'(р,4)@[543].
В. Каждый переход, на вход которого поступают фишки, имеющие временные метки, получает дополнительное условие срабатывания: он может сработать только в том случае, если системное время удовлетворяет всем условиям на входных фишках.
В свою очередь, при срабатывании переход может увеличить временную метку фишки, т.е. смоделировать задержку в работе системы. Величина задержки определяется специальным выражением, связанным с переходом и имеющим вид @+ tz , где tz - время задержки, задаваемое числом или функцией.
Пусть в сети (рисунок 2.7) начальная маркировка такова: m1 =2'(p4)@[543], т2 =0. Выражения на дугах показаны на схеме. Глобальное время т = 543. Переход t может сработать, при этом он осуществит задержку передачи фишек в р2 на 12 единиц времени в соответствии с выражением на t. Таким образом, после срабатывания t получим маркировку
m1=Ø, m2 =2'(p,4)@[555].
Пример CPN с временным механизмом приведен в п. 2.3.3.