Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория вычислительных процессов и структур. Учебное пособие
.pdf
представлен как совокупность действий, возникающих в качестве реализации тех или иных событий.
Если некоторая группа условий позволяет реализоваться какому-то событию, то для него они являются предусловиями. При этом
реализация события может изменить некоторые условия. Эти условия
называются постусловиями события.
Время в сетях Петри, как правило, не вводится. Вместо него
рассматриваются причинно-следственные связи между событиями.
Такие модели называются асинхронными, и события в них рассматриваются как элементарные, мгновенные. Возможна также ситуация, когда некоторое событие рассматривается как составное. Тогда его
структуру образуют подсобытия.
Если необходимо представить привязку ко времени, то интервалы времени можно представить в виде событий.
5.2. Элементы сети Петри
Итак, для моделирования дискретной системы можно представить ее структуру в виде событий и условий, определенным образом
связанных между собой.
В графической модели сети Петри события представлены пере-
ходами, а условия – позициями, или местами.
Переходы изображаются планками (или прямоугольниками) и
обозначаются буквой t. Позиции изображаются кружками и обозначаются буквой p. Связь, которая существует между условиями и событиями, изображается в виде направленных дуг, соединяющих позиции и
переходы, причем, если на одном конце дуги имеется позиция, то на
другом – обязательно переход, и наоборот (т.е. ситуация, когда дуга соединяет позицию с позицией или переход с переходом, невозможна).
Позиции, из которых на данный переход идут дуги, называются его входными позициями. Позиции, на которые из данного перехода
идут дуги, называются его выходными позициями.
На рис. 5.1 представлен пример сети Петри. У нее 6 позиций и
4 перехода.
Позиция p1 является входной как для перехода t1, так и для перехода t2. Выходными позициями для перехода t1 являются p2 и p3, а
для t2 – p4. У перехода t3 одна входная позиция (p2) и одна выходная
(p5). У перехода t4 две входных позиции (p2 и p3) и одна – выходная (p6).
41

Рис. 5.1. Пример графического представления сети Петри C1
Еще одним элементом графического устройства сети Петри являются фишки, или маркеры. Они изображаются в виде точек, расположенных внутри позиций, и образуют маркировку сети Петри. Размещение фишек в позициях сети определяет возможность выполнения
в данный момент тех или иных условий. Если внутри позиции отсутствуют фишки, то это означает, что соответствующее условие не выполнено. Присутствие в позиции одной и более фишек говорит о том,
что условие выполнено с емкостью, равной количеству фишек.
Если фишек в позиции слишком много, их можно не рисовать внутри
позиции, а заменить числом, равным их количеству.
В сети Петри на рис. 5.1 имеется только одна фишка, и находится она в позиции p1.
Положение и количество фишек сети Петри может изменяться
(говорят, что происходит изменение ее маркировки), и тем самым моделируется работа системы: под влиянием тех или иных условий (позиций, содержащих фишки) происходят некоторые события, вследствие чего условия внутри системы меняются. События моделируются
переходами, и, когда событие происходит в результате выполнения
необходимых для него условий, говорят о срабатывании перехода.
Более подробно о работе сети Петри будет сказано ниже.
5.3. Теоретико-множественное определение сети Петри
Формально сеть Петри можно определить как совокупность
четырех объектов:
C = (P, T, I, O),
где P = {p1, p2,…, pn} – конечное непустое множество позиций (n 0);
T = {t1, t2,…, tm} – конечное непустое множество переходов (m 0);
42

