Сіїиик щчньа тщдм 2011
СЕТИ ПЕТРИ И МОДЕЛИРОВАНИЕ М.В. Мальков, С.Н. Малыгина
Эмпирические системы - события и явления внешнего мира, называемые «ситуациями», являются системами, состоящими из взаимосвязанных частей, каждая из которых вносит свой вклад в характеристики целого. При анализе эмпирические системы абстрагируются до уровня системы асинхронно взаимодействующих процессов и задают поведение данной системы. В настоящее время большой и устойчивый интерес проявляется к средствам моделирования и анализа сложных параллельных и распределенных систем. Такими системами являются, например, вычислительные машины и комплексы с параллельной и распределенной архитектурой, параллельные программы и алгоритмы, протоколы взаимодействия (коммуникационные, верифицирующие), модели технологических и бизнес-процессов. При исследовании сложной системы нас могут интересовать различные ее свойства. Математические методы во многих случаях позволяют получить однозначный ответ на подобные вопросы. При этом значение имеет первоначальный выбор используемого формализма, то есть способа моделирования реальной системы. Для решения задач анализа и верификации в теории параллельных и распределенных вычислений в настоящее время предлагаются различные способы моделирования реальных систем. К числу наиболее известных формализмов можно отнести конечные автоматы, алгебры процессов, CCS Р. Милнера, языки трасс, а также различные их модификации, в том числе с добавлением конструкций времени и вероятности. Различные классы моделей обладают различными свойствами выразительности и алгоритмической разрешимости. Причем эти два параметра модели, как правило, противоречат друг другу: выбранный формализм может оказаться или очень выразительным и не поддающимся анализу, или же позволяющим эффективно решать все необходимые проблемы, но при этом слишком слабым, недостаточно полно описывающим моделируемую систему. Для формализации процессов в дискретных динамических системах самой разной природы необходимо обратиться к абстракциям условий, событий, причинно-следственных связей и т.п. А если этим абстракциям поставить в соответствие определенные графические примитивы и связать их линиями, несущими определенную логику, то получится некая сеть, т.е. графический образ процесса. Сетевые методы описания и анализа процессов хороши тем, что используемые в них абстракции близки к интуитивным представлениям о процессах. Сеть является графическим образом процесса. Пример - сети Петри или ^схемы [8]. Сети Петри - математический аппарат для моделирования динамических дискретных систем. Впервые описаны Карлом Петри в 1962 г. Популярность сетей Петри
вызвана удачным представлением различных типов объектов, присутствующих во многих моделируемых системах и “событийным” подходом к моделированию. Они обладают наилучшими возможностями для описания взаимосвязей и взаимодействий параллельно работающих процессов. Сети Петри являются мощным инструментом исследования моделируемых систем благодаря их возможности описания многих классов дискретных, асинхронных, параллельных, распределенных, недетерминированных систем, благодаря наглядности представления их работы, развитому математическому и программному аппарату анализа. Сети Петри - достаточно выразительная модель параллелизма, обладающая в то же время значительным набором разрешимых свойств. Сети Петри разрабатывались специально для моделирования тех систем, которые содержат взаимодействующие параллельные компоненты, например аппаратное и программное обеспечение ЭВМ, гибкие производственные системы, а также социальные и биологические системы. Существуют определённые области, в которых сети Петри являются идеальным инструментом для моделирования: это области, в которых события происходят синхронно и независимо. Одной из таких областей является аппаратное и программное обеспечение ЭВМ и других систем. Существует несколько формальных определений сети Петри, отличающихся способами задания элементов и связей в сети.
Анализ сетей Петри помогает получить важную информацию о структуре и динамическом поведении моделируемой системы. Эта информация может быть полезна для оценки моделируемой системы и выработки предложений по её усовершенствованию и изменению. Анализ результатов может сказать о том, какие действия происходят, какие состояния им предшествовали, и какие состояния примет система после выполнения действия, в каких состояниях пребывала или не пребывала система, какие состояния в принципе недостижимы. В сетях Петри нет строгого понятия процесса. Нет также однозначной последовательности исполнения. Это позволяет гибко использовать данный формализм для отображения и анализа причинно-следственных связей в самых разнообразных процессах, происходящих в дискретных динамических системах, вне зависимости от их природы. Поведение системы описывается выполнением событийной модели. Сеть Петри моделирует некоторую структуру и динамику ее функционирования. В настоящее время определены и изучены разнообразные классы сетей Петри.
Сеть Петри имеет четыре базовых элемента: позиции, переходы, дуги и метки (фишки или маркера)
- см. рис.1. Позиция - это состояние, в котором находится система или определенная ее часть. Текущее
состояние сети Петри характеризуется неупорядоченным набором позиций. Каждой позиции сети ставится в соответствие натуральное число, указывающее количество фишек в данной позиции. Это число называют разметкой позиции, а совокупность таких чисел для всех позиций сети называют разметкой сети. Позиция может и не содержать фишек, т.е. иметь нулевую разметку. Процесс перераспределения фишек называется выполнением сети Петри. Позиции и переходы соединены направленными дугами, каждая из которых имеет свой вес. Дуги можно разделить на два типа: дуги, направленные от позиции к переходам и дуги, направленные от переходов к позициям. При срабатывании перехода фишка удаляется из каждой его входной позиции и вносится в каждую выходную позицию. Срабатывание перехода происходит мгновенно - за нулевое время. Если одновременно активированы два либо более переходов, то срабатывает только один из них (одновременное срабатывание двух переходов в сетях Петри не допускается). Выбор запускаемого перехода осуществляется случайно, в этом смысле сети Петри - недетерминированная модель. Помимо недетерминированности сеть Петри характеризуется асинхронно-стью - она работает не в физическом, а в логическом (дискретном) времени, определяемом частичной упорядоченностью событий (переходов). Для детер-минизации сетей Петри необходимо дополнительно привлечь механизм выбора - ввести управление сетью.
Рис.1. Пример сети Петри Р1 - Р6 обозначают позиции, И- ?8 обозначают переходы, чёрный кружок — фишка (метка или маркер). При срабатывании перехода t1 фишка переносится из позиции Р1 в позицию Р2, присрабатывании перехода t2 фишка переносится из позиции Р2 в позиции Р3 и Р4 и т.д.
Сети Петри занимают промежуточное положение между машинами Тьюринга и конечными автоматами. Вообще говоря, конечные автоматы являются частным случаем сетей Петри. Сети Петри лучше всего подходят для описания любых асинхронных систем, тогда как конечные автоматы - для последовательных систем. Наглядность динамики и композиционные возможности сетей Петри выше, чем у конечных автоматов, но при этом компактность представления предпочтительнее у конечных автоматов. Конечные автоматы эквивалентны автоматным сетям Петри - сетям, в которых каждый переход может иметь одну входную и одну выходную пози-
цию. Конечные автоматы анализировать гораздо проще, чем сети Петри и проще, чем машины Тьюринга. Что касается отношения сетей Петри к машине Тьюринга, то достаточно расширить сеть Петри сдерживающими дугами (позволяющими определять отсутствие фишек в данной позиции), как она тут же становится эквивалентной машине Тьюринга [7].
Сети Петри можно интерпретировать по-разному. Можно представить себе, что позиции представляют условия (буфер пуст, файл закрыт и т.д.), а переходы -события (получение информации в буфер, запись в файл). Однако основная интерпретация сетей Петри для моделирования систем дается в терминах событий и условий. Переходы сетевой модели интерпретируются как события, входные позиции перехода - как условия возникновения события (предусловия), выходные позиции - как условия, возникающие после совершения события (постусловия). Состояние системы описывается совокупностью условий. Функционирование системы состоит в осуществлении последовательности событий. Для возникновения события необходимо выполнение некоторых предусловий. Возникновение событий может привести к выполнению постусловий. В сети Петри условия моделируются позициями, события - переходами.
Наглядность сетевого моделирования систем существенно повышается, если использовать теоретико-графовое представление сети Петри в виде двудольного ориентированного мультиграфа. Напомним, что двудольный граф - это такой граф, множество вершин которого разбивается на два подмножества и не существует дуги, соединяющей две вершины одного подмножества. Г раф сетей Петри является мультиграфом, т.к. он допускает существование кратных дуг от одной вершины к другой [8]. Сеть Петри представляет собой ориентированный граф с вершинами двух типов - позициями и переходами, где дугами могут соединяться только вершины различных типов.
Предметом теоретического исследования сетей Петри является процесс их функционирования, т.е. возможные последовательности срабатывания переходов и свойства получаемых при этом разметок сети. И, как обычно в математике, такие исследования формулируются в виде утверждений двух основных типов - утверждение о существовании и утверждения об обязательности.
Анализ сетей Петри заключается в распознавании ряда свойств, характеризующих сеть. Основными свойствами сети Петри являются:
• ограниченность - число фишек в любой позиции сети не может превысить некоторого значения К. Под ограниченностью понимают свойство сети не допускать превышения количества фишек в данной позиции некоторого фиксированного числа;
• безопасность - частный случай ограниченности, К=1. Безопасной является такая сеть Петри, в которой ни при каких условиях не может появиться более одной метки в каждой из позиций. Для исследуемой системы это означает возможность функционирования ее в стационарном режиме. На основе
анализа данного свойства могут быть определены требования к буферным накопителям в системе;
• достижимость - возможность перехода сети из одного заданного состояния (характеризуемого распределением фишек) в другое. Граф достижимости -одна из основных характеристик сети Петри. С помощью этого графа описываются возможные варианты функционирования сети. Такой граф имеет вершины, которые являются возможными маркировками. Задача достижимости - одна из основных задач, решаемая при анализе сетей Петри, к которой сводится множество других задач;
• сохраняемость - постоянство загрузки ресурсов, YANi = const, где Ni — число фишек в /'-той позиции, А,-— весовой коэффициент;
• живость. Под живостью перехода понимают возможность его срабатывания в данной сети при начальной разметке. Анализ модели на свойство живости позволяет выявить невозможные состояния в моделируемой системе (например, неисполняемые ветви в программе).
Одна из основных проблем в теории сетей Петри
- задача о конечности функционирования сети (о достижении тупиковой разметки, т.е. разметке, при которой ни один переход не может сработать). Другое направление исследования функционирования сети Петри связано с изменением количества фишек в конкретной позиции в процессе функционирования сети.
Выполнением сети Петри управляют количество и распределение фишек в сети. Фишки управляют выполнением переходов сети, поскольку сеть Петри выполняется посредством запуска переходов. Переход может запускаться только в том случае, когда он разрешен. Входные позиции конкретного перехода -те позиции, из которых исходят дуги. Переход срабатывает, если количество фишек в каждой входной позиции перехода не меньше количества дуг, соединяющих эту позицию с переходом. Срабатывание перехода состоит в изъятии фишек из каждой входной позиции и помещении их в каждую выходную позицию. Причем, количество фишек, изымаемых из конкретной позиции, или помещаемых в конкретную позицию равно количеству дуг, соединяющих срабатывающий переход с данной конкретной позицией. Сеть останавливается, если при некоторой разметке не может сработать ни один из ее переходов. Такая разметка называется тупиковой. Если одновременно активированы два либо более переходов, то срабатывает только один из них (одновременное срабатывание двух переходов в сетях Петри не допускается). Переход разрешен, если входная позиция содержит, хотя бы одну фишку. При срабатывании перехода маркировка сети изменяется следующим образом: из входных позиций перехода удаляется по одной фишке, а в выходные - добавляется по одной.
Важным понятием сетей Петри является «событие». Событием называют срабатывание перехода, при котором фишки из входных позиций этого перехода перемещаются в выходные позиции. События происходят мгновенно, либо разновременно, при
выполнении некоторых условий. Моделирование в сетях Петри осуществляется на событийном уровне. Определяются, какие действия происходят в системе, какие состояние предшествовали этим действиям и какие состояния примет система после выполнения действия. Анализ состояний не дает числовых характеристик, определяющих состояние системы. В сетях Петри события и условия отображаются абстрактными символами, называемыми переходами и позициями. Условия-позиции и события-переходы связаны отношениями зависимости, которые отображаются с помощью ориентированных дуг. Выполнение условий отображается помещением соответствующего числа фишек в соответствующую позицию. Состояние системы формируется в результате реализации локальных операций, называемых условиями реализации событий. Условие имеет емкость:
• условие не выполнено - емкость равна 0;
• условие выполнено - емкость равна 1
• условие выполнено с п-кратным запасом -емкость рана п.
Определенная комбинация условий может стимулировать определенное событие, которое вызовет в свою очередь изменение условий. Если число фишек более 2-3, емкость условия может быть отображена числом. Каждый переход имеет нуль или более входных дуг, исходящих из позиций, и нуль или более исходящих дуг, направленных к выходным позициям. Любой разрешенный переход может произойти, удалив все входные фишки и установив фишки в выходных позициях, что отражает изменение условий (и емкостей). Если числа входных и выходных дуг отличаются, число фишек не сохраняется. Если разрешено более одного перехода, то может произойти любой из них. Причем один из осуществившихся переходов, может блокировать реализацию всех остальных переходов из данного набора. Формализм сетей Петри не предусматривает каких-либо механизмов преодоления подобных конфликтов. Переход осуществляется, если выполнены все условия реализации данного события. Если два или более переходов могут осуществиться (выполнены все условия) и они не имеют общих входных позиций, то их реализация некоррелирована и может происходить параллельно или в любой последовательности. Выбор перехода, вообще говоря, не определен. Переходы из состояния в состояние для каждого процесса или объекта рассматриваются независимо. Если условия ни для одного из переходов не реализованы, сеть переходит в заблокированное состояние [3]. Функционирование сети Петри - последовательная смена маркировок в результате срабатывания переходов. Состояние сети в данный момент времени определяется ее текущей маркировкой. Маркер свидетельствует о том, что переменная (буфер) имеет значение, а если позиция имеет несколько маркеров, то это может интерпретироваться как наличие нескольких значений в буфере. Маркеры могут перемещаться по сети. Каждое изменение маркировки называют событием, причем каждое событие связано с определенным переходом. Считается, что события
происходят мгновенно и разновременно при выполнении некоторых условий. Каждому условию соответствует определенная позиция. Совершению события соответствует срабатывание (возбуждение или запуск) перехода, при котором фишки из входных позиций перемещаются в выходные позиции. Последовательность событий образует моделируемый процесс. Завершение процесса функционирования приводит сеть к разметке, называемой конечной.
Сети Петри имеют ряд недостатков, ограничивающих их возможности. Основной из них - время срабатывания перехода считается равным нулю, что не позволяет исследовать с помощью сетей Петри временные характеристики моделируемых систем [8]. Однако, можно вводить ряд правил и условий в алгоритмы моделирования, получая ту или иную разновидность сетей Петри. Так, можно ввести модельное время, чтобы моделировать не только последовательность событий, но и их привязку ко времени. Это осуществляется приданием переходам веса - продолжительности срабатывания, которую можно определять, используя задаваемый при этом алгоритм. Полученную модель называют временной сетью Петри. Если задержки являются случайными величинами, то сеть называют стохастической. В стохастических сетях возможно введение вероятностей срабатывания возбужденных переходов.
Развитие теории сетей Петри привело к появлению, так называемых, «цветных» сетей Петри. Понятие цветности в них тесно связано с понятиями переменных, типов данных, условий и других конструкций, более приближенных к языкам программирования. Расширение простых сетей в цветные заключается в добавлении информации к элементам сети, основываясь на которой, при определённых условиях, можно преобразовать цветные сети в простые [2]. При этом:
• фишки трансформируются в объект, который может содержать в себе один или более параметров, каждый из которых может принимать дискретный набор значений. Чтобы различать фишки по типам их окрашивают в различные цвета (отсюда и название - цветные);
• к позициям добавляется информация о типах фишек;
• к дугам, исходящим из позиций, добавляется информация о типах фишек, которые могут участвовать в возбуждении переходов;
• к переходам может быть добавлена информация с инструкцией возбуждения перехода в зависимости от значений переменных, содержащихся в фишках;
• к исходящим дугам добавляется информация о типах фишек, исходящих из перехода и о преобразовании переменных;
• к начальной маркировке сети добавляется информация о значении переменных, содержащихся в фишках;
• для передачи данных между фишками различных цветов используются выражения на дугах. Переменные на дугах, входящих в переход, конкрети-
зируются значениями компонент цветов фишек, находящихся во входной позиции. Выражения на дугах, исходящих из перехода, формируют фишку для выходной позиции. Таким образом, переход может порождать фишки любого цвета;
• для анализа систем с хронологией (например, систем реального времени) вводится временной механизм, реализованный с помощью системных часов (глобальных или специальных) и так называемых штампов, отражающих локальное (событийное) время, которые несут фишки. Временной штамп фишки назначается при ее инициализации в начальной разметке или при создании фишки переходом, и может измениться на переходах или дугах. В результате фишка становится доступной для перехода, если ее штамп находится в определенных соотношениях с системными часами.
При преобразовании цветной сети в простую, все действия переходят в структуру сети, что достигается разбиением позиций и переходов на количество равное произведению множества значений всех типов данных, соответствующих местам и переходам. При этом все переменные в сети получаются уже заданными и вместо дуг цветной сети рисуются дуги, соединяющие места и переходы, согласно своим «цветным» описаниям.
Сети Петри бывают первого и второго рода. Сеть первого рода - это цветная сеть Петри, описанная на языке предписаний.
Сеть второго рода - это сеть, представленная в виде иерархической композиции объектов.
N1
Рис. 3. Сеть второго рода
Предметом теоретического исследования сетей Петри является процесс их функционирования, т.е. возможные последовательности срабатывания переходов и свойства получаемых при этом разметок сети. Такие исследования формулируются, как правило, в виде утверждений двух основных типов - утверждение о существовании и утверждения об обязательности. Одна из основных проблем в теории сетей Петри - задача о конечности функционирования сети
(о достижении тупиковой разметки). Суть проблемы состоит в ответе на вопрос для данной конкретной сети - существует ли такая последовательность срабатывания переходов, которая приводит сеть к тупиковой разметке (т.е. разметке, при которой ни один переход не может сработать).
Сети Петри моделируют широкий класс систем, но для некоторых распространенных специальных классов систем удобно применять сети Петри не общего вида, а некоторые их подклассы или расширения (иерархические сети, раскрашенные сети Петри, сети событий, временные сети событий), более адекватные рассматриваемым системам. Некоторые виды сетей Петри:
• временная сеть - переходы обладают весом, определяющим продолжительность срабатывания (задержку);
• стохастическая сеть - задержки являются случайными величинами;
• функциональная сеть - задержки определяются как функции некоторых аргументов, например, количества фишек в каких-либо позициях, состояния некоторых переходов;
• цветная сеть - метки могут быть различных типов, обозначаемых цветами, тип метки может быть использован как аргумент в функциональных сетях;
• ингибиторная сеть - возможны ингибиторные дуги, запрещающие срабатывание перехода, если во входной позиции, связанной с переходом ингибиторной дугой, находится метка;
• иерархическая сеть - содержит не мгновенные переходы, в которые вложены другие, возможно, также иерархические, сети. Срабатывание такого перехода характеризует выполнение полного жизненного цикла вложенной сети.
Развитие теории сетей Петри проводится по двум направлениям - формальному и прикладному. Формальная теория сетей Петри занимается разработкой основных средств, методов и понятий, необходимых для применения сетей Петри. Прикладная теория сетей Петри связана главным образом с применением сетей Петри к моделированию систем и их анализу [1].
Композициональный подход к построению сетей Петри предполагает возможность построения более сложных сетей из менее сложных составляющих. Для этого вводятся точки доступа, которые позволяют объединять простые сети путём синхронизации событий и состояний (переходов и мест). Для построения композитных сетей используются две основные операции над сетями Петри:
1. Операция слияния переходов - позволяет порождать и описывать синхронизацию параллельных процессов;
2. Операция слияния позиций - позволяет применять к сетям операции последовательной композиции, выбора, итерации и другие.
Рассмотрим кратко математический формализм сетей Петри. Итак, сетью Петри называется четвёрка элементов:
C = (Р, Т, I, К),
где P = {pi, p2,...,pn}, n > 0 множество позиций (конечное),
T = {ti, t2,...,tm}, m > 0 множество переходов (конечное),
I: T ^ P функция входов (отображение множества переходов во входные позиции),
K: T ^ P функция выходов (отображение множества переходов в выходные позиции).
Если p, е I (t,). то р, - входная позиция j - го перехода, если p, е I (t,). то р, - выходная позиция j - го перехода.
Для наглядного представления сетей Петри используются графы. Граф сети Петри есть двудольный ориентированный мультиграф:
G=^,Ê, где V = Р и Т , причём Р П Т = 0.
Исходя из графического представления сети Петри, её можно определить и так:
C = (P, T, A),
где А - матрица инциденций графа сети. Напомним, что матрица инциденций - таблица, которая содержит N строк и M столбцов. Каждая строка соответствует узлу (вершинам), а каждый столбец - ветви (дугам) графа. Матрица инциденций дает полное описание направленного графа.
Определим понятие маркированной сети Петри -оно является ключевым для любой сети. Маркировка д сети Петри C = (P, T, I, K) есть функция:
N = д(Р),
отображающая множество позиций на множество натуральных чисел. Маркировку можно также определить как вектор:
(1= {Дь |12,..., 11„},
где п = | Р |, a jx, е N.
Между этими определениями есть связь:
Д = д (Р.)-
На графе маркировка отображается соответствующим числом фишек в каждой позиции. Если фишек много (больше трёх), то их количество отображается числом. Таким образом, маркированная сеть Петри представляет собой пятёрку элементов:
M = (P, T, I, K, д).
Пусть имеется маркированная сеть Петри: M = (P, T, I, K, д). У неё n позиций. В каждой позиции не более N фишек. Тогда пространство состояний есть множество всех возможных маркировок сети. Определим 5 - функцию следующего состояния. Если переход tj разрешён при текущей маркировке д, то следующая маркировка д ’ определится так: д’ = 5 (д, tj).
Если переход tj не разрешён, то 5 не определена. Пусть {tj0, tji,., tjn} - последовательность запущенных переходов. Тогда ей будет соответствовать последовательность {д0, д1,., дп+1}, то есть: дм = 5(дк, j).
На основании последнего равенства можно определить понятие непосредственно достижимой маркировки. Для сети C = (P, T, I ,K) маркировка д’ называется непосредственно достижимой из д, если
существует такой переход М> 5(д , 0.
У е Т.
при котором
Можно распространить это понятие на множество достижимых из данной маркировок. Определим множество достижимых из д маркировок R(C, д) следующим образом:
1. ц е ЩС, ц);
2. если д’ е ЩС, д), д’= 5(д, ^ и д”= 5(д\ то иц”е ЩС, д).
Вектором маркировки для сети Петри является вектор, в котором число элементов равно числу позиций, а значением элемента является количество фишек в соответствующей позиции. Одной из основных аналитических задач сетей Петри является задача определения достижимости маркировки, когда для исходного вектора маркировки требуется установить существование последовательности переходов, выполнение которых обеспечивает достижение заданного выходного вектора маркировки. Простейший способ анализа достижимости маркировки состоит в следующем. Структура сети Петри представляется в виде двух матриц инциденций (Р+ и D-), с числом строк, равным числу переходов в сети, и числом столбцов, равным числу позиций. Матрицы D+ и D- содержат соответственно выходные и входные функции переходов. При этом D+ называется матрицей входов и содержит 1 на пересечении /-той строки и у-го столбца, если у-тая позиция является входной для /-того перехода (и 0 для других вариантов). D- называется матрицей выходов и содержит 1 на пересечении /-той строки и у-го столбца, если у-тая позиция является выходной для /-того перехода. Вектор х называется вектором запуска переходов. Число элементов в х равно числу переходов, а значение каждого элемента определяет количество запусков данного перехода в процессе выполнения. Если исходный вектор маркировки обозначить т0, а результирующую маркировку - через ту, то достижимость маркировки т1 равнозначна существованию вектора х с неотрицательными целыми элементами, который служит решением уравнения:
т1 = т0 + х*(Р+ - D-) (1),
где (Р+ - D-) - матрица изменений.
Пример. Рассмотрим фрагмент сети Петри, заданной матрицами:
D+ =
Пусть исходная маркировка т0 = (1, 0, 1, 0). Необходимо определить достижимость маркировки т1 = (1, 0, 0, 0).
Решение. Вектор запусков, являющийся решением уравнения (1) имеет вид:
2
чЪ
Из чего следует, что требуемая маркировка достижима в результате выполнения процессов с номерами 1, 2, 3.
(1 0 0 0^ f! 1 1 0'
0 1 1 0 D~ = 0 0 0 1
,0 0 0 ъ ч0 0 1 0
Рис. 4. Граф соответствующий заданным матрицам инциденций
Литература
1. Википедия. - Режим доступа: http ://ru/wikipedia. org
2. Сети Петри. - Режим доступа: http://www.iacp.dvo.ru
3. Сети Петри. - Режим доступа: http://book.itep.ru/10/
4. О сетях Петри. - Режим доступа: http://www.textan.org
5. Использование сетей Петри в математическом моделировании. - Режим доступа: http://revolution.allbest.ru/programming/
6. Методы оценки деятельности предприятия. -Режим доступа: http://www.interface.ru/
7. Котов, В.Е. Сети Петри / В.Е. Котов. - М.: Наука, 1984. -160 с.
8. Советов, Б.Я., Моделирование систем / Б.Я. Советов, С.А. Яковлев. - М.: Высшая школа, 2005. -344 с.