АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Сети Петри

Прочитайте:
  1. Н.Н. Воробьевой, 1998 и Г.В. Петрищевой,2008

Среди многих существующих методов описания и анализа параллельных систем уже более 35 лет значительное место занимают сетевые модели, восходящие к сетям специального вида, предложенных в 1962 году Карлом Петри для моде­лирования асинхронных информационных потоков в системах преобразования данных [64].

Взаимодействие событий в параллельных асинхронных дискретных системах име­ет, как правило, сложную динамическую структуру. Эти взаимодействия описы­ваются более просто, если указывать не непосредственные связи между события­ми, а те ситуации, при которых данное событие может реализоваться. При этом глобальные ситуации в системе формируются с помощью локальных операций, называемых условиями реализации событий. Определенные сочетания условий разрешают реализоваться некоторому событию (предусловия события), а реали­зация события изменяет некоторые условия (постусловия события), то есть события взаимодействуют с условиями, а условия — с событиями. Таким обра­зом, предполагается, что для решения задач достаточно представить системы как структуры, образованные из элементов двух типов — событий и условий. Удоб­ный формальный механизм для этого, предложенный Петри, был развит А. Хол-том, который назвал его сетью Петри.

В сетях Петри события и условия представлены абстрактными символами из двух непересекающихся алфавитов, называемых соответственно множеством пе­реходов и множеством позиций. Имеется несколько формальных представлений сетей Петри:

Q теоретико-множественное;

Q графовое — бихроматический (двудольный ориентированный) граф и, соот­ветственно, графическое;

Q матричное.


При использовании теоретико-множественного подхода к описанию сети Петри (поскольку эта модель представляет и структуру, и функционирование системы) она формально может быть определена как двойка вида: N = (5,М0). Здесь S — это структура сети, которая представляется двудольным ориентированным мультиграфом 5 = (V, U), где V — вершины этого графа, U — его дуги. М0 — на­чальное состояние сети Петри, которое также называется начальной маркиров­кой. В силу того, что граф S является двудольным, можно перейти к формально­му описанию структуры сети Петри в виде тройки:

S(P,T,Y),

где Р — конечное множество позиций, Р = {/>,},i = l,n; Т— конечное множество переходов, Т = {tj}, j = i, т; Т и Р = V, Т о Р = 0, то есть Т и Р — это два типа вер­шин биграфа 5; Y — конечное множество дуг, заданное отношениями между вер­шинами графа S: У е (Р * Т) и (Т * Р)

