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

Сети Петри

.docx
Скачиваний:
32
Добавлен:
10.04.2015
Размер:
364.09 Кб
Скачать

Сети Петри

Модели типа сетей Петри (СП) предназначены для исследования информационных технологий (ИТ), реализуемых с помощью вычислительных систем, особенно таких, где имеют место взаимодействующие параллельные процессы и возникают конфликты из-за ресурсов.

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

СП разработаны в 60-е годы прошлого столетия немецким математиком К.А. Петри.

Графовое представление сетей Петри

СП представляются с помощью графа G(V, A), где V – множество вершин графа, A – множество направленных дуг.

Множество вершин графа V образуется двумя подмножествами, называемыми позициями (place) – P и переходами (transition) – T. Позиции и переходы – основные понятия СП. Позиции сопоставляются дискретным состояниям исследуемых объектов (условиям), а переходы – процессам (событиям, действиям, операциям), в результате которых объект переходит из одного состояния в другое.

Дуги графа A являются направленными и соединяют вершины разного типа. Граф, множество вершин V которого допускает разбиение на два подмножества P и T так, что ни одна из дуг графа не соединяет вершины одного и того же подмножества, называется двудольным. Поэтому G(V, A) – двудольный ориентированный граф. В СП дуги могут быть кратными, т.е. между вершиной и могут иметь место одна, две, три и т.д. дуги. Граф, допускающий кратные дуги, называются мультиграфом. Поэтому G(V, A) является мультиграфом.

Таким образом граф G(V, A), представляющий собой СП, является ориентированным двудольным мультиграфом.

Структура СП задается набором N(P,T,J,O), где P – непустое конечное множество позиций, T – непустое конечное множество переходов, J – входная матрица инцидентности, O – выходная матрица инцидентности. Элементы матрицы J указывают на возможности перехода от элементов множества P к элементам T. Так, если J()=0, то между вершинами и связи нет (нет дуг, соединяющих эти вершины); если J()=1, то между и имеется одна дуга, если J()=k, то имеется k дуг (или дуга кратности k). Аналогично вышесказанному элементы матрицы O указывают на возможность перехода (т.е. равны кратности соответствующих дуг) от вершин T к вершинам P.

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

Если дуга направлена от позиции к переходу ( |), то позиция является входом перехода. Кратные входы обозначаются кратными дугами из входных позиций в переход.

Если дуга направлена от перехода к позиции (| ), то позиция является выходом перехода .

Точка, помещаемая в кружок, отображающий позицию, указывает на наличие маркера в данной позиции. Число точек определяет число маркеров в позиции.

Размещение маркеров по позициям сети называется маркировкой СП. Количество и положение маркеров в СП может меняться.

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

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

Маркировка СП задается функцией M, которая отображает множество позиций в множество неотрицательных чисел. Если позиции СП пронумеровать, то маркировку сети удобно представить в виде n-мерного вектора M(P)={}, значения координат которого равны числу маркеров в соответствующих позициях.

Функционирование сетей Петри

Функционирование СП может быть представлено как совокупность локальных действий – срабатываний переходов. В результате последовательного срабатывания переходов меняется маркировка сети.

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

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

В результате срабатывания перехода маркировка M(P) переходит в маркировку для которой , для всех .

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

Маркировка достижима из маркировки M, если существует последовательность срабатываний переходов , переводящая M в : M .

