- •Практическая работа №1
- •Цель работы.
- •1. Теоретическая часть
- •2. Практическая часть
- •1. Сруктура сп в соответствии с номером варианта 17.
- •2. Описание заданной модели с помощью матрицы f, н, µ0.
- •3. Провести исследование сп-модели на основе матричных методов. Сделать заключение о живости и безопасности сети.
- •5. Построить ддр с использованием программного комплекса. Сравнить полученные результаты пунктов 4 и 5.
- •7. Провести исследование полученной сети с помощью матричных методов и ддр.
- •8. Сравнить изученные способы анализа сп и сформулировать методику их совместного использования для исследования сп-моделей вычислительных систем.
- •Заключение
- •Контрольные вопросы
Практическая работа №1
Изучение способов представления и исследования сетей Петри
Цель работы.
Изучение матричных способов представления сетей Петри, а также методов исследования СП на основе матричных уравнений и дерева достижимых разметок (дерева решений).
1. Теоретическая часть
Сеть Петри (СП) это двудольный, ориентированный мультиграф N = (Р, Т, F, Н, 0), где Р – конечное непустое множество элементов, называемых позициями; Т – конечное непустое множество элементов, называемых переходами; F: РхT → {0,1,2,...} и H: TxР → {0,1,2,...} – функции инцидентности; 0: Р→{0,1,2,...} – начальная разметка.
В некоторых источниках [1] функции инцидентности задаются матрицами I и O (Input и Output). При этом I: РхT → {0,1,2,...} и O: PxT → {0,1,2,...}.
Разметкой называют присвоение меток позициям Сети Петри. Метки также называют маркерами или фишками [1]. Разметка может быть определена как функция, отображающая множество позиций P на множество неотрицательных целых чисел N. Иной вариант: разметка это вектор, который определяет для каждой позиции pi сети Петри некоторое количество меток k, где k принадлежит множеству целых неотрицательных чисел.
СП обычно представляют в виде геометрического объекта. При этом позиции изображаются кружками, переходы – черточками или прямоугольниками, метки – точками или закрашенными окружностями внутри соответствующих позиций. Дуга проводится от позиции рi к переходу tj в том случае, если F(pi, tj) ≥ 1, а от перехода tj к позиции рi если H(tj, pi) ≥ 1.
Если F(pi, tj) ≥ 1 , то позицию рi называют входной к переходу tj, а переход tj выходным к позиции pi. Множество входных позиций к переходу tj определяется выражением pre(tj) = {p: F(p, tj) ≥ 1}, а множество выходных переходов к позиции рi выражением post(pi) = {t: F(pi, t) ≥ 1}. Аналогично определяются множества входных переходов и выходных позиций.
При функционировании СП переходит от одной разметки к другой. Переход t может сработать при разметке , если ppre(t): (p) - F(p,t) ≥ 0, где (p) число меток в позиции р. В результате срабатывания перехода t новая разметка ' возникает в соответствии со следующим правилом: p (pre(t) U post(t)): '(p)= (p) - F(p, t) + H(t, p).
В
этом случае говорят, что разметка '
достижима из разметки ,
a
предшествует
'
.
Данный факт обозначается следующим
образом:
'
.
Сеть останавливается, если при некоторой
разметке не может сработать ни один из
ее переходов. Такая разметка называется
тупиковой. Таким образом,
СП моделирует
некоторую структуру и динамику ее
функционирования.
Если
разметка '
достижима из разметки
в
результате срабатывания последовательности
переходов ν=t1,t2,...,tk
,
где: ν – слово из множества Т*
всех слов в алфавите Т
, то это обозначается как
'''
...
→''
'
или
'.
Разметка
достижима в сети N,
если 0→.
Множество всех достижимых разметок в
сети N
обозначим через R(N).
Переход
t
достижим от разметки
(→t)
в сети N,
если:
'
''({
',
''}R(N)&
→
'):
'
''.
Переход t достижим в сети N, если 0 → t. В приложении к моделированию систем проблема достижимости разметки ' из 0 интерпретируется как возможность достижения определенного состояния системы.
Переход t живой, если: R(N): →t. СП живая, если: t (tT&R(N)): (p) →t.
Позиция р ограничена, если существует такое заданное k, для которого R(N): (p) ≤ k. СП ограничена, если: p (рp&r(n)): (p) ≤ k.
Если k = 1, то СП называется безопасной.
Для моделей реальных ВC анализ на ограниченность (безопасность) позволит проверить возможность функционирования системы в некотором стационарном режиме без перехода заданного предела по числу объектов в отдельных подсистемах. При анализе на это свойство, в частности, могут быть выявлены требования к внутренним буферным накопителям в ВС. В настоящее время наиболее широко используются два метода анализа СП: построение дерева достижимых разметок и решение матричных уравнений, построенных на основе уравнения СП.
Дерево достижимых разметок
Дерево достижимых разметок представляет собой ориентированный граф, множество вершин которого образовано множеством R(N), причем из вершины в вершину ' ведет дуга, помеченная символом перехода t, если и только если '. В общем случае дерево достижимых разметок может иметь бесконечное число вершин. Для превращения дерева в полезный инструмент анализа опишем алгоритм построения конечного дерева достижимости.
Каждая i-я вершина дерева связывается с расширенной разметкой (i). В расширенной разметке число меток в позиции может быть либо неотрицательным целым, либо бесконечно большим. Бесконечное число меток обозначим символом . Каждая вершина классифицируется или как граничная, терминальная, дублирующая вершина, или как внутренняя. Граничными являются вершины, которые еще не обработаны алгоритмом. После обработки граничные вершины становятся либо терминальными, либо дублирующими, либо внутренними. Алгоритм начинает свою работу с определения начальной разметки. Пока имеются граничные вершины, они обрабатываются алгоритмом.
Пусть x – граничная вершина, которую необходимо обработать, и с которой связана разметка (x).
1. Если в дереве имеется другая вершина y , не являющаяся граничной, и с ней связана разметка (y) = (x), то вершина x дублируется.
2. Если для разметки (x) на один из переходов неразрешим, т.е. (x) тупиковая разметка, то x терминальная вершина.
3. Для каждого перехода tj, из подмножества разрешенных переходов в разметке (x) , создать новую вершину z дерева достижимости. Разметка (z), связанная с этой вершиной, определяется для каждой позиции рi следующим образом:
а) если (x)i = , то (z)i = ;
б)
если на пути от корневой вершины к x
существует вершина y
такая, что
(y)
(x),
(y)<
(x)
и
(y)i<
(x)i,
то
(z)i
= ;
в) в противном случае (z)i = (x)i.
Дуга, помеченная tj, направлена от вершины х к вершине z. Вершина x переопределяется как внутренняя, вершина z становится граничной. Когда все вершины дерева становятся терминальными, дублирующими или внутренними, алгоритм останавливается.
Матричные методы
С помощью матричных методов можно показать, что если СП живая и ограниченная, то она должна быть последовательной и инвариантной. Данные свойства недостаточны для утверждения живости и ограниченности СП. Однако их полезно проверить исходя из матриц инцидентности, так как если одно из этих свойств не подтверждается, то можно заключить, что описываемая система содержит некоторые недоработки.
Введем в рассмотрение матрицу С, которая поучается следующим образом: C=HT - F, где HT - транспонированная матрица H (или C=O – I, если исследуемая сеть Петри описывается матрицами I и O).
Пусть размерность С равна n x m, где m и n - мощности множеств Р и Т.
Рассмотрим матричные уравнения:
y
C=0,
(1)
C x=0, (2)
где у и x – векторы, размерность которых равна n и m соответственно.
Вектор у, удовлетворяющий решению уравнения (1), все элементы которого положительны, называется р-цепью; р-цепь, все элементы которой больше нуля, называется полной р-цепью. Аналогично на основе уравнения (2) определяются понятия t-цепи и полной t-цепи. СП, для которой существует полная р-цепь, называется инвариантной. СП, для которой существует полная t-цепь, называется последовательной.
В работе [2] показано, что если СП живая и ограниченная, то она должна быть последовательной и инвариантной. Данные свойства недостаточны для утверждения живости и ограниченности СП. Однако их полезно проверить исходя из матриц инцидентности, так как если одно из этих свойств не подтверждается, то можно заключить, что описываемая система содержит некоторые недоработки.
Описываемый метод анализа СП основывается на определении свойств последовательности и инвариантности. Суть метода анализа состоит в нахождении на множестве положительных целых чисел решений уравнений (1) и (2). В общем случае, множество решений этих уравнений может быть бесконечным. Поскольку цель решения уравнений заключается в определении существования полных р- и t- цепей, то для того, чтобы получить необходимый результат будем использовать следующий алгоритм.
1. Представим уравнение (1) (уравнение (2)) в виде системы линейных уравнений. При этом число неизвестных больше числа уравнений.
2. Методом исключения переменных (метод Гаусса, нисходящий процесс) выразим значения одних неизвестных через другие неизвестные с более высокими индексами, например x1 = f(x2, x3, … xn), x2 = f(x3,x4,…xn) и т.д.
Неизвестная, выраженная последним уравнением, будет зависеть от нескольких переменных с более высокими индексами.
zk = f(zk+1,…, zn).
Назовем переменные zk+1,…,zn базовыми.
3. Зададим для базовых переменных все возможные значения на множестве (0,1).
4. Вычислим значения остальных неизвестных, используя восходящий процесс метода Гаусса.
Сформируем множество возможных решений уравнения (1) (уравнения (2)) Z={z1, z2, ..., zk}.
Тогда справедлива теорема.
Теорема. Вектор z*, полученный в результате суммы любого конечного подмножества множества Z, является t-цепью (р-цепью).
Доказательство этой теоремы легко выполняется на основе положений линейной алгебры [3]. Введенная теорема позволяют существенно упростить процесс поиска полных р- и t-цепей. При этом алгоритм поиска можно свести к двум шагам:
1) определение множества Z={z1, z2, ..., zk} для уравнения (1) (либо (2));
2) получение вектора z*, вид которого может дать ответ на вопрос о существовании полных р- или t-цепей.