Поскольку двудольный мультиграф S является ориентированным, то любой пе­реход tj,, j = i, т соединяется с позициями pt e P через входные и выходные дуги, которые задаются через функцию предшествования В:(Р * Т) -» (0,1, 2,...} и через функцию следования Е:(Т* Р) —»{0,1, 2..}, являющиеся отображениями из мно­жества переходов в комплекты позиций [64] (синонимом термина комплект является понятие мультимножества). Эти функции определяют комплекты по­зиций {/?,} е Р, сязанных с переходом tj e Т через множество дуг {(/?,,£,-),}, где / <^(pi,tj),:i,j = const}\ < W, и комплекты позиций {pt} e P, связанных с перехо­дом tj e Т через множество_дуг {(tj,pk),}, где / < |{(£;., pk),:.;',& = const}\ < W. Здесь W — мультичисло графа S; P — пространство комплектов, заданное на множестве функциями Ей В; {(Pj,tj)c) — v-я дуга, выходящая из позиции р{ и входящая в переход tj, {(tj,pk)v)v-я дуга, выходящая из перехода tj и входящая в позицию Pk-

Таким образом, теперь структура S сети Петри N может быть представлена как четверка: 5(Р,Г,Д£'}. Представим множество позиций Р как объединение двух пересекающихся множеств: Р = 7 и О; / п О * 0. Здесь мы через / и О обозначим следующие множества:

/ = u/(t,.); 0=йЩ1

TReI(tj) = {pi:B(pi,tj)>l,i = ^},j = ^-,0(tj)^{pk:E(tj,Pk)>l,k = \^},j = l^ (Pi, tj) — дуга с весом w < W, выходящая из вершины р, и входящая в вершину tj,

(fy pi,) — дуга с весом w < W, выходящая из вершины tj и входящая в вершину р/,, то есть I(tj) и 0(tj) — комплекты соответственно входных и выходных позиций перехода tj.

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

Начальная маркировка М0 (как и текущая маркировка М, которая соответствует некоторому состоянию сети в текущий момент модельного времени) определяет­ся одномерной матрицей (вектором), число компонентов которого равно числу позиций сети п, п - |, а значение г'-го компонента, \<i<,n, есть натуральное


число m(pi), которое определяет количество маркеров (меток) в позиции р(, то есть

mo - («oOi). тд(р2),...т0п)); М- (m(pi), т(р2),...т(рп)),

где т(р{), m(pj)eZ; Z — множество неотрицательных целых чисел. Маркиров­ку М можно представлять и как множество или комплект с той лишь только раз­ницей, что отсутствие некоторого элемента в множестве будем обозначать специ­альным элементом — нулем. В этом случае запись вида М,- = Л/,-_! - I(t) означает разность множеств и такое изменение маркировки, при котором на соответст­вующих местах вектора М,- будут уменьшенные значения.

Передвижение маркеров по сети осуществляется посредством срабатывания ее переходов. Срабатывание возбужденного перехода, являющееся локальным ак­том, в целом ведет к изменению маркировки сети, то есть к изменению ее состоя­ния. Таким образом, если в сети задано начальное маркирование М0, при кото­ром хотя бы один переход возбужден, то в ней начинается движение маркеров, отображающее смену состояний сети. Переход £; может сработать, если

р,е/($):т(р,)*(р„/($)Ь».

Переход, для которого выполняется это условие, называется возбужденным. Здесь запись вида #(pit /(£,-)) означает число появлений позиций р{ во входном комплекте перехода tf, оно, естественно, равно весу w, если вместо мультиграфа рассматривать взвешенный граф. При срабатывании перехода tj маркировка М0 изменяется на маркировку М{ следующим образом: М{ = М0 - I(tj) + 0(tj). Иначе говоря,

V^eP: m,(p,) - m0fe) - #(pt, I(tj» + #(р„ О(#).

Из последнего выражения видно, что количество маркеров, которое переход Ц изымает из своих входных позиций, может не равняться количеству маркеров, которое этот переход помещает в свои выходные позиции, так как совсем не обя­зательно, чтобы число входных дуг перехода равнялось числу его выходных дуг.

В графическом представлении сетей (оно наиболее наглядно и легко интерпре­тируемо) переходы изображаются вертикальными (или горизонтальными) план­ками (черточками), а позиции — кружками (рис. 7.5). Условия-позиции и события-переходы связаны отношением непосредственной зависимости (непо­средственной причинно-следственной связи), которое изображается с помощью направленных дуг, ведущих из позиций в переходы и из переходов в позиции. Позиции, из которых ведут дуги на данный переход, называются его входными позициями, а позиции, на которые ведут дуги из данного перехода, — выходны­ми позициями.

Выполнение условия изображается разметкой соответствующей позиции, а имен­но помещением числа п или изображением п маркеров (фишек) в то место, где п > 0 — емкость условия.

Сети Петри могут быть использованы с точки зрения анализа системы на воз­можность возникновения в ней тупиковых ситуаций. Этот анализ проводится посредством исследования пространства возможных состояний сети Петри. При этом под последним понимается множество возможных маркировок сети. Ана-


лиз сетей посредством матричных методов имеет множество проблем, поэтому в основном используется подход, основанный на построении редуцированного до дерева1 графа возможных маркировок [49]. В таком дереве вершины графа — это состояния (маркировки) сети, а ветви дерева, помеченные соответствующи­ми переходами сети, — это возможные изменения состояний сети, то есть сраба­тывания ее переходов. Если взять любую вершину в таком дереве (за исключе­нием корневой), то путь к этой вершине от корня дерева (путь из начальной маркировки к заданной) будет представлять собой последовательность срабаты­вания переходов.

Говорят, что переход tj для разметки М является живым, если для всех разме­ток М' е <з(М) существует последовательность срабатывания переходов, которая приводит к маркировке М', при которой переход tj может сработать. Сеть Петри называется живой, если все ее переходы живы; живучая разметка — это разметка, при которой каждый из ее переходов сможет запускаться бесконечное число раз. Когда достигнута такая разметка, при которой ни один из переходов не может быть запущен, говорят, что сеть Петри завершилась (достигнута желаемая ко­нечная маркировка) или же зависла (то есть имеет место тупиковая ситуация).

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

В качестве примера рассмотрим рис. 7.5.

Эта сеть соответствует рассмотренному нами ранее примеру тупиковой ситуа­ции (см. рис. 7.2), которая возникает при взаимодействии процессов ПР1 и ПР2 во время передачи сообщений и потреблении ресурса R каждым из процессов. Начальная маркировка для сети, показанной на рис. 7.5, будет равна (1,0,0,0,0,4, 0,0,1,0,0,0,0). Здесь позиция р2 означает, что процесс ПР1 получил три единицы ресурса R. Дуга, соединяющая позицию р6 (число маркеров в ней соответству­ет количеству доступных единиц ресурса R), имеет вес 3 и при срабатывании пе­рехода ti процесс ПР1 получает затребованные 3 единицы ресурса. Переход t2 представляет посылку процессом ПР1 сообщения для ПР2; переход tj — прием этого сообщения. Появление маркера в позиции р7 означает, что процесс ПР2 обработал сообщение и послал ответ процессу ПР1. Срабатывание перехода tj представляет возврат в систему трех единиц ресурса, которыми владел процесс ПР1. Рассмотренная сеть не является живой, так как в ней всегда будут мертвы переходы t3, tj, t6, t-, и ta.

1 Напомним, что деревом в теории графов называют граф, не имеющий циклов.




Примеру тупиковой ситуации, возникающему при работе с ресурсами типа SR, который мы также уже рассматривали ранее (см. рис. 7.3), соответствует сеть Петри, показанная на рис. 7.6.


В этой сети номера переходов соответствуют отмеченным номерам операторов, которые выполняют процессы ПР1 и ПР2, а позиции/?j прг — семафорам St и S2, над которыми выполняются Р- и V-операции. Сеть на рис. 7.6 также не является живой, хотя для нее и существуют такие последовательности срабатывания пе­реходов, что тупиковой ситуации не наступит.

Алгоритм построения дерева достижимости изложен, например, в работе [64].


Дата добавления: 2015-01-18 | Просмотры: 903 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.005 сек.)