I – входная функция, которая отображает переход tj в множество входных позиций {I(tj)}; O – выходная функция, которая отображает переход pi в множество выходных позиций {O(pi)}.
Позиция р
является входной позицией перехода t
i
, если
j
pi = I(tj). Позиция рi является выходной позицией перехода tj, если
pi = O(tj).
Множества P и T не пересекаются: P T = .
Для позиций и переходов могут быть использованы также
специальные обозначения.
Входная позиция перехода t обозначается как •t, а выходная –
как t•.
Аналогичным образом можно ввести подобные обозначения
для позиций: •p – входной переход позиции p, а p
•
– выходной переход
позиции p.
Запишем теперь в качестве примера структуру сети Петри C1 с
рис. 5.1, используя теоретико-множественное определение:
C1 = (P, T, I, O);
P = {p1, p2, p3, p4, p5, p6};
T = {t1, t2, t3, t4};
I(t1) = {p1}; I(t2) = {p1}; I(t3) = {p2}; I(t4) = {p2, p3};
O(t1) = {p2, p3}; O(t2) = {p4}; O(t3) = {p5}; O(t4) = {p6}.
Рассмотренное определение сети Петри может быть дополнено
маркировкой. Введем формальное определение данного понятия.
Маркировка сети Петри – это отображение множества позиций Р на множество неотрицательных целых чисел N:
: P N.
Присовокупив функцию к четырем объектам (P, T, I, O), получим маркированную сеть Петри
M = (C, ) = (P, T, I, O, ).
43

5.4. Граф сети Петри
Как видно из изложенного выше материала, графическое изображение сети Петри фактически представляет собой граф, в котором
два типа вершин соединены направленными дугами. Если говорить
точнее, то граф сети Петри является двудольным ориентированным
мультиграфом. Разберем это понятие.
Сеть Петри есть мультиграф, так как в нем возможно присутствие кратных дуг от одной вершины к другой (в примере на рис. 5.1
от перехода t4 к позиции p6 ведет дуга с кратностью 2). Поскольку дуги этого мультиграфа обладают направлением, то он является ориентированным. Поскольку вершины графа сети Петри можно разделить
на два множества (позиции и переходы), причем каждая дуга будет
направлена от элемента одного множества к элементу другого множества, он является двудольным.
Введем формальное определение:
Граф G сети Петри есть двудольный ориентированный мультиграф G = (V, А), где V = {v1, v2,..., vs} – множество вершин;
А = {a1, а2,..., аk} – множество направленных дуг.
Множество V представляется собой объединение множеств
позиций и переходов: V = P T. Каждый элемент ai множества A характеризуется парой (vj, vk), где vj V, vk V, причем либо vj P и
vk T, либо vj T и vk P.
5.5. Работа сети Петри
Функционирование системы моделируется в сети Петри посредством перемещения фишек из одних позиций в другие, что соответствует возникновению событий под влиянием определенных условий и, как следствие, изменению тех или иных условий внутри системы. Это и есть работа, или выполнение, сети Петри.
Говорят, что в процессе выполнения сети Петри происходит запуск (срабатывание) переходов. Запуск перехода состоит в удалении фишек и его входных позиций и образование новых фишек в его
выходных позициях. В результате запуска перехода количество фишек, которые были удалены из его входных позиций, и количество
фишек, которые образовались в его выходных позициях, может различаться (рис. 5.2, 5.3).
44

Рис. 5.2. Фрагмент сети Петри. При срабатывании перехода
из его входной позиции удаляется одна фишка, и по одной фишке
появляется в трех выходных позициях
Рис. 5.3. Фрагмент сети Петри. При срабатывании перехода
из трех его входных позиций удаляется по одной фишке,
и одна фишка появляется в единственной выходной позиции
Переход может быть запущен только в том случае, если он
разрешен. Переход является разрешенным, если каждая из его вход-
ных позиций имеет число фишек, которое равно или больше числа дуг
из позиции в переход. Для кратных входных дуг необходимы кратные
фишки: из позиции к переходу может идти несколько дуг, и для запуска такого перехода количество фишек в позиции должно соответствовать количеству дуг (рис. 5.4). Фишки во входных позициях, которые
разрешают переход, называются его разрешающими фишками.
Рис. 5.4. Фрагмент сети Петри. Переход сможет запуститься только
тогда, когда в позиции окажется не менее трех фишек
45

