Одновременность и конфликт
Одной из особенностей сетей Петри и их моделей является параллелизм или одновременность. В модели сети Петри два разрешенных взаимодействующих события могут происходить независимо друг от друга, но при необходимости их легко синхронизировать. Таким образом, сети Петри представляются идеальными для моделирования систем с распределенным управлением, в которых несколько процессов выполняются одновременно.
Другая важная особенность сетей Петри – их асинхронная природа. В сети Петри отсутствует измерение времени или течение времени. Структура сетей такова, что содержит в себе информацию для определения возможных последовательностей событий. В этих моделях нет никакой информации, связанной с количеством времени, необходимым для выполнения событий.
Выполнение сети Петри рассматривается как последовательность дискретных событий. Обычно запуск перехода рассматривается как мгновенное событие, занимающее нулевое время и одновременное возникновение двух событий невозможно. Моделируемое таким образом событие называется примитивным, примитивные события мгновенны и неодновременны.
Непримитивными называются события, длительность которых отлична от нуля. Однако это не приводит к возникновению проблем при моделировании систем. Непримитивное событие может быть представлено в виде двух примитивных: «начало непримитивного события», «конец непримитивного события» и условия «когда «непримитивное» событие происходит».
В сетях Петри предложено представлять непримитивные события в виде прямоугольника (рис. 5.7), а примитивные события планками. Прямоугольник имеет существенное значение при моделировании сложных систем на нескольких иерархических уровнях, т.к. он позволяет выделить в отдельный элемент сети целые подсети. Наличие прямоугольника подобно понятию подпрограммы в блочном программировании.
Рис. 5.7
Если в какой либо момент времени разрешено более одного перехода, то любой из них может стать «следующим». Выбор запускаемого перехода осуществляется недетерминированным (случайным) образом. Недетерминированность и неодновременность запусков переходов в моделировании параллельной системы показывается двумя способами. Один из них представлен на рис. 5.8. В этой ситуации два разрешённых перехода tj и tk не влияют друг на друга. В число возможных последовательностей событий входит последовательность, в которой первым срабатывает один переход и последовательность, в которой первым срабатывает другой переход. Эти два перехода могут быть запущены в любом порядке, это называется недетерминированностью и неодновременностью. Переход tk (рис. 5.8) может быть запущен в любом порядке, но обязательно при помощи маркеров в обеих позициях. Это называется одновременностью. Другая ситуация, в которой одновременное выполнение затруднено и которая характеризуется невозможностью одновременного запуска, показана на рис. 5.9. Здесь переходы tj и tk находятся в конфликте, так как запуск одного из них удаляет маркер из pi и, тем самым, завершает другой переход. Эта ситуация называется конфликтом и в моделируемых системах отображает борьбу за общие ресурсы.
Рис. 5.8 | Рис. 5.9 |
Существуют определённые области, в которых сети Петри являются идеальным инструментом для моделирования: это области, в которых события происходят синхронно и независимо. Одной из таких областей является использование сетей Петри для моделирования аппаратного и програмного обеспечения ЭВМ и других систем.
6. Обобщенные модели (A-схемы)
Обобщенный подход базируется на понятии агрегативной системы (aggregate system), представляющей собой формальную схему общего вида (А-схему). Этот подход позволяет описывать поведение непрерывных и дискретных, детерминированных и стохастических систем.
А-схема должна выполнять несколько функций:
- являться адекватным математическим описанием объекта моделирования;
- позволять в упрощенном варианте (для частных случаев) проводить аналитические исследования.
При агрегативном подходе первоначально дается формальное определение объекта моделирования – агрегативной системы. При агрегативном описании сложный объект (система) разбивается на конечное число частей (подсистем), сохраняя при этом связи, обеспечивающие их взаимодействие. В случае сложной организации полученных подсистем, подсистемы декомпозируются до уровней, в которых они могут быть удобно математически описаны. В результате сложная система представляется в виде многоуровневой конструкции из взаимосвязанных элементов, объединенных в подсистемы различных уровней.
Элементом А-схемы является агрегат. Связь между агрегатами (внутри системы S и с внешней средой E) осуществляется с помощью оператора сопряжения R. Агрегат может рассматриваться как А-схема,т.е. может разбиваться на элементы (агрегаты) следующего уровня.
Характеристиками агрегата являются множества моментов времени T, входных X и выходных Y сигналов, состояний Z в каждый момент времени t.
Пусть переход агрегата из состояния z(t1) в состояние z(t2) ¹ z(t1) происходит за малый интервал времени dz. Переходы из состояния z(t1) в z(t2) определяются внутренними параметрами агрегата h(t) Î H и входными сигналами x(t) Î X.
В начальный момент времени t0 состояния z имеют значения, равные z0, т.е. z0 = z(t0), которые задаются законом распределения L[z(t0)]. Пусть изменение состояния агрегата при входном сигнале хп описывается случайным оператором V. Тогда для момента времени tn Î T при поступлениивходного сигнала хn состояние определяется по формуле (6.1):
z(tn + 0) = V[tn, z(tn), xn]. (6.1)
Если на интервале времени (tn, tn + i) нет поступления сигналов, то для t Î (tn, tn + 1) состояние агрегата определяется случайным оператором U, и его можно записать следующим образом (6.2):
z(t) = U[t, tn, z(tn + 0)]. (6.2)
Так как на оператор U не накладываются никакие ограничения, то допустимы скачки состояний dz в моменты времени, не являющимися моментами поступления входных сигналов x.
Моменты скачков dz называются особыми моментами времени ts, состояния z(ts) – особыми состояниями А-схемы. Для описания скачков состояний dz в особые моменты времени ts используется случайный оператор W, которыйпредставляет собой частный случай оператора U (6.3):
z(td + 0) = W[td, z(td)]. (6.3)
На множестве состояний Z выделяется такое подмножество Z(Y), что если z(td) достигает Z(Y), то это состояние является моментом выдачи выходного сигнала. Выходной сигнал можно описать оператором выходов (6.4):
y = G[td, z(td)]. (6.4)
Под агрегатом будем понимать любой объект, который описывается следующим образом (6.5):
An = <T, X, Y, Z, Z(Y), H, V, U, W, G>. (6.5)