Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

TVPS_posobie_13_06_2013

.pdf
Скачиваний:
420
Добавлен:
18.03.2015
Размер:
7.07 Mб
Скачать

2.16.Модификации сетей Петри

Сети Петри по своей выразительной мощности, то есть по способности адекватно моделировать поведение дискретных систем, превосходят такие модели, как, например, конечные автоматы (см. главу 3).

С другой стороны, сети Петри не обладают универсальными возможностями. По этой причине велся поиск возможностей увеличения выразительной мощности сетей путем их модификации и расширения.

Рассмотрим сначала средства, которые не столько являются расширениями, сколько облегчают моделирование и предназначены для решения конкретных задач.

Область ограничения (Патил, Кембридж, 1970 год)

В СП С=(P, T, I, O) выделяется подмножество позиций Р' P и разрешенный переход может быть запущен тогда и только тогда, когда в маркировке, полученной после запуска перехода, не все позиции из Р' одновременно имеют фишки.

Например, P'={p1, p4}. В любой момент либо p1, либо p4 должна быть пуста. Если p1 имеет фишку, то переход, помещающий фишку в p4, не запускается до тех пор, пока все фишки из p1 не будут удалены и наоборот.

Переход «исключающее или» (Ное, Вашингтон – Нью-Йорк,

1971 год)

В обычных сетях переход разрешен, если все его входные позиции одновременно имеют разрешающие фишки, т.е. используется логика «и».

Для перехода «исключающее или» правило запуска переходов модифицируется: переход может быть запущен тогда и только тогда, когда точно одна из его входных позиций имеет фишку, а все остальные входные позиции фишек не имеют (Рис. 81).

121

pi

tj

pk

Рис. 81. Фрагмент сети Петри, иллюстрирующей переход «исключающее или»

Переход tj разрешен, когда либо pi, либо pk имеет фишку.

Переключатель (Баер, 1970, модель компилятора)

Переключателем называется переход, имеющий кроме обычных входов вход специального вида, называемый переключающим входом, и два выхода, помеченные символами e

(empty – пустой) и f (full – полный).

Переключающий вход изображается следующим способом: .

Правило запуска для переключателя имеет следующий вид: переход разрешен, если в его входных позициях есть фишки, независимо от того, имеет ли фишку переключающий вход, причем если в переключающем входе имеется фишка, то активизируется выход f , в противном случае активизируется выход e.

Рассмотрим результат запуска переключателя в зависимости от того, имеет (Рис. 82) или не имеет (Рис. 83) фишку переключающий вход.

Рис. 82. Переключающий вход имеет фишку

122

Рис. 83. Переключающий вход не имеет фишки

В результате запуска переключателя получается одна из двух возможных маркировок, а переключатель теряет фишку, если он ее имел.

2.17.Расширения сетей Петри

Одно из ограничений на моделирование с помощью сетей Петри

– невозможность проверить на наличие точно определенной маркировки в некоторой неограниченной позиции и осуществить действие в зависимости от результатов проверки. Это ограничение называется проверкой на нуль, и означает, что сеть Петри не может проверить неограниченную позицию на нуль (отсутствие фишек).

Все расширения сетей Петри направлены на создание возможности проверки на нуль.

Предложены следующие расширения сетей:

1)сети со сдерживающими дугами (ингибиторные сети);

2)сети с приоритетами;

3)синхронные сети;

4)раскрашенные сети;

5)самомодифицирующиеся сети;

6)временные сети.

Сети со сдерживающими дугами

Самым простым расширением сетей Петри, которое допускает проверку на нуль, являются сети Петри со сдерживающими дугами. Сдерживающая дуга ведет из некоторой позиции в некоторый переход и завершается маленьким кружочком. Он используется для обозначения «не».

123

Правило запуска имеет вид: переход разрешен, когда обычные его входы имеют разрешающие фишки и отсутствуют фишки в сдерживающих входах.

Переход запускается удалением фишек из всех его обычных входов.

Пример 50. Данный пример описывает задачу о приоритетном совместном использовании каналов (Рис. 84).

Рис. 84. Сеть Петри со сдерживающими дугами

Переход с2 имеет сдерживающую входную дугу и разрешен лишь тогда, когда b2 имеет фишку, а b1 не имеет.

В этом случае события (запуски переходов) представлены с предусловиями в виде некоторой конъюнкции условий (некоторая переменная позиция) и отрицаний условий (позиция со сдерживающей дугой). Таким образом, предусловия могут быть описаны в виде дизъюнктивной нормальной формы (ДНФ).

124

Пример 51. Дана сеть Петри со сдерживающими дугами (Рис. 85). Записать предусловия в виде ДНФ.

p1 t1 p2

t2

p3 p4

Рис. 85. Сеть Петри

ДНФ будет иметь вид: p1 p2 1 p3 p4 .

Замечание. Сети со сдерживающими дугами являются интуитивно самым прямым подходом к увеличению мощности моделирования с помощью сетей Петри. Можно доказать, что другие расширения сетей Петри являются эквивалентными сетям Петри со сдерживающими дугами.

 

Сети с приоритетами

В

обычных сетях Петри

если в некоторой маркировке

R(C,

0): ( , tj) определена и

( , tk) определена, то запускается

любой из переходов.

В реальных дискретных системах имеет место следующая ситуация: из двух готовых работать устройств требуется запустить сначала первое устройство, затем второе. Одно устройство имеет преимущество перед другим, если они оба готовы.

Такая ситуация обычной СП не моделируется.

Введем множество приоритетов PR, элементы которого частично упорядочены отношением «≤». Каждому переходу tj T поставим в соответствие элемент множества PR.

125

