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

Сети Петри(финал) с моими правками

.pdf
Скачиваний:
47
Добавлен:
19.05.2015
Размер:
1.51 Mб
Скачать

Переход с

и

и разрешен всякий раз, когда в

будет

хотя бы одна фишка. Переход

запускается удалением одной фишки из позиции

и

помещением одной фишки в позицию и в

(его выходы). Дополнительные фишки в

позиции не влияют на запуск (хотя они могут разрешать дополнительные запуски

).

 

 

 

Переход

, в котором

и

, запускается

удалением одной фишки из

и одной фишки из

, при этом одна фишка помещается в

и две в —

(так как

имеет кратность, равную двум).

Запуск перехода в целом заменяет маркировку

сети Петри на новую маркировку .

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

Пример изменения маркировки:

рис.6 рис.7

Определение

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

В качестве примера рассмотрим маркированную сеть Петри:

рис.8

 

При такой маркировке разрешены только три перехода: , и . Переход

не

разрешен, так как ни позиция , ни позиция , являющиеся входами перехода

, не

содержат ни одной фишки.

 

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

, а количество фишек в увеличивается с двух до трех. Новая маркировка, полученная в результате запуска перехода , показана на рис.9:

рис.9

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

. При запуске перехода осуществляется удаление фишки из и помещение фишек в , и (в — две фишки, так как эта позиция является кратным выходом перехода ).

Эта операция образует маркировку:

рис.10

В такой маркированной сети Петри переходы и разрешены. Запуск перехода образует новую маркировку (рис. 2.18), где две фишки удалены из , а одна добавлена в

.

рис.11

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

3. Работа с ПО PIPE

PIPE2 - открытый источник, независимый инструмент для создания и анализа сетей Петри, включая обобщенные стохастические сети Петри. Сети Петри - популярный способ моделирования параллелизма и синхронизации в распределенных системах.

Подготовка

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

С сайта http://pipe2.sourceforge.net/ скачать бесплатную программу для моделирования работы сетей Петри PIPE2.

Подготовка к использованию ПО:

1)Наличие последней версии архиватора(WinRar, WinZip, 7zip)

2)Наличие библиотек JavaScript

ПО протестировано на Windows 7 Ultimate 32 bit

Алгоритм работы с программой:

1)Для запуска программы необходимо открыть архив ПО с помощью архиватора

2)Открываем файл launch.bat(если у Вас Windows) или launch.sh(если у Вас Linux)

3)В открывшемся окне программы для создания нового проекта в панели команд

File->New(по умолчанию при запуске создается проект под номером 1)

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

5)Для перемещений уже установленных переходов и состояний используем кнопку

«Select Components»(курсор)

6)В случае необходимости для поворота перехода кликаем по нему правой кнопкой мыши, Edit Transition->Rotation

7) Для редактирования количества фишек кликаем правой кнопкой мыши, Edit Place и изменяем поле Default или на соответствующее изображение на панели инструментов

«Add a token» или «Delete a token»

8)Для запуска построенной сети используем Animate в панели команд или соответствующее изображение на панели инструментов «Toggle Animation Mode»(зеленый флаг)

9)Далее кнопками «Randomly fire transition» или «Randomly fire a number of transition» на панели инструментов или в соответствующем разделе в меню команд осуществляем обход по сети.

Замечание!!!

Отличие кнопок заключается в том, что «Randomly fire transition»выполняет обход случайным образом, а с помощью «Randomly fire a number of transition» в открывающемся диалоговом окне мы можем указать номер перехода, срабатывание которого нам необходимо, а также время ожидания (в случае использования соответствующего перехода)

10)Для сохранения результатов используем команду File->Save или File->Save As

11)Для загрузки ранее созданных проектов используем команду File->Open

4. Пример выполнения практического задания

Дано:

1) Расставляем необходимое количество состояний и переходов, соединяем их так, как требует задание.

2) Расставляем фишки

3) Исследуем сеть по заданию. deadlock

deadlock

4) Модификация сети

5)Исследуем активность и безопасность и делаем вывод

;.

1- безопасно

2-безопасно

2-безопасно

Сеть ограниченная(2-безопасна и конечное число позиций)

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

Практическое задание.

Построение моделей простых объектов

Цель занятия.

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

Задания выполнять в соответствии с номером варианта (номер варианта = номеру в списке студентов группы).

Задания можно взять здесь: http://ec.dstu.edu.ru/site/ci/documents/index/55/1774/17144/

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

2.Построить граф достижимых маркировок сети Петри.

3.Построить сеть в программном средстве PIPE2. Выполнить различные запуски сети

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

4.Укажите уровни безопасностей позиций исходной сети и уровни активности ее переходов.

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