Множество всех маркировок, достижимых из , называется множеством достижимости и обозначается R(.

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

Пример маркированной СП для иллюстрации правил срабатывания переходов приведен на рисунке 1.

Множество P содержит элементов, начальная маркировка (рисунок 1,а). множество T имеет элемента.

Входная матрица инцидентности

.

Выходная матрица инцидентности

В матрице J(P,T) строки соответствуют позициям, а столбцы – переходам; в матрице O(T,P) строки – переходам, столбцы – позициям. В обозначениях элементов матриц J, O первый индекс всегда обозначает номер строки, второй – номер столбца. Например, или . В СП (рисунок 1, а) переходы разрешены, поскольку

для

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

а

б

в

Рисунок1 – Сети Петри: а – начальная маркировка, б – маркировка после срабатывания перехода , в – маркировка после последовательного срабатывания переходов и

Число маркеров в позициях , , не меняется, поскольку эти позиции не связаны с переходом . Маркировка показана на рисунке 1, б. здесь переходы , разрешены, поскольку

для

Пусть переход срабатывает, т.е. , где – маркировка, полученная при срабатывании . Маркировка получена в соответствии с правилами срабатывания переходов:

Число маркеров в позиции не меняется, т.е. . Маркировка показана на рисунке 1, в. Здесь переходы разрешены, поскольку

Свойства сетей Петри

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

Ограниченность – это свойство СП, при котором число маркеров в каждой позиции не может превышать некоторого целого неотрицательного числа k. Если сеть не обладает этим свойством, то при моделировании («проигрывании» функционирования сети на ЭВМ) могут потребоваться весьма значительные (бесконечно большие) объемы запоминающих устройств для фиксации числа маркеров в каждой позиции.

Безопасность – частный случай ограниченности, когда k=1, т.е. в каждой позиции может находиться не более одного маркера.

Сохраняемость (консервативность) – это свойство СП, при котором общее число маркеров в сети остается постоянным. Консервативная сеть не теряет и не порождает маркеры, а только перемещает их по позициям сети.

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

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

Активной называется СП, все переходы которой активны. Переход t называется активным (с четвертым уровнем активности) при маркировке , если он потенциально активен при всех маркировках из R(). Переход T называется потенциально активным (с первым уровнем активности) при маркировке , если в множестве достижимости R() существует маркировка, при которой переход t разрешен.

Переход t называется пассивным (с нулевым уровнем активности) при , если он не может сработать ни при одной маркировке из R(). Маркировка , при которой ни один переход не является разрешенным, называется тупиковой.

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

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

Анализ сети Петри путем построения дерева достижимости

Обозначим через начальную маркировку СП. Пусть R() – множество маркировок, достижимых из . Дерево достижимости (ДД) – это ориентированный граф, вершинами которого являются элементы множества R(). Дерево достижимости строится следующим образом:

– корнем дерева является начальная маркировка сети . Для начальной маркировки определяются разрешенные переходы и новые маркировки, появляющиеся при срабатывании этих переходов;

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

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

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

– маркировку, ранее уже встречавшуюся на ДД, называют дублирующей. Эти маркировки не порождают новых маркировок. Так как все маркировки, которые может породить дублирующая, уже порождены при ее первом появлении. Ветвление из дублирующих маркировок не продолжается;

– маркировки (вершины ДД), ветвление из которых лишь увеличивает количество маркеров в позициях сети, называют внутренними, а бесконечное число получаемых из них маркировок обозначают символом . Дальнейшее ветвление из таких маркировок не рассматривается;

– маркировка называется тупиковой, если для нее нет разрешенных переходов.

Дерево достижимости позволяет просто решать проблемы исследования ограниченности, безопасности и сохраняемости СП. Очевидно, что СП – ограничена, тогда и только тогда, когда маркировки ДД не содержат символ .

Ограниченная СП – безопасная, если все маркировки содержат только нули и единицы.

Сеть Петри – консервативна (сохраняема), если она ограничена (в маркировках дерева достижимости нет символа ), и суммы компонентов всех достижимых маркировок постоянны.

Использование компактных форм представления дерева достижимости (использование символа для представления бесконечного числа вершин) ограничивает возможности исследования достижимости маркировок и активности переходов.

Рассмотрим пример построения дерева достижимости для СП (рисунок 2). На рисунке 3, а показано дерево достижимости после первых семи этапов его построения. При этом для первого уровня дерева разрешен только переход , для второго – , третьего – переходы и , четвертого и т.д. Очевидно, что число вершин дерева будет бесконечно расти. Пользуясь изложенными выше приемами, можно представить ДД, используя конечное число вершин. Обратим внимание на то, что начиная с третьего уровня дерева заключенный в рамку фрагмент дерева будет постоянно воспроизводиться, но при этом будет расти число маркеров в позиции . Поэтому в компактном виде ДД может быть представлено так, как показано на рисунке 3, б.

Описание информационных процессов с помощью сетей Петри

Построим модель, описывающую процесс обработки запросов в информационно-поисковой системе (ИПС). Запрос пользователя попадает в буферное запоминающее устройство (БЗУ), где ожидает, пока процессор освободится от обработки ранее поступивших запросов. Ответ на запрос также попадает в буферное ЗУ, где ожидает, пока будет завершен вывод на терминал пользователя ответа на предыдущие запросы.

Рисунок 2 – Сеть Петри, для которой строится дерево достижимости

а б

Рисунок 3 – Дерево достижимости: а – после седьмого шага, б – окончательный вид

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

В таблице 1 перечислены события (переходы), а в таблице 2 состояния (условия), которые соответствуют СП (рисунок 4), описывающей процесс обработки запросов в ИПС.

Таблица 1

События

Переходы

Запрос помещается в БЗУ

Начинается обработка запроса процессором

Обработка запроса завершена

Начинается вывод ответа на терминал пользователя

Вывод ответа завершен

Таблица 2

Условия

Позиции

Наличие запроса

Запрос ожидает обслуживания

Процессор не занят обработкой (маркер в позиции)

Осуществляется обработка запроса

Ответ на запрос ожидает вывода на терминал пользователя

Канал ввода-вывода не занят выводом ответа (маркер в позиции)

Осуществляется вывод ответа на терминал пользователя

Ответ на запрос поступил к пользователю

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

Рисунок 4 – Сеть Петри, описывающая функционирование информационно-поисковой системы

Рисунок 5 – Сеть Петри, описывающая функционирование иноформационно-поисковой системы при заданных временах обработки запросов и вывода ответов на терминалы пользователей

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

Применение сетей Петри для исследования процесса движения поездов

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

СП для моделирования этого процесса показана на рисунке 6. Здесь позиции соответствуют станциям: нахождение маркера в этих позициях означает нахождение поезда на станции. Переходы соответствуют прохождения поездов по перегонам между станциями. Внесение в сеть позиций необходимо для того, чтобы не допустить отправления поезда, например со станции i (позиция ), пока не освободится следующая станция (позиция ). Обратим внимание на что, что в одной из двух позиций, описывающих состояние каждой станции, должен обязательно быть маркер. Например, если , то , так что, (. При этом в СП всегда имеется ровно восемь маркеров. На рисунке 7 показана маркировка, соответствующая ситуации, когда по кольцу движутся три поезда (это следует из того, что в позициях суммарно находится три маркера). При введенном выше условии отправления поезда со станции максимальное число поездов должно быть не более семи (при восьми поездах мы имеем тупиковую маркировку – ни один переход не разрешен).