Правило запуска модифицируется следующим образом: если tj и tk разрешены в , то запускается тот из них, приоритет которого выше.

Другими словами, tj может быть запущен, если pr(tj)≥pr(tk) для tk T, jk.

Пример 52. Рассмотрим сеть Петри, для которой задана система приоритетов (Рис. 86). Используем в качестве элементов множества PR натуральные числа.

Пусть pr(t1)=2, pr(t2)=1. Если (p1)>0 и (p2)>0, то с учетом приоритета запускается переход t1.

Рис. 86. Пример сети с приоритетами

Такая сеть моделирует оператор условного вычитания 1.

Замечание. Классы ингибиторных сетей и сетей с приоритетами строго мощнее класса сетей Петри и равномощны классам машин Тьюринга, т.е. являются универсально мощными.

Синхронные сети

В синхронных сетях правила функционирования модифицируются следующим образом. Работа сети разбивается на такты. В начале каждого такта выясняется, какие переходы разрешены в текущей маркировке, из них выбирается некоторое максимальное множество T' T взаимно неконфликтующих переходов. Затем при выполнении очередного такта переходы из T' запускаются в любой последовательности.

126

Важно, что если в процессе запуска переходов из T' получается маркировка, в которой разрешен tj T', то он не добавляется в множество T' (т.е. T' не меняется в течение такта). По окончании такта опять выясняется, какие переходы разрешены, снова формируется T' и выполняется следующий такт.

Таким образом, срабатывания выбранных переходов внутри такта не мешают друг другу и не оказывают влияния на ситуацию других переходов. Такое изменение правил функционирования сетей приводит к увеличению их выразительной мощности до уровня машин Тьюринга за счет использования дополнительной информации о состоянии сети.

Рассмотрим фрагмент синхронной сети (Рис. 87).

Рис. 87. Фрагмент синхронной сети

Если (pl)=1, (xi)=1, то после срабатывания перехода t1 могут сработать переходы t2 и t3. В обычных сетях Петри можно разрешить срабатывание перехода t2 и затем перехода t4 (пока не сработал переход t3, в позиции р2 остается фишка). Но в синхронной сети должны сработать и t3, и t2. Это приведет к тому, что переход t4 не сможет затем сработать (позиция р2 лишилась фишки), но сработает переход t5 и поместит фишку в позицию рl''.

127

Раскрашенные сети

При моделировании сетями Петри дискретных систем фишки часто соответствуют объектам, передаваемым от компонента к компоненту системы (данным в информационных системах, деталям, ресурсам и т.п.). Зачастую эти объекты имеют дополнительные атрибуты, позволяющие различать их и использовать эти различия для управления функционированием системы. Однако фишки в сетях Петри «безлики» и не отражают такие различия.

Пусть необходимо описать с помощью сетей Петри фрагмент операционной системы, управляющей обменом между тремя накопителями на магнитных дисках D1, D2, D3 и центральным процессором ЦП через два канала А и В. При этом требуется, чтобы D1 использовал канал А, D2 оба канала А и В, D3 канал В.

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

88).

Рис. 88. Пример раскрашенной сети Петри

128

В этой сети использованы следующие фишки с признаками:

d1, d2, d3 – фишки, отмечающие возможность связи с дисководами D1,

D2, D3;

a, b – фишки, отмечающие доступность каналов А и В;

– вспомогательные фишки для запоминания предыстории функционирования системы.

Для каждого из шести переходов сети имеется индивидуальная таблица условий срабатывания. В ней столбцы, связанные с входными позициями перехода, содержат сочетание конкретных признаков фишек, при которых переход может сработать. Столбцы, связанные с выходными позициями перехода, указывают признаки, с которыми переход добавляет фишки в свои выходные позиции для каждого входного сочетания признаков. Признаки фишек указаны на рисунке рядом с ними. Эта сеть моделирует упоминавшийся выше фрагмент операционной системы.

Выразительная мощность раскрашенных сетей зависит от мощности множества признаков. Класс сетей с конечным множеством признаков эквивалентен классу сетей Петри, хотя при преобразовании раскрашенной сети в сеть Петри могут значительно возрасти размеры сети.

Самомодифицирующиеся сети

В сетях этого класса дуги имеют модифицируемую кратность. Дуга может быть помечена какой-либо константой-числом, тогда ее кратность не меняется. Либо дуга помечается некоторым символом p P, тогда кратность дуги меняется в зависимости от количества фишек в p.

129

Пример 53. Рассмотрим сеть Петри (Рис. 89). Сначала кратность дуги равна 2, после запуска перехода t, кратность становится 0.

p p

t

Рис. 89. Сеть Петри для иллюстрации самомодифицирующихся сетей

В сетях этого класса каждой дуге (р, t) и (t, р) приписана

модифицируемая кратность V(р, t) или V(t, p). Если кратность дуги

– число, то оно имеет тот же смысл, что и кратность в определении сетей Петри. Но в качестве кратности может выступить символ q некоторой позиции данной сети. В этом случае кратность дуги переменна и равна текущей разметке (q) позиции q. Поскольку разметка позиции q может динамически меняться в процессе работы сети, то и кратность тех дуг, которым сопоставлен символ q, динамически меняется. В результате число фишек, перемещаемых одним и тем же переходом от входных позиций к выходным, динамически меняется при разных срабатываниях этого перехода.

Введение модифицируемой кратности позволяет достаточно просто моделировать ингибиторные сети и сети с приоритетами. На Рис. 90 показано, каким образом ингибиторная дуга (Рис. 90,а) и фрагмент сети с приоритетами (Рис. 90,б) трансформируются во фрагменты самомодифицирующихся сетей.

130

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]