Если могут сработать несколько переходов, не имеющих общих входных позиций, то их срабатывания являются независимыми и
могут быть осуществлены в любой последовательности или параллельно.
Если несколько переходов имеют общую входную позицию и
могут сработать, то срабатывает только один из них, причем любой.
При этом может возникнуть ситуация, когда срабатывание одного перехода лишит возможности сработать другие переходы.
Таким образом, в сети Петри предусмотрен механизм для моделирования конфликтов между событиями, когда реализация одного
события исключает реализацию других событий. При этом в сети не
содержится указаний, каким образом конфликт должен быть разрешен. Данная проблема находится вне формализма сети.
Если ни один из переходов не может сработать, сеть останавливает свою работу.
Ниже, на рис. 5.5–5.8, представлена работа сети Петри из примера на рис. 5.1, в которой изначально имеется только одна фишка,
находящаяся в позиции p1. Уже начальная разметка представляет конфликтную ситуацию: сработать может либо переход t1, либо t2, причем
срабатывание одного однозначно лишает возможности сработать другого.
Рис. 5.5. Разметка сети Петри C1 в результате срабатывания перехода t1
На рис. 5.5 показана разметка, которая получается в результате
срабатывания t1. Здесь мы вновь сталкиваемся с конфликтом, на этот
раз между переходами t3 и t4. При срабатывании t3 (рис. 5.6) сеть остановится, т.к. получит разметку, в которой срабатывание каких-либо
переходов больше невозможно.
46

Рис. 5.6. Разметка сети Петри C1 в результате срабатывания перехода t3
На рис. 5.7 и 5.8 представлены разметки, являющиеся результатами срабатывания, соответственно, переходов t4 и t2. Эти разметки
также создают ситуацию, в которой сеть остановится.
Рис. 5.7. Разметка сети Петри C1 в результате срабатывания перехода t4
Рис. 5.8. Разметка сети Петри C1 в результате срабатывания перехода t2
47

В процессе работы сети Петри происходит смена разметок позиций: запуск некоторого перехода t изменяет текущую маркировку
на '. Говорят, что маркировка ' достижима из посредством запуска перехода t. Можно обобщить это понятие на последовательность
запусков.
Множество всех маркировок, достижимых из начальной маркировки в сети Петри С, обозначается как R(C, ).
Поскольку запускается всегда только тот переход, который
разрешен, количество фишек в каждой позиции всегда больше или
равно нулю.
5.6. Классификация сетей Петри
В зависимости от внутреннего устройства можно выделить
следующие классы сетей Петри:
1. Автоматные сети. Каждый переход имеет не более одного
входа и не более одного выхода.
2. Маркированные графы. Каждая позиция имеет не более од-
ного входа и не более одного выхода.
3. Сети со свободным выбором. Если позиция является вход-
ной для нескольких переходов, то для всех них она является единственной входной позицией.
4. Правильные сети. Каждый переход имеет не более одной
общей входной позиции с другим переходом.
5. Ординарные сети. Кратность дуг не должна превышать 1.
6. Обобщенные сети. Не имеют ограничений ни на кратность
дуг, ни на максимальное количество меток в позициях.
Помимо данной общей классификации можно выделить следующие виды сетей Петри:
1. Временная сеть. Переходы обладают весом, определяющим
продолжительность срабатывания.
2. Стохастическая сеть. Продолжительности срабатывания
являются случайными величинами.
3. Функциональная сеть. Продолжительности срабатывания
являются функциями.
4. Цветная сеть. Метки разделяются на различные типы, каж-
дый тип обозначается своим цветом.
5. Ингибиторная сеть. В сети присутствуют так называемые
ингибиторные дуги. Ингибиторная дуга запрещает переходу срабаты-
48

