Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
20.06.2014
Размер:
263.32 Кб
Скачать

Матричные уравнения

Данный подход основан на матричном представлении сети Петри. Сеть Петри можно представить в виде двух матриц ∆- и ∆+, определяющих входные и выходные функции. Каждая матрица имеет m строк (по количеству переходов) и n столбцов (по количеству позиций). Т.е. элемент определяет количество дуг, исходящих из позиции рi в переход tj. Аналогично определяется - количество дуг, исходящих из перехода tj в позицию рi. Любой переход tj можно обозначить m-мерным вектором-строкой e[j], имеющим везде нулевые значения, кроме j-го (оно равно 1). Тогда мы можем определить, что переход tj разрешён в маркировке μ, если μ e[j] ∆-. При этом результат запуска будет δ(μ, tj)= μ- e[j]∆-+ e[j] ∆+= μ + e[j](- ∆-+ ∆+)= μ + e[j] ∆, где ∆= ∆+-∆-. ∆– составная матрица изменений.

Таким образом, для последовательности запусков у = мы имеем ∆ (μ,у)= μ + e[j1] ∆+ e[j2] ∆+…+ e[jк] ∆= μ +(e[j1] + e[j2]+…+ e[jк]) ∆= μ +f(у) ∆. Вектор f(у) называется вектором запусков последовательности у. i-ый элемент f(у)i вектора запусков f(у) – это количество запусков перехода ti.

Полезность применения матричного подхода можно продемонстрировать, например, следующим образом. Рассмотрим задачу сохранения. Для её решения необходимо найти ненулевой вектор взвешивания, для которого взвешенная сумма по всем достижимым маркировкам постоянна. Пусть W – есть n-мерный вектор-столбец, состоящий из 1. Тогда если μ – начальная маркировка, а μ’ – произвольная достижимая маркировка, необходимо чтобы μ W= μ’W. Поскольку μ’ достижимо, то существует последовательность запусков переходов у, которая переводит м в μ’, т.е. μ’=δ(μ,у)= μ +f(у) ∆. μ’W= μ W+ f(у) ∆W.

Таким образом, f(у) ∆W=0. Для сохраняющей сети Петри это соотношение должно соблюдаться для любой последовательности запусков, т.е. любой f(у). Следовательно, мы имеем уравнение ∆W=0. Если имеется ненулевое решение данного уравнения, то сеть Петри является сохраняющей и соответствующий вектор W определяет искомый вектор весов сохранения.

Моделирование с помощью сетей Петри

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

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

События и условия

Представление системы сети Петри основано на двух важных понятиях: событие и условие.

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

Пример моделирования простого автомата-продавца.

Автомат-продавец находится в состоянии ожидания до тех пор, пока не появится заказ. Затем он этот заказ выполняет и посылает на доставку. Условиями для такой системы являются:

  1. Автомат-продавец ждёт заказ

  2. Заказ пришёл и ждёт своего выполнения

  3. Автомат-продавец выполняет заказ

  4. Заказ выполнен

События:

  1. Заказ поступил (возник)

  2. Автомат-продавец начинает выполнение заказа

  3. Автомат-продавец заканчивает выполнение заказа

  4. Заказ посылается на доставку

Запишем таблицу, отражающую события и соответствующие им пред- и постусловия:

Событие

Предусловие

Постусловие

1

-

b

2

a; b

c

3

c

a; d

4

d

-

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

Запуск перехода удаляет разрешающие фишки, которые представляют собой выполнение предусловий. После запуска перехода возникают новые фишки, представляющие выполнение постусловия.

Сеть Петри для нашего примера будет такой:

Очевидно, что в начальный момент функционирования автомата-продавца он находится в состоянии ожидания, т.е. в позиции а должна быть помещена фишка. Всё дальнейшее функционирование будет определяться срабатыванием перехода 1. Если мы немного изменим модель автомата-продавца, заявив, что на доставку могут отправляться заказы только по 3 штуки одновременно, то это приведёт к тому, что в новой сети Петри из позиции d в переход 4 будет идти 3 дуги.

Одновременность и конфликт

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

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

Моделируемые таким образом события называются примитивными. Они мгновенны и неодновременны.

Непримитивными называются такие события, длительность которых отлична от нуля. Они могут пересекаться во времени. Эти события нельзя смоделировать переходами сети Петри. Поэтому они моделируются двумя примитивными событиями: начало непримитивного события и конец непримитивного события. Между этими примитивными событиями ставится условие: “непримитивное событие происходит”.

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

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

Здесь два разрешённых перехода находятся в конфликте. Запуск одного из переходов приводит к невозможности запуска другого перехода.

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

5

Соседние файлы в папке Лекции и практики