ЛЕКЦИЯ 12
В практике моделирования объектов часто приходится решать задачи, связанные с формализованным описанием и анализом причинно-следственных связей в сложных системах, где одновременно параллельно протекает несколько процессов. Самым распространенным в настоящее время формализмом, описывающим структуру и взаимодействие параллельных систем и процессов, являются сети Петри (англ. Petri Nets), предложенные К. Петри [8].
Основные соотношения. Теория сетей Петри развивается в нескольких направлениях: разработка математических основ, структурная теория сетей, различные приложения (параллельное программирование, дискретные динамические системы и т. д.).
Формально сеть Петри (N-схема) задается четверкой вида
N=<B, D, 1, О>,
где В - конечное множество символов, называемых позициями, B Ø;D- конечное множество символов, называемых переходами, D≠Ø, B∩D≠Ø; I - входная функция (прямая функция инцидентности), O: D B →{0,1}; О - выходная функция (обратная функция инцидентности), О: D× В→{О, 1}. Таким образом, входная функция 1 отображает переход dj в множество входных позиций b I (d ), а выходная функция О отображает переход dj в множество выходных позиций b D (d ). Для каждого перехода dj D можно определить множество входных позиций перехода I(dj) и выходных позиций перехода О (dj) как
I (d )={ b │ I (b , d )=1} i= ; j= , n =│ B │, m =│ D │
O (d )={ b B │ O (d , b )=1}
Аналогично, для каждого перехода b В вводятся определения множества входных переходов позиции I(b )и множества выходных переходов позиции
О (b j): I (b )={d D│I(d ,b )= 1}, О (b )={d D │ О (b )= 1}.
Графически N -схема изображается в виде двудольного ориентированного мультиграфа, представляющего собой совокупность позиций и переходов (рис. 6.1).
|
Рис. 6.1. Графическое изображение N-схемы
Как видно из этого рисунка, граф N -схемы имеет два типа узлов: позиции и переходы, изображаемые О и 1 соответственно. Ориентировочные дуги соединяют позиции и переходы, причем каждая дуга направлена от элемента одного множества (позиции, или перехода) к элементу другого множества (переходу или позиции). Граф N -схемы является мультиграфом, так как он допускает существование кратных дуг от одной вершины к другой.
Представим формально N-схему, показанную в виде графа на рис. 6.1
N =< B, D, I, О >,
В =< b ,b ,b ,b ,b >,
D=<d ,d ,d ,d >,
I (d ) = { b }, О (d )= { b2, Ьз, bs },
I (d2) = { b ,b ,b }, О (d2) = { bs },
I (dз)= { ЬЗ }. О (dз) = { b }.
I (d ) = { b }, О (d ) = { b ,b }.
Возможные приложения. Приведенное представление N-схемы может использоваться только для отражения статики моделируемой системы (взаимосвязи событий и условий), но не позволяет отразить в модели динамику функционирования моделируемой системы. Для представления динамических свойств объекта вводится функция маркировки (разметки) М: В→ {О, 1, 2,... }. Маркировка М есть присвоение неких абстрактных объектов, называемых метками (фишками), позициям N -схемы, причем количество меток, соответствующее каждой позиции, может меняться. При графическом задании N-схемы разметка отображается помещением внутри вершин-позиций соответствующего числа точек (когда количество точек велико, ставят цифры).
Маркированная (размеченная) N -схема может быть описана в виде пятерки N = < B, D, I, O, M > и является совокупностью сети Петри и маркировки М [8].
|
Функционирование N -схемы отражается путем перехода от разметки к разметке. Начальная разметка обозначается как М : В →{О, 1, 2,...}.
Смена разметок происходит в результате срабатывания одного из переходов d D сети. Необходимым условием срабатывания перехода d является b { М (b ) ≥1}, где М (b ) - разметка позиции b . Переход d , для которого выполняется указанное условие, определяется как находящийся в состоянии готовности к срабатыванию или как возбужденный переход.
Срабатывание перехода d изменяет разметку сети М (b)на разметку М '(b) по следующему правилу:
т. е. переход d изымает по одной метке из каждой своей входной позиции и добавляет по одной метке в каждую из выходных позиций. Для изображения смены разметки М на М' применяют обозначение M └ M'.
Рассмотрим размеченную N - схему с начальной разметкой М = {1, О, О, О, 1, О, 1}, которая приведена на рис. 6.2, а. При такой начальной разметке N-схемы единственным готовым к срабатыванию является переход d2, срабатывание которого ведет к смене разметка МО └ M1, rдe М1 = {О, 1, 1, О, 1, О, 1} (рис. 6.2, б).
При разметке М1 возможно срабатывание переходов d ,d и d .В зависимости от того, какой переход сработал первым, получается одна из трех возможных новых маркировок (рис. 6.2, в, г, д). Функционирование N-схемы продолжается до тех пор, пока существует хотя бы один возможный переход.
Рис. 6.2. Пример функционирования размеченной N-схемы.
Таким образом, N- сxeма выполняется путем запусков переходов под управлением количества меток и их распределения в сети. Переход запускается удалением меток из его входных позиций и образованием новых меток, помещаемых в выходные позиции. Переход может запускаться только тогда, когда он разрешен. Переход называется разрешенным, если каждая из его входных позиций имеет число меток, по крайней мере равное числу дуг из позиции в переход.
|
Важной особенностью моделей процесса функционирования систем с использованием типовых N -схем является простота построения иерархических конструкций модели. С одной стороны, каждая N -схема может рассматриваться как макропереход или макропозиция модели более высокого уровня. С другой стороны, переход или позиция N-схемы может детализироваться в форме отдельной подсети для более углубленного исследования процессов в моделируемой системе S. Отсюда вытекает возможность эффективного использования N-схем для моделирования параллельных и конкурирующих процессов в различных системах.