вать, если во входной позиции, которую она связывает с ним, находит-
Pppp
iii
i
i
,)()('
ся метка.
6. Иерархическая сеть. Содержит переходы, не являющиеся
мгновенными, и содержащие вложенные в них другие сети. Срабатывание такого перехода соответствует выполнению полного жизненного цикла вложенной сети.
7. Сети потоков работ (WF-сети). Существует только одна
исходная позиция, причем у нее отсутствуют входные переходы. Существует только одна конечная позиция, причем у нее отсутствуют
выходные переходы. Каждый узел данной сети расположен на пути от
первой позиции ко второй.
5.7. Анализ сетей Петри
Неотъемлемым этапом моделирования системы с помощью се-
ти Петри является ее анализ. Рассмотрим свойства сети Петри.
Безопасность. Позиция pi P сети Петри C с начальной мар-
кировкой является безопасной, если ' R(C, ) '(p
) ≤ 1. Други-
i
ми словами, позиция сети Петри является безопасной, если количество
фишек в ней не превышает 1. Сеть Петри считается безопасной, если
каждая ее позиция безопасна.
Если позиция не является безопасной, сделать ее таковой мож-
но, введя в сеть дополнительные позиции, которые, ставя дополнительные условия для срабатывания соответствующих переходов, исключат накопление «лишних» фишек.
Сохранение. При моделировании некоторых систем фишки в
сети Петри имеют смысл ресурсов. Например, когда речь идет о совместной работе нескольких устройств, каждое из которых выполняет
свою задачу, после чего освобождается и передает управление другому устройству, загружая его. В таких системах предполагается сохранение определенных ресурсов. Следовательно, фишки, которые моделируют такие ресурсы и их «движение» (например, передача потоков
управления или данных от одного устройства к другому), должны сохраняться, т.е. их количество на любом этапе работы сети должно оставаться неизменным.
Сеть Петри C с начальной маркировкой называется строго
сохраняющей, если ' R(C, ) выполнено условие:
.
49

Строгое сохранение требует также равенства количества вхо-
Pppwpw
i
i
ii
i
ii
,)()('
дов и выходов для каждого перехода: |I(tj)| = |O(tj)|. Если для какоголибо перехода данное условие не будет выполнено, то его запуск изменит количество фишек в сети. Следовательно, одной из
возможностей сделать сеть строго сохраняющей является введение
дополнительных кратных входных или выходных дуг для тех переходов, где условие |I(tj)| = |O(tj)| не выполняется.
В общем случае говорят не просто о равенстве сумм по маркировкам, а о равенстве взвешенных сумм. Это означает, что фишкам
присваиваются различные весовые коэффициенты. Например, если
фишка не обладает важностью в системе, то ей присваивается вес 0.
По степени возрастания важности можно присвоить другим фишкам
весовые коэффициенты 1, 2 и т.д. Весовые множители предполагаются
целыми числами. Следует отметить, что фишка определяется ее позицией в сети, а это означает, что веса связаны с определенными позициями.
Математически вес каждой позиции определяется вектором
взвешивания w = (w1, w2,…, wn), где wi – это вес позиции p
. С помощью
i
данного понятия расширим представленное выше определение свойства сохранения.
Сеть Петри C с начальной маркировкой называется сохра-
няющей по отношению к вектору взвешивания w = (w1, w2,…,wn), n =
|P|, если ' R(C, ) выполнено условие:
.
Из данного определения вытекают два простых следствия:
1. Строго сохраняющая сеть Петри является сохраняющей по
отношению к вектору взвешивания w = (1, 1,..., 1).
2. Все сети Петри являются сохраняющими по отношению к
вектору взвешивания w = (0, 0,..., 0).
Живость. Переход t называется живым, если ' R(C, )
существует последовательность срабатываний переходов, в которой
он участвует. Сеть Петри называется живой, если все переходы в ней
живые.
Активность. Если в сети Петри имеются переходы, которые не
могут быть запущены, то такие переходы называются тупиками, или
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
