УДК 004.021
СОРОКИН В.Е., старший препод., (ДонИЖТ).
Анализ моделей сетей Петри на корректную и адекватную работу
Введение
Сети Петри представляют собой достаточно мощный и широко распространенный инструмент исследования различных систем. Теория сетей Петри делает возможным моделирования системы математическим представлением ее в виде сети Петри. Анализ сетей Петри позволяет получить важную информацию о структуре и динамическом поведении и моделируемой системы. Эта информация позволяет дать оценку моделируемой системы и осуществить выработку предложений по ее усовершенствованию и изменению.
Постановка проблемы
Проблема синтеза структуры систем включает в себя: синтез структуры управляемой системы, т.е. определение оптимального состава и взаимосвязей ее элементов, оптимального разбиения множества управляемых объектов на отдельные подмножества, обладающих заданными характеристиками; синтез структуры управляющей системы, т.е. выбор числа уровней и подсистем (иерархии управления), способов согласования целей подсистем различных уровней, создание контуров принятия решений; оптимальное распределение выполняемых функций между уровнями и узлами системы; выбор структуры системы передачи и обработки информации.
При помощи моделирования сетями Петри становится возможным описание элементов в системе, их взаимодействие, а также реакцию всей структуры в целом и ее составляющих на поступающие входные воздействия. Имитационное модели-
рование в широком смысле означает процесс создания логико-математической модели исследуемой системы, описывающей структуру и поведение системы и принимающей обычно форму машинной программы, а также проведение экспериментов с моделью на компьютере с целью получения данных о функционировании системы в течение определенных интервалов времени.
При создании модели сети Петри перед ее разработчиком стоит задача создания имитационной модели, которая полностью будет описывать поведение модулируемой системы или процесса. Визуально по полученной модели сети Петри сложно обнаружить ошибки и неточности ее построения. Полученную модель требуется тщательно проанализировать на корректную и адекватную работу. В противном случае ошибки моделирования не будут выявлены и исправлены [2].
Методы анализа сетей Петри на корректную работу дополняют друг друга, их синтез дает информацию о правильности построения модели. Для наиболее полного соответствия модели сети Петри и функционирования реальной системы или процесса, построенная модель должна адекватно описывать затраты времени на осуществление определенных событий и процессов. Отсутствие учета временных задержек при срабатывании переходов сети Петри, не позволит адекватно оценить работу модели.
Анализ публикаций
Сети Петри являются одним из наиболее удобных и подходящих языков моделирования поскольку являются форма-
лизированным языком, способным моделировать параллельные процессы, временные процессы и т. д. [1].
Интерпретация сетей Петри основана на понятиях условия и события. Состояние системы описывается совокупностью событий. Для возникновения события необходимо выполнение некоторых условий, называемых предусловиями. Возникновение событий может привести к выполнению условий, называемых постусловиями. В сети Петри условия моделируются позициями Р, события - переходами Т. Предусловия события представляются входными позициями соответствующего перехода, постусловия - выходными позициями.
Поскольку моделируемые сетью Петри события являются мгновенными и неодновременными, и их взаимосвязь асинхронна, это удобный аппарат для моделирования множества взаимосвязанных и параллельных процессов. Использование сетей Петри в задачах, связанных с распределением ресурсов привлекательно наглядностью, адекватностью и технологичностью при программной реализации моделей [3].
Сеть Петри описывается набором:
РК = <Р, Т, Б, Мо>
где Р = {р1, р2,..., рп} - конечное множество позиций;
Т = {11, 12,., 1п} - конечное множество переходов;
Б е Р X Т и Т X Р - множество ориентированных дуг (отношение инцидентности);
Б ^ N - функция кратности дуг;
М0: Р ^ N - начальная разметка (наличие условий для запуска переходов).
Другими словами:
• Сеть Петри состоит из позиций и переходов.
• Они связываются ориентированными дугами, которые могут передавать метки (фишки).
• Количество меток, которое изымается или устанавливается в пози-ции,определяется весом дуги.
• Метка может находиться только в позициях, т.к. они интерпретируют состояния системы.
• Количество меток, которое содержится в позиции, называется маркировкой.
• Предусловие означает, что количество меток во входной позиции должно быть не меньше веса дуги, соединяющей эту позицию и переход.
• Постусловие означает, что выходная позиция может забрать такое количество меток, которое должно быть не меньше веса дуги, соединяющей переход и эту позицию.
• Когда все предусловия и постусловия выполнены, тогда и только тогда этот переход может сработать (метки от входных позиций перемещаются в выходные позиции).
• Таким образом, события, как изменение состояний системы, выражаются запуском переходов.
Формулирование цели статьи
Целью данной статьи является описание методов анализа моделей сетей Петри на корректную и адекватную работу. Дано математическое обоснование возможностей методов анализа моделей. Указаны причины, при которых анализ моделей приведенными методами, может привести к ограниченности их реализации.
Изложение основного материала
Существуют два метода анализа корректности моделей сетей Петри, которые описывают механизм решения некоторых задач:
- дерево достижимости;
- матричные уравнения.
Дерево достижимости представляет собой все возможные последовательности запусков переходов. Всякий путь в дереве, начинающийся в корне, соответствует допустимой последовательности переходов. Для эффективности анализа сетей Петри при помощи дерева достижимости необходимо найти те средства, которые ограничивают введение новых маркировок (граничные вершины). Маркировки, в которых нет разрешенных переходов, являются пассивными (терминальные вершины). Маркировки, которые встречались раннее называются дублирующие маркировки (никакие последующие маркировки нет необходимости рассматривать, они будут порождены из места первого появления дублирующей маркировки в дереве).
Каждая вершина классифицируется или как граничная вершина, терминальная вершина, дублирующая вершина, или как внутренняя вершина. Граничными являются вершины, которые не обработаны алгоритмом; алгоритм превратит их в терминальные, дублирующие или внутренние. Алгоритм начинает с определения начальной маркировки корнем дерева, то есть граничной вершиной. До тех пор пока имеются граничные вершины, они обрабатываются алгоритмом [1].
Пусть х — граничная вершина, которую необходимо обработать.
1. Если в дереве имеется другая вершина у, не являющаяся граничной, и с ней связана та же маркировка, л [х] = л [у], то вершина х — дублирующая.
2. Если для маркировки л [х] ни один из переходов не разрешен (т. е. 5(л [х], X) не определено для всех X, е Т), то х — терминальная вершина.
3. Для всякого перехода X, е Т , разрешенного в /и [х] (т. е. 8(/ [х], X) определено), создать новую вершину г дерева достижимости. Маркировка /и[г], связанная с этой вершиной, определяется для каждой позициирг следующим образом:
а) Если /л [х]г = со, то л [г], = со.
б) Если на пути от корневой вершины к х существует вершина у с л [у] < 5(л [х], X,) и л [у]г < 5(л [х], X) то л [г], = со.
в) В противном случае л [г], = <Кл
[х], X,),.
Дуга, помеченная X,, направлена от вершины х к вершине 2. Вершина х переопределяется как внутренняя, вершина 2 становится граничной.
Когда все вершины дерева - терминальные, дублирующие или внутренние, алгоритм останавливается. Важным свойством алгоритма построения дерева достижимости является то, что он заканчивает работу.
Пример маркированной сети Петри представлен на рисунке 1, дерево достижимости для данной сети представлено на рисунке 2.
Рисунок 1. - Маркированная сеть Петри
Си.О) (0,т,1) (0,0,1)
Ъ и
Рисунок 2. - Дерево достижимости для маркированной сети Петри
Свойства сетей Петри, которые можно доказать построением дерева достижимости:
1. Сеть Петри безопасна, если число фишек в каждой позиции не может превысить 1;
2. Сеть Петри ограниченна, если существует такое целое к, что число фишек в любой позиции может превысить к.
3. Сеть Петри является сохраняющей, если она не теряет и не порождает фишки, а просто передвигает их. Значение фишки в каждой позиции определяет вектор взвешивания, веса неотрицательны. Сеть Петри является сохраняющей по отношению к вектору взвешивания, если взвешенная сумма фишек постоянна для всех достижимых маркировок.
4. Путь от корня к покрывающей маркировке определяет последовательность переходов, которые приводят из начальной маркировки к покрывающей маркировке, а маркировка, связанная с этой вершиной, определяет покрывающую маркировку.
К свойствам сетей Петри, которые не возможно доказать при помощи построения дерева достижимости относятся задачи достижимости и активности, а также для определения возможностей последовательности запусков. Решение этих задач ограниченно существованием символа а. Символ с означает потерю информации; конкретные количества фишек отбрасываются, учитывается только существование их большего числа.
Если сеть Петри ограниченна и символ с отсутствует в дереве достижимости, то сеть Петри представляет систему конечных состояний. Дерево достижимости, по существу, является графом состояний, и будет содержать вершину, соответствующую всякой достижимой маркировке. Это позволяет решить вопросы анализа простым перебором и проверкой конечного множества всех достижимых маркировок.
В задаче покрываемости для маркировки / стоит задача определить, достижима ли маркировка / > /. Данная задача решается проверкой дерева достижимости. Строится для начальной маркировки /л дерево достижимости. Затем ищется любая вершина х с /и[х] >/. Если такой вершины не существует, маркировка / не покрывается никакой достижимой маркировкой; если она найдена, /[х] дает достижимую маркировку, покрывающую / .
Путь от корня к покрывающей маркировке определяет последовательность переходов, которые приводят из начальной маркировки к покрывающей маркировке, а маркировка, связанная с этой вершиной, определяет покрывающую маркировку. Карп и Миллер [4] предложили алгоритм, определяющий минимальное число запусков переходов, необходимых для покрытия данной маркировки.
Эти условия достаточны для решения некоторых задач достижимости и активности, но они не решают задачи, в общем.
Второй метод анализа сетей Петри при помощи матричных уравнений. Данный подход к анализу сетей Петри основан на матричном представлении сетей Петри. Альтернативным по отношению к определению сети Петри в виде (Р, Т, I, О) является определение двух матриц П и П+, представляющих входную и выходную функции. Каждая матрица имеет т строк (по одной на переход) и п столбцов (по одному на позицию).
Матрица П [], г ] = # (рг, 1( ^)) определяет входы в переходы, а матрица П+ [], г ] = # (Рг, О( ^)) определяет выходы из переходов в позиции.
На рисунке 3 представлены входная матрица П, выходная матрица П+ и составная матрица П=П+-П для маркированной сети Петри (рисунок 1)
'1 0 0 '1 1 0
1 0 0 О = □ 1 1
р 1 1 Р 0 1
а) 5)
Рисунок 3. - Матрицы состояний: а) входная; б) выходная; в) составная
Матричная форма определения сети Петри (Р, Т, П, П+) эквивалентна стандартной форме, но позволяет дать определения в терминах векторов и матриц. Пусть в[)] — т-вектор, содержащий нули везде, за исключением )-й компоненты. Переход представляется т-вектором в[)] (пусть т-вектор будет иметь название вектор-строка).
Теперь переход ( в маркировке л разрешен, если л > в[)]* П, а результат запуска перехода ) в маркировке л записывается как
5(л, у) = / - в)]* п + в)]* п+ = / + +в[)]* (-П + )= л+ в/)]* п,
где П = - П - составная матрица изменений.
Тогда для последовательности запусков переходов ) = ^2... ) получают
5(л, )) = 5(л,1)1, 1)2,. (к ) = л +в[)1]*П + + в[)2]*П + в[)к]*П = л + (в[)1]+ +в[)2]+.+ в[)к])*Б = л+№*о.
Вектор /()) = в[)1]+ в[)2]+.+ в[)к] называется вектором запусков последовательности ) (-2... ) ,. 1-й элемент вектора /(а), /()), - это число запусков перехода и в последовательности ^1 (2... ) . Вектор запусков, следовательно, является вектором с неотрицательными целыми компонентами.
С помощью матричных уравнений можно показать сохранение сети Петри. Для этого необходимо найти (ненулевой вектор) взвешивания, для которого взве-
шенная сумма по всем достижимым маркировкам постоянна. Пусть с -п*1 - вектор-столбец. Тогда, если л - начальная маркировка, а л- произвольная достижимая маркировка, необходимо, чтобы л*с = л *с. Теперь, поскольку л достижима, существует последовательность запусков переходов ), которая переводит сеть из л в л . Поэтому
л =5(л, о) = л+ /(о)*П.
Следовательно, л*с = л *с = (л + +/(о)*П)*а = л* с +/(о)*В*а,
поэтому /())*П*т = 0.
Поскольку это должно быть верно, для всех /()), имеем П*а = 0.
Сеть Петри является сохраняющей тогда и только тогда, когда существует такой положительный вектор с, что П*а = 0. Это обеспечивает простой алгоритм проверки сохранения, а также позволяет получать вектор взвешивания с.
Матричная теория сетей Петри является инструментом для решения проблемы достижимости. Для доказательства необходимо ввести предположение, что маркировка л достижима из маркировки л. Тогда существует последовательность (возможно пустая) запусков переходов ), которая приводит из л к л■ Это означает, что /()) является неотрицательным целым решением следующего матричного уравнения для х:
л = л + х* П.
Следовательно, если л достижима из л, тогда уравнение имеет решение в неотрицательных целых; если уравнение не имеет решения, тогда л недостижима из л.
Для сети Петри (рисунок 1) при помощи матричных уравнений, возможно, провести анализ какая маркировка л достижима из начальной маркировки л при последовательности срабатывания разре-
шенных переходов. Начальная маркировка л = (1,0,0), последовательность срабатывания переходов о = Xl,X2,Xз представляется вектором запусков переходов /(сг)= (111), тогда
'о 1 <Я
¡1 о) = м + }{а) *□ = (1,1,0)+ (111) '
И 1 1 0-1 о
= (1,1,0)+ (-1,ЭД) = (0А1)
Что соответствует дереву достижимостей, так как маркировка л = (0,4,1) достижима из начальной маркировки л = (1,0,0), путем срабатывания переходов Xl,X2,Xз. Символ ю в маркировке дерева достижимостей указывает на произвольное число фишек, которые могут находиться в позиции р2.
При помощи матричных уравнений можно определить является маркировка л = (0,0,1) достижимой из маркировки л = (1,0,0). Для этого необходимо составить уравнение:
(0,0,1) = (1,0,0)+ЛГ*
0 1 б| ■111 0-1 о
(-1,0,1)=^
0 1 б И 1 1 0-1 о
реходы описывают соответствующие события.
Отсутствие учета времени срабатывания переходов может повлечь возникновение конфликта при функционировании имитационной модели, которую описывает. Что при некоторых условиях, существенно снизит мощность имитационного моделирования сетями Петри.
В сетях Петри запуск перехода (и соответствующего события) рассматривается как мгновенное событие, занимающее нулевое время. Такие события называются примитивными. Примитивные события мгновенны и неодновременны. Так как реальные события занимают некоторое время, то они относятся к не примитивным событиям. Не примитивными событиями называются такие события, длительность которых отлична он нуля (то есть не мгновенна) [3].
Петри и другие предложили представлять не примитивные события в сети Петри в виде прямоугольника (рисунок 4).
-О
Г*0
входы
выходы
Уравнение имеет решение Х = (011). Это соответствует срабатыванию переходов X2,Xз. В случае если уравнение не имеет решений в целых неотрицательных числах, маркировка л будет не достижима из маркировки л.
Совместный анализ сети Петри при помощи дерева достижимости и матричных уравнений позволяет получить полную информацию о корректной работе модели сети Петри (рисунок 1).
Адекватная работа модели сети Петри должна учитывать затраты времени на срабатывание переходов сети, так как пе-
Рисунок 4. - Представление не примитивного события прямоугольником.
Прямоугольник имеет существенное значение при моделировании сложных систем на нескольких иерархических уровнях, так как он позволяет выделить в отдельный элемент сети целые подсети. Однако обозначение не примитивного события в виде прямоугольника на нижнем уровне иерархии не представляется возможным.
Для моделирования не примитивных событий на нижних уровнях иерархии возможно применение стохастических
(временных) сетей Петри. Стохастические сети Петри как расширение стандарта сетей Петри могут рассматривать время. Если метки некоторых позиций будут интерпретироваться как обработка информации протоколами и принятие соответствующего решения, производящиеся за некоторое номинальное время, то такие позиции могут заменяться переходом. Кроме того, в этом случае метки таких переходов не задерживаются в нем в течение времени работы, но устанавливаются как недоступные (зарезервированные) в выходных позициях.
Поскольку для описания реальных процессов требуется не только фиксированное время, но также время, описываемое статистическими распределениями, то используются стохастические сети Петри в качестве специального типа времени, оценивающего работу сети Петри. Когда переход получает возможность срабатывания, он срабатывает немедленно. Метки, взятые во входных позициях, устанавливаются в выходные позиции.
Для описания времени срабатывания переходов, возможно, использовать временные сети событий (ВСС). Временные сети событий характеризуются структурой, текущим состоянием и механизмом изменения состояния.
Структура временных сетей событий представляет собой связный биограф и задается тройкой (Р, Т, Е), где Р - конечное непустое множество позиций; Т - конечное непустое множество переходов; Е - отображение вида Т — Р (Р); Р (Р) -множество всех подмножеств Р. Позиции сети рг € Р, г € {1,... Р/} отображают в модели все основные состояния процессов. Переходы ( € Т, ) е{1,...}т}} соответствуют событиям. Отображение Е() находит все смежные с 1) позиции из множества Р.
Состояние ВСС определяется маркировкой позиций, М: Р — N - функция маркировки, (М(р1)),..., М(р}р})) - разметка сети. Применяемые в ВСС метки имеют
атрибуты: (а1,..., ак) - вектор атрибутов метки в позиции рг € Р. Значения некоторых атрибутов могут быть функциями времени. Переходы меток при выполнении сети сопровождаются изменениями значений атрибутов. Эти изменения подчиняются специально определяемым в модели правилам (процедурам перехода).
Как правило, М(р)< 1. Равенству соответствует тот факт, что состояние рг некоторого процесса в системе, представленное в модели некоторым элементарным высказыванием, реализовалось. Если М(р)>1, то наиболее простыми интерпретациями в этом случае являются состояния, возникающие при накоплении объектов, участвующих в процессе.
Механизм изменения состояний ВСС связан с выполнением переходов 1) € Т. Каждый переход можно записать в виде тройки (и, 5), V)). Здесь щ - условие возбуждения; 5) - схема выполнения, а V) - процедура перехода. Условие возбуждения и) - это предикат, определенный в множестве позиций из Е(1), истинный только в том случае, когда реализуется некоторая заданная разметка позиций множества Е()). Кроме того, условие возбуждения может включить еще проверку значений атрибутов меток. Если значение какого-то атрибута является функцией времени, то обеспечивается соответствующая значению данной функции временная задержка. Схема выполнения определяет изменение разметки позиций сети при срабатывании перехода. Пусть Е() - упорядоченное множество позиций, смежных с ) Тогда схема 5) - это вектор, элементы которого образуют биекцию с элементами множества Е(1). Любое положительное целое число в 5) обозначает число меток, помещаемых в соответствующую позицию после выполнения перехода (ребро ориентируется от перехода к позиции). Целые отрицательные числа в 5) указывают число удаляемых меток из соответствующих позиций (ребро ориентируется от позиции к переходу). Нулевые значения компонент
отмечают изменяемые позиции (ребро является двунаправленным). Каждая изменяемая позиция не обязательно имеет единственную метку и образует с переходом X] цикл длины 2. Не изменяемые в результате срабатывания перехода позиции отмечаются в Эу символом (*).
Процедура перехода Vу представляет собой правила вычисления атрибутов (для позиций, отмеченных в Эу нулем) или добавления меток.
Допустим, метка в позиции р} имеет один атрибут: г- время задержки на срабатывание перехода X}.
Условие выполнения перехода X}:
И« = (М (р1) = 1) л (г (р1) = 0).
Схема срабатывания перехода X}: Ё(11) = (р1, р1, р2), 8А = (-1,+1,+1).
Процедура перехода V
(г (р1):= £ tl,
где ¿¡а - время задержки на срабатывание перехода X}.
Выводы
Аппарат сетей Петри является наиболее удобным и подходящим для моделирования и анализа различных процессов и систем. Анализ моделей сетей Петри должен проводиться, как на корректную, так и на адекватную работу. Анализ моделей на предмет корректной работы позволяет выявить возможные ошибки моделирования и, как следствие, определить неверную работу модели. Анализ моделей сетей Петри на корректную работу можно осуществлять при помощи построения дерева достижимостей и матричных уравнений.
Анализ моделей на предмет их адекватной работы позволяет сделать выводы о реакциях моделей на временные за-
держки при анализе сетей Петри в условиях наиболее приближенных к реальным. Анализ моделей сетей Петри на адекватную работу можно осуществлять при помощи временных сетей событий.
Список литературы
1. Питерсон Дж. Теория сетей Петри и моделирование систем: Пер. с англ. -М.: Мир, 1984. - 264 с., ил.
2. Котов В.Е. Сети Петри. - М.: Наука. Главная редакция физико-математической литературы, 1984. - 160с.
3. Лескин А.А., Мальцев П.А., Спиридонов А.М. Сети Петри в моделировании и управлении. Л.: Наука, 1989. 133с.
4. Karp R., Miller R., Parallel Program Schemata, RC-2053, IBM T.J. Watson Research Center, Yorktown Heights, New York, 1968, pp. 54
Аннотации:
Ключевые слова: анализ сетей Петри, корректная и адекватная работа, дерево достижимостей, матричные уравнения, временные сети событий.
Сети Петри позволяют моделировать различные системы и процессы математическим представлением, с возможностью получения информации о поведении структуры модели. Анализ сетей Петри должен проводиться на корректную и адекватную работу. Анализ корректной работы моделей можно осуществить при помощи дерева достижимостей и матричных уравнений, которые позволяют выявить ошибки моделирования. Анализ адекватной работы моделей можно провести при помощи временных сетей событий, которые позволяет учитывать затраты времени в модели, приближая к поведению реальной системы или процесса.
Мережi Петр1 дозволяють моделювати р1зш системи й процеси математичною виставою, з мо-жливютю одержання шформаци про поведшку структури модель Анал1з мереж Петр1 повинен проводитися на коректну й адекватну роботу. Анал1з коректно! роботи моделей можна здшснити за допомогою дерева достижимостей 1 матричних р1внянь, яш дозволяють виявити помилки моде-лювання. Анал1з адекватно! роботи моделей можна провести за допомогою часових мереж подш,
яш дозволяють враховувати витрати часу в модел^ наближаючи до поведшки реально! системи або процесу.
Networks Petri allow to model various systems and processes by mathematical representation, with an opportunity of reception of the information on behaviour of structure of model. The analysis of networks Petri should be spent for correct and adequate work.
The analysis of correct work of models can be carried out by means of a tree of approachibilities and the matrix equations which allow to reveal errors of modelling. The analysis of adequate work of models can be lead by means of time networks of events which allows to consider expenses of time in model, approaching to behaviour of real system or process.
УДК 621.395.7
ИГНАТЕНКО Е.Г., аспирант (ДонНТУ), ТУРУПАЛОВ В В., к.т.н, доцент (ДонНТУ), БЕССАРАБ В.И. к.т.н, доцент (ДонНТУ).
Исследование структуры потока Ьйр-запросов в телекоммуникационных сетях
Актуальность
В классической теории телетрафика принято считать, что информационные потоки в телекоммуникационных сетях, адекватно описываются Пуассоновским распределением. Такое допущение является верным для сетей небольшого размера и позволяет использовать известные методы теории массового обслуживания для расчета сетевых параметров. Но с ростом размера сетей, увеличением разнообразия сетевых приложений, появлением новых протоколов передачи данных в поведении трафика проявляются фрактальные свойства [1]. Для такого трафика методы расчета, которые традиционно базируются на пуассоновских моделях и формулах Эрланга, приводят к неадекватной оценке реальной нагрузки. Также известно, что фрактальным процессам присуще свойство самоподобия или масштабной инвариантности, которое для сетевых процессов заключается в том, что с уве-
личением интервала агрегирования временного ряда сохраняется структура нижележащих уровней, и интервал корреляции теоретически стремится к бесконечности [1-3].
К настоящему времени показано, то самоподобной структурой обладает трафик в телекоммуникационных сетях при работе протоколов Ethernet [4], Уо1Р [5], TCP [6] и OKC7 [7]. При этом проводился анализ сведений об информации, полученной пользователями сети._
Постановка цели и задач исследования
Целью работы является разработка методики анализа временного ряда входящего потока http-запросов, обладающего свойством самоподобия. Для достижения поставленной цели необходимо решить следующие задачи:
- проанализировать существующие подходы к исследованию временных рядов трафика;
- проанализировать временной ряд