Текст
                    НИ ДЖ. ПИТЕРСОН
ТЕОРИЯ
СЕТЕЙ ПЕТРИ
И МОДЕЛИРОВАНИЕ
СИСТЕМ

ДЖ. ПИТЕРСОН ТЕОРИЯ СЕТЕЙ ПЕТРИ И МОДЕЛИРОВАНИЕ СИСТЕМ
АЖ. ПИТЕРСОН теория сетей петри И МОДЕЛИРОВАНИЕ систем Перевод с английского М. В. Горбатовой, канд. техн, наук В. Л. Торхова, канд. техн, наук В. Н. Четверикова под редакцией д-ра техн, наук В. А. Горбатова МОСКВА «МИРН984
JAMES L. PETERSON The University of Texas at Austin PETRI NET THEORY AND THE MODELING OF SYSTEMS PRENTICE-HALL, INC., ENGLEWOOD CLIFFS, N. J. 1981
ББК 32.816 ТЗЗ УДК 519.95 Питерсон Дж. ТЗЗ Теория сетей Петри и моделирование систем: Пер. с англ. — М.: Мир, 1984. — 264 с., ил. В книге американского ученого изложены основные понятия и результаты теории сетей Петри, касающиеся различных аспектов вычислительной техники и особенно систем распределенной обработки информации. Для научных работников, аспирантов и студентов старших курсов втузов. П 2405000000-227 041(01)-84 163-84, ч. 1 ББК 32.816 6Ф0.1 $2- —а дЛццр« к '" | tex гчесний иисти’С' 1 ’ tioepo-^ий Филиал Редакция литературы по новой технике © Prentice-Hall, Inc., Englewood Cliffs, 1981 © Перевод на русский язык, «Мир», 1984 •w?*W
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ В последние годы развитие вычислительной техники харак- теризуется не столько увеличением числа элементов, участвую- щих в обработке данных (будь то число функциональных бло- ков в процессоре или процессоров в вычислительной системе), сколько усложнением структуры их взаимосвязи, управления взаимодействием. Качественно новый характер взаимодействия в современных вычислительных системах послужил причиной появления новых задач, связанных с анализом, моделированием и представлением причинно-следственных связей в сложных системах параллельно действующих объектов. Мощным средст- вом решения этих задач являются сети Петри — предмет данной книги. Родившись при описании взаимодействующих автоматов, моделирующих системы аппаратного обеспечения, они оказа- лись очень удобными для анализа и моделирования програм- много обеспечения, что предопределило большой интерес к ним и быстрый прогресс в их исследовании. Предлагаемая книга является первой переводной моногра- фией, посвященной сетям Петри. В ней последовательно изла- гаются основные понятия теории сетей Петри, задачи, связан- ные с сетями Петри, методы их анализа. На протяжении всей книги внимание читателя акцентируется на прикладных аспек- тах теории сетей Петри. Автор определяет место сетей Петри в ряду формальных систем, направленных на моделирование па- раллельных процессов. Книга написана просто и доходчиво, все излагаемые понятия подробно обсуждаются. В ней содержится большое число при- меров, иллюстраций, упражнений и тем для серьезных исследо- ваний. Изложение ведется на должном уровне математической строгости. Автор монографии известен как специалист в области сетей Петри, его интересы в исследовании этой области весьма мно- госторонни. Ему принадлежат работы как обзорного плана, так и посвященные вопросам анализа языков сетей Петри, построе- ния иерархии моделей описания параллельных процессов и др. Работая над переводом книги, коллектив переводчиков осознавал ответственность, которую налагает на них издание первой переводной монографии. Перевод не доставил особых трудностей. Однако над системой соответствующих русских тер-
6 Предисловие к русскому изданию минов, отвечающей требованиям концептуального единства всей терминологии, пришлось немало потрудиться. Предлагаемая книга будет полезна студентам и аспирантам, специализирующимся в вычислительной технике, а также спе- циалистам, занимающимся вопросами распределенной обработ- ки данных. Перевод монографии выполнен М. В. Горбатовой (гл. 1—3), канд. техн, наук В. Л. Торховым (предисловие, гл. 4—6), канд. техн, наук В. Й. Четвериковым (гл. 7, 8, аннотированная библио- графия, предметный указатель). В. А. Горбатов
ПРЕДИСЛОВИЕ Теория сетей Петри значительно развилась со времени ее рож- дения в диссертации д-ра Петри в 1962 г. Однако многие из публи- каций по сетям Петри труднодоступны, поскольку оформлены, как правило, в виде отчетов и диссертаций и рассеяны по многим ис- точникам. И тем не менее, несмотря на трудность изучения сетей Петри, использование их постоянно возрастает. Мы приходим к вы- воду, что, по-видимому, каждый специалист в области вычисли- тельной техники должен знать азы теории сетей Петри. Эта книга собрала основные результаты теории сетей Петри, представив их в последовательном и согласованном виде. Пред- ставление и организация материала удобны и для индивидуального изучения специалистом-практиком, и для организованного изуче- ния аспирантами, специализирующимися в области вычислительной техники. Теорию сетей Петри можно применить в безмерно боль- шом множестве областей (как показано в гл. 3), знание основ тео- рии сетей Петри становится обязательным для специалистов по вы- числительной технике, системному анализу и др. Для студентов и специалистов, желающих немедленно найти практическое применение сетям Петри, трудно переоценить гл. 1—4 и 7. Они вполне приемлемы для самостоятельного изучения и обе- спечивают достаточный фундамент для того, чтобы сделать возмож- ным немедленное использование сетей Петри в самых различных областях. Книгу можно использовать также как учебное пособие для про- ведения семинаров по сетям Петри для аспирантов, и если опре- деления и приложения из первых четырех глав изучаются легко, то оставшиеся главы подводят обучающихся к переднему краю ис- следований. Каждая глава содержит упражнения, которые дают возможность как практической работы с понятиями, так и закреп- ления основ теории. Наконец, «Темы для дальнейшего изучения» указывают новые направления исследований. Многие из этих тем можно легко развить в диссертационную работу. Основные понятия теории сетей Петри доступны человеку с минимальной подготовкой. Однако сети Петри даже в большей степени, чем множество других исследовательских тем, касаются различных аспектов вычислительной техники и математики. Пол- ная оценка и понимание современной теории сетей Петри требуют хорошей подготовки в области формальных языков и автоматов,
8 Предисловие операционных систем, архитектуры ЭВМ и линейной алгебры. Студент последнего года обучения, специализирующийся в вычи- слительной технике, или специалист, работающий год в этой об- ласти, должны иметь квалификацию, необходимую для проведения исследований с помощью сетей Петри. Очевидно, что результатов по сетям Петри получено больше, чем мы смогли здесь представить. Мы приветствуем дальнейшее изучение и предлагаем библиографию, для полноты которой была рассмотрена почти вся существующая литература. Сообщим, что д-р Петри продолжает свои исследования. То, что мы называем здесь теорией сетей Петри, в его терминологии назы- вается специальной теорией сетей, являющейся только частью его общей теории сетей [243—245, 247]. Благодарности Своим появлением эта книга обязана многим людям. Тилак Агервала, Мишель Хэк, Тай-Ян Хоу, К. Маттиас Лохт, Дино Мандриоли, Джерри Ное, Гэри Натт и Вильям Риддл помогли в изложении специальных вопросов. Дж. К- Браун, К- Мани Чэнди, Джим Дэниел, Нэнси Итмен и Р. Т. Йе, а также кафедры вы- числительной техники и математики Университета в Остине, шт. Техас, и Лаборатория вычислительной техники Массачусетского технологического института оказали техническую поддержку, поз- волившую мне найти время и средства для того, чтобы подгото- вить монографию. В период написания, редактирования и корректуры источником любви и поддержки была моя жена Жанни. Редактирование и набор с использованием ЭВМ породили при создании этой книги новые и уникальные трудности. Я признате- лен издательству за поддержку, терпение и разрешение всех вопро- сов, и особенно моему редактору, Карену Клемментсу, за муд- рость и профессионализм. Дж. Л. Питерсон Остин, Техас
ГЛАВА 1 ВВЕДЕНИЕ Сети Петри •— инструмент исследования систем. Теория сетей Петри делает возможным моделирование системы математическим представлением ее в виде сети Петри. Предполагается, что анализ сетей Петри поможет полу- чить важную информацию о структуре н динамическом поведении моделируе- мой системы. Эта информация будет полезна для оценки моделируемой систе- мы и выработки предложений по ее усовершенствованию и изменению. Таким образом, понятно, почему развитие сетей Петри основывалось на применении их к моделированию и проектированию систем. 1.1. Моделирование Применяются сети Петри исключительно в моделированииг Во многих областях исследований явление изучается не непосредст- венно, а косвенно, через модель. Модель •— это предетавление, как правило, в математических терминах того, что считается наи- более характерным в изучаемом объекте или системе. Ожидается, что, манипулируя представлением, можно получить новые знания о моделируемом явлении, избегая опасности, дороговизну или не- удобства манипулирования самим реальным явлением. Моделиро- вание применяется в астрономии (где модели рождения, смерти и взаимодействия звезд позволяют разрабатывать теории, имею- щие дело с большими промежутками времени и огромными количест- вами материи и энергии), ядерной физике (где изучаемые радио- активные атомы и элементарные частицы существуют в течение очень коротких периодов времени), социологии (где непосредст- венное воздействие на изучаемые группы людей связано с этиче- скими проблемами), в биологии (где модели биологических систем требуют для развития меньшего пространства, времени и пита- тельного вещества) и т. д. Как правило, модели имеют математическую основу. Характе- ристики многих физических явлений можно описать числами, а связь этих характеристик — уравнениями или неравенствами. В част- ности, в естественных науках и технике уравнениями описываются такие характеристики, как масса, положение в пространстве, мо- мент, ускорение и силы. Однако для успешного использования подхода моделирования необходимо знание как моделируемых явлений, так и свойств метода моделирования. Поэтому математика как наука развивалась частично благодаря использованию ее в моделировании явлений, изучаемых другими науками. Так, напри-
10 Глава 1 мер, дифференциальное исчисление появилось в ответ на необхо- димость в средствах моделирования в физике таких непрерывно изменяющихся характеристик, как положение в пространстве, ско- рость и ускорение. С разработкой быстродействующих ЭВМ использование и полез- ность моделирования значительно возросли. Представление систе- мы математической моделью, преобразование этой модели в команды для ЭВМ и выполнение программы на ЭВМ сделали возможным моделирование больших и более сложных систем, чем ранее. Это привело в результате к значительным исследованиям методов моде- лирования на ЭВМ и самих ЭВМ, поскольку они участвуют в моде- лировании в двух ролях: как вычислительные средства и как объект моделирования. 1.2. Природа систем Вычислительные системы очень сложны, часто велики, включа- ют множество взаимодействующих компонент. Каждая компонента также может быть очень сложной, поскольку взаимодействует с другими компонентами системы. Это справедливо и для многих дру- гих систем. Экономические системы, юридические системы, системы управления дорожным движением, химические системы состоят из многих отдельных компонент, взаимодействующих друг с другом сложным образом. Итак, несмотря на разнообразие моделируемых систем, выделя- ется несколько общих черт, которые должны быть отражены в осо- бенностях используемой модели этих систем. Основная идея заклю- чается в том, что системы состоят из отдельных взаимодействующих компонент. Каждая компонента сама может быть системой, но ее поведение можно описать независимо от других компонент систе- мы, за исключением точно определенных взаимодействий с другими компонентами. Каждая компонента имеет свое состояние. Состоя- ние компоненты — это абстракция соответствующей информации, необходимой для описания ее (будущих) действий. Часто состоя- ние компоненты зависит от предыстории этой компоненты, поэтому оно может со временем изменяться. Понятие «состояние» очень важ- но при моделировании компоненты. Например, в модели системы очередей банка могут присутствовать несколько кассиров и не- сколько клиентов. Кассиры могут быть свободны (ожидая клиента) или заняты (обслуживая клиента). Аналогично клиенты могут быть свободны (ожидая, когда кассир освободится для обслуживания их) или заняты (при обслуживании их кассиром). В клинической модели состояние пациента может быть критическим, серьезным, удовлетворительным, хорошим или превосходным. Действиям компонент системы присущи совмещенность или параллелизм. Действия одной компоненты системы могут произво- диться одновременно с действиями других компонент. В вычисли-
Введение 11 тельной системе, например, под управлением ЭВМ могут парал- лельно действовать такие периферийные устройства, как устрой- ства чтения с карт, построчно печатающие устройства и др. В эко- номической системе в одно и то же время производители поставляют одну продукцию, тогда, как продавцы сбывают другую, а покупа- тели используют третью. Совмещенная природа действий в системе создает некоторые труд- ности при моделировании. Поскольку компоненты системы взаимо- действуют, необходимо установление синхронизации. Пересылка информации или материалов от одной компоненты к другой требует, чтобы действия включенных в обмен компонент были во время взаимо- действия синхронизированы. Это может привести к тому, что одна компонента будет ждать другую компоненту. Согласование во вре- мени действий различных компонент может быть очень сложным, а получающиеся в результате взаимодействия между компонента- ми трудны в описании. 1.3. Зарождение теории сетей Петри Сети Петри разрабатывались специально для моделирования тех систем, которые содержат взаимодействующие параллельные компоненты. Впервые сети Петри предложил Карл Адам Петри 1241]. В своей докторской диссертации «Kommunikation mit Auto- maten» («Связь автоматов») Петри сформулировал основные поня- тия теории связи асинхронных компонент вычислительной системы. В частности, он подробно рассмотрел описание причинных связей между событиями. Его диссертация посвящена главным образом теоретической разработке основных понятий, с которых начали развитие сети Петри. Работа Петри привлекла внимание А. В. Хольта и сотрудников из Проекта Information System Theory (Теория информационных систем) фирмы Applied Data Research (ADR). Ими была развита большая часть начал теории, предложены обозначения и представ- ления сетей Петри, опубликованные в окончательном отчете по этому проекту 1128] и в отдельном отчете, имеющем название «Events and Conditions» («События и условия») [127]. В этой работе показано, как сети Петри можно применить к анализу и моделированию сис- тем, включающих параллельные компоненты. Работа Петри привлекла также внимание группы, работающей над Проектом МАС в Массачусетском технологическом институте (МТИ). Руководимая профессором Дж. Б. Деннисом группа вы- числительных структур стала источником значительных исследо- ваний и публикаций по сетям Петри, были написаны несколько диссертаций на степень доктора философии и множество отчетов и меморандумов (см. библиографию). Группой вычислительных структур были проведены две большие конференции по сетям Пет- ри: Конференция Проекта МАС по параллельным системам и па-
Глава 1 12 паллельным вычислениям в 1970 г. в Вудс Холле [73] и Конферен- ция по сетям Петри и связанным с ними методам в 1975 г. в МТИ. Обе эти конференции внесли вклад в распространение результатов и методов теории сетей Петри. За последние несколько лет использование и изучение сетей Петри значительно расширились. В 1977 г. в Париже и в 1979 г. в Гамбурге на лекциях по общей теории сетей проводились заседа- ния рабочей группы по сетям Петри. В ФРГ была образована груп- па интереса1) по сетям Петри. Исследования и применения сетей Петри расширяют сферу действия. 1.4. Применение теории сетей Петри Возможно несколько путей практического применения сетей Петри при проектировании и анализе систем. В одном из подходов сети Петри рассматриваются как вспомогательный инструмент анализа. Здесь для построения системы используются общеприня- тые методы проектирования. Затем построенная система модели- руется сетью Петри, и модель анализируется. Любые трудности, встречающиеся при анализе, указывают на изъяны в проекте. Для их исправления необходимо модифицировать проект. Модифици- рованный проект затем снова моделируется и анализируется. Этот цикл повторяется до тех пор, пока проводимый анализ не приведет к успеху. Такой подход иллюстрируется на рис.1.1. Заметим, что его можно использовать и для анализа уже существующих'действую- щих в настоящее время систем. В этом общепринятом подходе использования сетей Петри в про- ектировании требуется постоянное преобразование проектируемой системы в модель в виде сети Петри. Можно предложить другой, более радикальный подход, в котором весь процесс проектирования и определения характеристик проводится в терминах сетей Петри. Методы анализа применяются только для создания проекта сети Петри, свободного от ошибок. Здесь задача заключается в преоб- разовании представления сети Петри в реальную рабочую систему. Эти два подхода использования сетей Петри в процессе проекти- рования предлагают исследователю сетей Петри задачи разного типа. В первом случае необходима разработка методов моделиро- вания систем сетями Петри, а во втором случае должны быть раз- работаны методы реализации сетей Петри системами. В обоих слу- чаях необходимы методы анализа сетей Петри для определения свойств модели. Таким образом, первое, чего нам необходимо кос- нуться при рассмотрении теории сетей Петри, — это изучение свойств самих сетей Петри. О Эта группа провела уже три заседания: в Страсбурге (Франция), 1980 г., в Бад-Хоннефе (ФРГ), 1981 г., в Вероне (Италия), 1982 г. — Прим, ред.
Введение 13 Рис. 1.1. Использование сетей Петри для моделирования и анализа систем. Сначала система моделируется сетью Петрн, затем модель анализируется. Оценка системы, являющаяся результатом анализа, приведет, как ожидается, К лучшей системе. Необходимы исследования, направленные на разработку автоматических методов моделирования и анализа систем сетями Петри. 1.5. Прикладная и чистая теории сетей Петри Развитие теории сетей Петри проводилось по двум направле- ниям. Прикладная теория сетей Петри связана главным образом с применением сетей Петри к моделированию систем, их анализу и получающимся в результате этого глубоким проникновением в моделируемые системы. Успешная работа в этом направлении тре- бует хорошего знания области применения, сетей Петри и методов теории сетей Петри. Чистая теория сетей Петри занимается разработкой основных средств, методов и понятий, необходимых для применения сетей Петри. Хотя мотивация исследований по сетям Петри связана с приложениями, для применения сетей Петри необходим прочный теоретический фундамент. Большая часть работ по сетям Петри к настоящему времени относится к фундаментальной теории сетей Петри, развивающей средства и методы, которые окажутся некогда полезными для применения сетей Петри к конкретным реальным задачам. В этой книге представлены обе области теории сетей Петри (чистая и прикладная), но внимание будет сконцентрировано глав- ным образом на основах теории. Раскрываемые приложения пред- назначены в основном для демонстрации широты применения и силы теории сетей Петри и обоснования разработки методов анализа. Мы не будем пытаться раскрыть глубоко весь диапазон тем тео- рии сетей Петри, а скорее постараемся обеспечить прочную основу в терминах, понятиях, методах, результатах и истории сетей Петри для того, чтобы специалисты и аспиранты, специализирующиеся в вычислительной технике, могли разобраться во всевозрастающем потоке литературы по сетям Петри и были способны применить эту теорию к еще более широкому спектру приложений. Мы начинаем с нескольких формальных определений и примеров в гл. 2 и пока-
14 Глава 1 зываем далее в книге их силу и полезность. Заканчиваем анноти- рованной библиографией, охватывающей большинство публикаций по сетям Петри. 1.6. Замечания к литературе Теория сетей Петри родилась в диссертации Петри [241], но большинство работ в США основано на окончательном отчете по Проекту теории информационных систем [128], в котором переведе- на на английский язык и значительно расширена диссертация Пет- ри. Кроме того, среди первых публикаций важную роль играет работа Хольта и Коммонера «События и условия» [127]. Петри пред- ставил небольшую статью на конгресс ИФИП, которая опублико- вана в трудах конгресса [242]. Она основана на идеях, изложенных в диссертации. Представленный в книге подход во многом основан на работе группы вычислительных структур МТИ и работах Денниса [72], Патила [231] и др., кончая работой Хэка [113]. На содержание кни- ги также оказал влияние Келлер — своим отчетом по системам замещения векторов [150] и своей точкой зрения на моделирование [152]. 1.7. Темы для дальнейшего изучения 1. Проследите истоки и направления важных идей теории сетей Петри. Очевидно, что исходная точка принадлежит Петри, но как и к кому направлялись идеи дальше, как они появились в Соеди- ненных Штатах? Куда они направились оттуда? Для определения предшествования используйте даты и ссылки из опубликованных отчетов, статей, диссертаций и меморандумов. Возможно, вам за- хочется проинтервьюировать некоторых «ключевых» людей: Петри, Хольта, Денниса, Патила и др.
ГЛАВА 2 ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ В этой главе мы дадим формальные определения основных понятий сетей Петри. Основные понятия используются на протяжении всей книги и явля- ются необходимыми для правильного понимания. Наш формализм основывается на теории комплектов, являющейся обоб- щением теории множеств. Если вы не знакомы близко с теорией комплектов, предлагаем вам прочитать приложение. Определения, данныг здесь, по стилю подобны определениям теории ав- томатов [130], т. е. определен новый класс машин — автоматная сеть Пет- ри. Как мы увнднм позднее (гл. 5—8), такая точка зрения может привести к некоторым интересным результатам в теории формальных языков и теории автоматов. 2.1. Структура сети Петри Сеть Петри состоит из четырех элементов: множество позиций Р, множество переходов Т, входная функция I и выходная функция О. Входная и выходная функции связаны с переходами и позиция- ми. Входная функция I отображает переход tj в множество пози- ций называемых входными позициями перехода. Выходная функция О отображает переход tj в множество позиций 0(t j), на- зываемых выходными позициями перехода. Структура сети Петри определяется ее позициями, переходами, входной и выходной функциями. Определение 2.1. Сеть Петри С является четверкой, С — (Р, Т, I, О). Р= {рь р2, рп} — конечное множество позиций, п > 0. 71 — {^i, ^2, im) — конечное множество переходов, т > 0. Мно- жество позиций и множество переходов не пересекаются, Р А Т = = 0. / : Т Р°° является входной функцией — отображением из переходов в комплекты позиций. О : Т->- Р°° есть выходная функция — отображение из переходов в комплекты позиций. Мощность множества Р есть число п, а мощность множества Т есть число т. Произвольный элемент Р обозначается символом Pt, i~ 1, ..., п, а произвольный элемент Т — символом tj, j = = 1,..., tn. Примеры сетей Петри даны на рис. 2.1—2.3. Позиция Pi является входной позицией перехода tj в том случае, если pt Q I (tj)-, Pi является выходной позицией, если ptQ О {tj). Входы и выходы переходов представляют собой комплекты пози- ций. Комплект является обобщением множества, в которое вклю-
16 Глава 2 чены многократно повторяющиеся элементы — тиражированные элементы. В приложении содержится описание теории комплектов. Использование,комплектов, а не множеств для входов и выходов перехода позволяет позиции быть кратным входом либо кратным выходом перехода. Кратность входной позиции pt для перехода tj есть число появлений позиции во входном комплекте перехода, #(рг, I (tj)). Аналогично кратность выходной позиции pt для пе- рехода tj есть число появлений позиции в выходном комплекте перехода, 4ф(рь О (/;)). Если входная и выходная функции явля- ются множествами (а не комплектами), то кратность каждой пози- ции есть либо 0, либо 1. Входные и выходные функции используются для отображения позиций в комплекты переходов, а также их можно использовать для отображения переходов в комплекты позиций. Определим, что переход t} является входом позиции рг, если pt есть выход tj. Переход tj есть выход позиции pit если pt есть вход tj. Определение 2.2. Определим расширенную входную функцию / и выходную функцию /: Р^Т°°, О: Р-+Т°° таким образом, что # (tj> I (Pi)) — # (р^ о (tj)), # (tj, ом = # (Pi, I (tj)). Для сети Петри на рис. 2.1 расширенными входной и выходной функциями являются: /(й) = { }, I (Pi) = {^1» t4}, I (рз) = {^1» ^4}» (Р&) = {^з}» (Рз) = {^1» I?}' О(Л) = {^}, О (рз) = {^2}» О (Рз) — {^2> ^з}’ 0(р4) = Ю» О (Рз) = {У- С = (Р, Т, I, О), Р = {Pl, Pi, Рз* Pi, Рз), г — {ti, t2, tSt ^4}» I (G) = {Pi}. О (/j) = {p2, p3, Pb} , I = {d2, p3, Ps}, 0 (t2) = {p6}, Ц(з)={Рз}, 0(t3) = {Pi}, I (<4) = {Pi}, О (14) = {p2, p3}. Рис. 2.1. Структура сети Петри представлена в виде четверки, которая состо- ит из множества позиций (Р), множества переходов (Т), входной функции 7: Т-> Р00 и выходной функции (О: Т-»- Р00).
Основные определения 17 С = (Р, Т, I, О), Р = {Р1, Р2, Рз, Pt, Рь, Ре), 7,= {G» ^2> ^3, ^3» 74, ^а}, 7(^1) = {Р1), /(У = {Рз}. 1<!з) = {Ръ, Рз}, 1 (it) = {р4> Рз, Рз, Рз}, 1 «*) = №, О (tj) = {р2, Р3}, O(t2) = {p3, Рз, Рз}, 0(i3) = {Р2, Pt}, O(tJ = (p4), Рис. 2.2. Структура сети Петри. С = (Р, Т, I, О), Р = {Pi, Рг> Рз, Pt, Рь, Ре, Pi, Р», Рз), Т~ {/i, tz, ts, 1д, t5, /е), 1 (К) = (Pi). 0(*1) = {р2. Рз). /(« = {Р«}, оа2) = {р1, р7), ч {Р2, Рз}, о (i3) = {p6}, 1 (/4) = {Рз}, 0(/4) = {Р4}, i 4 I (tb) = {Р6. Pi), 7 Ge) = (fit, Р»}', 0(ie) = {p5i Р8}- Рис. 2.3. Структура сети Петри. Упражнения. 1. Найдите расширенную входную и выходную функции сетей Петри (рис. 2.2 и 2.3). 2. Покажите, что входная и выходная функции одновременно не являются не- обходимыми и что сеть Петри может быть определена множествами позиций, переходов и расширенной входной (или выходной) функцией. Для этого покажите, как расширенная выходная функция может быть определена из расширенной входной функции и наоборот. 2.2. Графы сетей Петри В значительной степени теоретическая работа по сетям Петри основана на формальном определении сетей Петри, изложенном выше. Тем не менее для иллюстрации понятий теории сетей Петри гораздо более удобно графическое представление сети Петри. Тео- ретико-графовым представлением сети Петри является двудольный ориентированный мультиграф. Структура сети Петри представляет собой совокупность позиций и переходов. В соответствии с этим граф сети Петри обладает двумя типами узлов. Кружок Q является позицией, а планка | — пере- ходом. — владимирский | политехнический институт | г.овг-о^сний Филиал I г. М Б Л И С> т п ц д [
18 Глава 2 Ориентированные дуги (стрелки) соединяют позиции и переходы, при этом некоторые дуги направлены от позиций к переходам, а другие — от переходов к позициям. Дуга, направленная от позиции pi к переходу tj, определяет позицию, которая является входом перехода. Кратные входы в переход указываются кратными ду- гами из входных позиций в переход. Выходная позиция указывает- ся дугой от перехода к позиции. Кратные выходы также представ- лены кратными дугами. Сеть Петри есть мультиграф, так как он допускает существо- вание кратных дуг от одной вершины графа к другой. Следует добавить, что так как дуги являются направленными, то э£о ори- ентированный мультиграф. Мы знаем, что вершины граф/1 можно разделить на два множества (позиции и переходы) таким образом, что каждая дуга будет направлена от элемента одного множества (позиций или переходов) к элементу другого множества (переходов или позиций); следовательно, такой граф является двудольным ори- ентированным мультиграфом. В дальнейшем для простоты будем называть его просто графом сети Петри. Определение 2.3. Гриф G сети Петри есть двудольный ориенти- рованный мультиграф, G = (V, Л), где V = {и1г и2, .... us} — множество вершин, а А = {ait а2, ..., аг) — комплект направ- ленных дуг, at = (Vj, vh), где Vj, vk £ V. Множество V может быть разбито на два непересекающихся подмножества Р и Т, таких, что V = Р U 7, Р (]Т = 0, к для любой направленной дуги а* € А, если cii = (Vj, vh), тогда либо Vj £ Р и vh £ Т, либо Vj £ 7, a vh £ Р. Графы сети Петри, изображенные на рис. 2.4 — 2.6, экви- валентны структурам сети Петри на рис. 2.1 — 2.3. Для демонстрации эквивалентности этих двух представлений сети Петри — структуры сети Петри и графа сети Петри — пока- жем, каким образом можно преобразовать один в другой. Пред- положим, нам дана структура сети Петри С — (Р, Т, I, О) с Р = = {Рь Р2, •••, Рп}нТ = {ф, t2,..., tm}. Тогда граф сети Петри мож- но определить следующим образом. Определение 2.4. Определим V — Р U Т. Определим А как ком- плект направленных дуг, такой, что для всех p,QP и tjQT #Црр tj), A) = #(pi> I(tj))t #((0> А), # (Pi, O(ti)). G — (V, Л) есть граф сети Петри, эквивалентный структуре сети Петри С = (Р, Т, I, О). Обратное преобразование (от графа сети Петри к структуре) осуществляется подобным образом, и поэтому оставим более деталь- ное описание такого преобразования читателю. Однако при перехо-
Основные определения 19 Рис» 2.4. Граф сети Петри, эквивалентный структуре, показанной на рис. 2.1. Рис. 2 2* сети Петри, эквивалентный структуре, изображенной на
20 Глава 2 Рис. 2.6. Граф сети Петри, эквивалентный структуре, показанной на рис. 2.3. де от графа сети Петри к структуре сети Петри возникает одна ин- тересная задача: если множество вершин можно разделить на два подмножества S и Р, то какое из этих подмножеств должно быть позициями, а какое — переходами? Оба возможных варианта поз- воляют определить сеть Петри, хотя в получающихся в результате структурах позиции и переходы меняются местами. Двойственной к сети Петри С = (Р, Т, I, О) является сеть Петри С = (Т, Р, I, О), которая получается в результате переста- новки позиций и переходов. Структура графа сохраняется, просто меняются местами кружки и планки (см. упражнение 6). На рис. 2.7 Рис. 2.7. Сеть, двойственная к сети Петри, показанной на рис. 2.4.
Основные определения 21 показана сеть, двойственная к сети Петри на рис. 2.4. Двойствен- ность — обычно полезный прием в теории графов и кажется инте- ресным понятием для сетей Петри. Однако никакой пользы извлечь из понятия двойственной сети Петри в исследовании этих сетей не представляется возможным. Это объясняется в основном труд- ностью определения сети, двойственной к маркированной сети Пет- ри. Маркированные сети Петри мы обсудим позднее. Упражнения 1. Постройте графы сетей Петри, двойственные к сетям Петри, показанным на рис. 2.5 и 2.6. 2. Постройте граф сети Петри для следующей структуры сети Петри: Р = {pi, Р2. Рз, Pt}, Т — {fi, h, 1з, М, ад = { }, ад = (Ра. ДУ = {Ра> Р4}« ад = { }, ад = {рз}. O(G)-{P,}. ад) = {р2}. 0(t3) ~ {Pi* Рз} > <ад = {р3}. ад = {р4}. 3. Изобразите граф сети Петри следующей структуры: Р = {pi, р2}, Т = {fi, f2, f3}, ад = {р1}. /(<2) = {pi). ад = {р2}. O(ti) = {Pi, Р2}, O(fa) = {pa}, 0(f3) = { }. 4. Покажите, что двойственная к двойственной сети Петри С есть сама сеть С. 5. Определите класс сетей Петри, которые совпадают с двойственными к се- бе. Можете ли вы дать простую характеризацию этого класса сетей Петри? 6. Если сеть, двойственная к сети Петри С = (Р, Т, I, О), определена как С — (Т, Р, I, О), входные и выходные функции должны быть расширены для отображения и Р, и Т. Почему? Если С — (Р, Т,1, О) имеет нерасширен- ные входные и выходные функции, дайте определение С = (Т, Р, Г, О') с нерасширенными входными и выходными функциями. 7. Найдите структуру сети Петри, соответствующую графу сети Петри на рис. 2.8. Определите структуру сети Петри для графа на рис. 2.9. 8. Графы сети Петри являются мультиграфами, так как позиция может быть кратным входом или выходом перехода. В графе это показывается несколь- кими дугами между позицией и переходом. В то время как такой способ удов- летворителен для дуг с малой кратностью (не более трех), он неудобен для дуг очень большой кратности. Таким образом, в качестве альтернативного пред- ставления структур с большой кратностью используется пучок дуг. Пучок — это специальная дуга, которая рисуется жирной линией и помечается крат- ностью. ₽ис. 2.10 иллюстрирует переход с входной кратностью 7 и выходной кратно- стью 11. Нарисуйте граф сети Петри для следующей структуры: {Pi, Pi, Рз, pt}, Т -= {fi, fa, ts, it}, ад = {}. ДУ = {Ра}. ДУ = {Pi, Pi, Pi, Pi, Pi, Pi}, ад = {р3, р4, р4, pj, OCi) = {Pi. Pi, Pi, Pi, Pi}, ад = {pi. Pi. Pi. Pi» Pi. Pi. рз} . 0(f3) — {pa, Pg, Pg, Pg, Pi, P4}, ад = { }.
22 Глава 2 Рис. 2.10. Пучок дуг. Для графов с большой кратностью используется пучок дуг, помеченный числом кратности, а не изображение всех кратных дуг. 9. Инверсная сеть Петри — С для сети Петри С — (Р, Т'I, О) определяется перестановкой входной и выходной функций — С = (Р, Т, О, /). Как это повлияет на граф сети Петри? В чем отличие от двойственной сети Петри? Окажет ли влияние расширение входной и выходной функций? Изобразите инверсную сеть Петри для сети Петри, приведенной на рис. 2.7. 2.3. Маркировка сетей Петри Маркировка у, есть присвоение фишек позициям сети Петри. Фишка — это примитивное понятие сетей Петри (подобно позициям и переходам). Фишки присваиваются (можно считать, что они при- надлежат) позициям. Количество и положение фишек при выпол- нении сети Петри могут изменяться. Фишки используются для определения выполнения сети Петри. Определение 2.5. Маркировка у сети Петри С = (Р, Т, I, О) есть функция, отображающая множество позиций Р в множество не- отрицательных целых чисел N. р: P-+N. Маркировка р может быть также определена как n-вектор р = = (pi, Иг, •••. Нп)> где п = |Р| и каждое р, € N, i — 1, ...» п. Век-
Основные определения 23 Рис. 2.11. Маркированная сеть Петри. Структура сети Петри совпадает со структурами на рис. 2.1 и 2.4. Маркировка — (1, 2, 0, 0, 1). Рис. 2.12. Маркированная сеть Петри. Структура аналогична структуре, изображенной на рис. 2.11, но маркировка отличается. тор р, определяет для каждой позиции сети Петри количество фишек в этой позиции. Количество фишек в позиции рг есть рг, i = 1, ..., п. Связь между определениями маркировки как функции и как вектора очевидным образом устанавливается соотношением Р(рг) — Цг- Обозначение ее в виде функции является несколько более общим и поэтому употребляется гораздо чаще. Маркированная сеть Петри М = (С, р) есть совокупность структуры сети Петри С = (Р, Т, I, О) и маркировки р и может быть записана в виде М — (Р, Т, I, О, р). На графе сети Петри фишки изображаются маленькой точкой в кружке, который представляет позицию сети Петри. На рис. 2.11 и 2.12 приведены примеры графического представления маркиро- ванной сети Петри. Так как количество фишек, которое может быть определено для каждой позиции, неограниченно, то в целом для сети Петри сущест-
24 Глава 2 вует бесконечно много маркировок. Множество всех маркировок сети Петри, обладающей п позициями, есть множество всех «-векто- ров, Nn. Это множество, хотя и бесконечно, является счетным. Упражнения 1. Для маркированной сети Петри (рис. 2.12) представьте маркировку как функцию и как вектор. 2. Для структуры сети Петри (рис. 2.2) изобразите граф сети Петри и укажи- те на графе маркировку р. = (1, 0, 1, 1, 0, 0). 3. Количество фишек в сети Петри редко превышает 5 или 6. В этом случае их рисуют. Однако, когда маркировка имеет 10, 20 или сотни фишек, припи- санных позиции, в кружках удобнее не рисовать фишки, а указывать их об- щее количество, как на рис- 2.13. Используя этот способ, изобразите марки- ровку р = (137, 22, 2, 0, 14) для сети Петри на рис. 2.12. 2.4. Правила выполнения сетей Петри Выполнением сети Петри управляют количество и распределение фишек в сети. Фишки находятся в кружках и управляют выпол- нением переходов сети. Сеть Петри выполняется посредством запус- ков переходов. Переход запускается удалением фишек из его вход- ных позиций и образованием новых фишек, помещаемых в его вы- ходные позиции. Переход может запускаться только в том случае, когда он раз- решен. Переход называется разрешенным, если каждая из его вход- ных позиций имеет число фишек по крайней мере равное числу дуг из позиции в переход. Кратные фишки необходимы для кратных входных дуг. Фишки во входной позиции, которые разрешают пере- ход, называются его разрешающими фишками. Например, если позиции pt и р2 служат входами для перехода ?4, тогда f4 разрешен, если pt и pz имеют хотя бы по одной фишке. Для перехода h с вход- ным комплектом {р6,Рв, Ре} позиция рв должна обладать по крайней мере тремя фишками, для того чтобы /7 был разрешен.
Основные определения 25 Определение 2.6. Переход tjQT в маркированной сети Петри С == (Р, Т, /, О) с маркировкой р разрешен, если для всех Pt^P p(Pi) > # (Pi> / (h))- Переход запускается удалением всех разрешающих фишек из его входных позиций и последующим помещением в каждую из его выходных позиций по одной фишке для каждой дуги. Кратные фиш- ки создаются для кратных выходных дуг. Переход t3 с /(/3) = {р2} и 0(t3) = {pit Р1з) разрешен всякий раз, когда в р2 будет хотя бы одна фишка. Переход t3 запускается удалением одной фишки из позиции р2 и помещением одной фишки в позицию р7 и в р13 (его вы- ходы). Дополнительные фишки в позиции р2 не влияют на запуск /3 (хотя они могут разрешать дополнительные запуски t3). Пере- ход в котором I(tJ = {р21, р23) и 0(12) = {р23, р25, р25}, запуска- ется удалением одной фишки из р21 и одной фишки из р23, при этом одна фишка помещается в р23 и две в •— р25 (так как р25 имеет крат- ность, равную двум). Запуск перехода в целом заменяет маркировку р сети Петри на новую маркировку у'. Заметим также, что так как можно запус- тить только разрешенный переход, то при запуске перехода ко- личество фишек в каждой позиции всегда остается неотрицатель- ным. Запуск перехода никогда не удалит фишку, отсутствующую во входной позиции. Если какая-либо входная позиция перехода не обладает достаточным количеством фишек, то переход не разре- шен и не может быть запущен. Определение 2.7. Переход t j в маркированной сети Петри с марки- ровкой р может быть запущен всякий раз, когда он разрешен. В ре- зультате запуска разрешенного перехода tj образуется новая мар- кировка р', определяемая следующим соотношением: р/(рг) = = р(р<) - #(рь /(/,-)) + #(рг, В качестве примера рассмотрим маркированную сеть Петри, изображенную на рис. 2.15. При такой маркировке разрешены только три перехода: ti, t3n t4. Переход t2 не разрешен, так как ни позиция р2, ни позиция р3, являющиеся входами перехода t2, не содержат ни одной фишки. Так как переходы tt, t3 и /4 разрешены, любой из них может быть запущен. Если запущен переход t4, то происходит удаление фишки из каждого входа и помещение фишки в каждый выход. При этом одна фишка удаляется из р3, одна фишка помещается в р3, а количество фишек в р4 увеличивается с двух до трех. Новая маркировка, полученная в результате запуска перехода t4, показана на рис. 2.16. В маркированной сети Петри, изображенной на рис. 2.16, раз- решены только переходы t\ и t3. При запуске перехода осуществ- ляется удаление фишки из р4 и помещение фишек в р2, р3 и р4 (в Р4 — две фишки, так как эта позиция является кратным выходом перехода Ц). Эта операция образует маркировку, приведенную на
26 Глава 2 Рис. 2.14. Иллюстрация того, как меняется маркировка позиции, когда запу- щен переход tj. Каждая позиция может или не может быть входом либо вы- ходом перехода. Здесь показан случай для кратности 0 или 1. Рис. 2.15. Маркированная сеть Петри для иллюстрации правил запуска. Переходы ti, ta и fa разрешены.
Основные определения 27 Рис. 2.16. Маркировка, полученная в результате запуска перехода в сети на рис. 2.15. Рис. 2.17. Маркировка, полученная при запуске перехода fa в сети на рис. 2.16. Рис. 2.18. Маркировка, полученная при запуске перехода fe в сети на Рис. 2.17.
28 Глава 2 рис. 2.17. В такой маркированной сети Петри переходы t2 и ts раз- решены. Запуск перехода t3 образует новую маркировку (рис. 2.18), где две фишки удалены из р4, а одна добавлена в р5. Запуски могут осуществляться до тех пор, пока существует хотя бы один разрешенный переход. Когда не останется ни одного разрешенного перехода, выполнение прекращается. Упражнения 1. Какие переходы разрешены в маркированной сети Петри на рис. 2.11, 2.12? 2. Какая маркировка получится при запуске перехода ti (рис. 2.11)? Какая маркировка получится при запуске перехода Ц (рис. 2.12)? Какая маркиров- ка получится в результате выполнения следующих операций: сначала — за- пуск Ц, затем — запуск <2 (рис. 2.12)? 3. Какие переходы разрешены в сети Петри на рис. 2.13? Какие маркировки образуются при запуске каждого из этих переходов? 4. Можно ли запустить переходы в сети Петри на рис. 2.19? Какие? 2.5. Пространство состояний сети Петри Состояние сети Петри определяется ее маркировкой. Запуск перехода изменяет состояние сети Петри посредством изменения маркировки сети. Пространство состояний сети Петри, обладаю- щей п позициями, есть множество всех маркировок, т, е. Nn. Из- менение в состоянии, вызванное запуском перехода, определяется функцией изменения б, которую мы назовем функцией следующего состояния. Когда эта функция применяется к маркировке р (состоя- нию) и переходу tjt она образует новую маркировку (состояние), которая получается при запуске перехода i} в маркировке р. Так как tj может быть запущен только в том случае, когда он разрешен, то функция 6(р, tj) не определена, если tj не разрешен в марки-
Основные определения 29 повке р. Если же tj разрешен, то 6(р, tj) = р', где р' есть маркиров- ка полученная в результате удаления фишек из входов tj и добав- ления фишек в выходы t j. Определение 2.8. Функция следующего состояния 6 : Nn X Т -> для сети Петри С = (Р, Т, /, О) с маркировкой р и перехо- дом tj G Т определена тогда и только тогда, когда р(рг) /(tj)) для всех pt £ Р. Если 6(р, tj) определена, то 6(р, t}) = р', где р' (Pi) = — #(Pf. I(tj)) + #(Pi, 0(h)) Для всех £ Р. Пусть дана сеть Петри С = (Р, Т, I, О) с начальной маркиров- кой р°. Эта сеть может быть выполнена последовательными запус- ками переходов. Запуск разрешенного перехода tj в начальной маркировке образует новую маркировку р1 = 6(р°, tj). В этой новой маркировке можно запустить любой другой разрешенный переход, например tb, образующий новую маркировку р2 = 6(р\ th). Этот процесс будет продолжаться до тех пор, пока в маркиров- ке будет существовать хотя бы один разрешенный переход. Если же получена маркировка, в которой ни один переход не разрешен, то никакой переход не может быть запущен, функция следующего состояния не определена для всех переходов, и выполнение сети должно быть закончено. При выполнении сети Петри получаются две последовательности: последовательность маркировок (р°, р1, р2, ...) и последовательность переходов, которые были запущены (ti6, t}l, tj2, ...). Эти две после- довательности связаны следующим соотношением: 6(pft, tjk) — — pft+1 для k = 0, 1, 2, ... . Имея последовательность переходов и р°, легко получить последовательность маркировок сети Петри, а имея последовательность маркировок, легко получить последо- вательность переходов, за исключением нескольких вырожденных случаев’). Таким образом, обе эти последовательности представ- ляют описание выполнения сети Петри. Пусть некоторый переход в маркировке р разрешен и, следова- тельно, может быть запущен. Результат запуска перехода в марки- ровке р есть новая маркировка р'. Говорят, что р' является непо- средственно достижимой из маркировки р, иными словами, состоя- ние р' непосредственно получается из состояния р. Определение 2.9. Для сети Петри С = (Р, Т, I, О) с маркировкой Н маркировка р' называется непосредственно достижимой из р, если существует переход tj € Т, такой, что б(р, tj) = р'. Можно распространить это понятие на определение множества Достижимых маркировок данной маркированной сети Петри. Если Н непосредственно достижима из р, а р" — из р', говорят, что р" достижима из р. Определим множество достижимости Р(С, р) ) В оригинале вырожденные случаи ошибочно отнесены к первому ут- верждению. — Прим. ред.
30 Глава 2 сети Петри С с маркировкой р как множество всех маркировок, до- стижимых из р. Маркировка р' принадлежит 7?(С, р), если суще- ствует какая-либо последовательность запусков переходов, изме- няющих р на р'. Отношение «достижимости»1) является рефлексив- ным, транзитивным замыканием отношения «непосредственной до- стижимости». Определение 2.10. Множество достижимости R(C, р) для сети Пет- ри С = (Р, Т, I, О) с маркировкой р есть наименьшее множество маркировок, определенных следующим образом: 1. р € R(C, р); 2. Если р' g R(C, р) и р" = 6(р', tj) для некоторого tjfT, то р" eR(C, р). Для сети Петри, изображенной на рис. 2.20, и маркировки р — = (1, 0, 0) непосредственно достижимыми являются две марки- ровки: (0, 1, 0) и (1, 0, 1). Из (0, 1, 0) нельзя достичь ни одной мар- кировки, так как ни один переход не разрешен. Из (1, 0, 1) можно получить (0, 1, 1) и (1, 0, 2). Пользуясь методами, разработанными в гл. 4, можно показать, что множество достижимости R(C, р) имеет следующий вид: {(1, 0, н), (0, 1, л)|п 0}. • Рис. 2.20. Маркированная сеть Петри. Удобно распространить функцию следующего состояния на отображение маркировки и последовательности переходов в новую маркировку. Для последовательности переходов (tjt, tj2, .... tjk) и маркировки р маркировка р' = 6(р, tjt, tj2, ..., tjk) есть резуль- тат запусков: сначала — tjlt затем — tj2 и т. д. до tjk. (Такая опе- рация, конечно, возможна только в том случае, если каждый пере- ход к моменту его запуска разрешен.) Определение 2.11. Расширенная функция следующего состояния определяется для маркировки р и последовательности переходов от Т*I) 2~> следующими соотношениями: 6(р, tj, о) = б(6(р, tj), о), = Н- Обычно мы применяем эту расширенную функцию. I) Автор имеет в виду бинарное отиошеиие иа множестве, маркировок, такое, что (р, р') принадлежит ему тогда и только тогда, когда р' 6 /?(С, р).— Прим. ред. 2) т* — множество всех подмножеств множества (булеан) переходов Т. — Прим. ред.
Основные определения 31 Рис. 2.21. Маркирован- ная сеть Петри. Упражнения 1. Определите последовательность маркировок для маркированной сети Пет- ри (рис. 2.21) и последовательности переходов ti, fa, fe, ti, t5. Как выглядит соответствующая последовательность переходов для последовательности мар- кировок (1, 0, 0), (0, 0, 1), (0, 0, 0)? 2. Ранее упоминалось, что существует несколько вырожденных случаев, при которых последовательность маркировок не определяет единственную после- довательность запусков переходов. Охарактеризуйте класс сетей Петри, для которых это возможно. 3. Покажите, что U R(C, р) = Nn. p.QNn 4. Докажите, что если р/ € R(C, р), то Д(С, р')5^Д(С, р). 5. Докажите,что p'g/?(С, р) тогда и только тогда, когда 7? (С, р') £= /?(С,р). 6. Выполняется ли равенство J?(C,p) — U$(p, 7>)? tj^T 7. Выполняется ли равенство R(C, р) = U Д(С,5(р,/,•))? tj 6 Т 8. В некоторых публикациях по сетям Петри множество достижимости мар- кированной сети Петри называется ее классом маркировок. Более точно класс прямых маркировок сети Петри есть то, что мы определили как множество до- стижимости. Класс обратных маркировок есть множество достижимости ин- версной сети Петри (см. упражнение 9 к разд. 2.2). Тогда класс маркировок маркированной сети Петри есть объединение прямых и обратных классов маркировок. Дайте формальное определение класса прямых маркировок, класса обратных маркировок и класса маркировок сети Петри с маркировкой р. Затем покажите, что классы маркировок сети Петри разбивают множество всех маркировок на непересекающиеся классы эквивалентности. Для этого требуется показать, что отношение «иметь равные классы маркировок» явля- ется рефлексным, симметричным и транзитивным. 9. Сети Петри со своими фишками и правилами запусков во многом напоми- нают игры, имеющие игровое поле: шашки, трик-тракЧ, ним, го и др. Можно 1) Нарды. — Прим. ред.
32 Глава 2 Рис. 2.22. Игровое поле. придумать игру для одного—четырех человек, состоящую из игрового поля (в качестве такого поля используется сеть Петр и) инабора пластиковых фишек. Фишки распределены по позициям сети Петри, и игроки по очереди выбирают разрешенные переходы и запускают их. Для разнообразия игра может быть сделана на двадцати различных сетях Петри. Используя эти идеи, придумай- те правила, предусматривающие следующее: а) Как определено начальное расположение фишек? (Каждый игрок начинает игру, имея одну фишку в «домике»; каждый игрок получ'ает «и» фишек на всем поле по желанию и т. д.) б) Какова цель игры? (Захватить фишки своего противника; получить наи- большее количество фишек; как можно скорее избавиться от своих фишек и т. д.) в) Не нужно ли раскрасить фишки для разных игроков? (В соответствии с этим определите правила запуска.) г) Не стоит ли присвоить очки различным переходам? Тогда очки игрока оп- ределятся суммой переходов, запущенных им. д) Проанализируйте возникновение таких задач, как повторные запуски пере- ходов, которые образуют новые фишки (выходов больше, чем входов); конеч- ное число фишек, обеспечивающих конец игры.
Основные определения 33 После того как вы определили свою игру, попытайтесь сыграть в псе с кем- нибудь из своих друзей. В качестве игрового поля используйте сеть Петри, покаянную на рис. 2.22. 2.6. Альтернативные формы определения сетей Петри Теория сетей Петри разрабатывалась рядом авторов. У них были различные мотивы и предпосылки. Вследствие такого раз- нообразия многие фундаментальные понятия были определены по-разному. Дадим некоторые из этих альтернативных определений, чтобы показать, что между ними нет существенных различий, и чтобы подготовить читателя к тем разнообразным представлениям, которые могут встретиться в литературе. Например, оригинальные сети Петри [241] не разрешают суще- ствование кратных дуг между позициями и переходами. Это экви- валентно определению входов и выходов переходов как множеств (а не как комплектов) позиций. Далее, правило запуска было огра- ничено следующим требованием: фишка есть в каждой входной позиции для перехода, и нет ни одной фишки в выходных позициях. Переход запускается путем удаления фишек из его входов (которые теперь становятся пустыми) и размещением фишек в (ранее пустых) выходах (которые теперь заполняются). Переход не может быть запущен, если фишка уже принадлежит выходной позиции. Таким образом, маркировка каждой позиции присваивает либо 0 фишек, либо 1 фишку, р : Р -> {0, 1}. Теперь становится очевидным тот факт, что сеть с п позициями имеет точно 2" возможных маркировок, т. е конечное число состояний. Ранние разработки Хольта по проекту теории информационных систем [128] использовали эти же определения, но по мере продви- жения исследований была обнаружена ограниченность такой мо- дели. В работе Хольта и Коммонера, представленной на конферен- ции в Вудс Холле [127], класс маркировок и правила запуска рас- пространены на произвольные маркировки, р,: Р{О, 1, 2, ...}. Таким образом была создана базовая модель сетей Петри в том виде, в каком она определена сегодня (за исключением возможности кратных дуг). Многие из первых исследователей не давали формального опре- деления своих моделей, а описывали неформально относящиеся к их работе компоненты, такие, как позиции, переходы, фишки и пра- вило запуска. Одно из первых формальных определений было дано Патилом [231] в его докторской диссертации, в которой сеть Петри определялась в виде четверки (7\ Р, А, В), где Т — множество переходов, А — множество дуг, Р — множество позиций и В — начальная маркировка. Дуги множества А соединяли либо пози- цию с переходом, либо переход с позицией. Таким образом, A s е (Р X Т) и (Т X Р). Многие статьи по сетям Петри основывают- 2—562
34 Глава 2 ся на этом определении и определяют сечь Петри как тройку (А Т, А) с выделенной функцией маркировки. Преобразование из формы (Р, Т, Л) к определению с выделением входной и выходной функциями сравнительно просто. Множество дуг А разбивается на множество входных дуг {(р,, tj) | (р,, tj) € е А } и выходных дуг {(/ j, р() I (tj, Pi) € A }. Эта форма непосред- ственно приводит к обобщению, допускающему кратные входы и выходы. Необходимо только указывать кратность для каждой вход- ной и выходной дуги. Хэк [116] в конце концов остановился на определении сетей Пет- ри в виде четверки (Р, Т, F, В), где, как обычно, Р — множество позиций, Т — множество переходов, F и В — функции, ставящие в соответствие позициям и переходам количество фишек, необходи- мых для входа (F) или образованных для выхода (В). Следователь- но, переход tj можно запустить только в том случае, если по край- ней мере F(tj, р;) фишек находятся в каждой позиции pt Q Р. Пе- реход запускается путем удаления F(tj, р{) фишек из каждой вход- ной позиции и помещения B(tj, pt) фишек в каждую выходную по- зицию. Функции F и В могут быть представлены матрицами. Питерсон в своей диссертации [236] попытался объединить пе- реходы и их входы и выходы, определяя переход как упорядочен- ную пару комплектов позиций: I j Р°° х В00. Первая компонента пары — комплект входов перехода; вторая — комплект выходов перехода. Это сводит множество примитивных понятий теории к позициям и фишкам, так как переходы являются структурами, составленными из позиций. Такой подход особенно полезен для про- стого определения переходов при построении сети Петри. Эти определения отличаются от представленных здесь только' разницей в обозначениях. В большинстве работ по сетям Петри именно это имеет место: различие в определениях проявляется толь- ко в обозначениях. Однако в некоторых случаях определения мо- гут ограничивать класс сетей Петри тем, что не допускаются крат- ные входные п выходные дуги или существует ограничение на форму переходов, т. е. требуется, чтобы переходы имели непустые множе- ства входных н выходных позиций или входные п выходные по- зиции перехода не должны совпадать (без петель). Но, как мы по- кажем в гл. 5, даже эти различия не имеют большого значения. Упражнения 1. Дайте эквивалентное стандартное определение через Р, Т, I, О) дтя сети Петри, определенной как (Р, Т, F, В). Дайте определение через (Р, Т, Г, В} для сети Петрн, заданной как (Р, Т, I, О). 2. Почему некоторые исследователи предпочитают определение через (Р, Т, Д)/которое объединяет входные и выходные взаимосвязи в множестве дуг А, в то время как другие отдают предпочтение (Р, Т, I, О)? Покажите пре- имущество н недостатки каждого.
Основные определения 35 2.7. Замечания к литературе Для дальнейшего знакомства с сетями Петри, вероятно, лучше всего начать с обзоров [20, 238] в Computing Surveys. Почти в лю- бой работе несколько первых разделов посвящены основным опре- делениям и обозначениям, поэтому, чтобы найти различия в опре- делениях, достаточно бегло просмотреть начала некоторых из пере- численных в библиографии. Например: [128. 127, 111, 115, 116, 152, 201, 208, 290]. 2.8. Темы для дальнейшего изучения 1. Разработайте теорию сетей Петри, разрешающую существо- вание окрашенных фишек. Рассмотрите различия в определениях разрешенных переходов и запусков переходов. Существует по мень- шей мере три разумных способа обобщения сетей Петри в случае окрашенных фишек. Укажите те, которые вы сможете предло- жить, и оцените степень их полезности. 2. Разработайте представление теории сети Петри для научных работников, не связанных с вычислительной техникой. Сравните ваше представление с представлением Хольта [123] и Мельдмана [184, 185]. 3. Постройте систему моделирования на ЭВМ для выполнения сети Петри. Для удобного интерфейса пользователя с программой ис- пользуйте стирающий графический дисплей (с электронно-лучевой трубкой или плазменный) для изображения запусков переходов и последовательного передвижения фишек. Это потребует решения множества вспомогательных задач. а) Определить язык, имеющий средства вариантов задания для за- дания сети Петри, ее маркировок. б) Разработать внутреннее представление сети Петри, ее маркиров- ки и необходимые алгоритмы для моделирования. в) Обеспечить графическую выдачу. Главная проблема здесь в дос- тижении планарного представления сети (до разумной степени). Следует также подумать о представлении динамических свойств сети (движение фишек). 2
ГЛАВА 3 СЕТИ ПЕТРИ ДЛЯ МОДЕЛИРОВАНИЯ Сети Петри были разработаны и используются в основном для модели- рования. С их помощью могут быть промоделированы многие системы, И осо- бенности системы с независимыми компонентами, например аппаратное и программное обеспечение ЭВМ, физические системы, социальные и др. Сети Петри применяются для моделирования возникновения различных событий в системе. В частности, сети Петри могут моделировать поток информации или другие ресурсы системы. В этой главе мы приведем примеры систем, моделируемых при помощи се- тей Петри. Эти примеры дадут представление о большом классе систем, кото- рые можно моделировать сетями Петри, об использующемся методе моделиро- вания и о свойствах, которыми должны обладать моделируемые системы. 3.1. События и условия Простое представление системы сетью Петри основано на двух основополагающих понятиях: событиях и условиях. События — это действия, имеющие место в системе. Возникновением событий управляет состояние системы. Состояние системы может быть опи- сано множеством условий. Условие — есть предикат или логическое описание состояния системы. Условие может принимать либо зна- чение «истина», либо значение «ложь». Так как события являются действиями, то они могут происхо- дить. Для того чтобы событие произошло, необходимо выполне- ние соответствующих условий. Эти условия называются предусло- виями события. Возникновение события может вызвать нарушение предусловий и может привести к выполнению других условий, постусловий. В качестве примера рассмотрим задачу моделирования простого автомата-продавца. Автомат-продавец находится в состоянии ожи- дания до тех пор, пока не появится заказ, который он выполняет и посылает на доставку. Условиями для такой системы являются: а) автомат-продавец ждет; б) заказ прибыл и ждет; в) автомат- продавец выполняет заказ; г) заказ выполнен. Событиями будут: 1. Заказ поступил. 2. Автомат-продавец начи- нает выполнение заказа. 3. Автомат-продавец заканчивает выпол- нение заказа. 4. Заказ посылается на доставку. Предусловия события 2 (автомат-продавец начинает выполнение заказа) очевидны: (а) автомат-продавец ждет; (б) заказ прибыл и надет. Постусловие для события 2: (в) автомат-продавец выполняет заказ. Аналогично мы можем определить предусловия и постусло-
Сети Петри для моделирования 37 вия для других событий и составить следующую таблицу событий и их пред- и постусловий: * Событие Предусловия Постусловия 1 нет б 2 а, б в 3 В г, а 4 г нет Такое представление системы легко моделировать сетью Петри. В сети Петри условия моделируются позициями, события — пере- ходами. При этом входы перехода являются предусловиями соот- ветствующего события; выходы —• постусловиями. Возникновение события равносильно запуску соответствующего перехода. Выпол- нение условия представляется фишкой в позиции, соответствующей этому условию. Запуск перехода удаляет разрешающие фишки, представляющие выполнение предусловий и образует новые фишки, которые представляют выполнение постуловий. Сеть Петри на рис. 3.1 иллюстрирует модель приведенного выше автомата-продавца. Мы указали каждому переходу и позиции соот- ветствующие событие и условие. Можно моделировать и более сложную систему. Система авто- мат-продавец состоит из трех различных автоматов М.^ , М2 и М3 и двух операторов и F2 Оператор F- воздействует на автоматы Mt и ТИ2, а оператор F2 — на и Л13. Заказы требуют двух стадий обработки. Сначала они должны быть обработаны автоматом Л1,, затем либо автоматом Л12, либо М3. Эта более сложная система бу- дет иметь следующие условия: а) заказ прибыл и ждет обработки автоматом б) заказ обработан автоматом THi и ждет обработки либо автома- том ТИ2, либо 7И3; Начало Заказ Заказ Выполнения поступил ждет заказа Завершение Выполнения Заказ заказа Выполнен Рис. 3.1. Сеть Петри для простого автомата-продавца
38 Глава 3 Рис- 3.2. Сеть Петри для сложного автомата-продавца. в) заказ выполнен; г) автомат незанят; д) автомат М., незанят; е) автомат М3 незанят; ж) оператор Ft незанят; з) оператор F2 незанят; и) автомат Mi находится под воздействием оператора Ft; к) автомат М{ находится под воздействием оператора F2; л) автомат М2 находится под воздействием оператора F,; м) автомат М3 находится под воздействием оператора F2. При этом могут происходить следующие события: 1. Поступление заказа. 2. Оператор Ft начинает выполнение заказа на автомате 3. Оператор Ft закончил выполнение заказа на автомате 4. Оператор F2 начинает выполнение заказа на автомате Mt. 5. Оператор F2 закончил выполнение заказа на автомате Mt. 6. Оператор Ft начинает выполнение заказа на М2. 7. Оператор Ft закончил выполнение заказа на М2. 8. Оператор F2 начинает выполнение заказа на М3. 9. Оператор Fs закончил выполнение заказа на М3. 10. Заказ посылается на доставку. к
Сети Петри Зля моделирования 39 Рис. 3.3. Моделирова- ние простой вычисли- тельной системы. Завершение выполнения задания Задание ожидает вывода Задание ждет Задание помещается во входную очередь Процессор свободен Начало выполнения задания Задание выводится задание обрабатывается Пред- и постусловия каждого события: События Предусловия Постусловия 1 нет а 2 а, ж, г и 3 и ж, г, б 4 а, з, г К 5 к б, 3, г 6 б, Ж, д л 7 л в, ж, д 8 б, е, з м 9 м в, е, з 10 в нет Сеть Петри этой системы показана на рис. 3.2. Аналогичный пример можно привести для вычислительной системы, которая обрабатывает задания, поступающие с устройства ввода, и выводит результаты на устройство вывода. Задания посту- пают на устройство ввода. Когда процессор свободен и в устройстве ввода есть задание, процессор начинает обработку задания. Когда задание выполнено, оно посылается в устройство вывода; процес- сор же либо продолжает обрабатывать другое задание, если оно имеется, либо ждет прихода задания, если устройство ввода еще Не получило такового. Эта система может быть промоделирована сетью Петри, показанной на рис. 3.3.
40 Глава S 3.2. Одновременность и конфликт Приведенные примеры иллюстрируют некоторые особенности сетей Петри и систем, моделируемых с их помощью. Одной из осо- бенностей является свойственный сетям и их моделям параллелизм, или одновременность. В модели сети Петри два разрешенных не- взаимодействующих события могут происходить независимо друг от друга. Синхронизировать события, пока это не потребуется моде- лируемой системе, нет нужды. Но, когда синхронизация необходи- ма, моделировать ее легко. Таким образом, сети Петри представ- ляются идеальными для моделирования систем с распределенным управлением, в которых несколько процессов выполняются одно- временно. Другая важная особенность сетей Петри — это их асинхронная природа. В сети Петри отсутствует измерение времени или течение времени. Это отражает философский подход к понятию времени, утверждающий, что одно из важнейших свойств времени, с логиче- ской точки зрения, — это определение частичного упорядочения событий. В реальной жизни различные события укладываются в различные интервалы времени, и это отражено в модели сети Петри независимостью от времени управления последовательностью собы- *£ий. Структура сети Петри такова, что содержит в себе всю необ- ходимую информацию для определения возможных последователь- ностей событий. Таким образом, на рис. 3.3 событие «завершение выполнения задания» должно следовать за соответствующим собы- тием «начало выполнения задания». Однако нет и не требуется ни- какой информации, связанной с количеством времени, необходи- мым на выполнение задания. Выполнение сети Петри (или поведение моделируемой системы) рассматривается здесь как последовательность дискретных собы- тий. Порядок появления событий является одним из возможных, до- пускаемых основной структурой. Это приводит к явной недетерми- нированности в выполнении сети Петри. Если в какой-то момент времени разрешено более одного перехода, то любой из нескольких возможных переходов может стать «следующим» запускаемым. Выбор запускаемого перехода осуществляется недетерминирован- ным образом, т. е. случайно. Эта особенность сети Петри отражает тот факт, что в реальной жизненной ситуации, где несколько дей- ствий происходит одновременно, возникающий порядок появления событий — не однозначен; скорее может возникнуть любая из мно- жества последовательностей событий. Однако частичный порядок появления события — единственен. Проблемы, включающие в себя эти понятия, имеют философ- ский характер. В своей точке зрения на Вселенную я, в частности, склонен к детерминизму: все действия предопределены состоянием Вселенной, и никакого беспорядка не существует. Кажущийся бес- порядок — просто результат недостатка знаний о состоянии Все-
Сети Петри для моделирования 41 ленной и ее переходов из состояния в состояние. В этом смысле выбор для запуска одного из разрешенных переходов в моделируе- мой системе детерминирован, но не в модели, просто потому что мо- дель не дает полной информации о системе. Обратимся к теории относительности. Одним из ее основных положений является утверждение, что передача чего-либо не мо- жет быть мгновенной. Даже информация о возникновении события распространяется в пространстве со скоростью, ограниченной скоростью света с. Это означает, что если два события и произойдут i НепримитиЬное jc событие происходит Начало непримитив- Конец неоримитив- мого события него события Рис. 3.4. Моделирование непримитивного события. одновременно (т. е. они не имеют причинной взаимосвязи), то по- рядок возникновения этих событий для двух разных наблюдателей может оказаться различным. Для двух событий А и В, происходя- щих в одно и то же время, наблюдатель, расположенный в непос- редственной близости от события А, получит информацию, свя- занную с событием А, прежде, чем информацию, связанную с собы- тием В. Таким образом, наблюдатель может сделать вывод, что со- бытие А произошло до события В. С другой стороны, наблюдатель, расположенный в непосредственной близости от события В, отметит прямо противоположную последовательность возникновения собы- тий. Такое представление, хотя и является необходимым для полноты рассмотрения происходящего, однако влечет за собой значитель- ные трудности при описании и анализе динамического поведения сети Петри, когда определяется последовательность запусков пере- ходов. Для простоты обычно вводят следующее ограничение. За- пуск перехода (и соответствующего события) рассматривается как мгновенное событие, занимающее нулевое время, и возникновение двух событий одновременно невозможно. Моделируемое таким об- разом событие называется примитивным-, примитивные события мгновенны и неодновременны. (Иногда это обосновывается тем, что время — это непрерывная действительная переменная. Следователь- но, если мы присвоим каждому событию время возникновения, то вероятность того, что любые две произвольно выбранные непрерыв- ные действительные переменные совпадают, равна нулю, и, следо- вательно, события неодновременны.)
42 Глава ,3 Непримитивными называются такие события, длительность ко- торых отлична от нуля. Они не являются неодновременными и, следовательно, могут пересекаться во времени. Так как осуществ- ление большинства событий в реальном мире занимает некоторое время, то они являются непримитивными событиями и поэтому не могут должным образом моделироваться переходами в сети Петри. Однако это не приводит к возникновению проблем при моделировании систем. Непримитивное событие может быть пред- ставлено в виде двух примитивных событий: «начало непримитив- ного события», «конец непримитивного события» и условия «непри- митивное событие происходит». Эта ситуация может быть промоде- лирована с помощью сети, показанной на рис. 3.4 Рис. 3.5. Представление ИеПрИМИТИБНО! о события прямоугольник ом. Петри и другие предложили представлягь непримитивные события в сети Петри в виде прямоугольника [244], как показано на рис. 3 5, а примитивные события — планками, как мы делали это раньше. Это упростит некоторые сети Петри, на- пример, такую, как на рис. 3 6, которая эквивалентна сети Петри, изображенной на рис. 3.3. Но так как в принципе предложенное понятие выражено в терминах более примитивных конструкций, мы не будем использовать обозначение в виде прямоугольника. Прямоугольник может иметь существенное значение при модели- ровании сложных систем на нескольких иерархических уровнях, так как он позволяет выделить в отдельный элемент сети целые подсети. Это в некотором смысле подобно понятиям подпрограммы или макроса в языках программирования. Недетерминированность и неодновременность запусков пере- ходов в моделировании параллельной системы показываются двумя способами. Один из них представлен на рис. 3 7. В этой ситуации два разрешенных перехода в любом случае не влияют друг на друга, и в число возможных последовательностей событий входит после- довательность, в которой первым срабатывает один переход, и по- следовательность, в которой первым будет запущен другой пере- ход. Это называется одновременностью. Другая ситуация, в которой одновременное выполнение затруд- нено и которая характеризуется невозможностью одновременного
Сети Петри для моделирования 43 Рис. 3.6. Моделирование вычислительной системы с использованием неприми- тивного перехода. Рис. 3.7. Одновременность. Эти два перехода могут быть запущены в любом порядке. Рис. 3.8. Конфликт. Переходы ? и находятся в конфликте, т. е. за- пуск одного из них удаляет фишку из р, и тем самым запрещает друюй.
44 Глава 3 возникновения событий, показана на рис. 3.8. Здесь два разре- шенных перехода находятся в конфликте. Может быть запущен только один переход, так как при запуске он удаляет фишку из общего входа и запрещает другой переход. Рассмотренные ситуации требуют внимательного изучения мо- делируемых сетями Петри систем для правильного отображения их поведения. К сожалению, многие работы посетим Петри исследо- вали только свойства данной сети или класса сетей. Разработке же методов моделирования специально для сетей Петри внимания уде- лялось мало. Однако существуют определенные области, в которых сети Петри представляются идеальным инструментом для моде- лирования: это те области, в которых события происходят асин- хронно и независимо. Для того чтобы дать представление о моде- лировании сетями Петри, в этой главе мы проиллюстрируем исполь- зование сетей Петри для моделирования аппаратного и программно- го” обеспечения ЭВМ и других систем. 3.3. Аппаратное обеспечение ЭВМ Аппаратное обеспечение ЭВМ можно рассматривать на несколь- ких уровнях, и сети Петри могут моделировать каждый из этих уровней. На одном уровне ЭВМ построены из простых устройств памяти и вентилей; на более высоком уровне в качестве основных компонент системы используются функциональные блоки и ре- гистры. На еще более высоком уровне целые вычислительные сис- темы могут быть компонентами сети ЭВМ. Одним из сильных свойств сетей Петри является их способность моделировать каждый из этих уровней. Обсудим эту способность и приведем некоторые примеры. 3.3.1. Конечные автоматы На низком уровне вычислительные системы могут быть описаны автоматами. Автомат — это пятерка (Q, S, А, 5, Г), где Q — конечное множество состояний {qlt q<>, qn}\ 2 — конечный входной алфавит; А — конечный выходной алфавит; б: Q х 2 -> Q — функция следующего состояния, отображающая текущее состояние и текущий вход в следующее состояние; Г : Q х X 2 -> А — функция выхода, отображающая текущее состояние и текущий вход в выходной символ. Автоматы часто представляют в виде графов переходов, как, на- пример, на рис. 3.9. В графе переходов состояния представляются кружками, являющимися вершинами. Дуга из состояния в qJt помеченная с/b, означает, что, находясь в состоянии <уг, автомат при входе а перейдет в состояние q j, выдавая при этом символ Ь. Формально следовало бы записать 6(9,, а) — q} и Г (qit а) = Ь.
Сети Петри для моделирования 45 Входной алфавит определяет входы автомата из внешнего мира, а выходной алфавит — выходы автомата во внешний мир. В качестве примера рассмотрим автомат, изображенный на рис. 3.9. Этот автомат преобразует двоичное число, представленное последовательностью бит, начиная с младшего, в дополнение до двух. В данном случае входной и выходной алфавит состоит из трех символов: 0, 1 и R. Автомат начинает работать в состоянии ft. Сим- вол сброса (7?) означает конец (или начало) числа и возвращает автомат в исходное состояние. Выход автомата для символа сброса является просто его повторением. Рис. 3.9. Граф переходов для конеч- ного автомата, вычисляющего допол- нение до двух двоичного числа. Рис. 3.10. Конечный автомат для определения четности входного дво- ичного числа. Аналогичный автомат показан на рис. 3.10. При тех же самых входах этот автомат вычисляет четность входного числа. Он начи- нает работу в состоянии Выход копирует вход до тех пор, пока входным символом не окажется символ сброса. Выходом для сим- вола сброса будет 0 в случае нечетного числа и 1 — в случае чет- ного числа. При представлении конечного автомата сетью Петри следует об- ратить внимание на связь между сетью Петри и внешним миром, которая ранее не учитывалась. Моделирование взаимодействия с внешним миром можно реализовать многими способами. В нашей задаче мы моделируем это взаимодействие с помощью специаль- ного множества позиций. Позициями будут представлены каждый входной и выходной символы. Мы допускаем, что из внешнего мира помещается фишка в позицию, соответствующую входному символу, а затем фишка, появившаяся в позиции, соответствующей выход- ному символу, удаляется оттуда. Эта последовательность действий будет повторяться необходимое число раз. Общая схема проиллюст- рирована на рис. 3.11. Заметим, что здесь не исключена возможность путаницы в по- нятиях, так как позиции, соответствующие входным и выходным символам, могут быть обоснованно названы входными и выходными Позициями сети. Однако их не следует путать с входными или вы-
46 Глава 3 Выходы Входы Представление сетью Петри . конечного автомата Рис. 3.11. Общий подход к мо- делированию связи между сетью Петри и внешним ми- ром. ходными позициями переходов. Несмотря на возможную путаницу, эти термины наиболее естественны для обоих понятий. В качестве альтернативного подхода к моделированию входов и выходов сети могут быть использованы переходы. Для определения следующего входного символа из внешнего мира следует выбирать входной переходи запускать его. Сеть Петри ответит (в конце концов) запуском соответствующего перехода из множества выходных пере- ходов, связанного с соответствующим выходом. Затем из внешнего мира будет запущен новый входной переход и т. д. Этот подход проиллюстрирован на рис. 3.12. Нетрудно показать, что оба этих подхода эквивалентны, поэтому будем использовать первый из них, в котором входные и выходные символы моделируются позициями. Задав представление позиций, соответствующих символам входа и выхода, мы можем завершить построение модели системы конеч- ных состояний. Представим каждое состояние автомата позицией в сети Петри. Текущее состояние отмечается фишкой; все осталь- ные позиции пусты. Теперь для определения переходов из состоя- ния в состояние можно ввести переходы сети следующим образом. Для каждой пары (состояние и входной символ) мы определяем переход, входными позициями которого являются позиции, соот- ветствующие состоянию и входному символу, а выходными пози- циями — позиции, соответствующие следующему состоянию и вы- ходу. Рис. 3.12. Альтернативный подход представления связи между сетью Петри и внешним миром, где вместо позиций ис- пользуются переходы.
Сети Петри для моделирования 47 Рис. 3.13. Сеть Петри, эквивалентная автомату на рис. 3.9. Для конечного автомата (Q, 2, А, 6, Г) мы определили сеть Петри (Р, Т, I, О) таким образом: P-QU2UA, Т = Уч, = I <7 6 <2 и 1 Уч. а) = {Ч> 0{tq, 3) = {o(q, о), Г(<7, о)}. Эта сеть Петри является моделью конечного автомата. На рис. 3.13 изображена сеть Петри, соответствующая автомату с рис. 3.9. На рис. 3.14—-сеть Петри, соответствующая автомату с рис. 3.10. При сравнении сетей Петри на рис. 3.13, 3.14 с эквивалентными автоматами на рис. 3.9, 3.10 возникают некоторые вопросы. Преж- де всего: почему модель сети Петри предпочтительнее описания конечным автоматом? Описание автоматом более понятно, чем описание сетью Петри, в которой 6 переходов, 24 дуги и 7 или 8 по- зиций. Это верно. Однако мы показали, что сети Петри могут пред- ставлять любую систему, представимую автоматом, и это свидетель- ствует о больших возможностях сетей Петри. Кроме того, следует отметить, что модель сети Петри имеет опре- деленное преимущество при композиции автоматов. Например,
48 Глава 3 Рис. 3.14. Сеть Петри, эквивалентная автомату иа рис. 3.10. заметим, что выходной алфавит автомата с рис. 3.9 идентичен входному алфавиту автомата с рис. 3.10. Передавая выход автома- та с рис. 3.9 на вход автомата с рис. 3.10, можно построить ком- позицию автоматов, вычисляющую дополнение до двух и проверяю Рис. 3.15. Составной’"авто- мат, представляющий по- следовательную компози- цию автоматов, изображен- ных на рис. 3.9, 3.10.
Сети Петри для моделирования 49 щую четность. Такая композиция является автоматом с составны- ми состояниями, компоненты которых — это состояния обоих под- автоматов. В сетях Петри такая композиция есть просто совмещение выходных позиций первой сети с входными позициями второй. На рис. 3.15 показана композиция автоматов, а на рис. 3.16 — со- ставная сеть Петри. Другое преимущество представления сети Петри связано с ины- ми формами композиции. Например, параллельная композиция позволяет компонентам композиции автоматов работать одновре- менно. В этом случае вновь получаем автомат с составными состоя- ниями, в то время как для сети Петри — это просто дублирование фишек во входах, соответствующих входным символам, и исполь- зование их во всех компонентах сети Петри. Наконец, на выходе мы просто выбираем соответствующие позиции выхода. Например, если мы хотим соединить параллельно две сети Петри (рис. 3.13 и 3.14), то в результате получим сеть Петри, подобную изобра- женной на рис. 3.17, которая вычисляет дополнение числа до двух и его четность. Если на входе появляется символ сброса, то выходом является четность. Упражнения 1. Покажите, что оба подхода к моделированию взаимодействия между сетью Петри и ее окружением (с использованием переходов или позиций) эквива- лентны. 3.3.2. ЭВМ с конвейерной обработкой Возможность моделировать параллелизм и довольно простого объединения подсистем, представленных сетями Петри, делают сети Петри весьма полезным инструментом моделирования сложной ап- паратуры вычислительных систем. Вычислительные системы со- стоят из многих компонент. Это делает сеть Петри наиболее под- ходящим средством для их представления. На протяжении ряда лет было предпринято много попыток уве- личения производительности вычислительных систем путем парал- лельного выполнения нескольких функций. Примером такого под- хода к построению высокопроизводительной ЭВМ является исполь- зование конвейерной обработки [52]. Этот метод обработки подобен функционированию сборочного конвейера и особенно удобен для работы с векторами и массивами. Конвейер состоит из набора опе- раций, которые могут выполняться одновременно. Когда операция k завершается, она передает свой результат операции (k + 1) и ожидает от операции (k — 1) нового задания. Если каждая операция занимает t единиц времени и всего существует п операций, то за- вершение обработки одного операнда потребует nt единиц времени. Однако, если на конвейерную обработку продолжают поступать новые операнды, результаты могут выдаваться со скоростью один каждые t единиц времени.
Рис. 3.16. Составная сеть Петри, являющаяся последовательной композицией сетей Петри на рис. 3.13, 3.14. Глава 3
Сети Петри для моделирования 5Г Рис. 3.17. Параллельная композиция сетей Петри с рис. 3.13, 3.14. Необходи- мо обеспечивать дублирование входов для обеих компонент с помощью специальной подсети.
52 Глава 3 В качестве примера рассмотрим сложение двух чисел с плаваю- щей точкой. Основные шаги этой операции предполагают: 1. Выделить экспоненты обоих чисел. 2. Сравнить экспоненты и изменить, если необходимо, должным образом порядок большей и меньшей экспонент. 3. Сдвинуть точку в числе с меньшей экспонентой для их уравнения. 4. Сложить дроби. 5. Нормализовать результат. 6. Проверить экспоненту на переполнение и сформировать экспо- ненту и дробь результата. Каждый из этих шагов может быть выполнен отдельным вычисли- тельным блоком, где каждый отдельный операнд передается от блока к блоку для выполнения операции сложения. Это позволит выполнять до шести сложений одновременно. Координацию различных блоков можно осуществлять несколь- кими способами. Обычно управление конвейерной обработкой яв- ляется синхронным; время, отпущенное на выполнение каждого шага конвейера t, постоянно и фиксированно. Каждые t единиц вре- мени результат каждого блока перемещается по конвейеру, чтобы стать входом для следующего блока. Однако при синхронном подходе обработка может быть приостановлена без необходимости, так как требуемое время может изменяться от блока к блоку, а так- же внутри данного блока для различных входов. Например, для выполнения шага нормализации результата при сложении чисел с плавающей точкой может потребоваться различное количество времени в зависимости от того, на сколько разрядов необходимо произвести нормализующий сдвиг и в какую сторону: вправо или влево. В этом случае, поскольку время t должно быть выбрано мак- симальным, необходимым для самого медленного блока конвейера, может оказаться так, что большую часть времени все единицы бу- дут пребывать незагруженными, ожидая окончания t единиц времени. В асинхронном конвейере в среднем процесс обработки может быть ускорен сигнализацией о завершении каждого шага конвей- ерной обработки и готовности передать свой операнд и получить новый. Результат шага k конвейерной обработки может быть послан на шаг (k + 1), как только шаг k выполнен, а блок (k + 1) свободен. Рассмотрим произвольный шаг конвейерной обработки. Очевидно, нужно иметь место, куда можно поместить входы и выходы в то время, как они используются илн производятся. Обычно это пред- полагает наличие регистров: блок использует значение своего вход- ного (буферного) регистра для вычисления значения выходного (бу- ферного) регистра. После этого необходимо ждать, пока (1) — вы- ходной регистр блока не будет очищен путем пересылки содержимого во входной регистр следующего блока и (2) — новое входное значение не появится в его входном регистре. Таким образом, для управления блоком k конвейера необходимо знать, когда вы- полняются следующие условия:
Сети Петри для моделирования 53 • входной регистр заполнен; • входной регистр пуст; • выходной регистр заполнен; • выходной регистр пуст; • блок занят; • блок свободен; • пересылка осуществлена. На рис. 3.18 и 3.19 показано, как можно промоделировать асин- хронный конвейер такого типа. На рис. 3.18 приведена блок-схема конвейера, моделируемого сетью Петри на рис. 3.19. Отметим, что в этой модели мы промоделировали реальную ра- боту блоков конвейера как непримитивных событий. Это позволяет нам игнорировать на этом уровне конкретные детали того, что де- лают блоки, и сосредоточиться на их правильном взаимодействии. Каждая операция также может быть промоделирована сетью Петри. Затем сети Петри для каждого блока можно внести в сеть Петри на рис. 3.19, получив более детальную сеть. Такая возможность моделирования системы на нескольких различных уровнях абстрак- ции, т. е. иерархическим образом, может быть весьма полезна. Блок k-f Выходной регистр блока к-1 Входной регистр блока к Блок к Выходной регистр блока к Входной регистр блока к+1 Рис. 3.18. Блок-схема устройства управления асинхронной ЭВМ с конвейер- ной обработкой.
г Б4 Глава 3 Выходной регистр к~1 пуст Входной регистр к+1 заполнен Пересыпка из к в к+1 из к-1 В к Блок к занят Блок к-1 занят Выходной регистр к-1 заполнен Входной регистр к пуст Выходной регистр к заполнен Входной регистр к+1 пуст Рис. 3.19. Модель сети Петри устройства управления асинхронной ЭВМ с конвейерной обработкой. Входной регистр- к заполнен Пересылка Выходной регистр к пуст 3.3.3. Кратные функциональные блоки Конвейерная структура управления, рассмотренная [^предыду- щем разделе, — это один из подходов к построению очень болыпих быстродействующих вычислительных систем. Другой подход, ис- пользованный, например, в CDC 6600 [291] и IBM 360/91 [10],. использует кратные функциональные блоки. В CDC 6600 имеется 10 функциональных блоков: блок ветвления (для условных пере- ходов); булев блок (для булевых операций); блок сдвига; блок сло- жения с плавающей точкой; блок сложения с фиксированной точ- кой; 2 блока умножения; блок деления и 2 блока приращения (для индексирования). Кроме того, имеется несколько регистров для хранения входных и выходных значений функциональных блоков. Устройство управления ЭВМ организует одновременное функционирование нескольких независимых блоков. В качестве примера рассмотрим следующую последовательность, инструкций для вычислительной системы CDC 6600; 1. Умножить XI на XI, результат поместить в Х0. 2. Умножить ХЗ на XI, результат поместить в ХЗ.
Сечи Петри для моделирования 55 3. Сложить Х2 с Х4, результат поместить в Х4. 4. Сложить ХО с ХЗ, результат поместить в ХЗ. 5. Разделить ХО на Х4, результат поместить в Х6. Для выполнения инструкций устройство управления выдает пер- вую инструкцию в блок умножения. Поскольку существуют два блока умножения, можно выдать также вторую инструкцию. При этом обоим блокам доступно содержимое XI. Инструкция 3 может быть выдана блоку сложения. Теперь, для того, чтобы выдать ин- струкцию 4, мы должны ждать, пока инструкции I, 2 и 3 не будут завершены, так как инструкция 4 использует блок сложения (за- нятый выполнением инструкции 3), ХО (вычисляемый инструкцией 1) и ХЗ (вычисляемый инструкцией 2). Инструкция 5 должна ждать выполнения инструкции 1 (вычисление ХО) и инструкции 3 (вы- числение Х4). Организация параллелизма этого типа (выполнение нескольких инструкций программы одновременно) должна быть такой, чтобы результат выполнения программы с использованием параллелиз- ма и без него был бы одинаков. Некоторые инструкции в программе требуют результата предыдущей инструкции до выполнения по- следующей. Система, которая организует параллелизм в последо- вательной программе таким способом для получения правильных результатов, обладает свойством детерминированности. Условия поддержания детерминированности были рассмотрены Бернстай- ном [28]. Вот они: для двух операций а и Ь, таких, что а предшест- вует b на линейном участке программы, b может начать выполнять- ся прежде, чем выполнена а, тогда и только тогда, когда входные данные b не требуют результата а и результаты b не изменят ни входных данных, ни результатов а. Один из методов применения таких ограничений для построе- ния устройства управления, выдающего инструкции отдельным функ- циональным блокам, основан на таблице резервирования. Инструк- ция для функционального блока и, использующая регистры i, j и k, выдается только в том случае, если ни одна из четырех компонент не зарезервирована; при выдаче инструкции все эти компоненты становятся зарезервированными. Если же из-за того, что либо функциональный блок, либо один из регистров уже используются, инструкция не может быть выдана, то устройство управления перед переходом к следующей инструкции ожидает выполнения условий для выдачи этой инструкции. Схему такого типа можно промоделировать сетью Петри. Каж- дому функциональному блоку и каждому регистру поставим в со- ответствие позицию: если блок или регистр свободен — в позицию будет помещена фишка, если нет — фишки в позиции не будет. Кратные идентичные функциональные блоки показываются соот- ветствующим числом фишек в позициях. На рис. 3.20 изображена часть сети Петри, которая может быть использована для модели- рования выполнения инструкции, использующей блок и и регист-
56 Глава 3 Инструкция использует ёлок и, регистры i,J,k Готовность декоди- ровать следующую инструкцию Выдача инструкции Блок и свободен Регистр I свободен Регистр j свободен Регистр к свободен Инструкция завершена Рис. 3.20. Часть сети Петри, моделирующая устройство управления для ЭВМ, с кратными регистрами и кратными функциональными блоками. ры i, j и k. Моделирование всего устройства управления, конечно же, потребует гораздо большей сети Петри. Схема, описанная выше, представляет собой очень простой спо- соб введения параллелизма и не рассматривает, например, тот факт, что кратные функциональные блоки могут использовать одновре- менно одинаковые входные регистры. Таким образом, максимальный параллелизм в этой схеме может быть не получен [153]. Однако существуют другие схемы, с помощью которых это достигается. Та- кие более сложные схемы также моделируются (более сложными) сетями Петри. Эти сети могут быть очень велики. CDC 6600, напри- мер, имеет 24 различных регистра и 64 различных инструкции. Если для каждой инструкции и тройки регистров требуется позиция, соответствующая условию «блок и оперирует регистрами i, j и &», то необходимо более полумиллиона позиций и переходов. Главная трудность заключается в представлении того факта, что содержимое внутренних регистров может определять, какие регистры и блоки будут использоваться (индексирование). (Однако никакая программа не использует все возможные ком- бинации регистров и блоков. Это позволило [274] промоделировать вычислительную систему CDC 6600 с помощью сетей Петри. Эта модель сети Петри была затем использована для оптимальной гене- рации кода компилятором с Фортрана, что мы увидим в разд. 3.5.) 3.4. Программное обеспечение ЭВМ В дополнение к аппаратному обеспечению ЭВМ сетями Петри можно моделировать и программное обеспечение. Чаще всего сети Петри используются именно для этого, и здесь они имеют наиболь-
Сети Петри для моделирования 57 шие возможности для практического применения. В течение дли- тельного времени разрабатывались системы для описания и моде- лирования аппаратного обеспечения ЭВМ, но только в последние годы такие попытки предприняты для формального моделирования программного обеспечения ЭВМ. Большинство этих усилий связано с анализом, спецификацией и описанием последовательных про- грамм; системы параллельных процессов до сих пор остаются важ- ной исследовательской проблемой. В этом разделе мы покажем, как сети Петри могут моделировать различные системы параллель- ных взаимодействующих процессов. 3.4.1. Блок-схемы Вырожденным случаем параллельной системы обработки яв- ляется система с одним процессом. Сначала рассмотрим, как сетью Петри может быть представлен отдельный процесс, а затем путем комбинации сетей Петри, представляющих несколько процессов, получим систему параллельных процессов. Отдельный процесс описывается программой. Эта программа может быть написана на многих языках, но для удобства примем общецелевой язык, такой, как Алгол, Фортран, PL/1, Кобол, Пас- каль, Бэйсик или даже язык ассемблера. Программа представляет два различных аспекта процесса: вычисление и управление. Вы- числение связано с текущими арифметическими и логическими опе- рациями, вводом и выводом, обычными манипуляциями над участ- ками памяти и их содержимым. Управление же связано не со зна- чениями или выполняемыми вычислениями, а только с порядком их выполнения. Сети Петри удачно представляют структуру управления про- грамм. Сети Петри предназначены для моделирования упорядоче- ния инструкций и потока информации, но не для действительного вычисления самих значений. Модель системы по своей природе является абстракцией моделируемой системы. Поэтому она игно- рирует все возможные специфические детали. Если бы моделиро- вались все детали, тогда модель была бы дубликатом моделируемой системы, а не абстракцией. Стандартный способ представления структуры управления про- грамм — это блок-схемы. Блок-схема представляет поток управле- ния в программе. Например, программа на рис. 3.21 представляет- ся блок-схемой на рис. 3.22. Заметим, что блок-схема на рис. 3.22 не указывает конкретные вычисления, которые надо произвести, а только определяет структуру программы. Такая блок-схема яв- ляется абстрактной. Рис. 3.23 показывает, как можно проинтер- претировать блок-схему (рис. 3.22) программы, представленной на рис. 3.21. Каждая последовательная программа может быть представлена в виде блок-схемы. Таким образом, показывая, как
58 Глава 3 begin Input( _И]); InputC y2)'-, Уз : = 1; while у j > о do begin if odd ( .у,) then begin Уз = Уз * Уъ Л := Ji - 1; end, У 2 := У1 * У 2л Ji := Ji - 2; end; Output ( j3); end; Рис. 3.21. Простая программа. Эта программа представлена блок-схемой на рис. 3.22 п сетью Петри на рис. 3.25. блок-схема может быть представлена сетью Петри, мы дадим пред- ставление сетью Петри программы. Оказывается блок-схема во многом подобна сети Петри: блок- схема представима в виде узлов двух типов (принятия решения, показанные ромбами, и вычисления, показанные прямоугольниками) и дуг между ними. Удобный способ выполнения блок-схемы — вве- дение фишки, которая представляет текущую инструкцию. По мере выполнения инструкций фишка передвигается по блок-схеме. Из сходства между графическими представлениями программы и сети Петри может показаться, что для получения эквивалентной сети Петри можно заменить узлы блок-схемы на позиции, а дуги — на переходы. Такой подход использовался для превращения конеч- ного автомата в сеть Петри (разд. 3.3.1). Однако заметим, что в сети Петри действия моделируются перехо- дами, тогда как в блок-схеме действия моделируются узлами. Кро- ме того, если движение нашей фишки текущей инструкции в блок- схеме нужно приостановить, это делается между узлами, на дугах, а не внутри блока. Таким образом, правильный перевод блок-схемы в сеть Петри заменяет узлы блок-схемы на переходы сети Петри, а дуги блок-схемы — на позиции сети Петри. Каждая дуга блок- схемы соответствует точно одной позиции в сети Петри. Узлы блок- схемы представляются по-разному в зависимости от типа узла: вы- числения или принятия решения. На рис. 3.24 иллюстрируются
Сети Петри для моделирования 59 Рис. 3.22. Блок-схема программы, изображенной на рис. 3.21. Действие а b с d е Интерпретация Inputfy,); Input (_у2); Уз ’•= 1; П > О? odd(y|) ? Уз -=Уз* УъУ1 •= Ji - 1; У2 = У? * Уъ У1 = У1 / 2; Output (р3); Рис. 3.23. Интер претация действий блок-схемы на рис. 3.22, представляющей программу с рис. 3.21.
60 Глава 3 j а. Вычисление Рис. 3.24. Перевод узлов вычисления и принятия решения в блок-схеме в пе- реходы в сети Петри. оба способа перевода. На рис. 3.25 показан перевод блок-схемы на рис. 3.22 в эквивалентную сеть Петри. Необходимо сделать замечания относительно того, что означают компоненты сети Петри на рис. 3.25. Что означают позиции? Для ответа рассмотрим интерпретацию фишек блок-схемы счетчиком команд. Фишка, находящаяся в позиции, означает, что счетчик команд установлен на готовность выполнения следующей инструк- ции. Каждая позиция имеет единственный выходной переход, за исключением позиции, которая предшествует принятию решения; такие позиции имеют по два выходных перехода, соответствующих истинному и ложному значению предиката. Переходы, очевидно, связываются с действиями программы: вычислениями и принятиями решений. Для интерпретации сети Петри необходимо интерпретировать каждый переход. Следует также отметить, что переходы для вычислений имеют один вход и один выход; переход, представляющий вычисления, не может на- ходиться в конфликте, поскольку его входная позиция не является входной для какого-либо другого перехода. Действие же, связанное с принятием решения, вводит в сеть конфликт. Выбор способа раз- решения конфликта либо недетерминирован, либо им можно управ- лять извне (предсказателем, вычисляющим истинность или лож- ность предиката и вынуждающим запуск нужного перехода). Раз- личие между этими двумя способами разрешения конфликта — методологический вопрос.
Сети Петри для моделирования 61 Рис. 3.25. Представление сетью Петри программы на рис. 3.21, полученное из блок-схемы на рис. 3.22. 3.4.2. Параллелизм Параллелизм (или одновременность) может быть введен несколь- кими способами. Рассмотрим случай двух параллельных процессов, каждый из которых может быть представлен сетью Петри. Таким образом, составная сеть Петри, являющаяся просто объединением сетей Петри для каждого из двух процессов, может представлять одновременное выполнение двух процессов. Начальная маркиров- ка составной сети Петри имеет две фишки, по одной в каждой сети, представляя первоначальный счетчик команд процесса. Это вводит параллелизм, который, однако, не является еще полезным. Обычный подход основан на введении параллелизма в процесс в вычислительной системе. Здесь имело место несколько предложе- ний. Одно из них использует операции FORK и JOIN, впервые пред- ложенные Деннисом и Ван Хорном [76]. Операция FORK /, выпол-
62 Глава .i Рис. 3.26. Моделирование операций FORK п JOIN сетью Петри. а — FORK, (выполняемая на участке i создает два новых процесса на участк к / и k), б — JOIN (соединяет два процесса, которые заканчиваются на участка* i и >. и один процесс, продолжающийся на участке k) Рис. 3.27. Моделирование структуры parbegin Sl, Sz, •••> Sn parend в сети Петри. Каждый квадрат есть представление сетью Петри утверждений Si, S2 и т. д. Здесь иллюстрируется также иерархическая природа моделирова- ния сетями Петри. няемая в предложении i, приводит к одновременному выполнению текущего процесса, начиная с предложения (i + 1), и вновь создан- ного процесса — с предложения /. Операция JOIN соединяет два процесса в один или, что равнозначно, уничтожает один из них. Эти операции моделируются в сети Петри, как показано на рис. 3.26. Другое предложение по введению параллелизма основано на операциях parbegin и parend [79]. Структура управления была пред- ложена Дейкстрой и имеет вид parbegin St; S2; Sn parend, где Si — предложение. Смысл структуры parbegin!parend заключа- ется в параллельном выполнении каждого из предложений Si, S2, ... ..., Sn. Эта конструкция может быть представлена сетью Петри, по- казанной на рис. 3.27.
Cent Пегри дли моделирования 63 3.4.3. Синхронизация Введение параллелизма полезно только в том случае, когда ком- поненты процессов могуг взаимодействопать при получении реше- ния задачи. Такое взаимодействие требует распределения ресурсов между процессами. Для гарантии правильности работы системы в целом распределением необходимо управлять. Проблемы синхро- низации, возникающие при взаимодействии процессов, иллюстри- руются многочисленными примерами, приведенными в литературе. Среди задач синхронизации: задача о взаимном исключении [78], производителе/потребителе [79], обедающих мудрецах [79], чге- нии/записи [58] и др. Эти задачи стали классическими в области синхронизации; каж- дое новое предложение по механизму синхронизации должно решать их. И хотя сети Петри представляют собой схему моделирования, а не механизм синхронизации, они определенно способны модели- ровать механизмы синхронизации. Мы представляем здесь некото- рые решения в виде сетей Петри. Такое представление основано частично на работе [56]. 3.4.4. Задача о взаимном исключении Предположим, что несколько процессов разделяют общую пере- менную, запись, файл или другой элемент данных. Этот разделяе- мый элемент данных может использоваться процессами различными способами, упрощенно их можно классифицировать как чтение значения элемента данных или запись нового значения. Эти две операции являются часто единственными примитивными опера- циями. Это означает, что для обновления разделяемого элемента данных процесс должен сначала считать старое значение, затем вы- числить новое и, наконец, записать его на то же место. Если два процесса в одно и то же время пытаются выполнить такую последо- вательность действий, то могут возникнуть трудности. Возможна следующая последовательность: 1. Первый процесс считывает значение х из разделяемого объекта; 2. Второй процесс считывает значение х из разделяемого объекта; 3. Первый процесс вычисляет новое значение х = f(x); 4. Второй процесс вычисляет новое значение х" — g(x)-, 5. Первый процесс записывает х' в разделяемый объект; 6. Второй процесс записывает х" в разделяемый объект, уничтожая значение х . Результат вычисления первого процесса потерян, так как теперь значением разделяемого объекта является g(x), в то время как им Должно быть либо §(/(%)), либо f(g(x)). (Представьте себе, что^(х) — «снять со счета х 1000 долл.», f(x) — «поместить на счет х 1000 Долл.», а процессы 1 и 2 — банковские операции.)
64 Глава 3 Рис. 3.28. Взаимное исключение. Управление доступом к критическим секциям двух процессов осуществляется таким образом, что оба процесса не могут одновременно выполнять свои критические секции. Для предотвращения проблем такого рода необходимо обеспе- чить механизм взаимного исключения. Взаимное исключение — это метод создания таких программ, что одновременно не более чем один процесс имеет доступ к разделяемому объекту данных. Участок кода, в котором осуществляется доступ к разделяемому объекту и который требует защиты от вмешательства других процессов, на- зывается критической секцией. Идея состоит в том, что когда про- цесс готов выполнить свою критическую секцию, он сначала ждет, пока другой процесс не выполнит свою собственную критическую секцию. Затем он «блокирует» доступ к критической секции, не давая возможности никакому другому процессу войти в свою кри- тическую секцию. Он входит в критическую секцию, выполняет ее и, выйдя из нее, освобождает ее для доступа со стороны других про- цессов. Эта задача может быть решена сетью Петри, как показано на рис. 3.28. Позиция т представляет собой разрешение для входа в критическую секцию. Для того чтобы какой-либо процесс вошел в критическую секцию, он должен иметь фишку в р^ или в р2 соот- ветственно, свидетельствующую о желании попасть в критическую
Сети Петри для моделирования 65 секцию, а также должна существовать фишка в пг, дающая раз- решение на вход. Если оба процесса пытаются войти в критическую секцию одновременно, то переходы и t2 вступят в конфликт, и только один из них сможет запуститься. Запуск Ц запретит переход /2, вынуждая процесс 2 ждать, пока первый процесс выйдет из своей критической секции и возвратит фишку обратно в позицию tn. 3.4.5. Задача о производителе/потребителе В задаче о производителе/потребителе также присутствует сов- местно используемый объект, но в этом случае разделяемый объект точно определен и является буфером. Процесс-производитель соз- дает объекты, которые помещаются в буфер. Потребитель ждет, пока объект не будет помещен в буфер, удаляет его оттуда и исполь- зует. Такая ситуация может быть промоделирована сетью Петри так, как показано на рис. 3.29. Позиция В представляет собой бу- фер, каждая фишка соответствует элементу данных, который про- изведен, но еще не использован. Один из вариантов этой задачи — это задача о нескольких про- изводителях/нескольких потребителях. В этом случае несколько производителей порождают элементы данных, помещаемые в общий буфер, для нескольких потребителей. На рис. 3.30 представлено решение этой задачи в виде сети Петри. Эта сеть совпадает с сетью на рис. 3.29, за исключением того, что для представления s произ- Рис. 3.29. Задача о производителе/потребителе, моделируемая сетью Петри. 3—562
66 Глава 3 Рис. 3.30. Задача о нескольких производителях/нескольких потребителях (s производителей и t потребителей для фиксированных s и t). Рис. 3.31. Задача о производителе/потребителе с ограниченным буфером- Буфер, представленный позициями В и В', ограничен п ячейками.
Сети Петри для моделирования 67 д водителей и t потребителей мы начали выполнение сети с s фишка- ми в начальной позиции процесса-производителя и t фишками в :«i начальной позиции процесса-потребителя. Таким образом мы представляем s производителей и t потребителей, реализуемых ’ реентерабельными совместно используемыми программами. Аль- ’ тернативой было бы дублирование программного кода для процес- сов производителя и потребителя, однако результатом этого при том же самом поведении была бы гораздо большая сеть. В другом варианте задачи о производителе/потребителе исполь- зуется буфер ограниченного размера. При такой постановке задачи буфер между производителем и потребителем ограничен, т. е. имеет только п ячеек для элементов данных. Следовательно, производи- тель не может постоянно работать с той скоростью, которая ему нуж- на, а вынужден ждать, если потребитель работает медленно и бу- фер заполнен. На рис. 3.31 показано решение этой проблемы. Огра- ничейному буферу сопоставляются две позиции: В представляет < количество элементов данных, которые произведены, но еще не ис- ,< пользованы (число заполненных ячеек), В' — количество пустых > ячеек в буфере. Первоначально В' имеет п фишек, а В фишек не имеет. Если буфер заполнен, то В' фишек не имеет, а В имеет п ' фишек. Если теперь производитель попытается поместить еще один элемент данных в буфер, то он будет остановлен, так как в В’ нет фишки, делающей этот переход разрешенным. 3.4.6. Задача об обедающих мудрецах Задача об обедающих мудрецах была предложена Дейкстрой в [79] и связана с пятью мудрецами, которые попеременно то думали, то ели. Мудрецы сидят за большим круглым столом, на котором много блюд китайской кухни. Между соседями лежит одна палочка » для еды. Однако для приема китайской пищи необходимо две палоч- v ки, следовательно, каждый мудрец должен взять палочку слева , и палочку справа: проблема, конечно, заключается в том, что если все мудрецы возьмут палочки слева и затем будут яодать, когда ’ освободятся палочки с правой стороны, то они будут ждать вечно И умрут от голода (состояние тупика). На рис. 3.32 показано решение этой задачи с помощью сети Петри. Позиции Cit ..., С6 представляют палочки для еды, и так как каждая из них первоначально свободна, то в начальной мар- кировке в каждой из этих позиций имеется фишка. Каждый мудрец представлен двумя позициями Mt и £г для состояний размышления и принятия пищи соответственно. Для того чтобы мудрец перешел Из состояния размышления в состояние принятия пищи, обе па- лочки (слева и справа) должны быть свободны. Это легко модели- руется сетью Петри. 3‘* Li
И 68 Глава 3 Рис. 3.32. Задача об обедающих мудрецах. Каждый мудрец представлен дву- мя позициями: размышление (Alj), принятие пищи (£,). 3.4.7. Задача о чтении/записи Существует несколько вариантов задачи о чтении/записи [58], однако основная структура их остается неизменной. Имеются про- цессы двух типов: процессы чтения и процессы записи. Все процес- сы совместно используют общий файл или переменную или элемент данных. Процессы чтения не изменяют объект в отличие от процес- сов записи. Таким образом, процессы записи должны взаимно ис- ключать все другие процессы чтения и записи, в то время как не- сколько процессов чтения могут иметь доступ к разделяемым дан- ным одновременно. Задача состоит в определении структуры управ- ления, которая не приведет к тупику и не допустит нарушения критерия взаимного исключения. На рис. 3.33 иллюстрируется решение задачи в том случае, когда количество процессов чтения ограничено величиной п. Если в системе количество процессов чтения не ограничено, то только п процессов могут выполняться в одно и то же время. Проблема возникает в том случае, если количество процессов чтения не ограничено и мы хотим предоставить возможность не-
I Сети Петри для моделирования 69 « Рис. 3.33. Задача о чтении/записи в случае, когда число процессов чтения ж ограничено величиной п. Первоначально имеются s процессов чтения и t иро- да цессов записи. | ограниченному количеству процессов читать одновременно. В^этом I случае можно утверждать, что возникает необходимость хранения количества читающих процессов. При инициализации каждого про- f' цесса чтения в счетчик добавляется единица, а по окончании про- i цесса единица вычитается. Это легко моделируется позицией, в которой количество фишек равно количеству процессов чтения. Т Однако, для того, чтобы предоставить процессу записи возможность j- приступить к записи, необходимо, чтобы счетчик был нулевым, , < т. е. соответствующая позиция была бы пустой. В сетях Петри нет 7’механизма, который бы осуществлял проверку на нуль неограни- 1 2 ченной позиции0. Таким образом, оказывается, что задача о чте- f нии/записи с неограниченным числом процессов чтения не может быть “„решена с помощью сетей Петри. Это первый случай, когда мы столк- нулись с тем, что сети Петри не способны моделировать все системы. * Этот вопрос заслуживает дальнейшего изучения (гл. 7). 3.4.8. Р- и V-системы Большинство задач синхронизации не могут быть решены непо- средственно сетями Петри, но разрешимы скорее на основе извест- ных механизмов синхронизации. В частности, одним из самых по- пулярных механизмов синхронизации являются Р- и V-операции Над семафорами, впервые определенные Дейкстрой [79]. Семафор — -Это элемент данных, который может принимать только неотрицатель- ные целые значения. V-операция увеличивает значение на 1, а Р- О Определения ограниченной и неограниченной позиций даны в гл. 4.— Прим» ред.
70 Глава 3 операция уменьшает его на 1. P-операцию можно применять только в том случае, когда значение семафора останется в результате не- отрицательным; если же значение семафора равно 0, то Р-операция должна ждать, пока какой-нибудь другой процесс не выполнит V-операцию. Р- и V-операции определены как примитивные, т. е. никакая другая операция не может изменять значение сема- фора одновременно с ними. Рис. 3.34. Моделирование Р- и V-операций над семафором S. Такие операции легко моделируются сетью Петри, как пока- зано на рис. 3.34. Каждый семафор моделируется позицией, коли- чество фишек в позиции показывает значение семафора. Р-опера- ция использует позицию семафора в качестве входа, V-операция — в качестве выхода. Преимущество этого заключается в том, что многие системы про- ектируются и описываются с помощью Р - и V-операций. Напри- мер, в операционной системе Venus [179] Р- и V-операции являются основным механизмом связи между процессами. Такие системы, следовательно, можно промоделировать сетями Петри. 3.5. Другие системы Описанные до сих пор системы относятся к самому очевидному типу систем, моделируемых сетями Петри: аппаратному и про- граммному обеспечению ЭВМ. Но в большей части эта «очевидность» является результатом того, что сети Петри были определены и раз- работаны главным образом для этой цели. Но они также приме- нимы для моделирования большого числа других систем, совер- шенно отличных от вычислительных систем. В этом разделе мы бег- ло ознакомимся с некоторыми из них. PERT-диаграмма давно используется для планирования боль- ших проектов. PERT-диаграмма является графическим представле-
Сети Петри для моделирования 71 нием взаимосвязей между различными этапами, составляющими проект. Проект представляет собой совокупность большого числа этапов, при этом некоторые этапы должны завершиться прежде, чем начнут выполняться другие. Кроме того, на выполнение каждого этапа требуется определенное количество времени (иногда каждому этапу соответствует три времени, соответствующие худшему, сред- нему и лучшему случаям). Этапы графически представлены узла- ми; дуги используются для отображения причинно-следственных связей между ними. PERT-диаграмма и сеть Петри взаимосвязаны: PERT-диаграм- ма легко преобразуется в сеть Петри. Каждый этап PERT-диаграм- мы представляется позицией, причинно-следственные связи — пере- „ ходами. Диаграмма на рис. 3.35 может быть преобразована в экви- валентную сеть Петри, изображенную на рис. 3.36. Сеть Петри является превосходным средством для представления । параллелизма и причинно-следственных связей PERT-диаграммы, 1но PERT-диаграмма предоставляет также информацию о времени, используемую для определения минимального времени, необходи- мого для выполнения проекта, —«время позднего начала» и т. д. Сеть Петри не содержит такой информации. Добавление информации о времени может придать сети новое мощное свойство, но это несов- местимо с основными концепциями сетей Петри. Для такого рас- ширения сетей Петри требуются дополнительные исследования [277, 117]. Конвейерная обработка, описанная в разд. 3.3.2, является част- ft ным случаем производственной системы [107]. Сборочная линия — I другой пример производственной системы. Производственные систе- | мы и сборочные линии могут быть промоделированы сетями Петри. I Одно из первых применений сетей Петри — применение в ка- S честве средства генерации оптимального кода для компилятора с ff Фортрана CDC 6600. Подход к решению этой задачи, предложенный Р [274], заключался в моделировании программы на Фортране «сетью Петри способом, подобным моделированию блок-схемы ®(разд. 3.4.1). Затем отдельные операторы программы рассматри- вались с целью определения минимального набора причинно-след- i’ ственных связей между операторами, позволяя исключать из сети • Петри некоторые из искусственно введенных ограничений на по- 11 следовательность операторов программы. Эти искусственные ограни- чения введены из-за необходимости для программиста представ- лять программу на Фортране в виде последовательности, задающей полный порядок на множестве операторов, даже если требуется только частичное упорядочение. В качестве примера рассмотрим следующие три оператора: 10х’= х + 1, 20у = г/+1, 30 2 = X + у.
72 Глава 3 Водо- отводные канавы Нивели- рование Благо- устройство территории Начало Идентификация Котлован Фундамент Водопровод Спецификация работы f, 1 d.4 i.2 k, 10 Покраска Окончание Окончательные электроработы Штукатурные работы Водосточные желоба Окончательные слесарно- Водопроводные работы Продол- жительность Выполнения работы тия Окончательная отделка Коионное опору- 1т . оовиние\.т'1 Р’2 Отоп- ение е. 6 полов ч. 1 Рис. 3.35. PERT-диаграмма строительства дома. (Ф. Леви, Г. Томпсон, Дж. Уист «Введение в метод критических путей», в Industrial Scheduling, edited by John F., Muth and Gerald L. Thompson, copyright 1963, p. 335. С разреше- ния Prentice-Hall, Inc., Englewood Cliffs, New Jersey.) Деревянный Кирпич- каР*ас ная кладка Оконча- тельная обшиб, крыши Примерная прокладка злектро- роводов Окончательный настил полов деревом Лакиро- вание Между- тажные перекры; Начальные Ь, 3) слесарно- Водои/Говодные работы
Сети Петри для моделирования 73 Рис. 3.36. Представление PERT-диаграммы иа рис. 3.35 сетью Петри. Обра- тите внимание на то, что введены дополнительные узлы. Онн необходимы для адекватного отображения ограничения предшествования и точного представ- ления ситуаций с ожиданием.
74 Глава 3 Рис. 3.37. Сеть Петри, представляющая несколько последовательностей вы- полнения инструкции. Они написаны таким образом, что оператор 10 предшествует опера- тору 20, но такая последовательность вовсе необязательна. Поря- док, в котором будут выполнены операторы 10 и 20 (или они будут выполнены одновременно), не имеет значения для программы. Од- нако оператор 30 должен следовать только после операторов 10 и 20. После изменения упорядочения операторов необходимо рас- смотреть и поток управления. Этот анализ заключается в примене- нии условий Бернстайна для обеспечения детерминированности. Результатом такого анализа являегся сеть Петри, представляю- щая программу с минимальными ограничениями на последователь- ность операюров, т. е. допускающую максимальный параллелизм. Теперь задача состоит в компиляции такой программы. Это требует отображения переменных в регистры и упорядочения инструкций для получения полностью упорядоченной последовательности ин- струкций машинного языка* >. CDC 6600 — это ЭВМ с несколькими регистрами и кратными функциональными блоками (разд. 3.3.3). Так как функциональные блоки могут выполнять различные ин- струкции параллельно, то очень важно порождать инструкции в порядке, максимально увеличивающем параллелизм при работе функциональных блоков. На это также влияет распределение пере- менных по регистрам. Сеть Петри, моделирующая программу и представляющая ограничения, налагаемые программой, объединя- ется с сетью Петри, моделирующей устройство управления CDC 6600 и представляющей ограничения, налагаемые аппаратным обе- спечением. Такая объединенная сеть представляет все возможные последовательности инструкций, которые могут выполняться ап- паратурой и реализовать алгоритм данной программы. Эта сеть затем выполняется для получения всех таких последовательностей инструкций. Две (или более) последовательности образуются вся- *) Некоторые из которых являются инструкциями, реализующими парал- лельную обработку. — Прим. ред.
Сети Петри для моделирования 75 кий раз, когда два (или более) перехода одновременно разрешены. Запуск одного перехода будет порождать одну последовательность; запуск другого перехода — другую. Например, сеть Петри на рис. 3.37 представляв! последовательности abcdef, bacdef, abcedf, bacedf. После того как последовательности получены, вычисляются необходимые затраты времени на их выполнение, и наиболее быст- рая последовательность генерируется компилятором для действи- тельного выполнения. Рис. 3.38. Сеть Петри, пред- ставляющая окислительно-вос- становительную реакцию меж- ду щавелевой кислотой и пе- роксидом водорода, в резуль- тате которой получаются вода и диоксид углерода. Химические системы — другой пример систем, которые могут быть промоделированы сетями Петри. Химические уравнения моде- лируются переходами; вещества, участвующие в реакции, — по- зициями. Количество фишек в позиции указывает на количество данного вещества в системе. Например, сеть Петри на рис. 3.38 представляет два химических уравнения: Н2С2О4 -* 2СОа + 2Н+ + 2е~ 2е" + 2Н+ + Н2О2 -> 2НаО. Можно представить и реакции катализа. Соединение водорода и этилена образует этан (Н2 + С2Н4 -> С2Н6) только в присутствии платины. Это отражено на рис. 3.39. Мельдман и Хольт [186] выдвинули предположение, что и юри- дические системы могут быть промоделированы сетями Петри. В этих системах несколько действующих лиц (судьи, адвокаты, об- виняемые, клерки и др.) могут одновременно выполнять действия, относящиеся к конкретному длпу. Действия и их взаимосвязи могут быть представлены сетью Петри. Например, сеть Петри на рис. 3.40 является моделью начальных стадий гражданского процесса.
76 Глава 3 Другое предложение заключается в использовании сетей Петри для моделирования и анализа протоколов связи [194]. В сетях ЭВМ и системах распределенных процессов необходима возможность пе- редачи информации между ЭВМ. В этой задаче существенно при- сутствует параллелизм, и поэтому она попадает в класс задач, для которых определены сети Петри. Фарбер и его ученики [193, 250, 195, 251] разработали методологию для спецификации, проектиро- вания и анализа простых протоколов связи, используя сети Петри и подобные модели. Рис. 3.39. Процесс получения этана из водорода и этилена при катализации платиной. Другие системы, которые могли быть промоделированы сетями Петри, включают в себя системы очередей (где очереди были бы представлены позициями, а работы — фишками); модели мозга (запуски нейронов могли бы моделироваться запусками переходов); исчисление высказываний [88, 91] (позиции представляют буквы, а переходы объединяют их для определения предложений в конъ- юнктивной нормальной форме) и многие другие системы. Этот спи- сок ограничен в основном временем и воображением человека, но не свойствами сетей Петри. Однако мы видели по крайней мере один пример (задача о чте- нии/записи), который нельзя промоделировать с помощью сети Петри. И хотя моделирование с помощью сетей Петри может быть полезным при описании системы, необходимо разработать средства анализа, которые бы позволили исследовать сеть Петри и определить ее свойства. Обратимся к этому в следующей главе, в которой представлены методы анализа сетей Петри. Упражнения) 1. Промоделируйте вычислительную систему с тремя процессами и четырьмя ресурсами: устройство чтения с карт, построчно печатающее устройство, диск и два раздела памяти. Любой процесс может попасть в любой раздел. Исполь- зование ресурсов тремя процессами состоит в следующем: а) процесс 1 запрашивает устройство чтения с карт и построчно печата- ющее устройство, а затем освобождает оба этн ресурса;
Сети Петри для моделирования 77 Клерк Выписывает вызов 6 суд ₽ис. 3.40. Сеть Петри, представляющая начальные стадии гражданского Процесса. (Из [186], авторское право Американской ассоциации юристов, ’Отделение науки и технологии. Перепечатывается с разрешения.)
78 Глава 3 б) процесс 2 запрашивает устройство чтения с карт и диск, а затем осво- бождает устройство чтения с карт, запрашивает построчно печатающее уст- ройство и в конце концов освобождает и построчно печатающее устройство, н диск; в) процесс 3 требует все трн ресурса одновременно, и затем все нх осво- бождает. 3.6. Замечания к литературе Большинство исследований по сетям Петри связано с анализом, а не с моделированием. Обзоры применений сетей Петри к модели- рованию появились в работах [238, 6]. Моделирование аппарат- ного обеспечения рассматривалось в [72, 132]. В работе [2741 для реализации компилятора объединено моделирование аппаратного и программного обеспечения. Заметки [56] связаны с моделировани- ем программных систем сетями Петри. В диссертационной работе Хэка [107] рассматривается моделирование производственных про- цессов, которые включают системы типа сборочных линий. Баер и Эллис [22] использовали сети Петри для моделирования компилятора, а Ное [2141 и Бест [36, 37]—для моделирования операционных систем. Ное и Кель [2231 промоделировали аппарат- ное обеспечение вычислительной системы, Азема и др. [16, 17], Фу и Масгрэйв [83] предложили использовать сети Петри для автома- тизации проектирования. Исследования Ное и Натта главным образом направлены на мо- делирование систем для определения производительности. Их ра- боты [214, 226, 227, 224] в конце концов привели к разработке мо- дели Е-сетей, которая связана с сетями Петри. 3.7. Темы для дальнейшего изучения 1. Примените моделирование сети Петри для описания взаимодей- ствия субатомных частиц в физике высоких энергий. 2. PERT-диаграммы обычно содержат информацию о времени со- бытий. Исследуйте, каким образом можно добавить информацию о времени в сеть Петри. Как повлияет это на правила запуска? Пред- ложите алгоритм для вычисления минимального (максимального) времени, требующегося для окончания процесса. 3. Выберите любую из следующих тем и исследуйте применение сетей Петри для моделирования по темам: а) системы операций; б) моделирование мозга; в) химические реакции; г) военный конфликт; д) политические системы; е) экономика (в особенности макроэкономические события); ж) транспортные потоки на дорогах и шоссе; з) биологические популяции; и) семантические сети для представления естественного языка.
ГЛАВА 4 АНАЛИЗ СЕТЕЙ ПЕТРИ В предыдущей главе была продемонстрирована моделирующая мощность сетей Петри. С помощью сетей Петри можно моделировать широкий класс сис- тем, представляя должным образом взаимодействие различных процессов, которые могут возникнуть. Наиболее сильны сети Петри при моделировании систем, включающих параллельные действия, причем параллельность мо- делируется естественным и удобным образом. Сети Петри можно использовать для представления и сообщения о проекте параллельной системы. Однако само моделирование малополезно. Необходимо провести анализ ' моделируемой системы. Этот анализ, можно надеяться, приведет к глубокому проникновению в поведение моделируемой системы. Таким образом, мы по- ; дошли к необходимости рассмотрения методов анализа сетей Петри. Несколь- ко методов анализа уже разработано, однако в области анализа сетей Петри ; существует еще много проблем. Для того чтобы лучше оценить разработанные 1’ методы анализа, рассмотрим прежде всего типы задач, которые требуют реше- 1 ния. Цель анализа сети Петри — получение ответа на вопрос о конкретной сети Петри. Какие же вопросы о сети Петри можно задать? ' 4.1. Задачи анализа сетей Петри В публикациях по сетям Петри рассмотрены следующие свойства । и вопросы. (Здесь мы определим и проиллюстрируем эти свойства, / а во второй части главы приведем соответствующие методы ана- L лиза.) | 4.1.1. Безопасность ж Одно из важнейших свойств сети Петри, которая должна моде- KV лировать реальное устройство, — безопасность. Позиция сети Пет- « ри является безопасной, если число фишек в ней никогда не превы- ’’ шает 1. Сеть Петри безопасна, если безопасны все позиции сети. Определение 4.1. Позиция OiQP сети Петри С= (Р, Т, I, О) с начальной маркировкой р является безопасной, если р'(рг) < 1 ’ Для любой р' £ Р(С, р). Сеть Петри безопасна, если безопасна Каждая ее позиция. Безопасность — очень важное свойство для устройств аппарат- ного обеспечения. Если позиция безопасна, то число фишек в ней равно 0 или I. Следовательно, позицию можно реализовать одним Триггером. В первоначальном определении сети Петри были безопасны, поскольку переход не мог быть запущен, если не все из выходных
80 Глава 4 позиций были пусты (а кратные дуги не были разрешены). Это объ- яснялось интерпретацией позиции как условия. Условие, будучи логическим высказыванием, либо истинно (представляется фишкой в позиции), либо ложно (представляется отсутствием фишки); кратные фишки не имеют никакой интерпретации. Таким образом, если интерпретировать сети как условия и события, маркировка каждой позиции должна быть безопасной. Если позиция не является кратной входной или кратной выход- ной для перехода, ее можно сделать безопасной. К позиции *рг, которую необходимо сделать безопасной, добавляется новая пози- ция p't. Переходы, в которых pt используется в качестве входной или выходной, модифицируются следующим образом: Если Pi€I(tj} и PitO(t}), тогда добавить р'( к Если Pt G и Pt $ I (t j), тогда добавить p'. к Цель введения этой новой позиции pt — представить условие «pi пуста». Следовательно, piYipi дополнительны; pt имеет фишку, только если р,- не имеет фишки и наоборот. Любой переход, удаля- Рис. 4.2. Безопасная сеть Петри, эквивалентная сети, приведенной на рис. 4.1.
Анализ сетей Петри 81 [ ющий фишку из pt, должен помещать фишку в pt-, а всякий пе- ’ реход, удаляющий фишку из pi, должен помещать фишку в р^ I Начальная маркировка также должна быть модифицирована для , обеспечения того, чтобы точно одна фишка была либо в pt, либо s в р'.. (Мы допускаем, что начальная маркировка безопасна.) За- метим, что такая принудительная безопасность возможна только для позиций, которые в начальной маркировке являются безопасными и входная и выходная кратность которых равна О или 1 для всех 1 переходов. Позиция, имеющая для некоторого перехода выходную кратность 2, будет получать при его запуске две фишки и, следова- тельно, не может быть безопасной. Простая сеть Петри на рис. 4.1 преобразована в безопасную, как показано на рис. 4.2. s 4.1.2. Ограниченность << Безопасность — это частный случай более общего свойства ограниченности. Некоторые соображения относительно реального ограничения на аппаратную реализацию позиций позволяют прий- ти к заключению, что безопасность — необязательное требование. Безопасность позволяет реализовать позицию триггером, но в бо- f лее общем случае можно использовать счетчик. Однако любой % аппаратно-реализованный счетчик ограничен по максимальному Л числу, которое он может представить. Позиция является k-безопас- ной или k-ограниченной, если количество фишек в ней не может превышать целое число k. Определение 4.2. Позиция piQP сети Петри С= (Р, Т, I, О) с начальной маркировкой р, является k-безопасной, если у'(рг) < k 'Д для всех р,' £ R(C, р). Ц 1-безопасная позиция называется просто безопасной. Заметим, & что граница k' по числу фишек, которые могут находиться в пози- ции, может быть функцией от позиции (например, позиция р± мо- '♦ жет быть 3-безопасной, тогда как позиция р2 — 8-безопасной). % Однако, если позиция pt Л-безопасна, то она также и ^'-безопасна Для всех k' > k. Поскольку число позиций конечно, можно выбрать * k, равное максимуму из границ каждой позиции, и определить сеть ‘ Петри ^-безопасной, если каждая позиция сети /г-безопасна. Иногда нас будет интересовать только то, является число фи- • тек в позиции ограниченным или нет, а не конкре1ное значение границы. Позиция называется ограниченной, если она ^-безопасна Для некоторого k\ сеть Петри ограниченна, если все ее позиции огра- ниченны. Ограниченную сеть Петри можно реализовать аппарат- но, тогда как сеть Петри с неограниченными позициями в общем случае реализовать аппаратно нельзя. (Вспомним, что эти опреде- , ления не зависят от интерпретации. В реализации позиция может представлять некоторый объект, являющийся ограниченным, хотя сама структура сети не отражает этот факт.) *6
82 Глава 4 4.1.3. Сохранение Сета Петри можно использовать для моделирования систем распределения ресурсов. Например, сеть Петри может моделиро- вать запросы, распределения и освобождения устройств ввода/вы- вода в вычислительной системе. В этих системах некоторые фишки могут представлять ресурсы. Группа из трех построчно печатаю- щих устройств представляется позицией, имеющей в начальной мар- кировке три фишки. Запрос построчно-печатающего устройства — это переход, для которого данная позиция является входной; затем устройство освобождается переходом, для которого позиция по- строчно печатающих устройств является выходной. Для сетей Петри такого типа помимо прочих важным свойством является сохранение. Нам бы хотелось показать, что фишки, пред- ставляющие ресурсы, никогда не создаются и не уничтожаются. Простейший способ сделать это — потребовать, чтобы общее число фишек в сети оставалось постоянным. Определение 4.3. Сеть Петри С — (Р, Т, I, О) с начальной маркировкой р. называется строго сохраняющей, если для всех р G р) S p'(pt)== S Мр,). р^р Строгое сохранение — это очень сильное ограничение. На- пример, из него немедленно следует, «что число входов в каждый переход должно равняться числу выходов, \I(t[ = |0(/ Д|. Если бы это было не так, запуск перехода изменил бы число фишек в сети. Однако для более общего представления о свойстве сохранения рассмотрим рис. 4.3. Изображенная на нем сеть Петри не является строго сохраняющей, поскольку запуск перехода или f2 умень- шит число фишек на 1, а запуск перехода £3или /4 добавит фишку к маркировке. Мы можем тем не менее преобразовать эту сеть Петри в сеть на рис. 4.4, являющуюся строго сохраняющей. Сеть Петри должна сохранять ресурсы, которые она моделирует. Однако взаимно однозначного соответствия между фишками и ре- сурсами нет. Фишка может представлять и один программный счетчик или какой-нибудь другой элемент и может представлять несколько ресурсов сразу. Во втором случае фишка позже исполь- зуется для создания кратных фишек (по одной на ресурс) путем запуска перехода с большим числом выходов, чем входов. В общем следует определить взвешивание фишек. Взвешенная сумма для всех достижимых маркировок должна быть постоянной. Фишкам, не являющимся важными, можно присвоить вес 0; другим фишкам можно присвоить веса 1,2,3 или любое другое целое. (Допустимы рациональные веса, поскольку для определения целого взвешива- ния такое взвешивание можно умножить на общее кратное. Ирра- циональные веса не представляются необходимыми.)
Анализ сетей Петри 83 t 4 4,1 Г1 Рис. 4.3. Сеть Петри, не являющаяся строго сохраняющей. Рис. 4.4. Строго Иа рис. 4.3. сохраняющая сеть Петри, эквивалентная сети, изображенной
84 Глава 4 Фишка определяется ее позицией в сети, все фишки в позиции неразличимы. Следовательно, веса связываются с каждой пози- цией сети. Вектор взвешивания w = (wt, w2, ..., &уп) определяет вес wt для каждой позиции pt£P. Определение 4.4. Сеть Петри С — (Р, Т, I, О) с начальной мар- кировкой р называется сохраняющей по отношению к вектору взвешивания w, w = (ш4, ш2, ..., wn), п — |Р|, wt > 0, если для всех р' £ Р(С, р) Z • р' (Л-) = • Р (Л)» I I Строго сохраняющая сеть Петри является сохраняющей по от- ношению к вектору взвешивания (1, 1, ..., 1). Все сети Петри яв- ляются сохраняющими по отношению к вектору взвешивания (О, 0, ..., 0). Этот факт вносит в теорию некоторую нестройность, поскольку нам бы хотелось определить сеть Петри как сохраняю- щую, если она является сохраняющей по отношению к некоторому вектору взвешивания. Однако, так как всякая сеть Петри является сохраняющей по отношению к нулевому вектору, такое определе- ние не является удовлетворительным. Таким образом, сеть Петри называется сохраняющей, если она сохраняющая по отношению к некоторому положительному ненулевому вектору взвешивания w > 0 (с положительными ненулевыми весами, wt > 0). Сеть Петри с рис. 4.3 является поэтому сохраняющей, посколь- ку она сохраняющая по отношению к (1, 1, 2, 2, 1). Сеть Петри с рис. 4.5 не является сохраняющей. Рис. 4.5. Несохраняющая сеть Петри.
Анализ сетей Петри 85 Рис. 4.6. Распределение ресурсов для случая двух процессов (ей t) и двух ресурсов (д (моделируется р«) и г (моделируется р5)). 4.1.4. Активность Причиной рассмотрения сохранения в сети Петри было распре- i деление ресурсов в операционной системе ЭВМ. Другая задача, 5 которая может возникнуть при распределении ресурсов вычисли- 1 тельной системы — тупики. Тупики служат предметом многих исследований в области вычислительной техники [119]. Лучше $ всего иллюстрирует задачу простой пример. Рассмотрим систему, К включающую два различных ресурса q и г и два процесса а и Ь. Если г, оба процесса нуждаются в обоих ресурсах, им необходимо будет ж совместно использовать ресурсы. Для выполнения этого потребуем, чтобы каждый процесс запрашивал ресурс, а затем освобождал $ .его. Теперь предположим, что процесс а сначала запрашивает ре- < суре q, затем ресурс г и, наконец, освобождает и q, и г. Процесс i Ь работает аналогично, но сначала запрашивает г, а затем q. Сеть Петри на рис. 4.6 иллюстрирует два процесса и распределение «' Ресурсов между ними.
86 Глава 4 Начальная маркировка помечает ресурсы q(p^ и г(р5) доступ- ными и указывает на готовность процессов а и Ь. Одним выполне- нием этой сети является Другим — Ни одно из этих выполнений не приводит к тупику. Однако рассмотрим после- довательность, которая начинается переходами /1т t±. процесс а об- ладает ресурсом q и хочет получить г, процесс Ъ обладает г и хочет получить q. Система заблокирована; никакой процесс продолжать- ся не может. Тупик в сети Петри — это переход (или множество переходов), которые не могут быть запущены. В сети Петри на рис. 4.6. тупик возникает, если нельзя запустить переходы и f5. Переход назы- вается активным, если он не заблокирован (нетупиковый). Это не означает, что переход разрешен, скорее он может быть разре- шенным. Переход tj сети Петри С называется потенциально запу- стимым в маркировке р, если существует маркировка [*' € R(C, р), в которой t j разрешен. Переход активен в маркировке р, если по- тенциально запустим во всякой маркировке из R(C, р). Следова- тельно, если переход активен, то всегда возможно перевести сеть Петри из ее текущей маркировки в маркировку, в которой запуск перехода станет разрешенным. Существуют другие, связанные с активностью понятия, которые рассматривались при изучении тупиков [53]. Их можно разбить на категории по уровню активности и определить для сети Петри С с маркировкой р следующим образом: Уровень 0: Переход tj обладает активностью уровня 0, если он никогда не может быть запущен. Уровень 1: Переход tj обладает активностью уровня 1, если он потенциально запустим, т. е. если существует такая р' G R{C, р), что tj разрешен в р.'. Уровень 2: Переход tj обладает активностью уровня 2, если для всякого целого п существует последовательность запусков, в кото- рой tj присутствует по крайней мере п раз. Уровень 3: Переход tj обладает активностью уровня 3, если существует бесконечная последовательность запусков, в которой tj присутствует неограниченно часто. Уровень 4: Переход tj обладает активностью уровня 4, если для всякой р' € R(C, р) существует такая последовательность запусков о, что tj разрешен в б(р', о). Переход, обладающий активностью уровня 0, называется пас- сивным. Переход, обладающий активностью уровня 4, называется активным. Сеть Петри обладает активностью уровня i, если каж- дый ее переход обладает активностью уровня i. В качестве примера, иллюстрирующего уровни активности, рассмотрим сеть Петри на рис. 4.7. Переход tG не может быть за- пущен никогда; он пассивен. Переход можно запустить точно один раз; он обладает активностью уровня 1. Переход /2 может быть запущен произвольное число раз, но это число зависит от числа
Анализ сетей Петри 87 запусков перехода /3. Если мы хотим запустить t2 пять раз, мы запускаем пять раз t3, затем /4 и после этого пять раз t2. Однако, как только запустится /4 (Z4 должен быть запущен до того, как будет запущен число возможных запусков t2 станет фиксированным. Следовательно, t2 обладает активностью уровня 2, но не уровня 3. С другой стороны, переход ts можно запускать бесконечное число раз, и поэтому он обладает активностью уровня 3, но не уровня 4, поскольку, как только запустится /4, t3 больше запустить будет нельзя. Рис. 4.7. Сеть Петри, иллю- стрирующая различные уров- ни активности. 4.1.5. Достижимость и покрываемость Большинство задач, к которым мы до сих пор обращались, касаются достижимых маркировок. Задача достижимости являет- ся, по-видимому, наиболее простой (для формулировки). Определение 4.5. Задача достижимости. Для данной сети Петри С с маркировкой р и маркировки р' определить: р' £ R(C, р)? Задача достижимости, быть может, основная задача анализа сетей Петри; многие другие задачи анализа можно сформулировать в терминах задачи достижимости. Например, для сети Петри с рис. 4.6 тупик может возникнуть, если достижимым является со- стояние (0, 1, 0, 0, 0, 0, 1, 0). На рис. 4.8 показана сеть Петри, цель которой заключается в решении задачи о взаимном исключении, — предполагается, что позиции д4 и р9 будут взаимно исключающими. Мы хотим знать, является ли какое-либо состояние с р(р4) > 1 и р(р9) >• 1 достижи- мым. Эта задача аналогична достижимости, но несколько отлича- ется; она называется задачей покрываемости. Маркировка р" пок- рывает маркировку р', если р" > р'.
88 Глава 4 Рис. 4.8. Представление сетью Петри «решения» Химана задачи о взаимном исключении [134]. Вследствие постоянного использования позиций kO, kl, bl и ЬО они для удобства продублированы в графе, представляющей сеть. Все позиции, помеченные kO, являются одной позицией.
Анализ сетей Петри 89 | Определение 4.6. Задача покрываемости. Для данной сети Петри » С с начальной маркировкой р и маркировки у/ определить, сущест- I вует ли такая достижимая маркировка р" С R(C, р), что у," > р'. 5 В других возможных задачах типа достижимости могло бы игно- Т рироваться содержимое некоторых позиций и приниматься во вни- мание сравнение или покрытие содержимого нескольких важных позиций. Например, в сети Петри на рис. 4.8 наш интерес огра- $ ничен позициями р4 и р9 — маркировка остальных позиций не v важна. Таким образом, мы можем рассматривать достижимость и ® покрываемость «по модулю» множества позиций. Эти задачи назы- « ваются задачами достижимости подмаркировки и покрываемости У; подмаркировки. л) Их можно еще более усложнить требованием, определить floc- s’ тижимость и покрываемость для множества маркировок, придя ж к задачам достижимости множества и покрываемости множества. Ж Однако, если множество конечно, задачи можно решить обычно w многокРатным решением задач достижимости и покрываемости Ж для одной маркировки. 4.1.6. Последовательности запусков Другой, предложенный к анализу подход основан не на пози- ЯЬ циях, а на последовательностях запусков переходов, т. е. связан Ж с активностью, поскольку уместен вопрос: может ли переход быть Е запущен (иначе, не является ли он пассивным)? В более общем ® случае можно потребовать определить, возможна ли заданная по- ж' следовательность запусков переходов или возможна ли какая-либо Л, последовательность из множества последовательностей запусков. В сети Петри на рис. 4.8, например, взаимное исключение было бы нарушенным, если бы могла осуществиться последовательность w ^9 или f4f10, или, более общо, если бы могла возникнуть последо- * вательность taot9, где а — произвольная последовательность за- Г пусков, не включающая /4. Эти вопросы анализа приводят к поня- *. тию языков сетей Петри и будут исследованы более детально в У гл- 6. I * 4.1.7. Задачи эквивалентности и подмножества , Последний класс задач порожден соображениями оптимизации. । Пусть сети Петри присуще некоторое поведение, определяемое ее I множеством последовательностей запусков переходов или ее мно- , жестком достижимости. Можно ли изменить (оптимизировать) сеть Петри, не изменяя ее поведения? Изменение означает удаление | ? пассивных переходов (которые никогда нельзя запустить), или пас- । сивных позиций (которые никогда не могут быть маркированы), 1 А или переопределение некоторых переходов. Можно ли показать,
90 Глава 4 что две различные маркированные сети Петри с одинаковым числом переходов (но с различным числом позиций) будут порождать одина- ковые последовательности запусков переходов или что две различные маркированные сети Петри с одинаковым числом позиций (но с раз- личным числом переходов) будут порождать одно множество дости- жимости? Это позволило бы нам модифицировать сети Петри для увеличения параллелизма, уменьшения стоимости реализации или улучшения других оптимизируемых функционалов. В этих случаях мы затрагиваем проблему определения того, являются ли две сети Петри эквивалентными или является ли одна из них подмножеством другой. Для точного определения по- нятия эквивалентности или включения необходимо быть особенно внимательным. Если мы определим эквивалентность как равенство множеств достижимости, тогда нельзя будет изменять число пози- ций, если потребуем равенства множеств последовательностей — нельзя будет изменять переходы. Поэтому определение задачи, которое мы дадим, исключительно важно. 4.2. Методы анализа Задачи, которые были представлены здесь, являются наиболее общими, тем не менее существует множество других задач, решение которых может потребоваться для сетей Петри. Можно ли разра- ботать методы анализа сетей Петри для решения этих задач? При- чем нас интересуют особенно те методы, которые легко реализо- вались бы на ЭВМ, что важно для осуществления автоматического анализа моделируемых систем. В этом разделе мы представим два основных метода анализа сетей Петри, которые описывают механизмы решения некоторых из уже перечисленных задач. Первый метод анализа, используемый для сетей Петри, — это дерево достижимости, второй метод ^свя- зан с матричными уравнениями. Обсудим каждый из них. 4.2.1. Дерево достижимости Дерево достижимости представляет множество достижимости сети Петри. Рассмотрим, например, маркированную сеть" Петри на рис. 4.9. Начальная маркировка ее — (1, 0, 0). В этой началь- ной маркировке разрешены два перехода: U и t2. Поскольку мы хо- тим рассмотреть все множества достижимости, определим новые вершины в дереве достижимости1) для (достижимых) маркировок, получающихся в результате запуска каждого из этих двух пере- ходов. Дуга, помеченная запускаемым переходом, приводит из начальной маркировки к каждой из новых маркировок (рис. 4.10). О Корневой (начальной) является вершина, соответствующая началь- ной маркировке. — Прим, перев.
Анализ сетей Петри 91 Это (частичное) дерево показывает все маркировки, непосредствен- но достижимые из начальной маркировки. Теперь необходимо рассмотреть все маркировки, достижимые из новых маркировок. Из маркировки (1, 1,0) можно снова запустить ti (получая 1, 2, 0) и /2 (получая (0, 2, 1)); из (0, 1, 1) можно за- пустить /3 (получая (0, 0, 1)). Это порождает дерево, изображенное на рис. 4.11. Начиная с трех новых маркировок, необходимо пов- торить этот процесс, порождая новые маркировки, которые нужно 1 Рис. 4.9. Маркированная сеть Пет- Рнс. 4.10. Первый шаг построения ри, для которой строится дерево до- дерева достижимости. ,i стижимости. ввести в дерево, как показано на рис. 4.12. Заметим, что марки- ровка (0, 0, 1) пассивная; никакой переход в ней не является раз- решенным, поэтому никакие новые маркировки из этой пассивной 1 маркировки в дереве порождаться не будут. Кроме того, необхо- у димо отметить, что маркировка (0, 1, 1), порождаемая запуском эд /з в (0, 2, 1), была уже порождена непосредственно из начальной § маркировки запуском /2. Если эту процедуру повторять снова и снова, каждая достижи- ’> мая маркировка окажется порожденной. Однако получившееся (1,0,0) Рис. 4.11. Второй шаг построения дерева достижимости.
92 Глава 4 Рис. 4.12. Третий шаг построения дерева достижимости. дерево достижимости может оказаться бесконечным. Будет порож- дена каждая маркировка из множества достижимости, поэтому для любой сети Петри с бесконечным множеством достижимости соот- ветствующее дерево также должно быть бесконечным. Даже сеть Петри с конечным множеством достижимости может иметь беско- нечное дерево (рис. 4.13). Дерево представляет все возможные последовательности запусков переходов. Всякий путь в дереве, на- чинающийся в корне, соответствует допустимой последовательности переходов. Для превращения дерева в полезный: инструмент анали- за необходимо найти средства ограничения его до конечного разме- ра. (Заметим, что если какое-то представление бесконечного мно- жества конечно, то бесконечное множество маркировок должно отображаться в такое представление. В общем случае это приведет к потере информации и, возможно, к тому, что некоторые свойства сетей Петри определить будет нельзя, но все зависит от того, как представление было получено.) Приведение к конечному представлению осуществляется не- сколькими способами. Нам необходимо найти те средства, которые ограничивают введение новых маркировок (называемых гранич- ными вершинами) на каждом шаге. Здесь могут помочь пассивные маркировки — маркировки, в которых нет разрешенных пере- ходов. Эти пассивные маркировки называются терминальными вершинами. Другой класс маркировок — это маркировки, ранее
Анализ сетей Петри 93 К встречавшиеся в дереве. Такие дублирующие маркировки называют- И ся дублирующими вершинами-, никакие последующие маркировки । рассматривать нет нужды — все они будут порождены из места К первого появления дублирующей маркировки в дереве. Таким 5 образом, в дереве на рис. 4.12 маркировка (0, 1, 1), получившаяся ’f (1,0) I $ (О, I) I Ь St (i, о) S г-'2 V* i'1 S (1.0) !' « Рис. 4.13. Простая сеть Петри с бесконечным деревом достижимости. ! в результате выполнения последовательности tfats, не будет порож- ? дать какие-либо новые вершины в дереве, поскольку она ранее встречалась в дереве в результате выполнения последовательности f t2 из начальной маркировки. Для сведения дерева достижимости к конечному представлению [ используется еще одно средство. Рассмотрим последовательность I запусков переходов о, начинающуюся в начальной маркировке р и кончающуюся в маркировке р', р' > р. Маркировка р' совпадает t с маркировкой р, за исключением того, что имеет некоторые «до- » волнительные» фишки в некоторых позициях, т. е. р' = р + (р' — | — р) и (р' — ф) > 0. Теперь, поскольку на запуски переходов I лишние фишки не влияют, последовательность о можно запустить | щюва, начиная в р', приходя к маркировке р". Так как действие г последовательности переходов о добавило р' — р фишек к марки- L ровке р, она добавит также р' — р фишек и к маркировке р', по- этому р" = р'+ (р' — р) или р" = р + 2(р'—р). В общем | можно запустить последовательность о п раз, получив в результате L Маркировку р + и(р' — р). Следовательно, для тех позиций, ко- | торые увеличивают число фишек последовательностью о, можно К создать произвольно большое число фишек, просто повторяя по- Р* следовательность о столько, сколько это нужно. В сети Петри на
94 Глава 4 рис. 4.9, например, можно запустить переход Л столько раз, сколь- ко необходимо для того, чтобы получить произвольное число фи- шек в р2- Представим бесконечное число маркировок, получающихся из циклов такого типа, с помощью специального символа со, который обозначает «бесконечность». Для любого постоянного а определим с» + а — о, а < о>» с» —а = <о> <о <о. Для построения дерева достижимости необходимы только эти опе- рации над со. Теперь можно точно сформулировать действительный алго- ритм построения дерева достижимости. Каждая вершина i дерева связывается с расширенной маркировкой p[tl; в расширенной маркировке число фишек в позиции может быть либо неотрица- тельным целым, либо о. Каждая вершина классифицируется или как граничная вершина, терминальная вершина, дублирующая вершина, или как внутренняя вершина. Граничными являются вершины, которые еще не обработаны алгоритмом; алгоритм пре- вратит их в терминальные, дублирующие или внутренние вершины. Алгоритм начинает с определения начальной маркировки кор- нем дерева, т. е. граничной вершиной. До тех пор пока имеются граничные вершины, они обрабатываются алгоритмом. Пусть х — граничная вершина, которую необходимо обрабо- тать. 1. Если в дереве имеется другая вершина у, не являющаяся гра- ничной, и с ней связана та же маркировка, р[х] = рГу], то вер- шина х — дублирующая. 2. Если для маркировки р[х] ни один из переходов не разрешен (т. е. 6(plx], tj) не определено для всех tj £ 7), то х — терминаль- ная вершина. 3. Для всякого перехода tj£T, разрешенного в р [х] (т. е. 6(рЫ, t j) определено), создать новую вершину z дерева дости- жимости. Маркировка p[z], связанная с этой вершиной, определя- ется для каждой позиции pt следующим образом: а) Если р[х] j = то рГг] г = о. б) Если на пути от корневой вершины к х существует вершина у С рГу] < 6 (рЫ, tj) и ply] г < 6 (рЫ, tj)i, ТО p[z]£ = о. в) В противном случае р[г]г = 6(р[х], <>)г. Дуга, помеченная tj, направлена от вершины х к вершине z. Вершина х переопределяется как внутренняя, вершина г стано- вится граничной. Когда все вершины дерева — терминальные, дублирующие или внутренние, алгоритм останавливается. На рис. 4.14 представлено дерево достижимости для сети Петри на рис. 4.9. Дерево достижимости сети Петри с рис. 4.15 изобра- жено на рис. 4.16.
Анализ сетей Петри 95 (0,0,1) (0,<о,1) Рис. 4.14. Дерево достижимости сети Петри, приведеииой из рис. 4.9. h Рис. 4.15. Сеть Петри, для которой строится дерево достижимости. 1 1 Очень важным свойством алгоритма построения дерева дости- жимости является то, что он заканчивает работу. Для доказатель- ства этого мы должны показать, что алгоритм не может создавать новые граничные вершины бесконечно. Доказательство основано на трех леммах. Лемма 4.1. В любом бесконечном направленном дереве, в котором всякая вершина имеет только конечное число непосредственно *
96 Глава 4 (1.0,1.0) П (1,0,0,1) г? Ъ Рис. 4.16. Дерево достижимости сети Петри, изображенной на рис. 4.15. последующих вершин, существует бесконечный путь, исходящий из корня. Доказательство. Начнем с корня в вершине х0. Поскольку имеется только конечное число непосредственно следующих за х0 вершин, но общее число вершин в дереве бесконечно, по крайней мере одна из непосредственно следующих за х0 вершин должна быть корнем бесконечного поддерева. (Если бы все поддеревья с корнями, не- посредственно следующими за х0, были конечными, то и дерево с корнем х0 было бы конечным.) Выберем вершину непосредст- венно следующую за х0 и являющуюся корнем бесконечного под- дерева. Теперь одна из непосредственно следующих за ней вер- шин также является корнем бесконечного поддерева, выберем в качестве такой вершины х2. Продолжая таким же образом, получим бесконечный путь в дереве х0, xlt х2, ... . □ Лемма 4.2. Всякая бесконечная последовательность неотрица- тельных целых содержит бесконечную неубывающую подпоследо- вательность. Доказательство. Возможны два случая: 1. Если какой-либо элемент последовательности встречается бес- конечно часто, то пусть х0 является таким элементом. Бесконечная подпоследовательность х0, х0, х0, ... является бесконечной неубыва- ющей подпоследовательностью.
Анализ сетей Петри 97 № 2. Если никакой элемент не встречается бесконечно часто, тогда В всякий элемент встречается только конечное число раз. Пусть ® х0 — произвольный элемент последовательности. Существует са- у мое большее х0 целых, неотрицательных и меньших, чем х0 (О,..., j х0—1), причем каждый из них присутствует в последовательности S только конечное число раз. Следовательно, продвигаясь достаточ- f но долго по последовательности, мы должны встретить элемент }xt, xt »х0. Аналогично должен существовать в последователь- ности х2, х2 >> xlt и т. д. Это определяет бесконечную неубывающую подпоследовательность х0, xt, х2... . В обоих случаях бесконечная неубывающая последовательность существует. □ t Лемма 4.3. Всякая бесконечная последовательность п-векторов !• над расширенными неотрицательными целыми (неотрицательные Ю целые плюс символ <о) содержит бесконечную неубывающую под- • последовательность. Доказательство. Доказываем индукцией по п, где п — размер- юность векторного пространства. ' 1. Базовый случай (п = 1). Если в последовательности имеется ; бесконечное число векторов (<о), то они образуют бесконечную неубывающую последовательность. В противном случае бесконеч- л>ная последовательность, образованная удалением конечного числа Т векторов (ю), имеет по лемме 4.2 бесконечную неубывающую под- if последовательность. ® 2. Индуктивное предположение. (Допустим, что лемма верна для п, докажем ее справедливость для п + 1.) Рассмотрим первую Ьи’координату. Если существует бесконечно много векторов, имею- щих в качестве первой координаты а, тогда выберем эту бесконеч- ную подпоследовательность, которая не убывает (постоянна) по '< первой координате. Если только конечное число векторов имеют Ф в» в качестве первой координаты, то рассмотрим бесконечную по- у следовательность целых, являющихся значениями первых коорди- J нат. По лемме 4.2 эта последовательность имеет бесконечную не- , убывающую подпоследовательность. Она определяет бесконечную подпоследовательность векторов, которые не убывают по своей * Первой координате. , В любом случае мы имеем последовательность векторов, не- ,убывающих по первой координате. Применим индуктивное пред- г положение к последовательности n-векторов, которая получается В результате отбрасывания первой компоненты п + 1-векторов. Полученная таким образом бесконечная подпоследовательность является неубывающей по каждой координате. □ Докажем следующую теорему. Теорема 4.1. Дерево достижимости сети Петри конечно. Доказательство. Доказательство проводим от противного. До- пустим, что существует бесконечное дерево достижимости. Тогда 4— 562
98 Глава 4 по лемме 4.1 в нем имеется бесконечный путь х0, xit х2, исходя- щий из корня х0. (Число вершин, следующих за каждой вершиной в дереве, ограничено числом переходов т.) Тогда р[х0], p[xi], р[х2],...— бесконечная последовательность n-векторов над N U {©}, а по лемме 4.3 она имеет бесконечную неубывающую подпоследова- тельность |i[xto] < p[xtl] < . . Но по построению мы не мо- жем иметь |1[хг] = р[х>], поскольку тогда одна из вершин была бы дублирующей и не имела следующих за собой вершин. Следова- тельно, мы имеем бесконечную строго убывающую последователь- ность р[х1о]< ... . Но по построению, так как р[хг] < < нам следовало бы заменить по крайней мере одну компо- ненту p[xt], не являющуюся ы, на со в р[х,-]. Таким образом, р[хГ1] имеет по крайней мере одну компоненту, являющуюся со, р[хг>] имеет по крайней мере две ©-компоненты, a p[xt-n] имеет по крайней мере п ©-компонент. Поскольку маркировки n-мерные, р[х,й] имеет во всех компонентах ®. Но тогда р[х£/г+1] не может быть больше p[xtn]. Пришли к противоречию, что доказывает, что наше допу- щение относительно существования бесконечного дерева достижи- мости неверно. □ Построение дерева достижимости было впервые описано Карпом и Миллерам [148]. Используемый здесь вариант алгоритма был предложен Келлером [150J. Доказательство конечности, данное здесь, взято у Хэка [111], который принял за основу доказательство Карпа и Миллера [148]. Дерево достижимости — очень полезный инструмент анализа сетей Петри. В последующих разделах мы покажем, как его можно использовать для решения некоторых задач, представленных в разд. 4.1. 4.2.1.1. Безопасность и ограниченность Сеть Петри безопасна, если число фишек в каждой позиции не может превысить 1; сеть Петри ограниченна, если существует такое целое k, что число фишек в любой позиции не может превысить k. Оба этих свойства можно проверить с помощью дерева достижимо- сти. Сеть Петри ограниченна тогда и только тогда, когда символ © отсутствует в ее дереве достижимости. Присутствие символа © в дереве достижимости означает, что число фишек потенциально не ограничено; существует последовательность запусков переходов, которую можно повторить произвольное число раз, увеличивая ко- личество фишек до произвольно большого числа. Таким образом, если имеется символ ®, сеть неограниченна. Кроме того, поло- жение символа о показывает, какие позиции неограниченны. Обратное утверждение также является верным, если сеть Петри неограниченна, то число достижимых маркировок бесконечно. По-
Анализ сетей Петри 99 (1,0. О, О) (О, 1,0,0) (0,0, 1,0) (0,1. 1,0) (О, О, 1, 0) (0,0, 2,0) (0,0,0, 1) (1,0,0,0) Рис. 4.17. Определение ограниченности для сети Петри с помощью дерева достижимости. скольку дерево достижимости конечно, бесконечное число дости- жимых маркировок отражает присутствие символа ..со. Если сеть Петри ограниченна и символ со отсутствует в дереве достижимости, то сеть Петри представляет систему конечных сос- тояний. Дерево достижимости, по существу, является графом состоя- ний и будет содержать вершину, соответствующую всякой дости- жимой маркировке. Это позволяет решить вопросы анализа простым перебором и проверкой конечного множества всех достижимых мар- кировок. Например, чтобы определить границу для заданной пози- ции, нужно построить дерево достижимости и найти наибольшее значение компоненты маркировки, соответствующей этой позиции.
100 Глава 4 Найденное значение является границей числа фишек для заданной позиции. Если граница для всех позиций равна 1*>, сеть безопасна. На рис. 4.17 демонстрируется использование дерева достижи- мости для определения ограниченности. Отметим, что по дереву достижимости даже для сетей Петри, не являющихся ограниченными (вследствие неограниченности не- которой позиции), можно определить границы для тех позиций, которые являются ограниченными. Таким образом, дерево дости- жимости позволяет эффективно решить задачи анализа сетей Петри по определению ограниченности и безопасности для отдельных позиций и целых сетей. 4.2.1.2. Сохранение Сеть Петри является сохраняющей, если она не теряет и не по- рождает фишки, а просто передвигает их. Поскольку две фишки можно закодировать как одну фишку, которая позже вызовет за- пуск перехода, создающего две фишки, значение фишки в каждой позиции определяет вектор взвешивания, веса неотрицательны. Сеть Петри является сохраняющей по отношению к вектору взве- шивания, если взвешенная сумма фишек постоянна для всех дости- жимых маркировок. Свойство сохранения эффективно проверяется с помощью де- рева достижимости. Так как дерево достижимости конечно, для каждой маркировки можно вычислить взвешенную сумму. Если сумма одинакова для каждой достижимой маркировки, сеть — сохраняющая по отношению к данному весу. Если суммы не равны, сеть — несохраняющая. При оценке сохранения необходимо быть внимательным с сим- волом со. Если маркировка имеет со в качестве маркировки позиции Pt, тогда для того, чтобы сеть была сохраняющей, вес этой позиции должен быть равным 0. Напомним, что символ со представляет бес- конечное множество значений. Так как все веса неотрицательны, вес должен равняться либо нулю (тем самым означая, что число фишек в данной позиции не важно), либо быть положительным. Если вес положителен, то сумма будет разной для двух маркировок, различающихся в своей со-компоненте. Следовательно, если ка- кая-либо маркировка с ненулевым весом равна со, сеть — несохра- няющая. Эти рассуждения относятся к сохранению по отношению к опре- деленному взвешиванию. Сеть Петри является сохраняющей, если она сохраняющая по отношению к некоторому вектору w, w, > 0. Дерево достижимости можно использовать для определения того, является сеть сохраняющей или нет, путем нахождения вектора весов w (если он существует). Заметим прежде всего, что для того, 1) Точнее, не превышает 1. — Прим, перев.
Анализ сетей Петри 101 чтобы сеть Петрн была сохраняющей по отношению к положитель- ному вектору весов, она должна быть ограниченной. Как было указано выше, неограниченная позиция должна иметь нулевой вес, что недопустимо в сети с положительным вектором весов. (Если мы хотим допустить нулевые компоненты, нужно просто установить веса всех неограниченных позиций равными нулю и рассматривать после этого только оставшиеся компоненты.) Теперь, если сеть сохраняющая, существуют взвешенная сумма, обозначим ее s, и вектор весов w — (wt, ..., и>п). Для каждой маркировки р[х] дерева достижимости имеем и>1 • н W1 + “'г • В [*]г + - + • В Ип = Это равенство определяет для k вершин дерева достижимости сово- купность из k линейных уравнений с п + 1 неизвестными. Добавим к ним ограничения: Wi > 0, i = 1, ..., п, в результате чего опреде- лим ограничения для вектора весов. Решение этой системы линейных уравнений — хорошо извест- ная задача, имеющая множество алгоритмов решения. Можно рас- сматривать ее как задачу линейного программирования или просто как систему линейных уравнений. В любом случае, если решение существует, оно будет вычислено. (Решения, получаемые этими методами, будут, как правило, рациональными, не целыми, но веса можно умножить на общее кратное для получения целого решения.) Если ограничения, накладываемые на веса, являются чрезмер- но жесткими и, следовательно, вектора взвешиваний не существу- ет, это будет определено. В любом случае можно определить, явля- ется или нет сеть Петри сохраняющей, и если это так, получить вектор весов. 4.2.1.3. Покрымемость Последняя задача, которую можно решить с помощью дерева достижимости, — задача покрываемое™. В задаче покрываемос- ти мы хотим для данной маркировки р' определить, достижима ли маркировка р" > р'. Данная задача решается проверкой дерева достижимости. Строим для начальной маркировки р дерево дости- жимости. Затем ищем любую вершину х с р[х] > р'. Если такой вершины не существует, маркировка р' не покрывается никакой достижимой маркировкой; если она найдена, р[х] дает достижимую гмаркировку, покрывающую р'. > Путь от корня к покрывающей маркировке определяет последо- вательность переходов, которые приводят из начальной маркиров- ки к покрывающей маркировке, а маркировка, связанная с этой ^вершиной, определяет покрывающую маркировку. Символ со вновь Должен рассматриваться как обозначение бесконечного множества значений. Если компонента покрывающей маркировки — со, то в Йпути от корня к покрывающей маркировке имеется «цикл». Для
102 Глава 4 увеличения соответствующей компоненты с тем, чтобы она была не меньше, чем в данной маркировке, необходимо достаточное число раз_повторить этот цикл. Заметим, что, если несколько компонент покрывающей марки- ровки равны со, между изменениями маркировки, получающимися в результате прохождения циклов, возможна взаимосвязь. Рассмот- рим сеть Петри на рис. 4.18 и ее дерево достижимости, показанное на рис. 4.19. Согласно проведенному анализу, маркировка (0, 14, 1, 7) покрывается в множестве достижимости. Путь, порождающий покрывающую маркировку, состоит из некоторого числа переходов 4. за которыми следует переход t2, после которого уже следует некото- рое число переходов 4- Задача заключается в определении того, сколько раз нужно запустить переходы 4 и 4- Так как мы хотим иметь в позиции р2 14 фишек, а 4 помещает в р2 одну фишку, попытаемся (1,0,0,0) h (0, со, 1, со) (0, со. 1, со) Рис. 4.19. Дерево достижимости для сети Петри, приведенной на рис. 4.18.
Анализ сетей Петри 103 выполнить 14 ti. Однако нам необходимо выполнить 7t3, а каждый за- пуск t3 удаляет из р2 фишку, поэтому в действительности необходимо выполнить не менее 214, затем t2 и после этого не менее 74 (выпол- нить 4 такое число раз, чтобы в позиции р2 осталось не менее 14 фишек). Карп и Миллер [148] предложили алгоритм, определяю- щий минимальное число запусков переходов, необходимых для покрытия дайной маркировки. 4.2.14. Ограниченность дерева достижимости Как видим, дерево достижимости можно использовать для ре- шения задач безопасности, ограниченности, сохранения и покры- ваемости. К сожалению, в общем случае его нельзя использовать Рис. 4.20. Сеть Петри, дерево достижимости которой представлено на рис. 4.22. Рис. 4.21. Вторая сеть Петри, дерево достижимости которой представлено на рис. 4.22. Сеть Петри, изображенная на рис. 4.20, имеет в позиции р» только четное число фишек, тогда как эта сеть Петри допускает для рг произ- вольную маркировку.
104 Глава 4 для решения задач достижимости и активности, а также для опре- деления возможной последовательности запусков. Решение этих задач ограничено существованием символа со. Символ <о означает потерю информации; конкретные количества фишек отбрасываются, учитывается только существование их большого числа. 1,0) Рис. 4.22. Дерево достижи- мости для сетей Петри, приве- денных на рис. 4.20 и 4.21. Рассмотрим, например, сети Петри на рис. 4.20 и 4.21, дерево достижимости которых изображено на рис. 4.22. Одно дерево достижимости представляет эти две схожие (но различные) сети Петри. Множества же достижимости их не совпадают. В сети Петри на рис. 4.20 число фишек в позиции р2 всегда четно (пока не будет запущен переход тогда как в сети Петри на рис. 4.21 оно может быть произвольным целым. Символ to не позволяет обнаруживать информацию такого рода, препятствуя использованию дерева до- стижимости для решения задачи достижимости. Аналогичная трудность существует и для задачи активности На рис. 4.23 и 4.24 приведены две сети Петри, дерево достижимости которых изображено на рис. 4.25. Однако сеть на рис. 4.23 может иметь тупик (например, в результате последовательности а сеть Петри с рис. 4.24 — нет. Дерево достижимости же вновь не может передать различие этих двух случаев. Заметим, что хотя дерево достижимости не обязательно содер- жит достаточную информацию для решения задач достижимости и активности, тем не менее в некоторых случаях это бывает возмож- но. Сеть, дерево достижимости которой содержит терминальную вершину (вершину, не имеющую исходящих дуг), не активна (по- скольку некоторая достижимая маркировка не имеет последую- щих маркировок). Аналогично маркировка р' в задаче достижимос- ти может встретиться в дереве достижимости, и если это так, то она достижима. Кроме того, если маркировка не покрывается некото- рой вершиной дерева достижимости, то она недостижима.
Анализ сетей Петри 105 Рис. 4.24. Сеть Петри, в которой тупик невозможен. Эта сеть активна, хотя ее дерево достижимости (рис. 4.25) идентично дереву достижимости неактив- ной сети Петри, приведенной на рнс. 4.23. Рис. 4.25. Дерево достижимос- ти сетей Петри, изображенных на рис. 4.23 и 4.24.
106 Глава 4 Эти условия достаточны для решения некоторых задач дости- жимости и активности, но они не решают эти задачи в общем. Сле- довательно, для решения этих двух задач необходимы другие подходы. Упражнения 1. Постройте деревья достижимости для маркированных сетей, представлен- ных на рис. 4.1 и 4.2. 2. Напишите программу для ЭВМ, осуществляющую построение дерева до- стижимости по описанию сети Петри и начальной маркировке. 3. Большинство формулировок алгоритма построения дерева достижимости позволяет классифицировать вершину как дублирующую только в том случае, если идентичная вершина встретилась на пути от корня к этой вершине. Сле- довательно, подобные вершины, принадлежащие разным поддеревьям и представляющие одну маркировку, будут продолжать обрабатываться алго- ритмом. Эта модификация!) увеличивает размер поддерева, ио алгоритм за- кончит работу, даже если дублирующие маркировки находятся в том же под- дереве, что и первая маркировка. Докажите, что разрешение дублирующим маркировкам быть в разных поддеревьях не вызовет в дереве потерю какой- либо маркировки. 4.2.2. Матричные уравнения Второй подход к анализу сетей Петри основан на матричном представлении сетей Петри. Альтернативным по отношению к опре- делению сети Петри в виде (Р, Т, I, О) является определение двух матриц D~ и D+, представляющих входную и выходную функции. (Они эквивалентны функциям F и В определения Хэка сетей Пет- ри, см. разд. 2.6.) Каждая матрица имеет m строк (по одной на пе- реход) и п столбцов (по одному на позицию). Определим D~[j, i] = = #(/?,-, I(tj)), a D+ [/, i] = #(p,, 0 (tj)). D~ определяет входы в переходы, D+ — выходы. Матричная форма определения сети Петри (Р, Т, D~, D+) экви- валентна стандартной форме, используемой нами, но позволяет дать определения в терминах векторов и матриц. Пусть е[/] — /n-вектор, содержащий нули везде, за исключением /-й компоненты. Переход tj представляется m-вектором е[/]1 2). Теперь переход t} в маркировке р разрешен, если р е[/] • D~, а результат запуска перехода tj в маркировке р записывается как 8(р, tj)= р — е [у] • П- + е[/] Г+ = = р + е |j] • (~D~ + ГР) = р 4- е [j] • D, где D = D+ •— D~ — составная матрица изменений. 1) По отношению к описанному в этом разделе алгоритму. — Прим, перев. 2) е[/1 — вектор-строка. ~~Прим. перев.
Анализ сетей Петри 107 Тогда для последовательности запусков переходов о = tjitj, ... t; имеем ik 8(м» °) = tji' tjt> ••• > ~ = Р 4~ е[/\] D + e [j2] -£>+-•- + e [/ft] D = = H 4- (« [/il + e [/2] 4-be [j J) • D = p + f (o) • D. Вектор f(o) = ef/J + Ф’г] + --• + e[/fe] называется вектором за- пусков последовательности i-ii элемент вектора До), До), — это число запусков перехода t, в последовательности ... tfk. Вектор запусков, следовательно, является вектором с неотри- цательными целыми компонентами. (Вектор [(g) — это отображение Париха последовательности [229].) Для того чтобы показать полезность такого матричного подхода к сетям Петри, рассмотрим, например, задачу сохранения: является ли данная маркированная сеть Петри сохраняющей? Для того чтобы показать сохранение, необходимо найти (ненулевой) вектор взвешивания, для которого взвешенная сумма по всем достижимым маркировкам постоянна. Пусть и> — п X 1 — вектор-столбец. Тог- да, если р — начальная маркировка, ар' — произвольная дости- жимая маркировка, необходимо, чтобы р • w = р' • w. Теперь, поскольку р' достижима, существует последовательность запусков переходов о, которая переводит сеть из р в р'. Поэтому р' = 8 (р, о) = р 4- /(о) • D. Следовательно, р • w = р' • и = (р-|- До) • D) • w = р- w + 4- До) • D • w, поэтому /(о) • D • w = 0. Поскольку это должно быть верно для всех До), имеем D • и> = 0. Таким образом, сеть Петри является сохраняющей тогда и только тогда, когда существует такой положительный вектор и>, что D • w = 0. Это обеспечивает простой алгоритм проверки сохране- ния, а также позволяет получать вектор взвешивания w. Развитая матричная теория сетей .Петри является инструментом для решения проблемы достижимости. Предположим, что марки- ровка р' достижима из маркировки р. Тогда существует последо- вательность (возможно, пустая) запусков переходов о, которая приводит из р к р'. Это означает, что До) является неотрицатель- ным целым решением следующего матричного уравнения для х: р' = р 4- х D. (4-1) Следовательно, если р' достижима из р, тогда уравнение (4-1) имеет решение в неотрицательных целых; если'уравнение (4-1) не имеет решения, тогда р' недостижима из р.
108 Глава 4 Рассмотрим, например, маркированную сеть Петри на рис. 4.26. Матрицы D и D+ имеют вид: 11 10" D~ = 0 0 0 1 00 1 о]’ "10 0 01 £)+„ 0 2 1 ol ООО 1] а матрица D: о —1 —1 0' D= 0 +2 +1 -1 0 0—1+1 В начальной маркировке р = (1, 0, приводит к маркировке р/, где 1, 0) переход ts разрешен и 0 —1 —1 р' = (1, 0, 1, 0) + (0, 0, 1) - 0 +2 +1 0 0—1 о* —1 +1 = (1, 0, 1, 0) + (О, О, — 1, + 1) =(1, О, 0, 1). Последовательность о = представляется вектором запусков /(о) = (1. 2, 2) и получает маркировку р': 0 О О = (1, 0, 1, 0) + (1, 2, 2) - — 1—1 О" +2 +1 -1 0—1 +1 = (1, 0, 1, 0) + (0, 3, — 1, 0) = (1, 3, 0, 0). Рис. 4.26. Сеть Петрп, иллюстрирующая метод анализа, основанный на мат- ричных уравнениях.
Анализ сетей Петри 109 Для определения того, является ли маркировка (1, 8, 0, 1) до- стижимой из маркировки (1,0, 1, 0), имеем уравнение (1, 8, 0, 1) = (1, 0, 1, 0) + х- 0 — 1 0 +2 0 0 — 1 О’ + 1 -1 -1 +1 (0. 8, —1, 1) = х- ’0—1—1 О О +2 +1 — 1 О 0—1+1 которое имеет решение х = (0, 4, 5). Это соответствует последова- тельности о — tgt^tstitstitst^ts. Далее мы можем показать, что маркировка (1, 7, 0, 1) недости- жима из маркировки (1, 0, 1, 0), поскольку матричное уравнение 0—1—1 01 (1, 7, 0, 1)=(1, 0, 1, 0) + х- 0 —1 — 1 (0, 7,-1, 1) = х 0 +2 +1 0 0—1 О’ — 1 + 1 не имеет решения. Матричный подход к анализу сетей Петри очень перспективен, но имеет и некоторые трудности. Заметим прежде всего, что мат- рица D сама по себе не полностью отражает структуру сети Петри. Переходы, имеющие как входы, так и выходы из одной позиции (петли), представляются соответствующими элементами матриц D~ и £>т, но затем взаимно уничтожаются в матрице D = £>+ — D~. Это отражено в предыдущем примере позицией и переходом Другая проблема — это отсутствие информации о последова- тельности в векторе запуска. Рассмотрим сеть Петри на рис. 4.27. Предположим, мы хотим определить, является ли маркировка (0, 0, 0, 0, 1) достижимой из (1, 0, 0, 0, 0). Тогда имеем уравнение -—1 2 1 0 0” 0 0 0 0 0 0 0 1 0 0 (0, 0, 0, 0, 1)=(Ь о, 0, 0, 0) + х 0 — 1 0 1 0 0 2 0 0 — 1 0 0 — 1 — 2 1_ Это уравнение не имеет однозначного решения, но сводится к мно- жеству решений {o|f(o) = (1, х2, х6— 1, 2х6, х6 — 1, х6)}. Оно
по Глава 4 Рис. 4.27. Другая сеть Петри, служащая для иллюстрации матричного ана- лиза. определяет взаимосвязь между запусками переходов. Если поло- жим хе = 1 и х2 = 1, то f(o) = (1, 1, 0, 2, 0, 1), но этому вектору запуска соответствуют как последовательность Д4444» так и п0‘ следовательность Следовательно, хотя и известно число запусков переходов, порядок их запуска неизвестен. Еще одна трудность заключается в том, что решение уравнения (4-1) является необходимым для достижимости, но недостаточным. Рассмотрим простую сеть Петри, приведенную на рис. 4.28. Если мы хотим определить, является ли (0, 0, 0, 1) достижимым из (1, 0, 0, 0), необходимо решить уравнение Г—1 +1 —1 о (О, 0, 0, 1)=(1, О, О, 0) + /(о). [ 0 _J +1 +1 Рз Рис. 4.28. Сеть Петри, показывающая, что решение матричного уравнения— необходимое, но недостаточное условие для решения задачи достижимости.
Анализ сетей Петри 111 Это уравнение имеет решение /(о) = (1, 1), соответствующее двум последовательностям: tftz и t2tv Но ни одна из этих двух последо- вательностей переходов невозможна, поскольку в (1,0, 0, 0) ни tif ни 4 не разрешены. Таким образом, решения уравнения (4-1) не- достаточно для доказательства достижимости. Возможность недействительных решений уравнения (4-1) (ре- шений, которые не соответствуют возможным последовательностям переходов) стала причиной только ограниченного исследования матричного представления сетей Петри. Лучшее исследование этого подхода проведено Муратой [206, 208, 209]. 4.3. Замечания к литературе В публикациях Хольта и др. [128] и Хольта и Коммонера [127] определены некоторые из первых задач анализа сетей Петри — активность и безопасность, которые продолжают считаться основ- ными задачами анализа. Активность изучалась Коммонером [53], Лаутенбахом [167] и Льеном [173]. Келлер [150] вместе с другими задачами рассматривал также и активность. Льен [173] определил задачу сохранения. Карп и Миллер [128] впервые описали построение дерева дости- жимости и доказали его конечность. Задачи покрываемое™ и до- стижимости были определены ими как если бы это были задачи эквивалентности и включения. Последние задачи явились пред- метом изучения в [26]. В [213] дана краткая формулировка задачи достижимости. Хэк [Ш] рассмотрел большинство этих задач вместе и показал, как дерево достижимости можно использовать для ре- шения некоторых из них. Матричный подход рассматривался Питерсоном [236], но, как оказалось, возможности его ограничены. Мурата, имеющий боль- шую квалификацию в линейной алгебре, достиг чуть большего в этом подходе в [210, 206, 212, 208, 209]. 4.4. Темы для дальнейшего изучения 1. Рассмотрите построение не дерева, а графа достижимости. Если вершина х порождает последующую вершину z с p[z] — р[г/] для некоторой неграничной вершины у, просто введите помеченную соответствующим образом дугу из х и у. Заметим, что путь из корня в вершину перестает быть единственным. Опишите алгоритм по- строения графа достижимости, покажите, что он сходится, и иссле- дуйте его свойства, сравнивая с алгоритмом построения дерева до- стижимости. 2. Дерево достижимости нельзя использовать для решения проб- лемы достижимости вследствие потери информации, порождаемой символом со. Он вводится, когда мы приходим к маркировке р' и на пути от корня к р' имеется такая маркировка р, что р' 2> р. В этом
112 Глава 4 случае можно получить все маркировки вида р + и(р' — р). Ис- следуйте возможность использования выражения а + b • пг вме- сто со, для того чтобы представить значения компонент. Если вы сможете определить дерево достижимости, в котором все векторы маркировок представляются выражениями, тогда решение задачи достижимости определяется просто решением системы уравнений. 3. Обобщите определение сохранения, разрешая отрицательные веса. Что можно было бы считать разумной интерпретацией отри- цательного веса? Является ли разрешимой задача определения со- хранения сети Петри, если разрешены отрицательные веса? 4. Разработайте с помощью матричного подхода к анализу алгоритм определения ограниченности сети Петри [61]. 5. Основная проблема матричного анализа—отсутствие информации о последовательности и существование недействительных решений. Однако задача достижимости является самой существенной для сетей Петри, поэтому важно показать, что она разрешима, даже если решения вычислительно дороги. Если задача разрешима, можно будет искать более эффективные методы решения, но сначала не- обходимо показать, что метод решения существует. Для обоснования этого обозначим через Sy сумму вектора за- пуска f по всем компонентам. Иначе говоря, если f = (ft, f2, , fm), то Sy = ft + + ... 4- fm. Далее, если существует последова- тельность о, переводящая сеть Петри из маркировки р в марки- ровку р', тогда уравнение (4-1) имеет решение, являющееся векто- ром запуска f(o) для о. Последовательность о можно определить из вектора запуска f(a) простым перебором всех возможных последо- вательностей длины 2f(o), стараясь, чтобы каждая из них 1) была действительной и 2) приводила от р к р'. Для сети Петри с т пере- ходами возможно самое большое m*~f последовательностей длины Гу. На самом деле это число можно сократить. Поскольку нам из- вестно, сколько раз запускается переход tt (ft), сколько раз запуска- ется t2(f2) и т. д , то необходимо проверять не более чем Syl воз- можных упорядочений из запусков перехода tiy fz запусков пе- рехода t2 и т. д. Это, казалось бы, обеспечивает процедуру решения задачи опре- деления, является ли р' достижимой из р. Сначала решаем матрич- ное уравнение р' = р 4- f • D. Если решения не существует, р' не- достижима из р. Если решение f существует, проверяем все Sy! возможных упорядочений переходов. Если какая-нибудь из этих последовательностей действительна, то р' достижима из р, и мы имеем последовательность переходов, переводящую из р в р'. Имеется только одно препятствие. Решение f может быть не однозначным, а (бесконечным) множеством векторов запусков, пред- ставленным множеством выражений (как показано выше для примера анализа сети Петри на рис. 4.27). Для определения возможности доказательства достижимости в этом случае необходимы исследова- ния В простейшем случае может оказаться, что или все решения
Анализ сетей Петри ИЗ представляются выражением вектора запуска, соответствующим действительным решениям, или ни одно. В этом случае мы просто выбираем любое решение и выполняем описанную процедуру про- верки всех возможных упорядочений. Более вероятно, однако, что некоторые решения будут работать, тогда как другие — нет. Так как мы не можем испытать все решения (из, возможно, бесконечного множества их), необходимы исследования, для того чтобы можно было определить, какие решения необходимо проверять.
ГЛАВА 5 СЛОЖНОСТЬ И РАЗРЕШИМОСТЬ В четвертой главе было представлено множество задач теории сетей Пет- ри. Эти задачи касаются различных свойств структуры и поведения сетей Петри. Были представлены и два метода решения: подход дерева достижимости и подход матричных уравнений. Эти методы позволяют определить свойства безопасности, ограниченности, сохранения и покрываемости для сетей Пет- ри. Кроме того, установлены необходимые условия для достижимости. Од- нако эти методы анализа недостаточны для решения некоторых других задач, в частности активности, достижимости и эквивалентности. В этой главе мы изучим эти задачи с целью или найти их решения, или по крайней мере узнать больше о свойствах сетей Петри. 5.1. Сводимость задач анализа Мы будем использовать фундаментальное понятие сводимости [146]. Решение задачи подразумевает сведение ее к другой задаче, способ решения которой уже известен. В предыдущей главе, напри- мер, задача определения того, является ли сеть Петри сохраняющей, сводилась к решению системы линейных уравнений. Задача решения системы линейных уравнений в свою очередь сводится к опреде- ленной последовательности арифметических операций (сложение, вычитание, умножение, деление и сравнение). Таким образом, по- скольку арифметические операции выполнить можно, сохранение может быть определено. Другой пример связан с задачей равенства и задачей подмножест- ва для множеств достижимости. Определение 5.1. Задача равенства. Выполняется ли для двух данных маркированных сетей Петри С, = (Рь 7\, Ilf С\) с марки- ровкой fa и С2 = (Р2, Т2, /2, О2) с маркировкой ц2 равенство 7?(Ci, Pi) = Р(С2, р2)? Определение 5.2. Задача подмножества. Выполняется ли для двух данных маркированных сетей Петри Ct = (Ръ 7\, Ilt С\) с марки- ровкой р, и С2 = (Р2, Т2, 12, 0^ с маркировкой р2 соотношение P(Ci, Pi)~ R(C2, р2)? Эти задачи могут оказаться очень важными для определения, является ли сеть Петри оптимизируемой или сравнимы ли сети двух систем. Заметим, что если можно найти решение задачи под- множества, то задача равенства также решается. Если необходимо
Сложность и разрешимость 115 и определить, выполняется ли R(Cit pt) = /?(С2, р2), мы сначала при- меним алгоритм решения задачи подмножества для определения, выполняется ли R(Ci, pje Т?(С2, р2), а затем применим тот же В алгоритм для определения, выполняется ли /?(С2, р2)— S Pi)- Pi) = R(C2, p2) тогда и только тогда, когда R(Cit В Pi)s jR(C2, р2) и R(C2, рг)^ R(Ci, pt). Таким образом, за- В дачу равенства можно свести к задаче подмножества. -5 При рассмотрении задач анализа и сводимости важно принимать В во внимание следующие два соображения. Во-первых, пытаясь К найти решение, необходимо учитывать возможность того, что за- В дача не имеет метода решения, т. е. неразрешима. Во-вторых, если В метод решения существует, мы должны оценить его стоимость: как S много времени и памяти требуется для решения? Для того чтобы Зг применение сетей Петри расширялось, задачи анализа должны ре- В шаться, а алгоритмы, осуществляющие решение, должны быть I В не слишком дороги в смысле времени и памяти ЭВМ. Сводимость играет большую роль для обеих из указанных проб- В лем. Сводимость задач обычно используется для того, чтобы пока- В зать, разрешима ли задача или неразрешима. Наш подход к теории В разрешимости [69, 200] основан главным образом на работах Тью- В ринга и его модели вычислений — машине Тьюринга. Значение В машины Тьюринга состоит в том, что она служит разумным пред- I В ставлением вычислительной машины, и можно показать*), что не I В существует алгоритма, который бы решал определенные проблемы 1 В машины Тьюринга, в частности проблему остановки. На основе , В этого был найден ряд неразрешимых задач. И важность этой теории— | В в том, что невозможно создать программу для ЭВМ, которая бы В решала эти задачи. Следовательно, для целей практического ана- I В лиза ^обходимо избежать этих неразрешимых задач, иначе вопросы I В анализа не получат ответа. Ж (Здесь важно подчеркнуть, что неразрешимые задачи порожда- j В ют вопросы, на которые не просто нет ответа, по его и не может ) В быть. Вопросы, на которые нет ответа, еще могут его получить; это j В значит, что ответ еще никто не нашел, но он существует. Известным I В пРимеРом является большая теорема Ферма: имеет ли решение урав- I В неИие + Уп ~ z" Для « > 2 в классе целых чисел х, у, г? Этот > В вопрос не получил ответа,но онего имеет. Ответом служит либо"да", В либо "нет". Одним способом получения ответа на вопрос является В поиск чисел х,у.гнп, удовлетворяющих условиям теоремы. Дру- В гим будет доказательство (логический вывод) того, что таких В х, у, z и п не существует. Никто еще не сделал этого. » Однако предположим, что задача неразрешима. Тогда невоз- В можно было бы определить, существуют ли x,y,z и и, решающие ’if Уравнение. Это означало бы, что мы не могли логически вывести В их несуществование из аксиом математики и не могли получить х,у, *) Для некоторых задач, разумеется. — Прим, перев.
116 Глава 5 г и п, которые были бы решением уравнения. Но если мы не можем получить х, у, z и п, тогда они не должны существовать. Если же они существуют, мы можем найти их с помощью ЭВМ. Но если х, у, z и п не существуют, ответом на вопрос будет «нет», и, следовательно, мы разрешили его. Это противоречит нашему предположению о том, что вопрос неразрешим, следовательно, он разрешим.) Теперь допустим, что задача А сводима к задаче В: конкретную задачу А можно перевести в конкретную задачу В. Если задача В разрешима, то разрешима и задача Л, а алгоритм решения задачи В можно применить к решению задачи А. Конкретную задачу А можно решить, преобразуя ее в конкретную задачу В и применяя к ней алгоритм решения задачи В. Таким образом, если задача А сводится к задаче В и задача В разрешима, то разрешима и задача А Обратное также верно: если задача А сводится к задаче В и за- дача А неразрешима, то неразрешима и задача В; если бы задача В была разрешима,то описанная выше процедура была бы методом решения задачи Л, что противоречит ее неразрешимости. Эти два факта положены в основу большинства методов определения раз- решимости. Для того чтобы показать, что задача разрешима, сводят ее к задаче, известной как разрешимая; а для того чтобы показать, что задача неразрешима, сводят к ней задачу, которая известна как неразрешимая. Мы также будем широко использовать этот подход для сокраще- ния объема работы, которую нам необходимо выполнить. Например, вследствие того, что задача равенства для множеств достижимости сводится к задаче подмножества, мы хотим найти либо 1) проце- дуру решения задачи подмножества, либо 2) доказательство того, что задача равенства неразрешима. Если мы сможем выполнить 1), то будем иметь метод решения обеих задач, если выполним 2), будем знать, что обе задачи неразрешимы. В некоторых случаях мы сможем достичь даже большего. Две задачи называются эквивалентными, если они взаимно сводимы. Другими словами, задача Л эквивалентна задаче В, если задача Л сводится к задаче В, а задача В сводится к задаче Л. В этом случае или обе задачи разрешимы, или обе неразрешимы, и мы можем рас- сматривать любую из них. (Заметим, что в общем случае это1) неверно Например, если бы мы показали, что задача подмножества для множеств достижимости неразрешима, это не сказало бы нам ни- чего о разрешимости или неразрешимости задачи равенства.) Второе соображение по исследованию задач анализа заключает- ся в том, что если метод решения существует, то он должен быть ра- зумно эффективным. Это означает, что количества времени и памяти, требуемые алгоритмом для решения конкретной задачи, не должны быть чрезмерными. Исследование стоимости выполнения алгорит- ма — это часть теории сложности. Теория сложности имеет дело 1) То есть то, что можно работать с любой задачей. — Прим, перев.
Сложность и разрешимость 117 с количествами времени и памяти, необходимыми для решения за- дачи. Очевидно, что количества времени и памяти не постоянны, а изменяются в зависимости от размерности решаемой задачи. Для сетей Петри временные и емкостные затраты будут, по-видимому, функцией от числа позиций и переходов. Другими факторами, вли- яющими на время и память, будут число фишек в начальной марки- ровке и число входов и выходов для каждого перехода и позиции (число дуг в графе). Требуемые время и память будут изменяться от одной задачи к другой. Поэтому оценки сложности алгоритма могут быть даны для наилучшего случая (нижняя граница) или наихудшего случая (верхняя граница). Поскольку не известно, относится данный при- мер задачи к наилучшему или наихудшему случаю, обычно прини- мается наихудший случай, и сложность алгоритма — это времен- ные и емкостные затраты в худшем случае как функция от размер- ности задачи. Анализ сложности касается главным образом сложности задачи, а не конкретных деталей реализации какого-либо частного алго- ритма. Поэтому в теории сложности игнорируются константы. Слож- ность задачи размерности п определяют порядком п2 или 2я, или п log п, допуская меньшие члены и постоянные сомножители. Осо- бенно важны два общих класса алгоритмов: имеющих полиномиаль- ную сложность (п, п2, п log п, п8 и т. д.) и имеющих неполиноми- альную сложность (в частности, экспоненциальную, 2га, и факто- риальную, п!). Анализ сложности обычно применяют к конкретным алгоритмам, но его можно применить также и к общим задачам. В этом случае определяется нижняя оценка сложности из всех алгоритмов, решаю- щих задачу. Это обеспечивает значение сложности, не зависящее от алгоритма, и, кроме того, может оказаться полезным в доказа- тельстве того, что данный алгоритм оптимален (с точностью до константы), и в определении случаев, когда дальнейшая работа мо- жет привести к лучшему алгоритму решения задачи. Например, хорошо известно, что сортировка п чисел имеет сложность п log п. Следовательно, алгоритмы сложности п log п нельзя значитель- но улучшить (в асимптотически худшем случае). При определении сложности может быть полезно сведение одной задачи к другой. Если задачу А можно свести к задаче В и В имеет сложность то сложность А —это, самое большее, слож- ность В плюс стоимость преобразования из Л в В (помня, что в ре- зультате перевода размерность задачи может измениться.) Слож- ность преобразования является, как правило, константой или ли- нейной функцией и поэтому часто игнорируется. Следовательно, сведение задачи А к задаче В дает или верхнюю границу сложности А (если известна сложность В), или нижнюю границу сложности В (если известна сложность А). Используя снова в качестве примера задачи равенства и подмножества, получаем, что объем вычисле-
118 Глава 5 ний, необходимый для решения задачи равенства, не больше чем удвоенный объем вычислений для задачи подмножества. Поскольку здесь участвует постоянный сомножитель, сложность задачи под- множества должна совпадать со сложностью задачи равенства. Эти два свойства задач анализа сетей Петри — разрешимость и сложность — имеют первостепенную важность для использова- ния сетей Петри. В этой главе представляются некоторые извест- ные результаты. Один из используемых методов — сведение одной задачи анализа Петри к другой. 5.2. Задачи достижимости Задача достижимости — одна из самых важных задач анализа сетей Петри. Она до сих пор еще не решена для различных вариаций ее определения. Были поставлены следующие четыре задачи дости- жимости для сети Петри С = (Р, Т, I, О) с начальной маркиров- кой р. Определение 5.3. Задача достижимости. Выполняется ли для дан- ной р': p'g/? (С, р)? Определение 5.4. Задача достижимости подмаркировки. Для под- множества Р' е Р и маркировки р' существует ли р" 6 Р(С, р), такая, что р"(рг) = р' (рг) для всех pt g Д'? Определение 5.5. Задача достижимости нуля. Выполняется ли р' g R(C, р), где р'(Рг) = 0 Для всех pi £Р? (0 g Р(С, р)?). Определение 5.6. Задача достижимости нуля в одной позиции. Для данной позиции р; Q Р существует ли р' g 7?(С, р) с р'(рг) = 0? Задача достижимости подмаркировки ограничивает задачу до- стижимости до рассмотрения только подмножества позиций, не принимая во внимание маркировки других позиций. Зада- ча достижимости нуля выясняет, является ли достижимой част- ная маркировка с нулем фишек во всех позициях. Задача дости- жимости нуля в одной позиции выясняет, возможно ли удалить все фишки из данной позиции. Хотя эти четыре задачи различны, все они эквивалентны. Опре- деленные взаимосвязи очевидны сразу. Задача достижимости нуля сводится к задаче достижимости; просто в задаче достижимости устанавливается р' = 0. Аналогично задача достижимости сводится к задаче достижимости подмаркировки путем установки Р’ = Р. Задача достижимости нуля в одной позиции сводится к задаче достижимости подмаркировки установкой Р" — {pt} и р' = 0. Сложнее показать, что задача достижимости подмаркировки сво- дится к задаче достижимости нуля и что задача достижимости нуля
Сложность и разрешимость 119 сводится к задаче достижимости нуля в одной позиции. Все мно- жество взаимосвязей представлено на рис. 5.1. Сначала покажем, что задача достижимости подмаркировки сводится к задаче достижимости нуля. Пусть даны сеть Петри С\ = = (Pt, Pi, Oi) с начальной маркировкой подмножество P's £ Pi и маркировка р/. Мы хотим узнать, существует ли р" € R(Ci, н) с р'(рг) = р"(рг) для всех pt £ Р'. Наш подход Задача достижимости Рис. 5.1. Сводимость задач достижимости. Дуга от одной задачи к другой оз- начает, что первая сводится ко второй. заключается в построении новой сети Петри С2 = (Р2, 1\, /2, 02) с начальной маркировкой р2, такой, что маркировка р" £ R(C,, щ) с I1'(Pt) — p"(Pi) Для всех pt Q Р' существует тогда и только тогда, когда О£Я(Сг, р2). Построение С2 из С4 осуществляется исключительно просто. Начнем с С2, совпадающей с Cj. Для того чтобы позволить всякой позиции pi вне Р' стать пустой, введем переход с входом {pi} и пустым выходом. Этот переход можно запускать всякий раз, когда в pi имеются фишки, чтобы изъять их, что позволяет достичь ну- левой маркировки и тем самым игнорировать такие позиции. Относительно pt в Р' необходимо иметь уверенность, что в pt точно р'(рг) фишек. Для этого построим новые позиции р, для каждой Pi£Pr с начальной маркировкой p'(P;) фишек и переход tt с входом {pi, pt} и пустым выходом. Если в pi точно р'(рг) фи- шек, то этот переход можно запустить точно р'(рг) раз, сокращая маркировки pt и pt до нуля. Если число фишек в рг отлично от р'(Рг). т0 переход можно запустить только минимальное из двух маркировок число раз, и поэтому либо в рг, либо в pt- останутся фишки, препятствующие достижению нулевой маркировки.
120 Глава 5 Рис. 5.2. Сеть Петри, служащая для доказательства сводимости задачи дости- жимости подмаркировки к задаче достижимости нуля. Подмножество пози- ций Р' будет иметь маркировку pi' в первоначальной сети тогда и только тогда, когда в модифицированной показанным здесь способом сети будет до- стижима нулевая маркировка. Два типа вводимых переходов иллюстрируются на рис. 5.2. Формально определим С2 следующим образом: P8 = 6UUIp,-6P'}, Т2 = ли I , MG) = А(6) для G€M G(G) = IpJ для рЛр’> = |р,. р'| для р,€М Oa(G) = °i(G) ДЛЯ G€M о2(<)={ }ддяр,еб> с начальной маркировкой: Р2(Р,) = Pi(Pi)> Pi Qpi> Р2 (рЭ = P'(Pi). Pi£p'- Теорема 5.1. Задача достижимости подмаркировки сводится к за- даче достижимости нуля.
Сложность и разрешимость 121 Доказательство. Покажем, что для сети Петри С2, построенной из вышеописанным способом, 0 £ Р(С2, р2) тогда и только тогда, когда р" С R(Ci, рЛ с p"(pf) = р'(рг) Для всех Pi С Р' Для того чтобы показать, что 0 € Р(С2, р2) тогда и только тог- да, когда существует р” е R(Cit р4) с р”(рг) = ц'(рг) Для pt £ Р’, допустим сначала, что р" присутствует в R(Ci, pi). Тогда в С2 также можно достичь маркировки р" в позициях pi € Pi запуском только переходов из 7\. Сейчас для каждой позиции pt (= Р' можно за- пустить ti точно р'(рг) раз, сокращая маркировку и pt, и р/ до нуля. Затем можно запустить // для каждой pt 5 Р' столько раз, сколько необходимо для приведения маркировки этих позиций к нулю, поэтому О G Р(С2, р<,). Теперь предположим, что 0 £ Р(С2, р2); тогда существует по- следовательность запусков переходов о, переводящая р2 в 0. Эта последовательность будет содержать точно p'(pi) запусков V { для pt £ Р' (для удаления фишек из pt') и некоторое число запусков tt для Pi 5 Р'. Заметим, что запуски этих переходов только уда- ляют фишки из Ct, и поскольку 6(р', tj) определено там, где опре- делено б(р, tj) для р' > р (лишние фишки не могут повредить за- пуску переходов), последовательность о после удаления из нее всех запусков tt останется действительной и будет приводить к мар- кировке р" с точно р'(Рг) фишками в р, для р, 6 Р'. Таким обра- зом, если 0 £ Р(С2, р2), то р" g R(Cit рО с р"(рг) = р'(Д/) Для PitP’- □ Наша следующая задача —- показать, что задача достижимости нуля сводится к задаче достижимости нуля в одной позиции. Дока- зательство этого утверждения также основано на вспомогательном построении. Пусть дана сеть Петри Ct = (Pt, Tlt /ь Ot) с началь- ной маркировкой рь мы хотим определить, выполняется ли 0 £ € R(Cit pi). Построим из Ct новую сеть Петри С2 с дополнительной позицией s(P2 = Pt U {s}), такой, что маркировка р' Q R(C2, р2) с p'(s) = 0 существует тогда и только тогда, когда 0 g R(Cit pt). Построение С2 определяет s так, что всякий раз число фишек в s равно сумме числа фишек в позициях Ct. Следовательно, если p'(s) = 0, то в позициях Ct нет фишек, и наоборот. Определим начальную маркировку р2 следующим образом: Иа(Рг) = IhtPi) ДЛЯ PiCPlf p<e₽i Далее для каждого перехода t j QTt в С2 будет тот же переход, но с добавленными дугами к позиции s. Определим di = 2 (# (Pi, О (tj)) - # (а,7 (tj))). р&р1
122 Глава 5 Тогда dj — это разность числа фишек после запуска перехода tj и числа фишек до запуска t}. Теперь, если dj >0, то dj фишек должно быть добавлено в позицию s, поэтому введем dj дуг из tj в s, если dj<Z 0, то удалим —dj фишек из s введением —d j дуг из s в t j. Если dj > 0, то 4±(s, I(tj)) = 0, 4ф($, O(t j)) = dj. Если dj< 0, то /(G)) = —dj, 4£(s, 0(G)) = 0. Если dj = 0, то #(s, I(t})) = 0, #(s, 0(G)) = 0. При таком построении любая последовательность запусков пе- реходов, приводящая Ci к маркировке 0, приведет С2 к маркировке р/ с p'(s) = 0 (а также p'(Pi) = 0), и наоборот. Теорема 5.2. Задача достижимости нуля сводится к задаче дости- жимости нуля в одной позиции. Доказательство. Формальное доказательство, основанное на опи- санной конструкции, оставляем читателю. □ На основе этих двух теорем и очевидных выводов можно заклю- чить следующее: Теорема 5.3. Следующие задачи достижимости эквивалентны: 1. Задача достижимости. 2. Задача достижимости нуля. 3. Задача достижимости подмаркировки. 4. Задача достижимости нуля в одной позиции. Эти теоремы и их доказательства принадлежат главным обра- зом Хэку [116]. 5.3. Сети Петри с ограничениями В первых работах по сетям Петри, а также в некоторых со- временных работах сети Петри определяются в несколько более ог- раниченной форме, чем в определении, данном в гл. 2. В частности, иногда принимаются следующие два ограничения: Ограничение 5.1. Кратность любой позиции равна 0 или 1. Иначе говоря, #(/?;, /(G)) < 1 И #(/?;, 0(G)) < 1 для всех pi € Р и tj € € Т. Это ограничивает входные и выходные комплекты до множеств. Ограничение 5.2. Е1икакая позиция не может быть одновременно входом и выходом одного и того же перехода. l(tj) (\O(tj) = 0. Это часто формулируется как #(рг, /(G)) #(Pi> 0(G)) = 0 для всех pi и G- Сети Петри, удовлетворяющие ограничению 5.1, называются ординарными. Сети Петри, удовлетворяющие ограничению 5.2, называются сетями Петри без петель, или нерефлексивными се- тями. Сети Петри, удовлетворяющие обоим ограничениям, назы-
Сложность и разрешимость 123 ваются простыми сетями Петри^. Эти классы сетей Петри соот- носятся так, как показано на рис. 5.3. Подклассы модели обычных сетей Петри рассматривались по нескольким причинам. Основная причина заключается в том, что введение понятий сетей Петри в начале развития теории было не- формальным. Необходимость в кратных дугах и петлях при моде- лировании тогда отсутствовала. Кроме того, вероятно, казалось, Обычные сети Петри Ординарные сети Петри (дез кратных дуг) Сети Петри без петель Простые сети Петри (без кратных дуг и петель! Рис. 5.3. Взаимосвязи между классами сетей Петри. Дуга означает включе- ние; дуги сводимости будут ориентированы в противоположном направлении. что теория без этих усложнений будет проще. По мере развития тео- рии стало ясно, что работать с более общими определениями не труднее. Использование моделей с этими ограничениями в совре- менных работах объясняется стремлением исследователя к более простому и лаконичному изложению. Однако эти ограничения не добавляют ничего к способности анализировать сети Петри. Рассмотрим для этих классов сетей за- дачу достижимости. Для того чтобы показать эквивалентность всех четырех классов сетей Петри, докажем следующее: Теорема 5.4. Задача достижимости эквивалентна для следующих классов сетей Петри: 1. Обычные сети Петри. 2. Ординарные сети Петри. 3. Сети Петри без петель. 4. Простые сети Петри. Доказательство. Из определений очевидны следующие сведения: 1. Задача достижимости для ординарных сетей Петри сводится к задаче достижимости для обычных сетей Петри. 2. Задача достижимости для сетей Петри без петель сводится к за- даче достижимости для обычных сетей Петри. >) По аналогии с подобным понятием в теории графов. — Прим. ред.
124 Глава 5 3. Задача достижимости для простых сетей Петри сводится и к за- даче достижимости для ординарных сетей Петри, и к задаче дости- жимости для сетей Петри без петель. Покажем, что обычные сети Петри можно преобразовать в про- стые сети Петри таким образом, чтобы свести задачу достижимости для обычных сетей Петри к задаче достижимости для простых сетей Петри. Это покажет, что все четыре задачи достижимости экви- валентны. Для преобразования обычной сети Петри в простую сеть Петри используем следующий подход. Каждая позиция в обычной сети Петри заменяется кольцом позиций в простой сети Петри. На рис. 5.4 показан общий вид кольца позиций. Заметим, что набор фишек, помещенных в кольцо, может свободно двигаться по кольцу к любой позиции в любой момент времени; все они могут сгруппи- роваться в позиции pitl или равномерно распределиться, покрывая все kt позиций кольца. Поэтому переход, для запуска которого необходимы три фишки из позиции р(, может выбрать вместо всех трех из pt по одной из р,л, pii2 и Pt,3. Аналогично переход, ис- пользующий pt в качестве входа и в качестве выхода (петля), может иметь вход в piA, а выход в р^, тем самым устраняя петлю. Формально для обычней сети Петри С\ = (Рь 7\, 7Ь Oj) с мар- кировкой [Ci определим простую сеть Петри С2 = (Р2, ^2» ^2> 02) с маркировкой р2 следующим образом. Сначала для каждой пози- ции Pi^Pi определим целое k{: ki = max (# (pi, I (tj)) + # (pi, t^T Сеть Петри с ограничениями С2 определяется Р2 = {А. h\Pi^Pu ^2 = 7\UVi, h | Pi. h^P^}- Входная и выходная функции деляются так, что для «нормальных» переходов опре- #(Рг.ы Ш))={ 1, если 1 С h # (ft, О, в противном случае; + #(А. 01 (/;)), 1, если # (рг, /1(/7))</г=с # (pt, Л(^)) + #U-,V 02 (/;)) = О, в противном случае; а для «кольцевых» переходов ^г( h) ~ { Pi, h) ’ h. н) = {Pi. n |« = 1 + (Л (mod *i»J-
Сложность и разрешимость 125 Маркировка р2 определяется следующим образом: М₽>, i) = Hi(Pi) Для pi Pv(Pi, h) = ° Для h> 1. Рис. 5.4. Кольцо позиций, используемое в простой сети Петри для представ- ления позиции обычной сети Петри. Число kt позиций, представляющих по- зицию pj, определяется максимумом сумм кратностей позиции. Для любой маркировки р, достижимой в Ct, по построению су- ществует такая маркировка р' в С2, что Sp'(Pi, н) = ^(pi) для всех pt £PV Л в частности, в любой момент времени в С2 можно переместить все фишки из pc,h в pi,\. Следовательно, можно определить маркировку р' следующим образом: l) = Р(Р‘^ ДЛЯ Pi^Pp р' (Pi. h) = 0 ДЛЯ h > 1, и р' становится достижимой в простой сети Петри С2 тогда и толь- ко тогда, когда р достижима в С4. □ Таким образом, с точки зрения анализа обычные сети Петри и три ограниченных класса обычных сетей Петри — ординарные сети Петри, сети Петри без петель и простые сети Петри — эквивалент- ны, всякую сеть можно преобразовать в подобную сеть другого клас- са, сводя задачу достижимости для одной сети к задаче достижи- мости для другой. Использованные в этом разделе конструкции принадлежат Хэку [111].
126 Глава 5 Рис. 5.5. Сводимость задачи достижимости среди классов сетей Петри с различными типами ограничений. 5.4. Активность и достижимость Достижимость — важная задача сетей Петри. Другой задачей, получившей много внимания в публикациях по сетям Петри, явля- ется активность. Как отмечено в разд. 4.1.4, активность связана с тупиками. Мы коснемся здесь двух задач, связанных с активностью сети Петри С = (Р, Т, /, О) с начальной маркировкой р. Сеть Петри активна, если активен всякий ее переход. Переход t} активен в маркировке р, если для всякой маркировки р' £ R(C, р) сущест- вует последовательность о, такая, что tj разрешен в 6(р', о). Пе- реход t j пассивен в маркировке р, если не существует достижимой маркировки, в которой бы он мог быть запущен. Определение 5. 7. Задача активности. Активны ли все переходы tjtT> Определение 5. 8. Задача активности одного перехода. Активен ли данный переход tj QT? Очевидно, что задача активности сводится к задаче активности одного перехода. Для нахождения решения задачи активности мы просто решим задачу активности одного перехода для каждого t j G € Т; если | = т, то мы должны решить т задач активности од- ного перехода.
Сложность и разрешимость 127 Задачу достижимости можно также свести к задаче активности. Поскольку варианты задачи достижимости эквивалентны, мы рас- смотрим задачу достижимости нуля в одной позиции. Если перед нами стоят какие-либо другие задачи достижимости, их можно свес- ти, как показано в разд. 5.2, к задаче достижимости нуля в одной позиции. Теперь, если мы хотим определить, может ли быть позиция pi нулевой в какой-либо достижимой маркировке для сети Петри Ci — (Plt Тъ 7Ь Of) с начальной маркировкой то построим сеть Петри С2 = (Р2, Т^2» 02) с начальной маркировкой р2, кото- рая будет активна тогда и только тогда, когда нулевая маркировка не будет достижима из р,. Сеть Петри С2 строится из Ct введением двух позиций rt и г2 и трех переходов sit s2 и s3. Сначала модифицируем все переходы Т1г включая /-j в качестве входа и выхода. Начальная маркировка р2 будет включать фишку в Позиция /-t — это позиция «действия», пока фишка остается в rt, переходы Ti могут запускаться. Следова- тельно, любая маркировка, достижимая в С1? достижима также и в позициях Рг в С2. Определим переход так, что его входом будет гь а выход пуст. Это позволяет удалить фишку из rt, запрещая запуск всех переходов в и «замораживая» маркировку Рр (За- метим, что все переходы Tt находятся в конфликте и не только по определению, но и по построению могут запускаться каждый раз не более чем по одному.) Позиция /-! и переход позволяют сети Ct достичь любой дости- жимой маркировки, затем запуском st заморозить сеть в этой мар- кировке. Далее необходимо проверить, является ли позиция рг- нулевой. Введем новые позицию г2 и переход s2, имеющий в качестве входа pt, а в качестве выхода г2. Если pt может когда-либо стать нулевой, то этот переход не является активным. В действительнос- ти вся сеть будет пассивной, если в этой маркировке сработает пе- реход s,. Следовательно, если pt может быть пустой, сеть не явля- ется активной. Если pt не может быть пустой, тогда s2 всегда мо- жет быть запущен, помещая фишку в г2. В этом случае мы должны будем вернуть фишку в rf и гарантировать, что все переходы в С2 активны. Необходима уверенность в том, что С2 активна, даже если Ci не является активной. Это обеспечивается переходом s3, кото- рый «наполняет» сеть С2 фишками, гарантируя тем самым, что, если фишка помещена в г2, каждый переход активен. Переход s3 в ка- честве входа имеет г2, а в качестве выхода все позиции С2 (все pi в Сь г1 и г2). Эта конструкция иллюстрируется рис. 5.6. Далее, если маркировка р, с ц(р,) = 0 достижима в /?(СЬ щ), тогда С2 также может достичь этой маркировки в позициях Pi пу- тем выполнения той же самой последовательности запусков пере- ходов. Затем можно запустить st, замораживая подмножество Ct. Поскольку n(pt) = 0, s2 запустить нельзя и С2 пассивна. Таким образом, если pi может стать нулевой — С2 неактивна. Справедливо обратное, если С2 неактивна, тогда должна быть
128 Глава 5 Рис. 5.6. Конструкция, переводящая задачу достижимости нуля в одной по- зиции (достижима ли маркировка с p.(Pi) = О?) в задачу активности (являет- ся ли сеть активной?). достижима маркировка р с р(г2) = 0, из которой недостижимо состояние с фишкой в г2. (Если в г2 есть фишка, то s3 разрешен, а повторно запуская s3 достаточное число раз, можно разрешить лю- бой (или все) переход, т. е. сеть активна.) Если г2 не имеет фишек и не может их получить, тогда маркировка р, также должна быть нулевой. Таким образом, если С2 неактивна, тогда достижима мар- кировка, в которой маркировка pi нулевая. На основе этой конструкции мы доказали следующую теорему. Теорема 5.5. Задача достижимости сводится к задаче активности. Для доказательства основного утверждения раздела покажем следующее. Теорема 5.6. Задача активности одного перехода сводится к задаче достижимости.
Сложность и разрешимость 129 Доказательство того, что задача активности одного перехода сводима к задаче достижимости, опирается на проверку достижи- мости любой из конечного множества максимальных пассивных для t j подмаркировок. Сеть Петри не активна для перехода tj тогда и только тогда, когда достижима некоторая маркировка, в которой переход t} не запускаем и не может стать запускаемым. Марки- ровка такого вида называется пассивной для tj. Для любой марки- ровки р можно проверить, является ли она пассивной для t j по- строением дерева достижимости с корнем р и проверкой, можно ли Рис. 5.7. Сеть Петри, иллю- стрирующая пассивные мар- кировки ДЛЯ tj. где-либо в дереве запустить переход t}. Если нельзя, то р массивна для tj. Проверка активности tj в таком случае требует проверки достижимости какой-либо пассивной для tj маркировки. В общем случае, однако, может существовать бесконечное число пассивных для tj маркировок и бесконечное множество маркиро- вок, в котором находятся пассивные для t} маркировки. Заметив два свойства, сведем множество маркировок, которые необходимо проверить для достижимости, к конечному числу. Во-первых, если маркировка р пассивна для tj, то и любая маркировка р' р пас- сивна для tj. (Любая последовательность запусков, возможная из р.', возможна также из р, поэтому если р' может привести к запуску t j, то это может и р.) Во-вторых, маркировки некоторых позиций не будут влиять на пассивность для t} данной маркировки, поэтому маркировки этих позиций являются «несущественными», они могут быть произвольными. Заимствуя прием из построения дерева дости- жимости, заменим «несущественные» компоненты на <о, показывая, что в этих позициях может быть произвольно большое число фишек, не влияющих на пассивность маркировки для t}. Теперь, поскольку любая р' < р пассивна для tj, если р пассивна для t j, нам не нужно рассматривать позиции р{ с р(рг) = со. Это означает, что мы приме- няем задачу достижимости подмаркировки с Р' = {pt |р(рг) =/= со}. Рассмотрим в качестве примера сеть Петри на рис. 5.7. Марки- ровки (2, 0), (1, 0), (0, 0), (0, 1), (0, 2), (0, 3),... являются пассивными для Ь, но их можно представить конечным образом множеством {(2, б), (1, 0), (0, о)}. Хэк [113, 116] показал, что для сети Петри С существует такое конечное множество Dt маркировок (расширенных, т. е. включаю- 5—562
130 Глава 5 щих <о), что С активна тогда и только тогда, когда никакая марки- ровка из Dt недостижима. Если маркировка из Dt содержит со, тогда подразумевается достижимость подмаркировки. Более того, Dt можно эффективно вычислять. Поскольку Dt конечно, не-ы-компоненты имеют верхнюю границу Ь. Граница b определяется как такое наименьшее число, что если пассивна для tj любая маркировка р, такая, что р(рг) < b + 1 для всех pit то является пассивной для tj и подмаркировка р', такая, что И'(Pi) = p(Pi)> если p(Pi) < Ь, и р'(рг) = со, если р(рг) = b + 1. При таком определении b можно построить Dt следующим образом. 1. Вычислить Ь. Начать с b — 0, увеличивать b до тех пор, пока не окажется, что b удовлетворяет описанному определению границы. Проверка каждого b требует проверки всех (Ь 4- 2)" маркировок с компонентами, меньшими или равными Ь + 1. 2. Вычислить Dt проверкой всех маркировок и подмаркировок с компонентами, не превышающими Ъ или равными со. Dt — это множество пассивных для tj маркировок из множества (Ь + 2)" маркировок. Построив Dt, можно рассматривать задачу достижимости под- маркировки для каждого элемента Dt. Если какой-либо элемент Dt достижим из начальной маркировки, сеть Петри неактивна, если же никакой элемент Dt недостижим—-сеть Петри активна. Из доказанных теорем мы получаем следующую. Теорема 5.7. Следующие задачи эквивалентны: 1. Задача достижимости. 2. Задача активности. 3. Задача активности одного перехода. Более формальные доказательства сводимости активности к до- стижимости можно найти в [ИЗ, 116]. 5.5. Неразрешимые задачи В предыдущем разделе мы показали, что многие задачи дости- жимости и активности эквивалентны, но никакого результата от- носительно разрешимости этих задач еще не получили. Для того чтобы показать разрешимость, необходимо свести задачу для сетей Петри к задаче с известным решением, а для того, чтобы показать неразрешимость, нужно свести задачу, которая известна как не- разрешимая, к задаче для сетей Петри. Первый важный результат такого рода был получен Рабином [26]. Он показал неразрешимость задачи: выполняется ли R(Clt Pi)^P(C2, р2) Для двух сетей Петри — Ci с маркировкой pi и С2 с маркировкой р2? Позднее Хэк [114] по- казал, что неразрешимой является и задача: выполняется ли Д(Сь pi) = R(C2, р2)? Доказательство этих утверждений основано на десятой проблеме Гильберта. (Д. Гильберт на конференции математиков в 1900 г. поставил 23 проблемы, и та, на которую опирался Хэк, была десятой в списке)
Сложность и разрешимость 131 Определение 5.9. Дан полином Р от п переменных с целыми коэф- фициентами; существует ли такой вектор целых (хь х2, хп), что Р(хь х2, хп) — 0? Уравнение Р(хь х2, ..., хп) = 0 называется диофантовым. В общем оно представляет собой сумму членов: Р (хх, х2,..., хп) = 5 Pi (хх, xs,..., хп), Ri U1. х2,..., хп) = di xSi • xSt Десятая проблема Гильберта Задача Включения графов полиномов Задача подмножества для множеств достижимости сетей Петри Задача равенства множеств достижимости сетей Петри Рис. 5.8. Сведения, показывающие, что задача равенства (и подмножества) дляжмножеств достижимости сетей Петри неразрешима. Диофантовыми уравнениями являются xt = 0; Зх, • х2 + 6х3 = = 0 и т. д. В 1970 г. Матиясевич1* доказал, что десятая проблема Гиль- берта неразрешима [70, 71]: не существует общего алгоритма, опре- деляющего, имеет ли произвольное диофантово уравнение корень (набор значений, для которых полином равен нулю). Этот резуль- тат служит основой доказательства того, что задача равенства множеств достижимости сетей Петри неразрешима. Стратегия его заключается в построении для диофантова полинома сети Петри, которая (в определенном смысле) вычисляет все значения поли- нома. 5.5.1. Задача включения графов полиномов Доказательство неразрешимости задачи равенства состоит из трех частей (рис. 5.8). Сначала десятая проблема Гильберта сво- дится к задаче включения графов полиномов. Затем задача включения *) Советский математик. — Прим, персе.
132 Глава 5 графов полиномов сводится к задаче подмножества для множеств достижимости сетей Петри. Наконец, задача подмножества для множеств достижимости сетей Петри сводится к задаче равенства множеств достижимости сетей Петри. Это показывает, что десятая проблема Гильберта, известная как неразрешимая, сводится к за- даче равенства, которая поэтому также должна быть неразреши- мой. Определение 5.10. Граф G(P) диофантова полинома P(xlt ..., хп) с неотрицательными коэффициентами — это множество G(P) = {(xv хп, i/)| у < P(xlt ..., хп1 и 0 xv ..., хп, у}. Определение 5.11. Задача включения графов полиномов заключается в определении для двух диофантовых полиномов А и В, выполня- ется ли G(A) с G(B). Покажем сначала, что десятая проблема Гильберта сводится к задаче включения графов полиномов. Теорема 5.8. Задача включения графов полиномов неразрешима. Доказательство- 1. Ограничим наше доказательство задачами с неотрицательными решениями. Если (хь ..., хТ1)— решение для Р(х1г ..., хп) = — 0 с Xi< 0, то (хь ..., —xt, ..., хп) решение для P(xi, —х,,..., хп) = 0. Следовательно, для определения того, является ли (хх, ..., хп) решением произвольного полинома1’, необходимо толь- ко проверить каждый из 2" полиномов, получающихся в резуль- тате изменения знака у некоторого подмножества переменных для неотрицательного решения. 2. Аналогично, поскольку P2(Xi, ..., хп) = 0 тогда и только тогда, когда P(xlf ..., хп) — 0, необходимо рассматривать только поли- номы, значения которых неотрицательны. 3. Сейчас можно разбить любой полином Р{х1г х2, ..., хп) на два полинома, Qi(xb ..., хп) и Q2(x,, ..., хп), такие, что P(xi, ..., хп) = == Qi(xt, ..., xn) — Q2(xt, хп), помещая все члены с положи- тельными коэффициентами в (Д_, а все члены с отрицательными ко- эффициентами в Q2. Далее, поскольку Р(х1, ..., хп) > 0 (по п. 2), имеем, что Qifo, ..., xn) > Q2(*i, •••, хп) и P(xlt ..., хп) = 0 тогда и только тогда, когда Q^Xj, ..., xn) = Q2(xt, ..., хп). 4. Рассмотрим два графа полиномов: G (<3i) = {(х1(..., хп, у) |у < Qx(хх,..., xn)}, G (Q2 + 1) = {(*i. -» xn, y) ly < 1 + Q2 (xx, ..., x„)}. 1) To есть допускающего решения с отрицательными значениями пере- менных. — Прим, перев.
Сложность и разрешимость 133 Теперь G(Q2 + l)^G(Gi) тогда и только тогда, когда для всех неотрицательных хп и у из 1 + Gz(^i> • хп) следует, что у Qi(Xi, ..., хп). Это справедливо тогда и только тогда, когда не существует х4, ..., хп и у, таких, что хп) <2 у 1 + Qa(xi’•••» хп)- Но из п. 3 следует, что Q2, поэтому Qi(xp..., хп) су < 1 + <22(xv •••, хп)С 1 + Qi (хР - , хп), а поскольку все величины целые, У ~ 1 4" <2‘/ (хР... I хп) = 1 4- Qi (х1г..., хп), | что справедливо тогда и только тогда,когда Qi = Q2. Таким обра- зом, мы убедились в том, что G(Q2 + l)s G(Q±) тогда и только тог- да, когда не существует таких хь ..., хп,для которых Р(х1г ...,хп) = = 0. 5. Итак, для определения того, что уравнение P(xlt х2, ..., хп) = = 0 имеет решение, необходимо показать только, что не выполня- ется G(Q2 + 1)^ GtQt). Li 5.5.2. Слабое вычисление Теперь нам необходимо показать, что сети Петри могут (в опре- деленном смысле) вычислять значение полинома <2(%1, х2, хп). Мы осмотрительно ограничили полином Q до неотрицательных значений полинома, неотрицательных коэффициентов и неотрица- тельных значений переменных. Это позволяет нам представить зна- чения переменных и значение полинома числом фишек в позициях сети Петри. Общая схема показана на рис. 5.9. Входные значения хь .... xnfпредставляются хг фишками в pt для i = 1, ..., п. Перво- начально фишка помещается также.в позицию «действия». Выпол- нение сети будет закончено помещением фишки в позицию остано- ва. В это время «выходная» позиция будет иметь у фишек, где у =С Q(xt, ..., хп). Эта сеть Петри слабо вычисляет значение Q(xt, ...., хп). Слабое вычисление означает, что вычисленное значение не будет превы- шать <2(хь ..., хп), но может быть любым (неотрицательным) значе- нием, меньшим <2(хь ••> хп). Слабое вычисление обязательно для сетей Петри вследствие разрешающей природы запусков переходов: сеть Петри нельзя заставить остановиться. При определении графа полинома G(Q) это особенно учитывалось. Сейчас мы хотим показать, что можно построить подсеть, слабо вычисляющую функцию умножения (двух чисел). На ее основе мы можем построить составную сеть, которая слабо вычисляет значе- ние каждого члена полинома путем последовательной композиции подсетей умножения. Выход подсети для каждого члена будет
134 Глава 5 помещаться в выходную позицию для полинома. Таким образом, число фишек в выходной позиции будет суммой выходов для каж- дого члена. Подсеть умножения показана на рис. 5.10. Эта сеть слабо вы- числяет произведение чисел х и у, представимых фишками в ее входных позициях, помещая множество фишек в свой выход. Дей- ствует сеть совсем просто. Для вычисления произведения х и у Действие Останов Рис. 5.9. Базовая структура сети Петри, слабо вычисляющей значение поли- нома Q(%1, хп). сначала запускается переход перемещая одну фишку из рх в р2. Эта фишка разрешает запуск перехода t3, который может теперь копировать у фишек из позиции ру, помещая их в р3 и вкладывая в выходную позицию р* у у фишек. Теперь можно запустить t2, воз- вращая фишку из р2 в Pi. Это разрешает запуск /4, который копи- рует у фишек из р3 обратно в ру. Весь этот процесс можно повторить точно х раз, помещая каждый раз в рх у у фишек. После этого мар- кировка рх становится нулевой и сеть останавливается. Общее чис- ло фишек в позиции рх у равно произведению х и у. Мы описали наилучший случай в том смысле, что число выходных фишек в точности равно х • у. Однако фишка в р2 разрешает и пере- ход ts, и переход t2, а переход t2 можно запустить до того, как все у фишек будут скопированы из ру в р3 и добавлены в рх у. В этом случае число фишек, помещенных в рх у, будет меньше, чем х у. Поскольку t3 можно запустить не более у раз для каждого запуска ti, a ti можно запустить не более х раз, мы можем гарантировать, что число фишек в рх у никогда не превысит х • у, но вследствие разрешающей природы запусков переходов мы не можем гарант и-
Сложность и разрешимость 135 Выход Рис. 5.10. Подсеть умножителя. Эта подсеть слабо вычисляет произведение х и у. ровать, что число фишек в рх у будет в точности равно х • у ; оно может быть меньше. Следовательно, эта сеть Петри слабо вычисляет произведение х и у. Теперь для того, чтобы слабо вычислить член Ri, являющийся произведением а, • xS1 • xS2 • ... • xS/i, построим сеть Петри показанного на рис. 5.11 вида. Поскольку каждая под- сеть слабо вычисляет произведение двух членов, вся подсеть слабо вычисляет значение члена Rt. Далее на рис. 5.12 показано, как можно слабо вычислять поли- ном Р = Rl 4- Rz + ... 4- Rh. Каждая подсеть имеет вид, изо- браженный на рис. 5.11, и слабо вычисляет значение одного члена полинома. Выходы k подсетей для отдельных членов объединяются вместе, давая общее значение суммы. Теперь для создания конкретных необходимых множеств дости- жимости вводится несколько управляющих переходов и позиций. Сначала необходимо обеспечить получение произвольного значения для каждой из переменных (х1( ..., хп) и запись этого значения в
136 Глава 5 Pitc. 5.11. Сеть Петри, слабо вычисляющая член диофантова уравнения. Каждый блок в сети имеет вид, изображенный на рис. 5.10. позиции .... рп. Для каждой р, создается переход tt с пустым входом и выходами в pt и всякую позицию, являющуюся входом, соответствующим хг в члене Rj, использующем х,. Следовательно, в полиноме Xi + хрс2 мы должны иметь переход с выходами в и во входы Xi в двух членах- xt и хрс2, использующих xt; tz будет иметь выходы в р2 и во вход х2 в члене х{х2- Эти переходы могут запускаться произвольное число раз, соз- давая любые значения в plt ..., рп. Следовательно, для всякого у С < P(Xi, ..., хп) достижима маркировка р с р(рО = xt, ..., p(pn) = = хп и р(выход) = у. Значение у = Pfa, ..., хп) может быть дос- тигнуто сначала запуском xt раз перехода помещая фишек в р^ затем запуском х2 раз перехода tz и т. д., пока не будет запу- щен хп раз переход tn. Далее можно выполнить подсеть для каждого члена Rt полинома, в результате чего значение полинома поместится в выходную позицию.
Сложность и разрешимость 137 Рис. 5.12. Сеть Петри, слабо вычисляющая P(xi, х2, ..., хп путей использо- вания набора подсетей вида, изображенного на рис. 5.11. Для сведения задачи включения графов полиномов к задаче подмножества выполним следующие шаги. Пусть мы хотим опре- делить для полиномов А и В, выполняется ли б(Д)^ G(B). 1. Построим сеть Петли СА, слабо вычисляющую Д(хъ . хп), и сеть Петри Св, слабо вычисляющую В(хЛ, . хп). 2. Если число позиций в этих сетях не равно, добавим позиции в ту сеть, где их меньше с тем, чтобы уравнять число позиций. Эти позиции не имеют начальной маркировки и не связаны с какими- либо переходами в сети. 3. Теперь мы должны устранить влияние всех внутренних позиций на множества достижимости И в СА, и в Св различимо множество из п 4- 1 позиций — п позиций, соответствующих значениям xt, ..., хп, и (п 4- 1)-я позиция, соответствующая выходу каждой сети Все другие позиции являются внутренними, маркировка их
138 Глава 5 неважна. Однако может оказаться, что для внутренней позиции pt в СА и соответствующей позиции р(- в Св существуют неравные маркировки р в R(CA, рА) и р' в R(CB, рв), поскольку р(рг) =4= Ik'(Pi') для всех р" в R(CB, рв). Для того чтобы обойти это препятствие, введем по две новые по- зиции: q и г в СА (получая Са) и qr и г' в Св (получая Св). В СА позиции q и г не связаны с переходами и первоначально г пуста, a q имеет одну фишку. Позиция г' в Св служит позицией «действия». Она получает начальную маркировку0, а каждый переход модифи- цируется с тем, чтобы включать г' в качестве входа и в качестве выхода. Следовательно, пока фишка остается в г', сеть Св может функционировать, как и прежде. Введем в Св новый переход, переводящий разрешающую фишку из г' в q', запрещая все перехо- ды С в и «замораживая» маркировку. Теперь для каждой внутрен- ней позиции2) введем по два новых перехода. Один из этих переходов, вводимых для каждой внутренней по- зиции pt, маркировка которой неважна, имеет в качестве входов позиции q' и pt, а в качестве выхода — только q' (уменьшая при запуске на 1 маркировку в pi), другой переход в качестве входа име- ет q', а в качестве выхода и q', и pt (увеличивая при запуске на 1 маркировку в р^. Эти переходы благодаря соответствующей после- довательности прибавляющих или убавляющих запусков обеспе- чивают каждой внутренней позиции возможность иметь произ- вольную маркировку. 4. Описанная конструкция показана на рис. 5.13. Для двух сетей Петри С а и С в с начальной маркировкой рд и рв соответственно, 6(Л)е= G(B) тогда и только тогда, когда R(CA, рд)^ R(Cb, рв). Са и Св имеют следующие множества достижимости: сА-. Pi • -Рп Выход г g Внутренние позиции X] . -*п • • -хп) 0 1 Некоторая произволь- ная маркировка С'в Pi -Рп Выход г' g' Внутренние позиции Х1 • -Хп y<£B(xlt • - • >хп) 1 0 Некоторая произволь- ная маркировка Х1 --^п у<В(х1, • - • >яп) 0 1 Произвольная марки - ровка О Одну фишку. — Прим, перев. 2) f и д' не считаются внутренними. — Прим, перев.
Сложность и разрешимость 139 Рис. 5.13. Сеть Петри, построенная для проверки включения графов полино- мов. Следовательно, если О(Л)е G(B), то R(CA, рА)^ R(CB, рв) и, обратно, если R(CA, рА)^ R(Cb, pi), то G(A)s G(B). Таким образом, мы показали справедливость следующего. Теорема 5.9. Задача включения графов полиномов сводима к за- даче подмножества для множеств достижимости сетей Петри. До- казательство взято из [114, 1161. 5.5.3. Задача равенства Теперь нам осталось только показать, что задача подмножества для множеств достижимости сетей Петри сводится к задаче равен- ства. Предположим, чю имеются две сети Петри Л и В, и мы хотим определить, выполняется ли R(A, pA)s R(B, рв) (задача подмно- жества). Покажем сейчас, что можно определить такие две сети Петри D и Е, что R(A, Ра) — R(B, рв) тогда и только тогда, когда ₽(£>, ро) — R(E, ре). Основой построения доказательства слу- жит тот факт, что R(A, рА) <= R(B, рв) тогда и только тогда, когда R(B, V’b) = R(A, рА) VR(B, рБ). D и Е строятся из общей подсети С. Сеть С представляет мно- жества достижимости Л и В для получения их объединения. Кон-
140 Глава 5 Рис. 5.14. Построение сетей Петри С, D и Е из А и В, используемое'для до- казательства сводимости задачи подмножества для множеств достижимости к задаче равенства. струкция иллюстрируется рис. 5.14. Позиции ..., рп действуют или как позиции сети А, или как позиции сети В. Первоначально они не имеют маскировки. Вводятся две новые позиции гА и гв, слу- жащие позициями действия для сети А и сети В соответственно. Все переходы сети А модифицируются с тем, чтобы включать в ка- честве входа и выхода гА, а все переходы сети В модифицируются с тем, чтобы включать в качестве входа и выхода гв. Далее вводятся еще одна позиция s, и два новых перехода, tA и tB. Начальная маркировка всей сети (включая А и В как подсети с общими позициями; позиции гА, гв и s; переходы tA и tB) опре- деляется одной фишкой в s и нулем в остальных. Переход tA имеет в качестве входа s, а выход его порождает начальную маркировку сети А плюс фишку в гА; переход7В в качестве входа также имеет s, а выход его создает начальную маркировку сети В плюс фишку в гв. Следовательно, если запустится tA, то подсеть А приобретает
Сложность и разрешимость 141 ЭТО Qb- что да свою начальную маркировку, и все ее переходы могут запускаться, I как обычно, поскольку в гА имеется фишка. Подсеть В, однако, к полностью запрещена, поскольку фишки в гв нет. Если первым за- пустится то сможет действовать подсеть В, а подсеть А будет за- | прещена. Тогда множество последовательностей для С — £ любая последовательность вида It tA, {любая последовательность запусков в А} | или любая последовательность вида I tB, {любая последовательность запусков в В}. | Сеть D получается из С введением одного нового перехода | Он имеет в качестве входа позицию гв, выход его пуст. Заметим, j" qB может запуститься, только если первым был запущен переход й tB, если же первым запустится переход tA, то гв будет пустой и qB й не сможет запуститься. Ж Сеть Е строится из D добавлением нового перехода qA. Он в ка- j честве входа имеет позицию гА, выхода не имеет. Переход может В' запуститься, только если первым был запущен tA. Подчеркнем, что ® сеть Е строится из D, а не (непосредственно) из С. Поэтому Е имеет № и переход qA, и переход qB. i Рассмотрим теперь множества достижимости сетей Петри С, D Ж и Е. Множество достижимости С — это все маркировки вида: S ГА гв Р1. • Рп 1 0 0 0, . . ., 0 0 1 0 Любая маркировка р £ R(A , р л) (если запустится tA) 0 0 1 Любая маркировка рС/?(В,рв) (если запустится tB) а, Сеть Петри D добавляет к этому множеству один новый класс мар - кировок: S ГА гв Р1. • • Рп 1 0 0 0, .... 0 0 1 0 Любая маркировка рС/?(Л, Iх л) (если запустится t А) 0 0 1 Любая маркировка р£7?(.В,рв) (если запустится tB) 0 0 0 Любая маркировка рС^(^'1хв) (если запустится q
142 Глава 5 Сеть Петри Е добавляет еще один класс- S ГА гв Р1 • • • •» Рп 1 0 0 0, .... 0 0 1 0 Любая маркировка (если запустится t 0 0 1 Любая маркировка р < R(B, р в) (если запустится 0 0 0 Любая маркировка (если запустится qBj 0 0 0 Любая маркировка р Е/ДЛ.р^) (если запустится qAj Теперь, если 7?(Л, рА) е R(B, рв), то последний класс в R(E, р£) (маркировки вида (0, 0, 0, р), где р £ 2?(Л, рА)) включен в послед- ний класс R(D, рд) (маркировки вида (0, 0, 0, р), где р б R(B, рв)). Поскольку все другие маркировки совпадают, то R(D, iiD) = = R(E, ра), если R(A, pA)e R(B, рв). Аналогично, если R(D, Цо) = R(E, Pa)> to R(A, uA)s R(B, рв), так как для всякой маркировки (0, О, 0, р), где р е R(A, рА), в R(E, р£) должна су- ществовать такая же маркировка в R(D, рд). Но все маркировки с р(«, гА, гв) = (0, 0, 0) имеют вид (0, 0, 0, р), где р € R(B, рв), поэтому R(A, pA)s R(B, рв). Таким образом, на основе этой конструкции доказано следую- щее. Теорема 5.10. Задача подмножества для множеств достижимости сетей Петри сводима к задаче равенства для множеств достижимости сетей Петри. Последние три теоремы приводят к следующему результату. Теорема 5.11. Следующие задачи неразрешимы: 1. Задача включения графов полиномов. 2. Задача подмножества для множеств достижимости сетей Петри. 3. Задача равенства для множеств достижимости сетей Петри. Эти теоремы и их доказательства принадлежат Хэку [114, 116]. 5.6. Сложность задачи достижимости Поскольку задачи подмножества и равенства для множеств до- стижимости сетей Петри неразрешимы, то возможно, что неразре- шима также и сама задача достижимости. Однако в настоящее
Сложность и разрешимость 143 время вопрос, разрешима ли (или неразрешима) задача достижимос- ти, открыт На сегодняшний день не существует ни алгоритма, решающего задачу достижимости, ни доказательства того, что та- кого алгоритма не может быть. В 1977 г на Симпозиуме АСМ1* по теории вычислений было представлено «доказательство» разрешимости задачи достижимос- ти [264]. Однако это «доказательство» имело несколько серьезных огрехов, а попытки устранить их, чтобы получить корректное до- казательство, не дали положительных результатов. И все же пре- валирует ощущение, что задача достижимости разрешима, что алго- ритм ее решения существует, и со временем он будет найден. Если предположить, что алгоритм решения задачи достижимос- ти существует, то можно утверждать, что он очень сложный. Умес- тен вопрос какова сложность алгоритма решения задачи достижи- мости? Некоторые оценки его сложности можно получить, не ссы- лаясь на конкретный алгоритм Липтон [l"6l показал, что любой алгоритм, решающий задачу достижимости, потребует по крайней мере экспоненциаль- ного (2сп) объема памяти и экспоненциального времени решения. Экспонента от п — это мера размерности задачи, и случай Литона отражает число позиций и их взаимосвязи с переходами. Необходимость в экспоненциальном объеме Липтон доказал, показав, что можно построить сеть Петри, в которой позиция дей- ствует как счетчик чисел 0, 1, ., 22'г. При таком представлении алгоритм решения задачи достижимости потребует Iog2(22”) — 2" бит При этом в его конструкции используется не более h • п по- зиции (для некоторой константы /г). Доказательство Липтона основано на возможности построения сети, пересчитывающей до 22” фишек только в h • п позициях. Для проверки позиции на нуль2* необходимо наложить на сеть некото- рые ограничения Можно предложить, разумеется, сети Петри, дтя которых непосредственная проверка нуля невозможна. Тем не ме- нее для осуществления возможности проверки нуля используется общий метод, заключающийся в использовании таких двух пози- ций р и р', что р(р) + ц(р') является константой. Если мы знаем, что р(р) + ц(о') = k, тогда можно проверить, является ли и(р) нулем, проверяя, имеет ли ц(р') k фишек; если и(р') имеетk фишек, то р(р) имеет нуль фишек, и наоборот. То, что маркировка позиции не нулевая, можно проверить с помощью петли. Заметим,что для поддержания способности проверки позиции на нуль необходимо поддерживать свойство постоянности ц(р) 4- p(p'), т. е сеть долж- на быть сохраняющей по крайней мере по отношению к этим двум позициям. О Ассоциация по вычислительной технике (США). — Прим. ред. 2) Здесь речь пошла о задаче достижимости нуля в одной позиции, к ко- торой, согласно теореме 5-2, сводится задача достижимости. — Прим, перее
144 Глава 5 Для небольших чисел k можно проверить, равна ли маркировка позиции числу k, делая позицию входом перехода k раз (рис. 5.15). Однако эти дуги увеличивают размерность задачи, поэтому в общем случае так поступать нельзя. Липтон показал, что если постоянная сумма двух позиций (pk, pk) равна k и k является произведением двух целых сомножителей k = • k2, которые являются постоян- ными суммами двух других пар позиций (рл„ р^ и ркг, р^), и мы можем проверить, выполняется ли ц(р/г1) — 0 и р(/д.2) = О, то можно проверить, выполняется ли р (рк) = 0. Это позволило Липтону строить подсети так, как показано на рис. 5.16. Такие сети затем использовались для контроля сетей умножения, по- добных сетям, используемым для слабого вычисления графов полиномов (см. рис. 5.10). Проверка на нуль подсети позволяет сети Петри вычислять точное произведение (а не слабое произве- дение, которое только ограничено сверху действительным произ- ведением). Эти простые сети позволили Липтону построить сеть, которая для данного п может порождать точно 22” фишек в позиции (р) с нулем фишек в р' и в которой можно проверить р(р) на равенство нулю. Число используемых позиций равно произведению констан- ты на п. Существование сети Петри, подобной этой, показывает, что задача достижимости требует по крайней мере экспоненциаль- ных времени и памяти, и, следовательно, затраты на вычисление ее решения слишком велики. Рис. 5.15. Проверка маркировки ограниченной позиции на совпадение с 0, 1 или 2. Все переходы должны поддерживать сумму маркировки.
Сложность и разрешимость 145 Конструкция сети Петри, которая может пересчитывать числа до 22"> имеет еще и важное следствие. Построенная таким образом сеть Петри ограниченна, поскольку число фишек в любой позиции не может превысить 22”- Это означает, что любой алгоритм опреде- ления ограниченности сети Петри также должен требовать экспо- ненциальных времени и памяти. Следовательно, даже простые за- дачи для сетей Петри, хотя и являются разрешимыми, могут тре- бовать для поиска решения больших затрат времени и памяти. Рис. 5.16. Вид сетей Петри, используемых Липтоном для построения больших сетей, до- пускающих проверку больше- го счетчика на нуль. Необходимо напомнить, что описанные границы являются ниж- ними для наихудшего случая поведения алгоритма. Но может ока- заться, что многие интересные задачи решаются для большинства сетей Петри сравнительно эффективно. Оценка сложности показы- вает, что, даже если для большинства сетей алгоритм требует малых затрат памяти и времени, существует сеть Петри, которая для ана- лиза потребует гораздо больше времени и объема памяти. Хотя оценки сложности получены для наихудшего случая (это означает, что в среднем они намного лучше), они являются, кроме того, нижней границей. Мы знаем, что задача достижимости требует экспоненциального объема памяти, не менее. Возможно, что слож- ность определения достижимости даже не экспоненциальная. Ра- кофф [253] предложил алгоритм определения ограниченности за экспоненциальное время, поэтому задача ограниченности известна теперь как имеющая экспоненциальную сложность. Задача дости- жимости известна как по крайней мере экспоненциально сложная (и, возможно, даже неразрешимая). Последний результат Мэйра [183] показал, что задачи подмно- жества и равенства для множеств достижимости ограниченных сетей Петри имеют сложность непримитивной рекурсии. Это означает, что некоторые задачи для сетей Петри, несмотря на разрешимость, требуют на вычисление значительных затрат.
146 Глава 5 Упражнения 1. Покажите, что задача достижимости для ординарных сетей Петри эквива- лентна задаче достижимости нуля в одной позиции для сетей Петри без петель 2. Пусть для сети Петри Ci — (Pi, Ti, Ii, Oi) определена новая сеть Петри Сг — (Рг, Тг, 1г, Ог) с ~ ^i U { Pj | tj € Tj) , Тг=Т1, 1г= Л. Ог (tj) = Oj (tj) U { Pj} . Такое определение вводит по одной дополнительной позиции в качестве выхода каждого перехода. а) Каков смысл числа фишек в каждой из этих позиций? Какова граница на маркировку этих позиций для активной сети Пегри? б) Допустим, мы ввели в сеть один дополнительный переход, имеющий в качестве входа каждую позицию р- и не имеющий выхода. Покажите, что сеть активна тогда и только тогда, когда активен этот новый переход. 5.7. Замечания к литературе Теория вычислимости — начало теории вычислений — была развита из работ Тьюринга, Клини, Гёделя и Чёрча. Девис [69] и Минский [200] предлагают хорошие введения в нее. Карп [146] показал, как сводимость можно использовать для получения ре- зультатов по разрешимости и сложности. Задача достижимости впервые поставлена в [148], как исследо- вательский вопрос она ставилась в [213]. Предварительные резуль- таты сообщены в [299, 129], но они не обобщены. Большинство результатов, изложенных в этой главе, взяты из работ Хэка [111, 113, 114, 116]. Хэк — один из основных иссле- дователей по задачам разрешимости в сетях Петри. В числе других работ по свойствам разрешимости [13, 183]. Результаты по слож- ности получены Липтоном [176], Ракоффом [233] и Джоунсом и др. [144]. Некоторые работы [47, 48] косвенно связаны с сетями Петри. 5.8. Темы для дальнейшего изучения 1. Сеть Петри называется обратимой, если для каждого перехода t j £Т найдется переход £ Т', такой, что #(plf О о» (р., О(^)) = #(pt> Це- нными словами, для каждого перехода существует другой переход с обратными входами и выходами. Это позволяет «уничтожать выполненное» последовательностью переходов путем запуска в об-
Сложность и разрешимость 147 ратном порядке их дополнительных переходов. Установлено [1291, что для обратимых сетей Петри задачи достижимости и покрывае- мое™ разрешимы. Этот результат основан на работах по коммута- тивным полугруппам [471. Установите на основе взаимосвязи меж- ду обратимыми сетями Петри и коммутативными полугруппами разрешимость достижимости и эквивалентности для обратимых се- тей Петри. Для развития теории обратимых сетей Петри рассмот- рите также задачу активности, вопросы сложности и языки обра- тимых сетей Петри. 2. Представляется весьма полезной связь сетей Петри с арифмети- кой Пресбюргера. Арифметика Пресбюргера — это арифметическая теория, использующая сложение и вычитание целых чисел. Пока- зано, что можно установить истинность или ложность всех выска- зываний, образованных из кванторов первого порядка, равенства, операций сложения и вычитания и целых чисел. Первоначальное доказательство было представлено в [2521 и использовалось в ка- честве основы для автоматического доказательства теорем [68, i 55]. Связь арифметики Пресбюргера с полулинейными множест- t вами упоминалась в [99, 101], а взаимосвязь полулинейных мно- ’ жеств с достижимостью — в [299, 61, 161, 129, 1371. Предположи- ' тельно арифметику Пресбюргера можно использовать для решения • задач анализа сетей Петри. Исследуйте этот вопрос.
ГЛАВА 6 ЯЗЫКИ СЕТЕЙ ПЕТРИ Материал гл. 4, 5 касался в основном вопросов, связанных с задачей до- стижимости, т. е. с достижимыми маркировками. Родственный, но совершенно отличный подход заключается в рассмотрении ие того, какие маркировки до- стижимы, этого, как их можно достичь. Поэтому главным объектом внимания являются переходы и, в частности, последовательности переходов, переводя- щих одну маркировку сети Петри в другую. Последовательность переходов — это строка, а множество строк — язык. Таким образом, в этой главе мы займемся языками, определяемыми сетями Петри, и их свойствами. 6.1. Мотивы изучения языков сетей Петри Развитие теории сетей Петри обусловливают две основные при- чины: 1) описание предлагаемых и существующих систем и 2) ана- лиз систем, моделируемых сетями Петри. Цель анализа сети Пет- ри — определение свойств сети и моделируемой системы. Одно из самых важных свойств системы — это множество действий, которые могут произойти. Множество всех возможных последовательностей действий характеризует систему. Действия моделируются в сети Петри переходами, осуществле- ние действия — запуском перехода. Последовательности действий моделируются последовательностями переходов. Следовательно, множество разрешаемых последовательностей переходов характе- ризует сеть Петри и (со степенью корректности моделирования сис- темы сетью Петри) моделирующую систему. Эти последовательности переходов могут быть крайне важны при использовании сетей Петри. Предположим, что для замены су- ществующей системы спроектирована новая. Поведение новой сис- темы должно быть идентично поведению старой системы (но новая система может оказаться более дешевой, более быстродействующей, более простой для исправлений или иметь другие улучшенные ха- рактеристики). Если обе системы моделируются сетями Петри, то поведение этих двух систем должно быть идентичным, и, следова- тельно, языки их равны. Две сети Петри называются эквивалентны- ми, если равны их языки. Это образует формальную основу для установления эквивалентности двух систем. Эквивалентность важна, в частности, при оптимизации. Опти- мизация сети Петри подразумевает создание новой сети Петри, яв- ляющейся эквивалентной (языки равны), но которая лучше, чем старая (в смысле некоторого функционала качества). Например,
Языки сетей Петри 149 К если сеть Петри должна непосредственно реализоваться в аппара- D туре, то построение сети Петри с меньшим числом позиций, пере- I ходов и дуг будет менее дорого, поскольку она имеет меньшее число компонент. Следовательно, одной из оптимизационных задач может быть сокращение |Р|+ |Т| без изменения поведения сети. В целях оптимизации может оказаться полезным множество преобразований, сохраняющих язык. Если преобразование, приме- ненное к сети Петри, порождает новую сеть Петри с тем же языком, то оно является сохраняющим язык. Оптимальную сеть Петри мож- но получить путем применения сохраняющих язык преобразований к неоптимальной сети Петри. Для практического использования моделирования и анализа систем на оснсве сетей Петри требуется ' набор преобразований, сохраняющих язык. Языки сетей Петри могут быть полезны также для анализа се- ' тей Петри. В гл. 4 были разработаны методы определения частных свойств сетей Петри: безопасности, ограниченности, сохранения, активности, достижимости и покрываемое™. Хотя установление этих свойств важно (и трудно), они не единственные, которые ана- лизируются в сети Петри. Возможно, окажется необходимым уста- ; новить корректность моделируемой системы, показав, что ей при- , сущи специфичные свойства. Таким образом, либо для каждого но- вого свойства нужно разрабатывать новые методы, либо необходи- , мы общие методы анализа сетей Петри. I Исходя из последовательностей действий, возможных в системе, можно поставить множество вопросов. Если определить множество । возможных последовательностей действий как язык системы, то система будет анализироваться путем анализа языка. Теперь задачи решаются путем рассмотрения вопроса существования (переведет ли какая-нибудь последовательность действий систему из одного состояния в другое?) или вопроса принадлежности (возможна ли последовательность действий данного вида?). Благодаря этому мож- но получить общий метод анализа произвольных систем с целью проверки на обладание свойствами, специфичными для них. Риддл , [258] занимался исследованиями анализа на основе языка модели- руемой системы. Другое применение языков сетей Петри лежит в области задания и автоматического синтеза сетей Петри. Если задать языком тре- ( буемое поведение, то можно будет автоматически синтезировать i сеть Петри, обладающую данным языком. Полученную сеть Петри можно использовать в качестве контроллера, гарантирующего, что * возможны только указанные последовательности и никакие другие. 1 Для определения разрешаемых последовательностей действий были S предложены Е-выражения [163]. На их основе разработаны методы 5 автоматического построения сетей Петри. 5 Еще одна причина изучения языков сетей Петри — желание в получить информацию о разрешимости ряда задач для сетей Петри. К Например,нам не известно разрешимы ли задачи об обладании сетями
150 Глава 6 Петри определенными свойствами. В настоящее вцемя ведутся ис- следования разрешимости таких основных задач, как достижимость. В частности, одна из областей, в которых рассматриваются вопросы разрешимости, — это теория формальных языков. Используя языки сетей Петри, можно перенести понятия и методы теории формаль- ных языков на задачи для сетей Петри. Возможно, это позволит по- лучить некоторые результаты в задачах разрешимости для сетей Петри. И обратно, методы сетей Петри могут оказаться весьма полезными для получения новых сведений о формальных языках. 6.2. Некоторые понятия теории формальных языков Развитая к настоящему моменту теория языков сетей Петри подобна другим частям теории формальных языков. Классическая теория формальных языков представлена в нескольких монографи- ях [130, 265, 991. Многие из основных понятий теории языков сетей Петри заимствованы из классической теории формальных языков. Алфавит — это конечное множество символов. Строка — лю- бая последовательность конечной длины из символов алфавита. Пустая строка X — это строка, не имеющая символов, т. е. ну- левой длины. Если 2 — алфавит, то 2* — множество всех строк из символов 2, включая пустую строку. 2 + является множеством всех непустых строк над алфавитом 2. 2* = 2+ U {X). Языком называется множество строк над алфавитом. В общем случае языки могут быть бесконечными, следовательно, одной из проблем является представление языка. Для представления языков было предложено два подхода. Один заключается в определении машины, которая порождает строку из языка, и любая строка из языка порождается ею. Другой подход подразумевает определение грамматики, которое указывает, как последовательным примене- нием ее правил порождения получаются строки языка. Ограничения, накладываемые на вид машин или грамматик, порождающих языки, определяют классы языков. Традиционными классами языков являются: регулярный, контекстно-свободный, контекстно-связанный и языки типа 0, соответствующие конечным автоматам, магазинным автоматам, линейно-ограниченным автома- там и машинам Тьюринга. Каждый из классов языков порождается соответствующим классом автоматов. Это дает прекрасные средства для установления связи теории сетей Петри с теорией формальных языков: мы определяем класс языков сетей Петри как класс языков, порождаемых сетями Петри. Детали этого определения аналогич- ны деталям определения любого другого класса языков. Рассмотрим в качестве примера конечные автоматы и регуляр- ные выражения. Конечный автомат С есть пятерка (Q, 6, 2, s, F), где Q — конечное множество состояний, 2 — алфавит символов, 6: Q х 2 -э- Q — функция переходов, s £ Q — начальное состоя-
Языки сетей Петри 151 ние, F с. Q — конечное множество заключительных состоянии^. Функция переходов б естественным образом обобщается на случай отображения из Q х S* в Q. Язык ЦС), порождаемый ко- нечным автоматом, — это множество строк над S, определяемое следующим образом: L(C) =-{a€S* | S(s, a)£F}. Всякому конечному автомату соответствует язык, а класс всех языков, порождаемых конечными автоматами, называется классом регулярных языков. Конечный автомат определяется своим языком. Если два конечных автомата имеют одинаковые языки, они экви- .валентны. 6.3. Определения языков сетей Петри Основные понятия, используемые для получения регулярного языка по конечному автомату, применимы и к сетям Петри для об- разования теории языков сетей Петри. В дополнение к сети Петри, определяемой множеством позиций и переходов (которые прибли- зительно соответствуют множеству состояний и функции переходов автомата), необходимо определить начальное состояние, алфавит и множество заключительных состояний. Задание этого для сети Петри может привести к различным классам языков сетей Петри. Рассмотрим их по порядку. 6.3.1. Начальное состояние Начальное состояние сети Петри можно определить различными •способами. Наиболее общепринятое определение — считать на- чальным состоянием произвольную маркировку р. Однако это опре- , деление имеет несколько модификаций. Одним из разумных огра- ничений в определении начального состояния является рассмотре- 1 ние только маркировок с одной фишкой в начальной позиции и , нулем фишек в остальных [237]. Другое, более общее определение '.допускает множество начальных маркировок вместо одной марки- ровки. J Эти три определения, по существу, одинаковы. Разумеется, опре- деление начальной позиции является частным случаем определения Начальной маркировки, а оно — частным случаем определения : множества начальных маркировок. Однако если при определении , начальной позиции будет необходимо множество начальных марки- 1 ровок М = {pi, р2, ..., pft}, то можно просто ввести в сеть Петри ‘дополнительную позицию р0 и множество переходов {6, ...,4}. {Переход tj будет брать фишку из рс и порождать маркировку р,. [Таким образом, поведение расширенной сети будет идентично no- il Как в оригинале, будем использовать термин «конечный автомат» 1,Для обозначения управляющего автомата (разд. 3.3.1) и распознающего авто- ж лиата (гл. 6). — Прим. ред.
152 Глава 6 ведению сети Петри с множеством начальных маркировок, за ис- ключением того, что каждой последовательности переходов будет предшествовать tj, если до начала выполнения будет использо- ваться маркировка р7-. Мы видим теперь, что эти три определения начальных состоя- ний сети Петри в принципе эквивалентны. Отходя от традиции, оп- ределим язык сети Петри как начинающийся с отдельной марки- ровки р. 6.3.2. Помечение сетей Петри Как и в случае с начальным состоянием, возможно несколько определений помечения сети Петри. Мы должны определить и алфа- вит сети Петри, и то, как он связан с сетью Петри. Уже отмечалось, что символы алфавита связываются с переходами, поэтому после- довательность запусков переходов порождает строку символов языка. Связь символов с переходами осуществляется функцией помечения о: Т ->2. Вариации в определении языка следуют из различных ограничений, накладываемых на функцию помечения. Свободно помеченная сеть Петри — это помеченная сеть Пет- ри, в которой все переходы помечены по-разному (т. е. если о(^) = = то ti = tj). Класс языков свободных сетей Петри явля- ется подмножеством класса языков сетей Петри с более общей функ- цией помечения, в которой не требуются различные метки. Рассмат- ривалась еще более общая функция помечения, допускающая помечение переходов пустым символом, o(t,-) = X. Х-помеченные пе- реходы не появляются в предложениях языка сети Петри, и, сле- довательно, их запуск при выполнении сети Петри не фиксируется. Три класса функций помечения (свободные, без X- и с Х-переходами) определяют три класса языков сети Петри. Без дальнейшего исследования нельзя сказать, какое из этих трех определений помечения наиболее приемлемо. Возможно, каж- дое из них является наиболее удачным для некоторого применения. Поэтому мы вынуждены рассмотреть языки, получающиеся при каждом возможном определении функции помечения. 6.3.3. Заключительные состояния сети Петри Определение заключительных состояний сети Петри оказывает наибольшее влияние на язык сети Петри. Были предложены четыре основных определения множества заключительных состояний сети Петри. Каждое из них образует свой язык сети Петри. Одно из определений взято по аналогии с соответствующим по- нятием для автоматов — множество заключительных состояний F определяется как конечное множество заключительных маркиро- вок. Этим определением мы вводим класс языков сетей Петри L- типа.
Языки сетей Петри 153 Определение 6.1. Язык L является языком сети Петри L-muna, если существует сеть Петри (Р, Т, I, О), помечение переходов о: Т -> Е, начальная маркировка р и конечное множество заключи- тельных маркировок F, такое, что £= {о(Р) €S*|P € Т* и Ш ₽) еР}. Класс языков сети Петри L-типа является мощным, но свойст- венное ему требование, что для порождения предложения необхо- димо прийти точно к заключительному состоянию, противоречит основам подхода сетей Петри. Это замечание основано на том, что если для маркировки р и перехода t} определено б(р, tj), то для любого р' > р определено 6(р', tj). Из этого вытекает определение нового класса языков — языков сети Петри G-типа. Определение 6.2. Язык L является языком сети Петри G-типа. если существует сеть Петри (Р, Т, I, О), помечение о: Т —>- 2, начальная маркировка р и конечное множество заключительных маркировок F такое, что L = {о(0) £ 2* |0 £ Т*, и существует pf £ F такое, что б(р, 0) pf}- Третьим классом языков сетей Петри является класс языков сетей Петри Т-типа. Эти языки определяются множеством заключи- тельных состояний, используемым в определении языков L-типа, и множеством (не обязательно конечным) терминальных состояний. Состояние р, является терминальным, если o(pf, tj) не определено для всех tj € Т. Таким образом, класс языков сетей Петри Т-типа задается следующим образом. Определение 6.3. Язык L является языком сети Петри Т-типа, если существует сеть Петри (Р, Т, I, О), помечение о: Т -> 2 и на- чальная маркировка р, такая, что L = {о(р)£ 2 * |0£ Т* и 6(р, 0) определено, но для любого tj £Т, о (б(р, 0), tj) не определе- но}. Четвертый класс образован языками сетей Петри Р-типа, множества заключительных состояний которых включают все до- стижимые состояния. Эти языки являются префиксными, так как если а£2* является элементом языка P-типа, то для всех пре- фиксов 0 элемента а (т. е. а — 0х для некоторого х£ 2 *) 0 яв- ляется элементом того же языка. Определение 6.4. Язык L является языком сети Петри P-типа, если . существует сеть Петри (Р, Т, I, О), помечение о: Т 2 и началь- . ная маркировка р, такая, что L = {o(0)g 2 * |0£ Т* и опреде- лено d(p, Р)}. 6.3.4. Классы языков сетей Петри В дополнение к четырем классам языков сети Петри, основан- ным на различных заданиях множества заключительных состоя- ний, имеются вариации языков, порожденные различными опре- делениями функции помечения. На рис. 6.1 приведены 12 классов
154 Глава 6 языков, получающихся в результате комбинаций четырех типов определений заключительных состояний и трех типов функций помечения. Каждая клетка таблицы содержит обозначение соот- ветствующего класса языков сетей Петри. СВоВодние Вез X переходов С Л-переходами L тип U L С-тип G{ G GK Г-тип Т< T Р-тип Pf P />Х Рис. 6.1. 12 классов языков сетей Петри. Для задания конкретного языка сети Петри должны быть опре- делены четыре элемента: сеть Петри С = (Р, Т, I, О); функция помечения о: начальная маркировка р.: P-+N; множество заключительных маркировок F (для языков L- и G-типа). Назовем у = (С, о, р, F) помеченной сетью Петри для сети Петри С, по- мечения о, начальной маркировки р и множества заключительных состояний F. Для данной помеченной сети Петри у можно опреде- лить 12 языков: Цу), G(y), Р(у), Т(у), Gf(y), Pf(y), (Т), Т* (т), Р>- (т). Различные определения языков сетей Петри связывают с дан- ной сетью Петри различные языки. Рассмотрим, например, сеть Петри на рис. 6.2. На сети задана начальная маркировка (1, О, О, 0) и каждый переход tj помечен Если мы определим F = = {(0, 0, 1,0)} (одна фишка в позиции р3), языком £-типа будет {а.псЪп\п :> 0}, языком С-типа— {amcbn\m > п >0}, языком Т-типа — {amcbnd\tn и > 0), а языком Р-типа — {am[m > 0} U {amcb'! \m > п > 0} U {amcb"d [m > п > 0}. Языки всех четырех типов для этого примера различны. Данная функция по- мечения является свободным помечением, но при использовании других функций помечения можно получить и другие языки. Несмотря на различия в определениях, классы языков сетей Петри тесно связаны. Например, множество свободных помечений включено в множество не-Х-помечений, которое является подмно- жеством множества Z-помечений. Таким образом, U с L cr Tf S Т S 7х, Gf <= G с G\ Р/ с Р с .
Языки сетей Петри 155 Кроме того, всякий язык P-типа является языком G-типа с F = = {(О, 0, 0)}. Поэтому Pf с Qf, р с G, с С1. Можно показать также, что всякий язык типа G или G^_ является языком типа L или !?• соответственно. Пусть L — язык G-типа для сети Петри (Р, Т, I, О), начальной маркировки р и множества за- ключительных состояний F. Построим новую помеченную сеть Пет- ри с теми же позициями, но с дополнительными переходами, опре- деленными следующим образом: Рис. 6.2. Сеть Петри, иллюстрирующая различные классы языков. Каждый переход помечается меткой. Пусть для каждого /,-е Т В j означает множество всех собст- венных подкомплектов О (tj). Всякий подкомплект из В j исполь- зуется для определения нового перехода, помеченного так же и имеющего те же входы, что и t j, но имеющего в качестве выхода этот подкомплект. Эти новые переходы добавляются к первоначаль- ному множеству переходов. Например, если рассмотреть переход а в сети Петри на рис. 6.2, то его входным комплектом является {pt}, а выходным комплектом {pi, Ра}- Подкомплектами1) {рь р2} являются {pt}, {р2} и {} (= 0). Этот переход влечет введение в сеть трех новых переходов. Все эти новые переходы будут помечены а и иметь входной комплект {рД, но выходными комплектами будут три указанных выше подкомп- лекта (по переходу на каждый подкомплект). Для переходов Ь, с, d также будут введены новые переходы, которые будут иметь те же входы, но пустые выходы (поскольку в имеющейся сети выходы образованы одноэлементными комплектами, следовательно, един- ственным подкомплектом будет 0). Новая сеть Петри показана на рис. 6.3. Эта новая сеть модифицируется таким образом, что лишние фишки, превышающие заключительное состояние из F, не обяза- тельно будут воспроизведены, если выбирается новый переход, I) Точнее, собственными подкомплектамп. — Прим, перев.
156 Глееа 6 имеющий меньше выходов. Таким образом, язык L-типа новой сети совпадает с языком G-типа старой сети. В описанной конструкции требуется создание новых переходов с теми же метками, что и прежние, поэтому никакого вывода отно- сительно соотношения Gf и U из этой конструкции сделать нельзя. G с L, Gz с Г. Рассмотренную конструкцию можно также незначительно мо- дифицировать для того, чтобы показать, что обобщение определения Рис. 6.3. Сеть Петри, язык L-типа которой совпадает с Петри, приведенной на рис. 6.2. языком G-типа сети языка L-типа (допускающее неполное задание заключительных маркировок) не изменяет классов L и Lx . Пусть заключительная маркировка сети Петри с п позициями является n-вектором над N и {со}. Если со является компонентой заключительной марки- ровки, то это означает, что мы не должны заботиться о вхождении значения этой компоненты в заключительное состояние. Состоя- ние s является заключительным, если существует такая заключи- тельная маркировка f, что для всех i, 1 < i < п, из ft =L со следует s, = fL. Это определение более общее, чем данное ранее определение языков L-типа. Рассмотрим сейчас язык, определяемый сетью Петри и не пол- ностью заданной заключительной маркировкой f. Пусть т—мно- жество всех позиций, для которых Д- = со. Пусть для каждого t} G Т, удовлетворяющего 0(1П 0, ру = O(tj) Пт и фу = = O(tj) — pj. Комплект р} включает все позиции, маркировка которых не принимается во внимание, тогда как комплект фу, включает все позиции, маркировка которых должна быть задана точно так же, как в заключительной маркировке f. Введем в сеть новые переходы, их метки и входные комплекты совпадают с метка- ми и входными комплектами tа выходные комплекты образованы фу + |, где g — любой подкомплект ру. Эта конструкция действи- тельно не меняет поведения позиций, не входящих в т, но позволя- ет позициям, непринимаемым во внимание, иметь произвольное число фишек, меньшее или равное числу фишек, которые должны
Языки сетей Петри 157 быть в первоначальной сети. Таким образом, для каждого предло- жения обобщенного языка первоначальной сети можно выбрать соответствующие переходы для запуска их в то время, когда сеть достигает такого состояния s, что = ft для /г- со, s, — 0 для fi = со. Следовательно, язык £-типа для построенной сети Петри с заключительной маркировкой f (где все в в не полностью задан- ной маркировке f заменяются на 0) совпадает с обобщенным языком первоначальной сети (т. е. определенным не полностью заданной заключительной маркировкой f). В случае языков, определяемых множеством не полностью за- данных заключительных маркировок (в отличие от единственной такой маркировки, как в только что рассмотренном случае) на основе того, что языки типа £ (и L' ) являются замкнутыми по от- ношению к операции объединения (см. разд. 6.5.2), можно пока- зать, что данные языки остаются еще языками типа L (или £х). Вводя не полностью заданные заключительные маркировки, можно показать, что языки 7-типа являются также языками £-типа (за исключением, быть может, свободных языков 7-типа). Заключительным состоянием р для языка 7-типа является такое состояние, что никакой из переходов t j нельзя запустить (т. е. р. > I(tj) для всех tj С Т). Таким образом, условие, задающее заключительное состояние для языка 7-типа, в точности противо- положно условию, задающему заключительное состояние для языка G-типа. (Можно назвать язык 7-типа обращением языка G- типа.) Нетрудно видеть, что такое множество маркировок может быть описано конечным множеством не полностью заданных марки- ровок (как это сделано в разд. 5.4). Например, условие (р > (2, 0) и И >(1,1)) эквивалентно (р = (0, со) или р = (1,0)). Язык 7-типа (или в более общем случае обращение языка G-типа) можно поэтому представить обобщенным (т. е. не полностью заданным) языком £-типа и, следовательно, языком £-типа. Таким образом, L и Т> £х . Как известно, [П5] всякий язык £х-типа можно построить по сети Петри, в которой каждый переход имеет входную позицию, и по единственной заключительной маркировке, являющейся нуле- вой, т. е. такой, при которой нельзя запустить никакой переход. Если к каждой позиции добавить Х-переход с одним входом и одним- выходом, совпадающим с входом (т. е. петлю), то язык не изменится, а нулевая маркировка станет единственной терминальной марки- ровкой. Следовательно, £х = 7х , но из предыдущих рассуждений 1 7х s £х , поэтому классы языков эквивалентны, 7х = £х . На рис. 6.4 графически представлены соотношения рассмотрен- ных классов языков сетей Петри. Дуга между классами означает включение одним классом языков сетей Петри другого.
158 Глава 6 Рис. 6.4. Известные соотношения между классами языков сетей Петри. Дуга из класса А в класс В означает, что класс А включает класс В. 6.4. Свойства языков сетей Петри Исследование языков сетей Петри только начинается, и в на- стоящий момент сведения о свойствах этих недавно определенных классов языков ограниченны. Сила сетей Петри отражается в раз- нообразии классов языков сетей Петри. Новизна исследований объ- ясняет нашу неспособность показать все взаимосвязи между этими языками или обосновать важность только некоторых из классов. Это приводит к широте области исследований, необходимости опре- деления свойств 12 различных классов языков. Очевидно, что все 12 классов языков исследовать в этой книге невозможно, поэтому мы ограничимся рассмотрением здесь только одного класса языков сетей Петри, а именно языков L-типа. Основ- ными причинами такого решения являются ограниченность объема монографии и то, что этот язык уже исследовался в литературе [236, 115]. Некоторые результаты были получены Хэком [115] и для пре- фиксных языков (т. е. P-типа) и будут представлены в нашем за- ключении. Языки G- и Т-типа были определены, но никакой ра- боты по их развитию не проводилось. Напомним, что класс языков L-типа включает классы языков Т-, G- и P-типа. Таким образом, языки L-типа в некотором смысле образуют наибольший класс язы- ков сетей Петри, и поэтому понятно, почему они исследовались первыми При изучении свойств языков сетей Петри L-типа обратимся к двум аспектам Сначала представим свойства замкнутости сетей Петри1* по отношению к некоторым обычным операциям: конкате- 1) Точнее, языков сетей Петри. — Прим, персе.
Языки сетей Петри 159 нации, объединению, параллельной композиции, пересечению, обращению, дополнению, бесконечной конкатенации и подстановке. Затем рассмотрим взаимосвязь между языками сетей Петри и клас- сическими формальными языками: регулярными, контекстно-сво- бодными, контекстно-связанными и типа 0. Это позволит оценить силу и ограниченность языков сетей Петри (L-типа), а также по- кажет, как можно исследовать другие классы языков сетей Петри. Хотя нас интересует весь класс языков сетей Петри L-типа, ограничимся рассмотрением только множества сетей Петри стан- дартного вида. Это ограничение вводится для того, чтобы облегчить доказательства и конструкции; оно не ограничивает класс языков сетей Петри. Всякий язык сетей Петри может порождаться мно- жеством сетей; выберем для работы только сети, обладающие опре- деленными свойствами. Для доказательства того, что это не со- кращает множество языков, покажем, что для всякого языка сети Петри L-типа существует сеть Петри стандартного вида, порождаю- щая его. Определение 6.5. Помеченная сеть Петри у = (С, о, р, F) с языком L(y), имеющая стандартный вид, удовлетворяет следующим усло- виям: 1. Начальная маркировка р состоит точно из одной фишки в на- чальной позиции ps и не имеет фишек в других позициях. ps $ $O(t3) для всех t3£T. 2. Существует позиция pf £ Р, такая, что a) F = {ру} (если L ? L(y)) и F = {pf, ps} (если X е L(v)n; б) pf t f(t}) для всех if € Г; в) 6(р',/?) не определено для всех 13 £ Т и р' £ 7?(С,р), имею- щих в pf фишку (т. е. р'(р/) > 0). Выполнение сети Петри стандартного вида начинается с одной фишки в начальной позиции. Первый запускаемый переход уда- ляет эту фишку из начальной позиции, после чего начальная пози- ция остается уже до конца выполнения пустой. Сеть Петри оста- навливается, если фишка помещается в заключительную позицию. Эту фишку нельзя удалить из заключительной позиции потому, что, во-первых, никакой переход не имеет заключительной позиции L в качестве входной, а, во-вторых, все переходы не разрешены Та- b ким образом, выполнение сети Петри стандартного вида достаючно к просто. Это очень полезно при построении композиций из сетей Пет- I ри. Для того чтобы показать, что сети стандартного вида не менее а мощны, чем обычные сети Петри, докажем следующую теорему. I Теорема 6.1. Всякая сеть Петри эквивалентна сети Петри стан- £ дартного вида. у Доказательство. Доказательство проведем с помощью вспомо- 1) F состоит из маркировки, содержащей фишку в pf (если Z.$L(y))> а также маркировки, содержащей фишку в ps (если X £ L(y)). — Прим. иерее.
160 Глава 6 Рис. 6.5. Приведение сети Петри к стандартному виду. Выполнение этой сети совпадает с выполнением первоначальной сети. гательного построения. Пусть -у = (С, о, р, F) — помеченная сеть Петри с С = (Р, Т, I, О). Покажем, как построить эквива- лентную сеть у' = (С', о', р/, F') с С' = (Р', Т', Г, О') стан- дартного вида (рис. 6.5). Прежде всего введем три новые позиции рт, pf и ps, которых не было в Р. Позиция ps является начальной, р< — заключитель- ной, а рг — позиция «действия»; для того чтобы запуск любого перехода в Т был разрешен, в позиции рг должна быть фишка. В начальной маркировке С будет только одна фишка в ps; заклю- чительная маркировка будет содержать одну фишку в ps (если Xg Ц?)) или в pt (если $ Цу)). Теперь необходимо гарантировать, что всякая последователь- ность переходов в С, приводящая из начальной маркировки в за- ключительную, повторима в С'. Рассмотрим для этого три типа строк в L(y). Во-первых, пустая строка учитывается определением F'. Принадлежность X языку L(y) определяется проверкой того, является ли начальная маркировка р заключительной, р € F. Во-вторых, для всех строк длины 1 в L(y) введем в С' специальный переход из ps в pf следующим образом: для а € S, такого, что а € L(y), определим ta QT' с I(ta) — {р3}, O(ta) = {pf}. Меткой t„ будет а. Установить принадлежность а языку L(y) можно, рас- сматривая все переходы t£ Т с a(ts) = а и проверяя, не принад- лежит ли б(р, t j) F.
Языки сетей Петри 161 Наконец, рассмотрим все строки длины больше 1. Эти строки получаются в результате запуска последовательности tjtj f переходов Т. Нам бы хотелось определить последовательность at.^ Ъ с новыми переходами а и Ь. Переход о будет брать фишку из ps и порождать начальную маркировку р сети С плюс фишку в рг. Каждый переход tj в Т' идентичен переходу t} в 7\ за исключением того, что рт является для него входной и выходной- Это позволит нам запретить все переходы в Т' путем удаления фишки из рг. Переход b будет удалять фишку из рг, уничтожать заключительную маркировку С и помещать фишку в pf. При таком построении фишка будет перемещаться из начальной позиции в заключительную только в результате последовательности at^...thb, соответствующей последовательности tj...tjt, которая переводит р в заключительную маркировку в С. К сожалению, поскольку в С, но не в С будут присутствовать лишние символы, соответствующие переходам а и Ь, полученная последовательность окажется длиннее. Выходом из такого поло- жения явилось бы пустое помечение а и Ь, но в языках L-типа оно неразрешено. Для обхода этой трудности мы вынуждены «слить» переходы а и tj в один переход t}i, а переходы b и ijt — в пере- ход . Переход в Т' для всякого tj^T определяется следующим образом: 1. Вводим в Т' tj с I(tj) = I(tj) (J {рт} и O(tj) = O(tj) и {рг}. 2. Если I(tpu (т. е. входы в tj образуют подмножество1 2) на- чальной маркировки, вследствие чего tj может быть первым за- пускаемым в С переходом), вводим в Т’ переход tj с I(tj) = {ps} и O(t,) = р-/(/7) + O(tj) U {M- 3. Если O(/?)s р' для некоторой р' £ F (т. е. tj может быть по- следним переходом, запуск которого приводит к заключительной маркировке), вводим перевод t'"j с l(tj) = р' — O(t}) + до и и {Рг} И 0(t'-) = {pf}. Помечение о' определяется следующим образом: o' ( t'.) = o' ( t'.') = o' ( /У') - о (tj). Любая строка а С L(y) порождается по определению последователь- ностью tlx,tIt,..., tjt, такой, что o(ZH,/j2,..., th) = а. По построе- нию а = о' tf. t'. ... t' t'"), \ Ji Is 1 /—I J j f 1) Здесь p рассматривается как комплект, содержащий р(рг) позиций Pl для каждого i соответственно, отношение включения рассматривается как отношение над комплектом, а операции — как операции над комплектами-— Прим, перев. 2) Точнее, подкомплект. — Прим, перев. 6—562
162 Глава 6 Рис. 6.6. Сеть Петри нестандартного вида. Позиция pi является и начальной, и заключительной. Рис. 6.7. Сеть Петрн стандартного вида, эквивалентная сети Петри, приве- денной на рис. 6.6. поэтому а £ Цу). Следовательно, Цу) = L(y') и сети у и / экви- валентны. Сеть у' имеет по построению стандартный вид.Г] На рис. 6.6 приведена простая сеть Петри, не имеющая стан- дартного вида. Применение к этой сети Петри конструкции из до- казательства приводит к сети Петри, показанной на рис. 6.7. 6.5. Свойства замкнутости Перейдем к изучению свойств замкнутости языков сетей Петри по отношению к некоторым видам композиции (объединению, пе- ресечению, конкатенации, параллельной композиции, и подста- новке) и по отношению к некоторым операциям (обращению, допол- нению и бесконечной конкатенации). Изучение этих свойств интересно по двум причинам. Во-первых, оно увеличивает наши знания о свойствах и ограничениях языков сетей Петри как язы- ков. Во-вторых, многие из перечисленных типов композиции от- ражают процесс композиционного проектирования и конструиро- вания больших систем из малых, поэтому данное исследование мо- жет оказаться полезным для разработки методов синтеза.
Языки сетей Петри 163 Большинство из свойств замкнутости касаются композиций языков сетей Петри. Рассмотрим два языка сетей Петри, Li и L2. Мы знаем, что каждый из них порождается некоторой сетью Петри стандартного вида. Поэтому можно рассматривать две помеченные сети Петри стандартного вида, Ti = (Ct, ot, pt, Ft) и Та — (С2, о2, Нг. Е2), с£, = £(У1) и L2 = £(у2). Поскольку сети стан- дартного вида, Vi имеет начальную позицию ps, g Pt, а у2 — Р*г € £Р2. Кроме того, Fi = {/\, pfl} или {pfl}, a F2 = {pSj, pfs} или {pfJ. Покажем, как из этих двух помеченных сетей строится новая помеченная сеть Петри у' = (С’, о', р', F’) с языком L(y'), который является композицией Li и L2 требуемого типа. Описываемые кон- струкции будем иллюстрировать примерами сетей Петри. Начнем рассмотрение свойств композиции языков сетей Петри с конкатенации, объединения, пересечения и параллельной компо- зиции. Затем исследуем обращение и дополнение языка сети Петри и, наконец, подстановку. 6.5.1. Конкатенация Многие системы представляют собой последовательную компо- зицию двух подсистем. Каждую из подсистем можно представить сетью Петри со своим языком. При последовательной комбинации двух систем соответствующее выполнение является конкатенацией выполнения из первого языка сети Петри и выполнения из второго. Конкатенация двух языков формально определяется как {^1-^2 I Х2 Теорема 6.2. Если Lt и L2 — языки сетей Петри, то LiL2 — язык сети Петри. Доказательство. Определим у' таким образом, чтобы заключитель- ная позиция Yt совместилась с начальной позицией у2. Тогда пере- ход, помещающий фишку в pflt будет свидетельствовать о конце выполнения yi, а также о Начале выполнения у2. Любая строка кон- катенации Li и L2 является тогда путем из pS1 в pf, = ps, и затем в Pf2 в Tz следовательно, элементом L(y'). Аналогично, если стро- ка порождена сетью С, она является конкатенацией строки, по- рожденной и строки, порожденной у2. Формальное определение у' учитывает пустую строку и поэтому более сложно, у' можно определить как объединение и у2 со сле- дующими дополнительными переходами. Для всякого tj Q Т2 с htti) = {pSs} вводим новый переход tj с Z'(4) = {рц} и О'(^) = = O2(tj). Если ps, £ Fi, то вводим также L" с /'(G") — {Ps.} и & (tj”) = o2(tj). Помечение определяем, как о'(//) = <т2(6) и е'(6') = ^(G)- Новое заключительное множество F' = Ft U F2, если pSi £ F2, в противном случае F = F2. □ 6*
164 Глава 6 Рис. 6.8. Конкатенация двух языков сетей Петри. (Каждый переход в Сг фактически является ' парой параллельных конфликтующих переходов, помеченных а и b соответственно. — Прим, ред.) Из этой теоремы следует, что класс языков сетей Петри замкнут по отношению к конкатенации. На рис. 6.8 показывается описан- ная конструкция для Li = (а + b)+ п Lz = а" д'1. 6.5.2. Объединение Другой общепринятый метод композиции систем — объедине- ние. В композиции такого вида будет выполняться любая, но только одна из подсистем. Эта обычная композиция языков аналогична
Языки сетей Петри 165 объединению множеств и определяется следующим образом: £iUb2 = {x | x(Ij или xqL2}. Теорема 6.3. Если Lt и £2 — языки сетей Петри, то Lt U L2 — язык сети Петри. Доказательство. Доказательство аналогично доказательству пре- дыдущей теоремы. Определим новую сеть Петри у', такую, что £(/) = Lt U £2. В новой сети Петри две начальные позиции объединены в одну но- вую начальную позицию. Первый запускаемый переход удаляет фишку из начальной позиции, после чего либо сеть Петри (если переход был из Tt), либо сеть Петри у2 (если переход был из Т2) будет действовать в точности так же, как до объединения. Формально мы определяем новую начальную позицию ps и новый переход для каждого с /(/;,) — {pS1} и tjt для каждого £ Т2 c I(tjs) = {psJ: = {р'}, /'(/},) = = {Ps} и </(/ц), = 01(^1), = °2(6J- Функция помече- ния: a'(6i) = ai(6i) и = а2(6’г)- Новая начальная марки- ровка содержит одну фишку в р', новое множество заключитель- ных маркировок F' = Ft U F2. Если pSt 6 Ft или pSj € F2, то, кроме того, Ps£F'. □ На рис. 6.9 показана описанная конструкция для £j = а(а + 4- Ь)Ь и L2 = amb"(m > n > 1). 6.5.3. Параллельная композиция Еще один способ композиции двух сетей Петри заключается в разрешении одновременного выполнения двух’систем. Он допускает все возможные «перемешивания» выполнений одной сети Петри с выполнениями другой. Для представления такой параллельной ком- позиции Риддл [258] ввел оператор ||, который определяется для a, b £ S, и Xi, х2 С 2* следующим образом: ах} || bx2 = a (xj II bx2) + Ь (ахх || х2), а || К = К || а ~ а. Параллельной композицией двух языков является £j 11 L2 = {х^ || х2 | Xj £ £]» х2 С В качестве простого примера рассмотрим языки Li = {ab} и L. = {с}> язык Li 11 L2 — это {abc, acb, cab}. Легко показать, что регулярные, контекстно-связанные языки и языки типа 0 замкнуты по отношению к параллельной компо- зиции, поскольку параллельная композиция двух конечных авто- । Матов, линейно-ограниченных автоматов или машин Тьюринга
166 Глава 6 UC1) = e(e+7>y> L(C') = а(а + b)b + emb" (ш>и>1) Рис. 6.9. Объединение двух языков сетей Петри.
Языки сетей Петри 167 являются конечным автоматом, линейно-ограниченным автоматом и машиной Тьюринга соответственно. Вследствие того что парал- лельную композицию двух автоматов с магазинной памятью нельзя преобразовать в другой автомат с магазинной памятью, контекстно- свободные языки не замкнуты по отношению к параллельной ком- позиции. Для языков сетей Петри докажем следующую теорему. Теорема 6.4. Если Li и L2 — языки сетей Петри, то Lt | |£2*— язык сети Петри. Доказательство. Сеть Петри, порождающая параллельную компо- зицию Li и £2, строится из сетей Петри, порождающих эти языки; в ней в качестве начальной маркировки фишки помещаются в на- чальные позиции У1 и у2, новое множество заключительных марки- ровок определяется всеми маркировками, принадлежащими £, (в позициях и F2 (в позициях Р2). □ Эта конструкция показана на рис. 6.10 для Li — а(а + fe)+ и £г = саЪг1сЬ2пс. 6.5.4. Пересечение Как и в случае объединения, операция пересечения подобна теоретико-множественному определению пересечения и определя- ется для языков сетей Петри следующим образом: Л П £2 = {х | х Е Ц и х QL2}. Теорема 6.5. Если £, и L2 — языки сетей Петри, то Lt Л £2 — язык сети Петри. Конструкция сети Петри, порождающей пересечение двух язы- ков сетей Петри, несколько сложнее рассмотренных ранее. Всякий раз при порождении строки, когда запускается переход в одной сети Петри, должен запуститься также переход в другой сети Петри ' с идентичной меткой. Если в каждой сети Петри существует более одного перехода с одной меткой, необходимо рассмотреть все воз- можные пары переходов двух сетей Петри. Для каждой такой пары I мы вводим новый переход, который запускается тогда и только тог- да, когда запускаются оба перехода в старых сетях Петри. Это до- стигается взятием в качестве входного (выходного) комплекта но- вого перехода суммы комплектов (см. приложение) входных (вы- годных) комплектов пар переходов старых сетей Петри. Следова- тельно, если Tt и Е Т2, такие, что o(t}) = o(Zfe), то вво- дится переход tt,k Е Т' с r(thk) = Ti(t}) + I2(th) и О'(^л) = ~ + O2(/ft). Некоторые из таких переходов будут иметь в качестве входов начальную позицию. Если для перехода Т', определенного описанным способом, = {pSl, Р%}’ то заменяем этот переход на другой tjik с = {ps}- ^га [Конструкция, по существу, включает две первоначальные сети Петри
168 Глава 6 Рис. 6.10. Параллельная композиция двух языков сетей Петри.
Языки сетей Петри 169 £(С') =са3псЬ2кс П ca^cb^c Рис. 6.11. Пересечение двух языков сетей Петри. Кв синхронный режим выполнения. Такая составная сеть порождает пересечение Lf и L2. Описанная конструкция иллюстрируется на рис. 6.11. : 6.5.5. Обращение х В отличие от рассмотренных до сих пор операций обращение, Кпо-видимому, представляет только теоретический интерес. Обра- Шщение предложения xR — это предложение х, символы которого расположены в противоположном порядке. Мы определяем эту опе- рацию рекурсивно: Ь cF = a, (ax)R = xRa
170 Глава 6 для Обращение языка определяется следующим образом: LR = [x*|x€L} Теорема 6.6. Если L — язык сети Петри, то и Lri — язык сети Петри. Конструкция в этом случае тривиальна. Начальная и заключи- тельная маркировки меняются местом, меняются местом также входные и выходные комплекты каждого перехода. Следовательно, Цу') = L(y)R- Построенная сеть просто выполняет первоначаль- ную сеть Петри в обратном порядке и обращает все порождаемые ею строки. 6.5.6. Дополнение Дополнение L языка L над алфавитом 2 — это множество всех строк 2*, отсутствующих в L. Его можно представить как L ~ 2* —L или L = {х £ 2* | х $ L}. Эта операция над языком сети Петри может быть полезной при ана- лизе сетей Петри, так как проверка существования запрещенных состояний или запрещенных последовательностей в дополнении может оказаться легче, чем проверка их несуществования в языке сети Петри. Замкнутость языков сетей Петри L-типа по отношению к допол- нению — задача, которая ждет своего решения. Однако в [64] по- казано, что некоторые языки сетей Петри не замкнуты по отноше- нию к дополнению, т. е. существуют языки сетей Петри, дополне- ния которых не являются языками сетей Петри. 6.5.7. Повторная композиция Мы рассмотрели операции объединения, пересечения, конкате- нации, параллельной композиции, обращения и дополнения. Для всех операций, кроме последней, мы описали конструкции, пока- зывающие, что языки сетей Петри замкнуты по отношению к ним. Результаты позволяют сделать следующий вывод. Следствие 6.1. Языки сетей Петри замкнуты по отношению к любо- му конечному числу выполнений операций объединения, пересече- ния, обращения, параллельной композиции и конкатенации, осу- ществляемых в любом порядке. Доказательство следует из приведенных выше теорем. Устраняя ограничение на конечность числа разрешенных опе- раций, можно определить новую операцию. Бесконечная конкатена- ция (звезда Клини) языка — это множество всех конкатенаций
Языки сетей Петри 171 (произвольной длины) элементов языка. Она L* обозначается через и определяется как L* - HJLUJLLLU... • Эта операция может оказаться полезной на практике. Бесконеч- ная конкатенация подобна моделированию цикла. Кроме того, из- вестно, занные что регулярные, контекстно-свободные, контекстно-свя- языки и языки типа 0 замкнуты по отношению к бесконеч- ной конкатенации зал ось. что языки [130]. сетей конечной конкатенации. К сожалению, и весьма неожиданно ока- Петри не замкнуты по отношению к бес- Это объясняется конечностью сетей Петри (конечное число по- зиций и переходов) и разрешающей природой изменения состояний (переходы запускать разрешается, но потребовать их запуска нель- зя). Для построения сети Петри, порождающей бесконечную кон- катенацию языка сети Петри, потребовалось бы в общем случае пов- торно использовать некоторую часть сети Петри, что позволяет фишкам появляться и оставаться в некоторых из повторно исполь- зуемых позиций сети Петри. При последующем повторе эти фишки могут разрешить переходы, которые не должны запускаться. Доказательство того, что сети Петри не замкнуты по отношению к бесконечной конкатенации, оказалось очень сложным. Идею, положенную в основу доказательства, можно продемонстрировать, рассмотрев пример. Ранее показано, чтоапЬп{п> 1)п —язык сети Петри. Мы утверждаем, что (апЬп)* не является языком сети Петри. Любая сеть Петри, порождающая («"&”)*, должна иметь некоторую позицию или множество позиций, кодирующих число п для каж- дой части строки. Эти фишки управляют порождением символов Ь. Сеть Петри, порождающая должна использовать эти фишки более одного раза. Но, поскольку природа сети разрешаю- щая, нельзя гарантировать, что эти позиции станут пустыми перед повторным использованием. Следовательно, для любой сети Петри, пытающейся породить {апЬп)*, существуют такие i, /, А, что сеть Петри порождает также некоторую строку следующего вида: а1' Ьп'... ani bni ... ani bni ... tfr'bX где nt > n j. Основу формального доказательства того, что языки сетей Петри не замкнуты по отношению к бесконечной конкатена- ции, дал Косараю [159]. Читатель, знакомый с лингвистической теорией абстрактных семейств языков [ЮО], легко докажет, что языки сетей Петри не замкнуты по отношению к бесконечной конкатенации. Хорошо из- вестно, что наименьшие полные абстрактные семейства языков замкнуты по отношению к пересечению, а содержащие со- держат и всякое рекурсивно перечислимое множество. Таким об- 1) Рисунок 6.8 для и > 1. — Прим, перев.
172 Глава 6 разом, поскольку языки сетей Петри замкнуты по отношению к пе- ресечению и {апЬп} — язык сети Петри, то, если бы они были зам- кнуты по отношению к бесконечной конкатенации, они образовали бы абстрактное семейство языков. Однако нам известно, что } не является языком сети Петри (см. разд. 6.6.2), поэтому языки сетей Петри не замкнуты по отношению к бесконечной конкатена- ции. Эта аргументация принадлежит Мандриоли. Тем не менее существует подкласс языков сетей Петри, замкну- тый по отношению к бесконечной конкатенации, — это класс языков вполне оканчивающихся сетей Петри. Это понятие введено в [104] для моделей вычисления, основанных на сложных билогиче- ских графах. Мы заимствуем его определение и переводим в терми- ны сетей Петри. Определение 6.6. Сеть Петри является вполне оканчивающейся, если всякий раз, когда ее выполнение заканчивается, 1) в сети остается только одна фишка, находящаяся в заключительной позиции; 2) число фишек, находившихся в сети Петри, конечно. Заметим сначала, что вторая часть определения не обязательна, поскольку если сеть Петри оканчивает выполнение, то делает это за конечное число шагов и, следовательно, порождает только конеч- ное число фишек. Первая же часть определения обязательна. Сеть Петри можно рассматривать как машину, порождающую строки символов. Мы помещаем фишку на вход машины, и на ленте для нас печатается строка символов. В конце концов обнаружится, что ма- шина остановилась (т. е. не существует разрешенных переходов). В обычном подходе, когда не имеется отпечатанного выхода, не- обходимо анализировать текущее состояние машины и проверять, достигнута ли заключительная маркировка. Если она еще не дос- тигнута, мы не принимаем выданную строку и снова пускаем маши- ну. Если же сеть Петри вполне оканчивающаяся, то нет необхо- димости анализировать текущее состояние машины, поскольку гарантируется, что заключительная маркировка будет достигнута. Теперь легко видеть, как можно использовать вполне оканчи- вающуюся сеть Петри для построения сети Петри, порождающей бесконечную конкатенацию ее языка. Мы просто соединяем заклю- чительную и начальную позиции. Поскольку всякий раз, когда фиш- ка появляется'в заключительной позиции, сеть Петри, как мы зна- ем, бывает пуста, то при повторном использовании сети не будет запущен никакой нежелательный переход. Этот подкласс сетей Петри не представляет большого интереса, поскольку можно показать, что между вполне оканчивающимися сетями Петри и конечными автоматами существует взаимно одно- значное соответствие. Следовательно, языки вполне оканчиваю- щихся сетей Петри являются регулярными, и, как уже известно, этот класс языков замкнут по отношению к бесконечной конкате- нации. Таким образом, мы убедились, что изучение свойств систем,
Языки сетей Петри 173 моделируемых языками сетей Петри, ограничено конечными повто- рениями подсистем и бесконечными повторениями конечных под- систем. 6.5.8. Подстановка Мы уже говорили, что системы можно проектировать и модели- ровать с помощью сетей Петри иерархическим образом. Это подразумевает сначала спецификацию схемы работы системы на уровне подсистем и затем последовательное уточнение этой схемы путем замены операций на их определения в терминах других опе- раций. В случае применения сетей Петри уточнение может прини- мать форму подстановки целой сети Петри вместо перехода или позиции Последнее не вызывает никаких трудностей, в связи с этим мы ограничим наше рассмотрение задачей подстановки подсети вместо перехода (операции) сети Петри. Подстановку сети Петри вместо операции в другой сети Петри можно рассматривать как композицию языков двух сетей Петри. Поскольку операция представляется символом из 2, подстановка языка сети Петри £2 вместо символа о в другом языке сети Петри Li определяется как замена всех появлений о в Lt на множество строк L2. Языки сетей Петри замкнуты по отношению к подстанов- ке, если результат подстановки языка сети Петри есть также язык сети Петри. Вариациями подстановки являются конечная подста- новка, при которой £2 — конечное множество строк, и гомоморфизм, при котором £2 — одна строка. К сожалению, вновь результат отрицателен: языки сетей Петри не замкнуты по отношению к обычной подстановке. Это следует из примера подстановки Lz = anbn вместо с в £t = с*. Причиной опять является возможность повторного запуска сети Петри. В слу- чае же конечной подстановки или гомоморфизма £2 является регу- лярным языком, следовательно, можно построить вполне оканчи- вающуюся сеть Петри, порождающую его, из чего вытекают следую- щие теорема и следствие. Теорема 6.7. Если £2 — регулярный язык, a £t — язык сети Петри, то результат подстановки £2 вместо любого символа Lt — язык сети Петри. Следствие 6.2. Языки сетей Петри замкнуты по отношению к ко- нечной подстановке и гомоморфизму. 6.6. Языки сетей Петри и другие классы языков Рассмотрев свойства языков сетей Петри как класса языков, мы обращаемся теперь к исследованию взаимосвязи между языками сетей Петри и другими классами языков. Рассмотрим, в частности,
174 Глава 6 классы регулярных, контекстно-свободных, контекстно-связанных языков и языков типа 0. 6.6.1. Регулярные языки Одним из простейших и наиболее изученных классов формаль- ных языков является класс регулярных языков. Эти языки порож- даются регулярными грамматиками и конечными автоматами и ха- рактеризуются регулярными выражениями. Задачи эквивалентности Рис. 6.12. Коитекстио-свободный язык сети Петри, не являющийся регуляр- ным. и включения для двух регулярных языков разрешимы, известны алгоритмы их решения [130]. Такой набор желательных свойств языка сделал справедливым следующее утверждение. Теорема 6.8. Всякий регулярный язык — это язык сети Петри. Доказательство этой теоремы основано на том, что всякий ре- гулярный язык порождается некоторым конечным автоматом, а мы показали (см. разд. 3.3.1), что всякий конечный автомат можно пре- образовать в эквивалентную сеть Петри1). Обратная теорема не верна. На рис. 6.12 изображена сеть Пет- ри, порождающая контекстно-свободный язык {anb”ln > 1}, ко- торый не является регулярным. Таким образом, не все языки сетей Петри являются регулярными. 6.6.2. Контекстно-свободные языки Сеть на рис. 6.12 свидетельствует о том, что не все сети Петри являются регулярными, поскольку язык показанной сети Петри является контекстно-свободным, но не регулярным. Не все языки сетей Петри являются и контекстно-свободными, о чем свидетель- 1) В разд. 3.3.1 было показано соответствие сети Петри управляющему автомату, соответствие сети Петри распознающему автомату показывается аналогично. — Прим. ред.
Языки сетей Петри 175 ствует сеть, показанная на рис. 6.13, имеющая контекстно-свя- занный, но не контекстно-свободный язык. В отличие от случая с регулярными языками существуют также контекстно-свободные языки, не являющиеся языками сетей Петри. Примером такого языка служит контекстно-свободный язык 2*}. На основе этого доказывается следующее утверждение. Рис. 6.13. Контекстно-связанный язык сети Петрн, не являющийся контекст- но-свободным. Теорема 6.9. Существуют контекстно-свободные языки, не являю- щиеся языками сетей Петри. Доказательство. Допустим, что существует сеть Петри с п позиция- ми и т переходами, порождающая язык юаД. Пусть k — число символов в 2, k> 1. Пусть для входной строки xxR г равно |х|, т. е. длине строки х. Поскольку возможно kr входных строк х, сеть Петри должна иметь kT различных достижимых состояний, получающихся после запуска г переходов, для того, чтобы запом- нить строку х. Если состояний меньше, то для некоторых строк xt и х2 6(р, Xi) = 6(р, х2), xt #= х2. Тогда очевидно, что 6(р, xtXs) = = 6(6(р,Х1) '== б(б(н,х2),хг) = 6(p,x2xf) Q F, и сеть Петри будет порождать строку XtXs, которую не должна порождать. В разд. 4.2.2 мы показали, что для каждого перехода существу- ет вектор v j = е[/] • D, такой, что если &(q, t}) определено, то оно принимает значение q -J- v}. Следовательно, после подачи г вход- ных символов, т. е. запуска последовательности переходов получим состояние qr: <7r = Р + 2 . Сумму в выражении можно представить другим способом:
176 Глава 6 где fj — число запусков перехода tj в последовательности tiji, — (fi> . /m) — вектор запуска). Кроме того, извест- но, чтог 2fi = r. 1 В лучшем случае векторы uit v2, .... vm будут линейно независи- мы, и каждый вектор запуска (j\, f2, ..., fm) будет представлять един- ственное состояние qT. Так как сумма коэффициентов ft равна г, вектор (fi, f2, fm) образует разбиение целого г на т частей. Как показал Кнут [156J, число разбиений целого г на т частей равно г + т — 1 \ т — 1 ) ' Теперь, поскольку (г т —1\ т — 1 / (г + /п-1) (/- +1) (/п-1)! <(г \-т)т, то в множестве достижимости после запуска последовательности переходов длины г имеется строго меньше, чем (г + т)т, дости- жимых состояний. Тогда для достаточно большого г имеем (г+ т —1\ т — 1 / <(r+ m)m<kr, и, следовательно, невозможно иметь kr различных состояний для всякой из kr возможных входных строк. Таким образом, никакая сеть Петри не может порождать язык wwR. □ Доказательство этого факта проливает некоторый свет на огра- ниченность сетей Петри как машин, порождающих языки, и, сле- довательно, на природу языков сетей Петри. В сетях Петри нет возможности запомнить произвольно длинную последовательность произвольных символов. Из доказательства становится очевидно, что в сетях Петри можно запомнить последовательности ограни- ченной длины (но это возможно и в конечных автоматах). Другой особенностью сетей Петри является способность запоминать число появлений символа, как, например, в языке dWrf1, в пределах, не доступных для систем, порождающих регулярные и контекстно- свободные языки. Однако сети Петрине обладают «объемом мага- зинной памяти», необходимым для порождения контекстно-свобод- ных языков. Скорость роста пространства достижимых состояний с ростом длины входной строки для сетей Петри комбинаторна^, но не экспоненциальна, т. е. «объема магазинной памяти» недо статочно. б То есть порядка числа сочетаний из т по п для некоторых /пип. — Прим, перев.
Языки сетей Петри 177 Причина того, что сети Петри способны порождать языки, ко- торые не могут порождаться автоматами с магазинной памятью, несмотря на меньший размер пространства состояний, заключается в более гибких взаимосвязях между состояниями сети Петри по сравнению с ограниченными путями между состояниями в автомате с магазинной памятью. Это объясняется ограничениями в автомате с магазинной памятью на доступ только к верхнему элементу мага- зина, тогда как в сетях Петри возможно обращение к любому ее счетчику в любой момент времени. Теперь, когда мы показали, что не все контекстно-свободные языки являются языками сетей Петри и не все языки сетей Петри являются контекстно-свободными, естественно возникает вопрос: что из себя представляет класс языков, являющихся одновременно контекстно-свободными и языками сетей Петри? В настоящее время мы не в состоянии дать полный ответ на этот вопрос, но известна некоторая информация о языках, входящих в пересечение упомя- нутых классов. Одним подмножеством класса контекстно-свободных языков сетей Петри является класс регулярных языков. Другим — множество ограниченных контекстно-свободных языков, которые исследовались Гинзбургом [99]. 6.6.3. Ограниченные контекстно-свободные языки Контекстно-свободный язык L называется ограниченным кон- текстно-свободным, если в 2* имеются такие слова (строки) W1, w2, ..., wm, что Lcw\w*2...w*m. Термин «ограниченный» относится к конечному числу слов wi, w2>... ..... wm. Гинзбург разработал детально описанную процедуру про- верки свойств ограниченных контекстно-свободных языков. Он заметил, что в то время не было сведений о неразрешимых задачах, Касающихся ограниченных контекстно-свободных языков. Ограниченные контекстно-свободные языки характеризуются следующей теоремой, предложенной Гинзбургом [99, теорема 5.4]. Теорема 6.10. Семейство ограниченных контекстно-свободных язы- ков является наименьшим семейством множеств, определяемых сле- дующим образом: 1. Если W — конечное подмножество 2*, то W—ограниченный контекстно-свободный язык. 2. Если и 1Г2 — ограниченные контекстно-свободные языки, то (J 1Г2 и WfWs — ограниченные контекстно-свободные языки. 3. Если W — ограниченный контекстно-свободный язык и х, у £ С 2*, то {xlWy‘[i >0} — ограниченный контекстно-свободный язык.
178 Глава 6 Мы уже показали (разд. 3.3.1), что всякий конечный автомат1», а также всякий регулярный язык и всякое конечное подмножество 2* являются языками сетей Петри. В разд. 6.5.1 и 6.5.2 показано, что языки сетей Петри замкнуты по отношению к конкатенации и объединению. Следовательно, необходимо показать только, что п. 3 также выполняется для языков сетей Петри. С этой целью по- строим сеть Петри у' = (С', 2, р', F'), порождающую язык {x‘Wy‘li 5^0} по данным сетям Петри стандартного вида = — Их. Fx)y Ту = (^у. 2, ру, Fy) и = (Си/, 2, рц/, Fw), порождающим х, у и W соответственно, у' объединяет сети Петри Тх, Ту» W и новую позицию р таким образом, что всякий раз после выполнения ух в р помещается фишка. Позиция р служит счетчиком числа выполнений сети ух. После выполнения необходимого числа раз сети выполнится yw и, наконец, выполняется повторно •Уу, удаляя каждый раз одну фишку из р. Поскольку входная стро- ка порождается корректно, только если сеть Петри пуста (за ис- ключением F’, определенного, как Fy), мы уверены, что число вы- полнений и fy равно. Эта конструкция, иллюстрируемая на рис. 6.14 для х = ab, у = Ь(а + Ь) и W — Ь+а, показывает, что {xlWyl\i :> 0} — язык сети Петри. Таким образом, любой ограниченный контекстно-сво- бодный язык — это язык сети Петри. Существуют ли контекстно-свободные языки, являющиеся язы- ками сетей Петри, но не являющиеся ограниченными? К сожале- нию, ответ положителен. Гинзбург показал, что регулярное выра- жение (а 4- fe)+ не является ограниченным контекстно-свободным языком. Так как этот язык — контекстно-свободный язык сети Пет- ри, очевидно, что ограниченные контекстно-свободные языки яв- ляются лишь собственным подмножеством семейства контекстно- свободных языков сетей Петри. Кроме того, язык {(а + fe)+ anbn\r£> > 1}, являющийся контекстно-свободным, не ограничен и не регу- лярен. Для полной характеризации множества контекстно-свобод- ных языков сетей Петри необходимы дальнейшие исследования. Существование и регулярных множеств, и ограниченных кон- текстно-свободных языков в качестве подмножеств класса языков сетей Петрц оказывается полезным, поскольку оба класса языков имеют желательные свойства и некоторые благоприятные для ана- лиза характеристики. 6.6.4. Контекстно-связанные языки Мы исследовали взаимосвязь языков сетей Петри с регулярными языками и с контекстно-свободными языками. Обратимся теперь к контекстно-связанным языкам. На рис. 6.13 показан язык сети Петри, являющийся контекстно-связанным; мы докажем что все 1) См. сноску на с. 174. — Прим. ред.
Языки сетей Петри 179 Рис. 6.14. Сеть Петри, порождающая язык {x'W't/li > 0}. Эта конструкция показывает, что все ограниченные контекстно-свободные языки являются также языками сетей Петри.
180 Глава 6 языки сетей Петри — контекстно-связанные. Поскольку известно, что все контекстносвободные языки являются контекстно-связан- ными и существуют контекстно-свободные языки, не являющиеся языками сетей Петри, приходим к выводу, что существуют кон- текстно-связанные языки, не являющиеся языками сетей Петри. Следовательно, включение — собственное. Теорема 6.11. Все языки сетей Петри являются контекстно-свя- занными. Доказательство того, что все языки сетей Петри являются кон- текстно-связанными, довольно сложно. Существуют два способа показать, что язык контекстно-связанный: построить контекстно- связанную грамматику, порождающую его, или определить недетер- минированный линейно-ограниченный автомат, порождающий этот язык. Питерсон [236] показал, как определяется контекстно-свя- занная грамматика, порождающая язык сети Петри. Здесь мы по- казываем как линейно-ограниченный автомат может породить язык сети Петри. Линейно-ограниченный автомат подобен машине Тьюринга. Он имеет конечное множество состояний, головку чтения/записи и (бесконечную в обе стороны) ленту. Ограничением, отличающим его от машины Тьюринга, служит то, что длина участка ленты, ко- торый можно использовать, ограничивается линейной функцией от длины входной строки. В этом смысле он подобен автомату с магазинной памятью, порождающему контекстно-свободный язык (поскольку максимальный размер магазина ограничен линейной функцией от входной строки), за исключением того, что линейно- ограниченный автомат имеет произвольный доступ к своей памяти, тогда как магазинный автомат имеет доступ к памяти только с од- ного конца. Для порождения языка сети Петри ее можно промоделировать, запоминая после каждого входного символа число фишек в каждой позиции. Какова скорость роста числа фишек как функции от дли- ны входной строки? Рассмотрим число фишек, полученное после г запусков переходов. Это число, обозначаемое с, для последова- тельности переходов равно с = 1 + 2(Ю(«,,)!-!/(/, ,)|) Так как числа #(рь, (O(tj)) и #(/?&, /(tj)) и, следовательно, |/(/у) | и |О(^>) | (мощности входного и выходного комплектов) фик- сированы для данной сети Петри, то существует максимальное значение разности I: I = шах( 1 O(G)|-| l(t}) | ). Таким образом, с = 1 + 2( [ O(tt) | — [ 1 (/г.) | )< 1 1 t 1
Языки сетей Петри 181 Языки типа О (T-D) Контекстно-связанные (CS) Языки сетей Петри (PNL) Регулярные (R) Контекстно - свободные (CF) Ограниченные контекстно свободные (BCF) Рис. 6.15. Взаимосвязь языков сетей Петри с традиционными классами язы- ков. Число фишек, а следовательно, и объем памяти, необходимый для запоминания их, ограничены линейной функцией от длины входной строки. Поэтому языки сетей Петри могут порождаться линейно- ограниченными автоматами. Этим доказательством мы показали, что все языки сетей Петри контекстно-связанные. Результаты нашего исследования взаимо- связи класса языков сетей Петри с другими классами языков све- дены на рис. 6.15 и показаны там в виде графа и диаграммы Венна. На рис. 6.16 приведены свойства языков сетей Петри [237, 115]. 6.7. Дополнительные сведения Большинство представленных здесь результатов приведены и в [237] н в [115]. Кроме того, Хэк исследовал множество задач раз- решимости для языков сетей Петри. Задача принадлежности (яв-
182 Глава 6 Замкнутость по отноше- нию к Объединению 7? Нет L Да I? Да pf ? р Да рХ Да Пересечению Да Да Да Да Да Да Конкатенации ? Да Да ? Да Да Параллельной композиции ? Да Да ? Да Да Регулярной подстановке Нет /-сво- бодные Да ? Префикс- ные Префикс- ные Обратному гомоморфизму Да Да Да Да Да Да Звезде Клини (итерации) ? Нет Нет ? ? Дополнению Нет ? Нет Нет ? Нет Содержит регулярные языки Нет Да Да Нет Префикс- ные Префикс- ные Симметрическая разность с контекстно-свободными языками (не пуста) Да Да Да Да Да Да Контекстно-связанный? Да Да ? Да Да ? Рис. 6.16. Свойства некоторых языков сетей Петри (взято из [237, 115]). Разрешимость задачи L I? Р! Р рХ Принадлежности Р Р ? Р Р Р Пустоты ? ? ? Р Р Р Конечности р ? ? Р Р Р Эквивалентности и вклю- чения ? Н н ? Н Н Рис. 6.17. Свойства разрешимости языков сетей Петри L- и P-типа (Р — раз- решима, Н — неразрешима). ляется строка а элементом языка £(?)?) разрешима, тогда как за- дача пустоты (является язык L(y) пустым?), как легко видеть, экви- валентна задача достижимости. Неразрешимы задача равенства двух языков сетей Петри и задача их включения. Эти результаты сведены на рис. 6.17. Другой подход к изучению сетей Петри с использованием тео- рии формальных языков рассматривался в [61]. Они заметили сходство между запуском переходов и применением правил порож- дения в выводе, понимая позиции как нетерминальные символы, а фишки — как отдельные экземпляры нетерминальных символов. Основное отличие заключается в отсутствии в сетях Петри информа- ции об упорядочении, которая содержится в выводе в виде предло- жений. Оно привело к определению коммутативных грамматик,.
Языки сетей Петри 183 изоморфных сетям Петри. Кроме того, в [61] рассматривалась взаи- мосвязь сетей Петри с матричными [1], контекстно-рассеянными, нетерминально-ограниченными языками; языками, ограниченными по выводу; равноматричными языками и языками Сциларда. Не- трудно видеть, например, что класс U совпадает с множеством язы- ков Сциларда матричных контекстно-свободных языков [64, 131]. 6.8. Замечания к литературе Имеются три хороших исследования языков сетей Петри: ра- боты [237, 238], вероятно, менее труднодоступные, чем [115] (по- следнее исследование более строгое и полное); [61] — очень трудно- доступная, но прекрасная работа, хорошо продуманная и изложен- ная. 6.9. Темы для дальнейшего изучения Хотя в исследовании свойств языков сетей Петри сделано уже не- мало, многое еще предстоит сделать. Из всех определенных классов языков изучены только два — Р- и £-типа, и они только для обыч- ных сетей. Было определено несколько подмножеств множества обычных сетей Петри: маркированные графы, бесконфликтные сети, простые сети, сети со свободным выбором (гл. 7). Каждый из этих классов сетей Петри, по-видимому, имеет свой класс языков с при- сущими им отличительными особенностями. Некоторые исследова- ния этих классов уже проведены. Известно [115], что классы L, Lx , G, Gx , Р и для простых сетей Петри (без петель и кратных дуг, все комплекты — множества, и для каждого tj I(tj) П O(tj) = 0) идентичны соответствующим классам для обычных сетей Петри. Нетрудно видеть также, что классы 1Л , Gf и Рк не изменятся при ограничении сетей до сетей со свободным выбором (см. разд. 7.4.3). Остаются не изученными еще многие интересные случаи. В част- ности, языки, порождаемые маркированными графами или в общем случае бесконфликтными сетями, как оказалось, имеют структуру, напоминающую структуру детерминированных контекстно-сво- бодных языков, их исследование многообещающе. Еще одна важная открытая задача касается отличия между X- свободными языками (L, Р, -.) и неограниченными языками (I/ , Рх, ...). Например, не известно, выполняется ли L = Lx или нет. 1. Выберите класс языков сетей Петри, отличный от языков L-типа, и разработайте его теорию. 2. Определите все множество взаимосвязей между 12 классами язы- ков сетей Петри, в частности для каждой пары классов языков сетей Петри, или покажите, что один класс содержится в другом, или найдите язык, находящийся в одном классе и не присутствую- щий в другом.
184 Глава 6 3. Рассмотрите возможность присвоения меток позициям сети Пет- ри, а не переходам. Этот подход использовался в [104]. Определите осуществимость такого подхода и, если он возможен, разработайте новую теорию языков позиций сетей Петри. 4. Разработайте теорию языков сетей Петри, в которой сети Петри рассматриваются не как порождающие язык, а как распознающие его.
ГЛАВА 7 РАСШИРЕННЫЕ И ОГРАНИЧЕННЫЕ МОДЕЛИ СЕТЕЙ ПЕТРИ В гл. 3 мы показали, что сети Петри могут быть использованы для моде- лирования самых различных систем: аппаратного и программного обеспече- ния вычислительных машин, химических, социальных систем и т. д. Однако это разнообразие примеров лишь показывает, что сети Петри могут адекватно моделировать некоторые системы, но могут существовать системы, которые нельзя должным образом моделировать сетями Петри, т. е. мощность модели- рования сетей Петри имеет пределы. Кроме того, в гл. 5 показано, что не все вопросы анализа сетей Петри разрешимы. Так, неразрешимы задачи эквивалентности и включения для мно- жеств достижимости сетей Петри и языков сетей Петри, хотя эти задачи могут оказаться очень важными для получения оптимальных сетей Петри. Даже те вопросы анализа, которые разрешимы, очень трудны, имеется в виду то, что они требуют большого объема вычислений. В этой главе мы исследуем предложения, которые были сделаны для пре- одоления двух ограничений сетей Петри: ограничений на мощность моделиро- вания сетей Петри и ограничений на мощность разрешения сетей Петри. Во- первых, рассмотрим некоторые предложения по расширению модели сети Петри. Расширение модели сети Петри должно увеличивать мощность модели- рования сетей Петри, ио при этом оио может уменьшать их мощность разре- шения. Влияние любого расширения на мощность разрешения расширенной модели требует тщательного изучения. Отметив, что расширение модели сети Петри может приводить к уменьше- нию мощности разрешения, мы рассмотрим также, как мощность разрешения может быть увеличена посредством ограничения модели сета Петри. Уже пред- ложены различные подклассы моделей сети Петри, которые обусловлены огра- ничениями на структуру сети Петри. Необходимо исследовать влияние этих ограничений как на мощность моделирования, так и на мощность разрешения. Такое исследование покажет, как взаимосвязаны мощность моделирова- ния и мощность разрешения, а также укажет границы обеих для модели сети Петрн. 7.1. Границы возможностей моделирования с помощью сетей Петри Исследователи, использовавшие сети Петри для моделирования систем, обнаружили, что возможности моделирования сетями Петри реальных систем ограниченны. Этим объясняется появление тен- денции к расширению модели. Имеется несколько типов расши- рений. Патил [231] предложил расширить сети Петри путем введения понятия области ограничения. Область ограничения — это мно- жество позиций. Правило запуска модифицируется таким образом, что переход может быть запущен тогда и только тогда, когда в ре- зультирующей маркировке не все позиции, входящие в область
186 Глава 7 ограничения, одновременно имеют фишки (не пусты). Например, если {plt р^} есть область ограничения, то в любой момент времени либо р1г либо р^ должны быть пусты. Если pt не пуста, то фишка не может быть помещена в pi до тех пор, пока все фишки из pi не бу- дут удалены, и наоборот. Рис. 7.1. Переход исключающее ИЛИ. Переход tj может быть запущен, если одна из позиций pt и рь имеет фишку. Ное в своей модели операционной системы CDC 6400 [214] ввел другое расширение: переход исключающее ИЛИ (рис. 7.1). В обыч- ных сетях Петри переход запускается, когда все его входы имеют фишки. Такое правило называется логикой И, поскольку мы долж- ны иметь фишки и в первом входе, и во втором входе, и в третьем входе и т. д. Переход исключающее ИЛИ может запускаться тогда и только тогда, когда точно один из его входов имеет фишки, а все другие фишек не имеют. Следовательно, разрешающее правило состоит в том, чтобы имел фишку или первый, или второй вход (но не оба одновременно). Когда переход запускается, он удаляет фиш- ку только из входа с фишками. Подобное расширение было использовано Баером в его модели компилятора [23]. Баер ввел понятие переключателя (рис. 7.2). Переключатель — это специальный переход со специальным вхо- дом, называемым переключающим, и точно двумя выходами (один помечен символом е для пустого переключающего входа, а другой помечен символом f — для непустого переключающего входа). Переключаемый переход запускается, когда он разрешен (незави- симо от состояния специального переключающего входа). Когда он запускается, фишка помещается в выход, помеченный символом е, если переключающий вход пуст, или в выход, помеченный сим- волом /, если переключающий вход не пуст. Таким образом, в за- висимости от состояния переключателя запуск переключаемого перехода приведет к одной из двух возможных маркировок. Фишка удаляется из переключающего входа, если он имел ее, поэтому после того, как переключаемый переход запустится, переключающий вход будет пуст. Рассмотренные расширения сетей Петри были предложены для решения определенных задач, с которыми встретились исследователи
Расширенные и ограниченные модели сетей Петри 187 Рис. 7.2. Запуск переключателя. Позиция переключающего входа изображе- на в виде пятиугольника. а — пустой переключатель; б — полный переключатель. при попытках моделировать реальные системы. Однако акцент в этих работах сделан на моделирование, а не на теоретическую мощ- ность сети Петри, поэтому в них не рассматривается, были ли эти расширения необходимыми или достаточными для решения общих проблем моделирования. Фактически во всех случаях рассматри- ваемые сети были безопасными и, следовательно, множество дости- жимости — конечным, т. е. эти сети представляются конечными автоматами, которые в свою очередь (разд. 3.3.1) легко представ- ляются ординарными сетями Петри. Очевидно, что в описанных случаях были введены не расширения, а некоторые удобства. В разд. 5.3 также показано, что многие расширения ограниченной модели сети Петри, например, допускающие кратные дуги и петли, в действительности являются не расширениями, а средствами, об- легчающими моделирование. Из сказанного выше не становится ясным, что является огра- ничением (если оно существует) сетей Петри. Ответ на этот вопрос был найден после получения ответа на подобный вопрос о Р- и V- операциях Дейкстры над семафорами. Дейкстра определил свои Р- и V-операции над семафорами для обеспечения синхронизации и связи в системах взаимодействующих процессов [78]. Семафор может рассматриваться как целочисленная
188 Глава 7 переменная, которая принимает только неотрицательные значения. V-операция над семафором 5 увеличивает значение семафора на единицу: 5 = 5 + 1. P-операция, наоборот, уменьшает S на еди- ницу до тех пор, пока результат не становится равным нулю; при 5 = 0 процесс, прежде чем продолжать свою работу, должен ждать момента, когда S можно будет уменьшить. Связь между семафорами и сетями Петри была выявлена в разд. 3.4.8. Поскольку Р- и V-операции были предложены как механизм для решения всех задач синхронизации программ, то естественно воз- никает вопрос о полноте, т. е. об их способности к решению всех задач координации. Патил в 1971 г. [2331 предложил доказатель- ство того, что Р- и V-операции недостаточно мощное средство для решения всех задач координации. Его подход был весьма прост: он сформулировал задачу синхронизации, которая не может быть решена с помощью Р- и V-операций, — это задача о курильщиках сигарет. Задача о курильщиках сигарет включает (по меньшей мере) че- тыре процесса, которые моделируют агента и трех курильщиков. Каждый курильщик непрерывно изготавливает сигарету и курит ее. Чтобы сделать сигарету, необходимы три составные части: та- бак, бумага и спички. Один из курильщиков всегда имеет бумагу, другой — табак, а третий — спички. Агент обладает бесконечными запасами всех трех составных частей. Агент кладет две составные части на стол. Курильщик, имеющий третий недостающий ингре- диент, может сделать и закурить сигарету, сигнализируя об этом агенту. Тогда агент помещает другие два из трех инградиентов, и цикл повторяется. Если семафор поставить в соответствие каждой составной части, задача о курильщиках формулируется в терминах семафоров. Сема- форы первоначально равны нулю. Агент увеличит два из трех сема- форов с помощью V-операций, а затем ждет семафора «сделано». Соответствующий процесс курильщика уменьшает два семафора (с помощью P-операций), а затем, произведя действия «сделать сигарету» и «закурить сигарету», увеличивает семафор, указывая «сделано». Задача заключается в том, чтобы разработать программу процессов курильщиков для того, чтобы определить, какой из трех процессов должен действовать в очередной момент. Действия аген- та фиксированны и не могут быть изменены. Рис. 7.3 иллюстрирует очевидное «решение». Предположим, агент кладет табак и бумагу (V(/), V(p)]. Тогда курильщик с бумагой может взять табак [Р(/)1, а курильщик с табаком может взять бума- гу [Р(р)], что в результате приводит к тупику. Патил доказал, что никакая последовательность Р- и V-опера- ций не может корректно решить эту задачу. Это было показано с помощью доказательства того, что все Р- и V-врешения» могут быть промоделированы сетями Петри определенного вида (каждый пере- ход имеет не более двух входов), но что решением является сеть Пет-
Расширенные и ограниченные модели сетей Петри 189 P(S) V(p) V(«) Агент объединяет три процесса Рис. 7.3. Задача о курильщиках сигарет. ри другого вида, и нет способа преобразовать сеть одного вида в сеть другого вида, не допуская возможности возникновения тупика. Существовали некоторые сомнения, связанные с решением Па- тила, — особенно в том, что касается массивов семафоров [230], но тем не менее идея решения верна. В [159, 71, следуя работе Па- тила, получена задача, которая не может быть решена Р- и V-one- рациями или сетями Петри. То же ограничение мощности модели- рования было ранее определено Келлером [150]. Задача, сформулированная в [159, 7], вполне реальна. Пред- положим, что мы имеем два процесса производителя и два процесса .Потребителя. Первый процесс: производитель Pi создает элементы Данных для первого процесса потребителя Clt а другой производи- тель Р2 — для второго потребителя С2. Элементы данных, которые произведены, но еще не использованы, помещаются в буфер: буфер Bj для пары (Pi, Ci) и В2 для (Р2, С2). Передача данных из буферов ►к потребителям происходит через общий канал. Канал может пере- сдавать только по одному элементу за сеанс, причем из любого буфе- ра любому потребителю. Производители просто помещают данные Ь буфера. Потребители должны координировать свои действия по ^Использованию канала. Управляющий потребитель приказывает 'каналу передать данные из соответствующего буфера. Все это схе- матично изображено на рис. 7.4.
190 Глава 7 Рис. 7.4. Процессы производителя/потребителя с буферизацией и совместно используемым каналом. Главная проблема, связанная с этой системой, состоит в рас- пределении канала. Пара производитель/потребитель (Рь должна иметь приоритет по отношению к (Р2, С2) на использова- ние канала. А именно, канал никогда не должен передавать эле- менты данных из буфера В2 потребителю С2 до тех пор, пока буфер Bi не пуст. Это правило приоритета не позволяет системе быть моделируемой сетью Петри. Идея доказательства относительно проста. Предположим, что мы находимся в состоянии, когда имеется р элементов в двух буферах Bi и В2. Если сейчас производитель Pt делает перерыв, то все эле- менты из буфера Bt будут в конце концов переданы производителю Ci, и буфер Bi будет пуст. Это позволит переместить элементы из буфера В2 потребителю С2. Таким образом, существует путь из состояния |1 в состояние р', в котором потребитель С2 может исполь- зовать канал. Если сейчас в действительности производитель Pi произведет дополнительно k элементов данных, то мы будем в со- стоянии р 4- k, а не в состоянии р. Но из-за нечувствительности условий запусков переходов сетей Петри к числу фишек в позиции последовательность запусков, которая переводила нас из р в р', будет все еще допустимой и переведет нас из состояния р + k в состояние р' + k. И поскольку потребитель С2 мог использовать канал в р', а сеть Петри является не чувствительной к числу фишек
Расширенные и ограниченные модели сетей Петри 191 в позиции, то потребитель Cz может использовать канал, несмотря на присутствие k элементов в буфере Bj. Таким образом, нечувстви- тельность условий запусков переходов сети Петри к числу фишек в позиции не позволяет корректно моделировать эту приоритетную систему. Более конкретно ограничение на моделирование с помощью се- тей Петри состоит в неспособности проверить на наличие точно определенной маркировки в некоторой неограниченной позиции и осуществить действие в зависимости от результатов провер- ки. Это ограничение общеизвестно как неспособность к проверке на нулевую маркировку в некоторой позиции, и поэтому это свойство известно как проверка на нуль [1501. Сети Петри не могут проверить неограниченную позицию на нуль. [Если позиция огра- ниченна, то нуль может быть выявлен. Для ограниченной позиции pi с границей k мы можем создать дополнительную позицию pt — такую, что сумма р(р/) + р(р/) является константой, равной k для всех достижимых маркировок. Это позволяет нам проверить, равняется ли р-(Рг) нулю, проверяя, равно ли р(/\') k (см. разд. 5.6).] Упражнения 1. Изобразите модель сети Петри для «решения» задачи о курильщиках си- гарет с рис. 7.3. Покажите, что эта сеть не является активной. Предложите сеть Петри, которая может решить задачу о курильщиках сигарет. В чем эта вторая сеть отличается от первой’ 7.2. Расширения Как указанное ограничение мощности моделирования сети Пет- ри соотносится с предложенными расширениями сетей Петри? Все предложенные расширения направлены на создание в сетях Петри возможности проверки на нуль. Самым простым расширением сетей Петри, которое допускает проверку на нуль, являются сдерживаю- щие дуги. Сдерживающая дуга показана на рис. 7.5. Сдерживаю- щая дуга из позиции в переход tj имеет маленький кружок, а не стрелку у конца дуги, присоединенного к переходу. Это обозначе- ние перешло из теории переключательных функций, где маленький кружок означает «не»1’. Правило запуска изменяется следующим образом: переход является разрешенным, когда фишки присутству- ют во всех его (обычных) входах и отсутствуют в сдерживающих входах. Переход запускается удалением фишек из всех его (обыч- ных) входов. Таким образом, в расширенной сети Петри с рис. 7.5 переход с2 может быть запущен, только если фишки присутствуют в пози- циях &2 и Pi и отсутствуют в bj. Эта сеть является решением для за- 1) Отрицание. — Прим, персе.
192 Глава 7 дачи о приоритетном совместном использовании канала, которая сформулирована в 1159], чтобы показать ограниченность сетей Петри. Сети Петри со сдерживающими дугами являются интуитивно самым прямым подходом к увеличению мощности моделирования с помощью сетей Петри. К тому же верно, что все другие предло- Рис. 7.5. Расширенная сеть Петри со сдерживающей дугой. женные расширения сетей Петри либо на самом деле не являются расширением (то есть они фактически эквивалентны обычным сетям Петри), либо являются эквивалентными сетями Петри со сдерживающими дугами. Ниже обсудим несколько предложенных расширений для того, чтобы проиллюстрировать эту точку зрения. 7.2.1. Области ограничения Области ограничения были предложены Патилом [231] для уве- личения мощности моделирования сетей Петри. В контексте Патила области ограничения были только средством для того, чтобы сде- лать процесс моделирования проще, а не для того, чтобы увеличить мощность моделирования, поскольку все позиции в работе Патила были ограниченны. Однако определение областей ограничения не исчерпывается ограниченными сетями Петри, а для более общего класса сетей Петри верно, что они эквивалентны сетям Петри со сдерживающими дугами. Чтобы показать эквивалентность областей ограничения и сдер- живающих дуг, предположим, что мы имеем сеть Петри С = (Р, Т, 7,0) с областью ограничения QeP. Мы должны гарантировать, что в любой достижимой маркировке не все позиции в Q имеют фишки. Это может случиться только тогда, когда переход tбудучи запу- щенны м, помещает фишки в те позиции области ограничения, ко-
Расширенные и ограниченные модели сетей Петри 193 Рис. 7.6. Сеть Петри с областью ограничения {рз, р7}, которая означает, что в произвольной достижимой маркировке фишки могут быть либо в рз, либо в р7, но не в обеих одновременно. Рис. 7.7. Сеть Петри со сдерживающими дугами, соответствующая сети Пет- ри с ограничениями (рис. 7.6). Сдерживающие дуги гарантируют невозмож- ность одновременного появления фишек в позициях рз и р7. */27—562
194 Глаеа 7 торые не содержали фишек до того, как переход был запущен. Таким образом, для каждого перехода tвыходные позиции кото- рого являются членами области ограничения, мы должны гаранти- ровать, что по меньшей мере один из членов области ограничения не будет маркирован после запуска этого перехода. Для обеспече- ния этого мы создадим для каждой позиции pti из области ограни- чения Q, не вошедшей в 0(/?), новый переход tp#. Этот переход titk идентичен tj, за исключением того, что он имеет сдерживающую Рис. 7.8. Преобразование перехода в переход-НАЧАЛО и пере ход-КОНЕЦ с позицией, представляющей запуск перехода. дугу из рк к tj,b- Действие, производимое запуском tpk, совпада- ет с действием, производимым запуском t}, и, если tj может быть запущен без нарушения накладываемого областью ограничения, то по меньшей мере один из tj.k также может быть запущен. В качестве примера такого построения рассмотрим сеть Петри на рис. 7.6. Если мы введем область ограничения {р3, р7} (то есть при любой маркировке позиции р3 и р7 не должны одновременно иметь фишки), то эквивалентной сетью Петри со сдерживающими дугами будет сеть с рис. 7.7. Преобразование сдерживающих дуг в области ограничения яв- ляется более сложным. Мы не можем просто потребовать, чтобы выход перехода не был бы маркирован в одно время со сдерживаю- щим входом, поскольку фишки могут быть помещены в выходные позиции другими переходами. Мы должны сосредоточить свое внимание на переходе /у. Потребуем расщепления каждого пере- хода tj на два перехода, // и //', и позицию р}'. Мы определим I(tj') — I(tj) (без сдерживающих дуг) и 0(f/') = O(tj). Позиция pj' представляет запуск t}, поэтому О(//) = {р/} = W"). Это показано на рис. 7.8. Теперь определим область ограничения
Расширенные и ограниченные модели сетей Петри 195 Рис. 7.9. Интерпретация перехода ис- ключающее ИЛИ с помощью сдержи- вающих дуг. Рис. 7.10. Преобразование пере- ключателей в сети Петри со сдер- живающими дугами. {Р/> Pj’} для каждой позиции pit которая является сдерживаю- щим входом для tj. Это обеспечит то, что переход не может быть за- пущен, если маркировка pt ненулевая. 7.2.2. Переходы исключающее ИЛИ и переключатели Переход исключающее ИЛИ tj с входом I(t^ требует, чтобы один и только один из его входов был не пустым, для того чтобы этот переход был разрешенным. Эта конструкция эквивалентна мно- жеству переходов по одному для каждого элемента в Щ]). Каждый переход имеет один (обычный) вход, а остальные входы являются сдерживающими дугами. На рис. 7.9 представлен пример. Пере- ключатели также могут быть легко преобразованы в сдерживающие дуги. Это показано на рис. 7.10. Способ преобразования сдерживающих дуг в переключатели или в переходы исключающее ИЛИ не ясен, но такой способ опре- деленно существует. 7.2.3. Другие расширения Имеются еще два других важных расширения сети Петри. Пе- реходам могут быть поставлены в соответствие приоритеты так, что если ti и tk оба допустимы, то переход с высшим приоритетом бу- i/27**
196 Глава 7 дет запущен первым [115]. Во временных сетях Петри [194] каж- дому переходу tj сопоставляются два момента времени Ti,/ и т2,;-. Переход tj может быть запущен, только если он был разрешен к моменту времени Tjj. Если он является разрешенным, то должен быть запущен до наступления момента времени т2,/. Оба этих рас- ширения могут использоваться для проверки на нуль. Рис. 7.11. Использование приоритетов для проверки позиций р иа нуль. Переход к имеет по сравнению с h более высокий приоритет. В случае приоритетов легко проверить, есть ли фишка в пози- ции pt (рис. 7.11). Если мы помещаем фишку в позицию «рг = О?» и назначаем переходу Ц более высокий приоритет, чем переходу t2, то в результате в одной из двух позиций справа появится фишка. Выбор позиции зависит от маркировки позиции pt. Справедливость этого определяется тем фактом, что переход может быть запущен, только если он разрешен, а он является разрешенным, только если позиция pi имеет фишку. Если не может быть запущен из-за того, что р^ пуста, то тогда и только тогда будет запущен переход t2. Хэк показал способ преобразования сетей Петри с приоритетами в сети Петри со сдерживающими дугами, и наоборот [115]. Времен- ные сети Петри также могут осуществлять проверку позиции на нуль, моделируя приоритеты. Если мы имеем два перехода^- и tk и устанавливаем т2>/-< то переход tj имеет приоритет над пе- реходом tk, поскольку tj должен запускаться (если он разрешен) до того, как th мог бы быть разрешен для запуска. 7.3. Расширенные сети Петри и регистровые машины Мы показали, что все предложенные расширения модели сетей Петри допускают возможность проверки позиции на нуль. На- сколько это важно по отношению к мощности разрешения сетей Пет- ри? Влияет ли это на возможность анализа сетей Петри? Проверка на нуль уменьшает мощность разрешения сети Петри. Агервала [4], Хэк [115], Томас [290] и др. показали, что появление способности проверки на нуль у модели сетей Петри позволяет се-
Расширенные и ограниченные модели сетей Петри 197 тям Петри моделировать машину Тьюринга. Таким образом, сети Петри с проверкой на нуль дают схему моделирования, с помощью которой можно моделировать любую систему. Однако почти все во- просы анализа сетей Петри становятся неразрешимыми, поскольку они неразрешимы для машин Тьюринга. Доказательство эквивалентности расширенных сетей Петри и машин Тьюринга относительно просто. Легче всего его представить в терминах регистровых машин Шепардсона и Стургиса (2761 или программных машин Минского [2001. Регистровая машина есть абстрактная модель ЭВМ с несколь- кими регистрами, которые используются для хранения произволь- но больших чисел. Для манипулирования этими регистрами пишет- ся программа. Программа есть последовательность инструкций ви- да «увеличить регистр п на 1», «уменьшить регистр п на 1 (только если регистр п не равен 0)», «перейти к предложению s, если регистр п не равен нулю», и т. д. Ниже представлена программа сложения содержимого регистра 2 с регистром 1. 1. Если регистр 2 равен нулю, то идти к инструкции 5. 2. Вычесть 1 из регистра 2. 3. Прибавить 1 к регистру 1. 4. Идти к инструкции 1. 5. Стоп. Шепардсон и Стургис показали, что регистровая машина со следующими инструкциями эквивалентна машине Тьюринга. 1. Р(п): увеличить регистр п на 1. 2. D(ri): уменьшить регистр п на 1 (регистр п не равен нулю). 3. J(n) [s]: перейти к предложению s, если регистр п равен нулю. Таким образом, если регистровая машина может быть преобра- зована в эквивалентную сеть Петри, то тем самым будет показано, что расширенные сечи Петри эквивалентны регистровым машинам. Это преобразование относительно просто. Для представления регистровой машины расширенной сетью Петри представим п регистров, используемых в программе, п по- зициями pi, р2, ..., рп- Мы также используем s + 1 позицию для представления положения счетчика инструкций либо перед предложением 1 (начальная маркировка), либо после предложения I для i = 1, ..., s в программе из s предложений. Каждая инструк- ция в программе представляется переходом. На рис. 7.12 показано, как каждая из трех вышеприведенных инструкций представляется переходом в расширенной сети Петри. Из этого видно, что регист- ровая машина может быть преобразована в расширенную сеть Пет- ри, и, следовательно, расширенная сеть Петри эквивалентна ма- шине Тьюринга. Эта эквивалентность машине Тьюринга разрушает все надежды на возможность анализа расширенных сетей Петри. Однако это же доказывает, что расширенные сети Петри могут моде- лировать любую систему (или по крайней мере любую вычисли- мую систему). Таким образом, мы видим, что увеличение мощности
198 Глава 7 Рис. 7.12. Преобразование инструкции (номер i) регистровой машины в пере- ход расширенной сети Петри со сдерживающими дугами. а — Р(п)- увеличить содержимое регистра п на 1; б — В(п): уменьшить содержимое регистра п на 1 (содержимое регистра п должно быть положительным), в — J(n)[sj: переход к инструкции s в случае нулевого значения регистра п. моделирования в этом случае приводит к определенному уменьше- нию мощности разрешения. Отметим также, что ключевым моментом в доказательстве экви- валентности сетей Петри, регистровых машин и машин Тьюринга является способность к проверке одной позиции на нуль. Таким образом, все предложенные расширения — области ограничения, переходы исключающее ИЛИ, переключатели, приоритеты, интер- валы времени и сдерживающие дуги — расширяют модели сетей Петри до уровня машин Тьюринга. Существуют другие предложения по расширению, которые не поднимают сети Петри до уровня машин Тьюринга. Первыми в ка- честве расширений были предложены петли и кратные входные и выходные дуги. Но как это было показано в разд. 5.3, такие сети Петри фактически эквивалентны простым сетям Петри. Аналогич- но добавление входов ИЛИ, выходов ИЛИ, выходов исключающее ИЛИ не увеличило бы мощность моделирования сетями Петри.
Расширенные и ограниченные модели сетей Петри 199 Вообще, кажется, что любое расширение, которое не позволяет проверку на нуль, в действительности не увеличивает мощность моделирования (или не уменьшает мощность разрешения) сетей Петри, но приводит просто к другой эквивалентной формулировке модели сети Петри (может возрасти удобство моделирования). В то же самое время любое расширение, которое разрешает проверку на нуль, увеличивает мощность моделирования до уровня машин Тьюринга и сводит мощность разрешения к нулю. 7.4. Подклассы сетей Петри Цель расширения сетей Петри состоит в увеличении их мощности моделирования. К несчастью, побочным эффектом такого расшире- ния является значительное уменьшение мощности разрешения рас- ширенных сетей Петри. Мощность разрешения обычных сетей Петри также сомнительна из-за их сложности и обширности (вспомните результаты разд. 5.8 по сложности задач достижимости и ограни- ченности). Это привело к появлению некоторых исследований под- классов сетей Петри. Цель этих исследований состоит в определе- нии разумных структурных ограничений, налагаемых на сети Пет- ри, которые увеличивают мощность разрешения ограниченных моделей сетей Петри, не ограничивая существенно мощность моде- лирования. Многие задачи, связанные с подклассами сетей Петри, могут быть решены. И цель этой части исследований сетей Петри доста- точно проста: определить подкласс сетей Петри, который может моделировать большой класс систем (все или почти все интересую- щие нас системы), но для которого еще существуют простые проце- дуры анализа (по крайней мере для интересующих нас проблем). Необходимо также, чтобы существовал простой способ для опре- деления, является ли какая-либо сеть Петри членом определенного подкласса. Все определенные подклассы являются синтаксическими или структурными подклассами, и можно легко проанализировать структуру сети Петри для выяснения, является ли эта сеть Петри членом определенного подкласса. В этом их отличие от подклассов, которые можно определить в соответствии с динамическими свой- ствами, такими, как устойчивые сети Петри (161] или ограниченные сети Петри. Такие подклассы могут иметь очень хорошие свойства, но для них очень трудно определить, является ли произвольная данная сеть Петри устойчивой или ограниченной. Достаточно полно изучены только два главных подкласса моде- ли сетей Петри: автоматные сети Петри и маркированные графы. Кроме того, Хэк [107] изучил подкласс, названный сетями Петри со свободным выбором, и сформулировал предположения, что , другой подкласс, правильные сети Петри могут иметь хорошие свой- ства с точки зрения разрешимости. Мы представим каждый из этих классов и укажем их основные свойства, достоинства и недостатки.
200 Глава 7 7.4.1. Автоматные сети Петри Автоматная сеть Петри — это сеть Петри, в которой каждый переход может иметь точно один выход и один вход. Определение 7.1. Автоматная сеть Петри — это сеть Петри С= (Р, Т, I, О) — такая, что для всех tj £ Т, |/(/,)| = 1 и |0(f,) | = = 1. Некоторые свойства автоматных сетей Петри очевидны. Преж- де всего автоматные сети Петри — строго сохраняющие. Это озна- чает, что число фишек в такой сети никогда не изменяется, и мы получаем таким образом конечную систему. Отсюда следует, что дерево достижимости для автоматной сети Петри является конеч- ным, и, следовательно, все вопросы анализа для автоматных сетей Петри разрешимы. Фактически автоматные сети Петри эквивалент- ны автоматам, как они определяются в теории автоматов и фор- мальных языков (см. разд. 3.3.1). Таким образом, эти модели име- ют ограниченный интерес, несмотря на их мощность разрешения, из-за ограниченной мощности моделирования конечных автоматов. 7.4.2. Маркированные графы Другим, часто упоминаемым в литературе подклассом сетей Пет- ри является класс маркированных графов. Маркированный граф есть сеть Петри, в которой каждая позиция является входом для точно одного перехода и выходом точно одного перехода. Иначе говоря, мы можем сказать, что каждая позиция имеет точно один вход и один выход. Определение 7.2. Маркированный граф есть сеть Петри С — (Р, Т, I, О), такая, что для каждой pt£ Р: I I(pt) I - I К- I Pi^Oitj)} I = 1 и I 0(A) [ = = I {G I Pt Ю | = 1- Маркированные графы двойственны автоматным сетям Петри в теоретико-графовом смысле, поскольку в автоматных сетях Пет- ри переходы имеют один вход и один выход, в то время как в марки- рованных графах один вход и один выход имеют позиции. Они яв- ляются двойственными также и с точки зрения моделирования. В автоматных сетях Петри легко представить конфликтные ситуа- ции с помощью позиции с несколькими выходами, но нельзя моде- лировать создание и уничтожение фишек, необходимых для модели- рования параллельности, или ожидания, свойственные задачам синхронизации. С другой стороны, маркированные графы могут моделировать параллельность и синхронизацию, но не могут моде- лировать конфликты или принятие решений, зависящие от данных.
Расширенные и ограниченные модели сетей Петри 201 Изучены такие свойства маркированных графов, как активность, безопасность и достижимость. Наиболее интересными структурны- ми компонентами маркированного графа при изучении указанных свойств являются его циклы. Цикл в маркированном графе — это последовательность переходов 11±, tj2, tjs, —такая, что для каждой пары переходов t jr и tj из этой последовательности существует позиция pir— такая, что PirQO(tjr) и р1т £ I(tj Рис. 7.13. Маркированный граф. Таким образом, цикл есть замкнутый путь из какого-либо перехода обратно в этот же переход. Например, в маркированном графе на рис. 7.13 последователь- ность является циклом, как и последовательности tnt3tk и Важность циклов в маркированных графах вытекает из следую- щей теоремы. Теорема 7.1. Число фишек в цикле маркированного графа не из- меняется в результате запусков переходов. Используя эту теорему, легко показать следующее. Теорема 7.2. Маркировка является активной тогда и только тогда, когда в каждом цикле маркированного графа присутствует по мень- шей мере одна фишка. Теорема 7.3. Активная маркировка является безопасной тогда и только тогда, когда каждая позиция маркированного графа на- ходится в цикле с числом фишек, равным единице. Эти теоремы предоставляют простой и легкий путь исследования структуры маркированного графа и определения из его структуры 8—562
202 Глава 7 и начальной маркировки, является ли маркированный граф актив- ным или безопасным. Можно также показать, что задача достижи- мости маркировок для маркированных графов разрешима. На- пример, отметим следующее. Теорема 7.4. Маркировка у' достижима из активной маркировки р в сильно связном маркированном графе тогда и только тогда, когда общее число фишек в каждом цикле маркированного графа совпадает для маркировок р и р'. Большая мощность разрешения маркированных графов очевид- на из следующих теорем и работ по маркированным графам [127, 54, 91, 136, 209]. Однако существует связь между мощностью раз- решения и мощностью моделирования, и высокая мощность разре- шения маркированных графов частично проистекает из низкой мощ- ности моделирования. Поэтому исследователи пытались выделить другие подклассы сетей Петри, которые оставляли бы высокой мощность разрешения маркированных графов и увеличивали их мощность моделирования. 7.4.3. Сети Петри со свободным выбором Хэк в своей диссертации на степень магистра в МТИ [107] опре- делил и исследовал один такой подкласс сетей Петри — сети Петри со свободным выбором. Этот подкласс допускает и конфликты авто- матных сетей Петри, и параллельность маркированных графов,, но в более ограниченном виде, чем в обычных сетях Петри. Определение 7.3. Сеть Петри со свободным выбором есть сеть Пет- ри С — (Р, Т, I, О) — такая, что для всех t} € Т и pt е I(tj) либо I(tj) = {Pi}. ЛИбО О(рг) = {/;}. Важность этого определения заключается в том способе, которым оно допускает управляемые конфликты. Конфликт появляется только тогда, когда одна позиция является входом нескольких переходов. По определению сетей Петри со свободным выбором, если позиция является входом для нескольких переходов (потен- циальный конфликт), то она является единственным входом всех этих переходов. Следовательно, либо все эти конфликтующие пере- ходы одновременно являются разрешенными, либо ни один из них. Это позволяет свободно осуществлять выбор (разрешение конфлик- та) запускаемого перехода, присутствие фишек в других позициях не влияет на выбор запускаемого перехода. Эта ограниченная форма конфликтов была допущена Хэком [107] для доказательства необходимого и достаточного условия того, чтобы маркированная сеть Петри со свободным выбором являлась активной или безопасной. Условие активности связано с марки- ровками ловушек и тупиков в сети. Ловушка — это такое множест- во позиций, что каждый переход, входом для которого является одна
Расширенные и ограниченные модели сетей Петри 203 Разрешены Не разрешены Рис. 7.14. Диаграмма осуществимости некоторых структурных конфигура- ций в различных сетях Петри. из позиций множества, имеет выходом другую позицию того же множества. Это означает, что если в какой-либо позиции ло- вушки имеется фишка, то она будет в одной из позиций ловушки всегда. Запуск перехода может перемещать фишку между позиция- ми, но удалить фишку из ловушки он не может. Тупик, есть такое множество позиций, что каждый переход, который имеет в качестве выхода одну из позиций тупика, использует какую-либо позицию тупика в качестве входа. Это означает, что если все позиции тупика в какой-то момент станут пустыми, то все это множество позиций останется пустым всегда. Ни один переход не может поместить фиш- ку в тупик потому, что в тупике нет фишек, которые сделали бы разрешенным переход, выходом которого служит позиция из ту- пика. Хэк доказал, что необходимым и достаточным условием актив- ности маркированной сети Петри со свободным выбором является требование того, чтобы каждый тупик содержал ловушку с фишкой.
204 Глава 7 Эта теорема основывается на работе Коммонера [53, 107]. Для опре- деления необходимого и достаточного условия безопасности нужно показать, что сеть Петри со свободным выбором покрывается объ- единением автоматных сетей Петри. Детали этого представления содержатся в работе [1071. К сожалению, дальнейшего развития работы по сетям Петри со свободным выбором не получили, и поэтому свойства сетей Петри со свободным выбором, связанные с достижимостью, эквивалент- ностью, включением, языками и т. д., рассмотрены не были. 7.4.4. Правильные сети Петри Хэком также был определен другой подкласс сетей Петри, на- званный правильными сетями Петри [107]. В правильных сетях тре- буется, чтобы каждый переход имел не более одной входной пози- ции, которая совместно используется с другим переходом и поэтому служит для ограничения возможностей возникновения конфликтов. Исследования свойств этого подкласса сетей Петри до сих пор не проводились. 7.5. Замечания к литературе Доказательство Патила [233] того факта, что P/V-системы не могут решить всех задач синхронизации, и контрдоказательство Парнаса [230] весьма кратки и интересны. Они привели к доказа- тельству в [159, 7] того, что сети Петри не могут моделировать все без исключения параллельные системы. Эти результаты привели Агервалу к исследованию вопроса о том, что должно присутство- вать в модели, которая может описывать все системы [4, 5]. Главной работой по ограниченным моделям сетей Петри явля- ется ранняя работа [128] и работа [54], а также более поздняя [107]. В некоторых работах продолжено изучение маркированных графов [136, 209], но очень мало было сделано по другим моделям. Неко- торые обнадеживающие результаты для сетей Петри со свободным выбором, в которых \О(р j) | = 1, получены в работах [62 и 161]. Задачи достижимости и активности разрешимы для сетей, свободных от конфликтов. 7.6. Темы для дальнейшего изучения 1. Одно из предложений по расширению состоит в сопоставлении фишкам информации. Это сопоставление может быть представлено как сеть Петри с окрашенными фишками. Определите модель сети Петри с окрашенными фишками. Используйте эту расширенную модель для проверки гипотез: (а) они эквивалентны обычным сетям Петри, (б) они эквивалентны машинам Тьюринга (допуская про-
Расширенные и ограниченные модели сетей Петри 205 верку на нуль). Основной задачей будет определение действий пе- рехода с окрашенными фишками. 2. Продолжите исследование свойств «правильных» сетей Петри, сетей Петри, свободных от конфликтов, и сетей Петри со свободным выбором. 3. Охарактеризуйте класс сетей Петри, которые являются и марки- рованными графами, и автоматными сетями Петри. 4. Каковы свойства класса сетей Петри, переходы которых имеют либо непересекающиеся входы \I(t 7) f] 7(/ь) = 0], либо идентич- ные [/(/,-) = I(tь)]? Этот класс сетей Петри строго включает сети Петри со свободным выбором, и мы склонны ожидать, что свойства этого нового класса будут очень похожи на свойства сетей со сво- бодным выбором.
ГЛАВА 8 МОДЕЛИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ Сети Петри определены как модели систем с параллельными действиями. И, как мы видели, сети Петри имеют хорошие возможности моделирования, с их помощью можно моделировать большое число систем. Однако сети Петри — не единственная модель параллельных вычислений. Предложено, исследуется и используется множество других моделей. В этой главе мы представим некоторые из этих моделей и исследуем их взаимосвязь с сетями Петри. Целью этой главы является определение моделей, которые могут использоваться в системах моделирования, и их сравнительной мощности моделирования. Основной задачей, проистекающей нз намерения соотнести различные модели друг с другом, является задача установления соответствующего мето- да сравнения моделей параллельных вычислений. Мы хотели бы иметь воз- можность доказывать, что модель А является «меиее мощной», чем модель В, или что модель А «эквивалентна» модели В. Понятия эквивалентности и включения имеют в данном случае особую важность. Некоторые исследования по соотнесению различных моделей уже прове- дены. Обзоры [20, 41, 197] помогли собрать воедино описания нескольких мо- делей. В частности, в [41] дано общее определение управляющей структуры, которое позволяет определять единым образом различные модели. Это приве- ло к работам [236, 240], в которых сравниваются различные модели для полу- чения иерархии моделей, соотнесенных по их мощности моделирования. Независимый результат получен в [5], где сравнивается большое число моде- лей и строится другая иерархия с подобной структурой. Оба результата — ив [240] и в [5] — получены с помощью использова- ния языков моделей для их сравнения. Класс моделей А определяет класс языков L(A). Два класса моделей, А и В, будут эквивалентны по определе- нию, если L(A) = L(B). Это означает, что для любого определенного экзем- пляра а класса моделей А с языком Ца) должен существовать экземпляр b класса В с идентичным языком L(a) = ЦЬ). Если языки правильно харак- теризуют эти модели, то они являются искомым средством для сравнения двух классов моделей. Однако, как мы видели, не вполне ясно, как определить язык для моде- лей параллельных вычислений. Исследования в области определения!языков сетей Петри привели к по меньшей мере 12 различным определениям языков, большинство из них, очевидно, различны. Различия в этих языках могут при- вести к различиям в соотношениях эквивалентности и включения между моде- лями. С другой стороны, если различия между моделями действительно су- щественны, то они могут быть не чувствительны к (незначительным) измене- ниям в определениях эквивалентности и включения. Таким образом, подоб- ность результатов, полученных в [5] и [240], весьма важна из-за того, что в этих работах использовались различные определения эквивалентности и включения. Однако нельзя утверждать, что эти результаты бесспорны. Авторы [178] также сравнили большое число моделей параллельных вычислений и пришли к другим выводам. Их сравнение основывается на очень детальном анализе структуры и пространства состояний отдельных представителей классов мо- делей. Этим объясняется значительное отличие результатов [178] от резуль- татов [5] и [240].
Модели параллельных вычислений 207 Итак, установлено, что существуют различия в мнениях исследователей по вопросам о том, какие модели должны сравниваться, как их сравнивать? Сравнение, проводимое в этой главе, основано как на структурных характерис- тиках, так и на характеристиках поведения. Мы будем говорить, что класс мо- делей А является меньшим или равным по мощности моделирования (включа- ется в) классу В, если для любого данного экземпляра а класса А существует алгоритм построения экземпляра Ь класса В, для которого верно, что: 1. Каждая структурная компонента модели а представляется (небольшим) различимым множеством компонент модели Ь. Размер модели b (число эле- ментов) отличается в худшем случае на мультипликативную константу от размера модели а, причем константа определяется классами моделей А и В, а не конкретными экземплярами а и Ь. 2. Любая последовательность действий в а может быть промоделирована по- следовательностью в Ь, с длиной последовательности в Ь, отличающейся не более чем на мультипликативную константу от длины последовательно- сти в а. 3. Модель Ь заходит в тупик только тогда, когда заходит в тупик модель се Модель заходит в тупик, если все ее действия становятся невозможными. Цели введения этих ограничений очевидны. Первое ограничение устанав- ливает структурное подобие двух моделей; второе ограничение гарантирует, что две модели ведут себя одинаково. Однако мы не требуем абсолютного соот- ветствия между двумя моделями. Мы допускаем представление действия в одной модели (короткой) последовательностью действий в другой модели или представление компоненты (подобной позиции или переходу) набором (не- большим) компонент. Следовательно, действие в одной модели может модели- роваться последовательностью из двух действий в другой модели. Последнее ограничение требует, чтобы более мощная модель не совершала ошибок, ког- да их не совершает менее мощная. Это исключает возможность построения мо- дели, которая недетерминированно выбирает одно из нескольких действий и останавливается, если оказывается, что был сделан неверный выбор. Две модели эквивалентны, если они включают друг друга. Это предпо- лагает, что любой экземпляр какой-либо модели преобразуется в экземпляр другой. С учетом сказанного выше, рассмотрим соотношения между следующими моделями параллельных вычислений: 1. Конечные автоматы [42, 97, 129]. 2. Маркированные графы [54]. 3. Графы вычислений [147]. 4. P/V-системы [46, 79]. 5. Системы с сообщениями [258]. 6. Графы UCLA [49, 50, 51, 104]. 7. Системы сложения векторов [148]. 8. Системы замещения векторов [150]. 9. Расширенные сети Петри (гл. 7). Для каждого класса моделей вначале определим модель и приведем при- мер. Затем обсудим связь ее с другими моделями параллельных вычислений. 8.1. Конечные автоматы В разд. 3.3.1 и 7.4.1 показано, что конечные автоматы легко преобразуются в сети Петри. Конечные автоматы использовались Несколькими исследователями в качестве модели параллельных Вычислений. Бредт [42] определил модель, основанную на концеп- циях, вложенных в аппаратуру ЭВМ. Каждый процессор модели-
208 Глава 8 руется конечным автоматом с входными и выходными каналами, которые связывают один процессор с другим. Состоянием каждого входного и выходного канала является либо 0, либо 1. Поскольку каждый выходной канал одного процессора является входным ка- налом другого процессора, и существует конечное число процессо- ров и конечное число каналов, каждый с конечным числом состоя- ний, то и вся система имеет конечное число состояний. Гильберт и Чандлер (97] использовали модель с общей памятью, а не каналы связи. Это означает, что их модель в большей степени, чем модель аппаратуры Бредта, направлена на моделирование про- граммных процессов с совместно используемой памятью, но все же является не чем иным, как моделью с конечным числом состоя- ний, и, следовательно, включена в модель сети Петри. 8.2. Маркированные графы Маркированные графы были рассмотрены в разд. 7.4.2. Как под- класс сетей Петри маркированные графы, очевидно, обладают более ограниченной мощностью моделирования. Маркированные графы непосредственно не сопоставимы с конечными автоматами, но, по-видимому, являются двойственными к ним. Таким образом, мы получаем изображенное на рис. 8.1 соотношение между сетями Петри, конечными автоматами и маркированными графами. Сети Петри Маркированные Конечные графы автоматы Рис. 8.1. Соотношение между сетями Петри, маркированны- ми графами и конечными ав- томатами. 8.3. Графы вычислений Одной из наиболее ранних моделей параллельных вычислений была модель графов вычислений [147]. Ее предложили главным об- разом для представления параллельного выполнения программ, вычисляющих арифметические выражения. Граф вычислений G определяется как ориентированный граф G = (V, Л), где V = (ut, v2, ..., un} — множество узлов; А = = {cii, а2, ..., ап1}— множество дуг. Каждая дуга at 6 Л есть упорядоченная пара узлов (Vj, ufc), представляющая дугу из vj к vh. Каждой дуге аг = (иу, yfe) сопо- ставлена четверка (//.&, Vjik, WJk, Tj,k). Каждая дуга представляет очередь элементов данных, полученных процессором в узле и, и используемых процессором в узле vh. есть число элементов данных, находящихся первоначально в очереди, соответствующей дуге из v j к Ok- Узел Vh подготпчтен, если на каждой дуге, направ-
Модели параллельных вычислений 209 Рис. 8.2. Граф вычислений. ленной к узлу vk из каждого узла v j, присутствует не менее У/,* элементов данных. Tjtk называется пороговым значением. При выполнении операции, соответствующей узлу vk, удаляется Wj,k (Wj,k^ Tj,k) элементов данных из очереди, соответствую- щей дуге, направленной к vk. Когда операция, соответствующая vh, завершается, то она помещает V/.,r элементов данных в очереди, соответствующие каждой дуге (vk, vT), направленной из узла vh к узлу vr. На рис. 8.2 изображен пример графа вычислений. В начальном состоянии узел vt подготовлен, поскольку имеет один вход, и в очереди этого входа присутствуют три элемента данных. При вы- полнении Vt он удаляет один элемент данных из этой очереди и по завершении операции помещает один элемент данных на дугу из Vi к и2, один — на дугу из vt к и8. В этом новом состоянии может выполняться либо fi, либо v2, так как оба имеют достаточно элемен- тов данных во входных очередях для удовлетворения пороговых условий. Граф вычислений легко моделируется сетью Петри. Каждая дуга представляется позицией, а каждый узел графа вычислений ста- новится переходом. Переход, соответствующий узлу vимеет Т входных дуг из позиции, представляющей дугу из vj к vh. Это га-
210 Глава 8 Рис. 8.3. Сеть Петри, эквивалентная графу вычислений, изображенному на рис. 8.2. рантирует то, что переход будет подготовленным только тогда, когда пороговое условие выполнено. Однако, когда переход запущен, он может удалить только фишек, поэтому T,,k—дуг направляются обратно от перехода vk к позиции, представляющей дугу из v j к Vk. Кроме того, Vk.r меток помещаются в позицию, представляющую дугу из и } к vr. Начальная маркировка опреде- ляется значениями I]Jt. На рис. 8.3 изображена сеть Петри, построенная описанным вы1 ше способом для графа вычислений на рис. 8.2. Легко показывается, что маркированные графы могут быть про- моделированы графами вычислений, для которых — Wf,k для всех узлов v} и Однако графы вычислений являются более мощным средством, чем маркированные графы, благодаря возмож- ности моделировать ситуации с Tltk> С другой стороны, графы вычислений и конечные автоматы не сопоставимы, как маркированные графы и конечные автоматы. Графы вычислений не могут моделировать принятие решений или условное выполнение — это ограничение справедливо и для мар- кированных графов. Таким образом, наша иерархия моделей при- нимает вид, показанный на рис. 8.4. Карп и Миллер [1471 подробно исследовали графы вычислений, особенно проблемы активности и безопасности. В действительности
Модем параллельных вычислений 211 их интересовало обеспечение и определение условий завершенности графа вычислений (т. е. условия неактивности). Так как дуги (по- зиции) представляют очереди данных, то исследования ограничен- ности, проводимые Карпом и Миллером, были направлены на оп- ределение максимальной длины очереди. Эти различия в обозначе- ниях и целях, а также отличия в определении моделей между гра- фами вычислений и маркированными графами послужили причиной того, что никто не попытался соотнести результаты и алгоритмы Карпа и Миллера [147] по графам вычислений с работой [54] по мар- кированным графам. Сети Петри Граеры вычислений Конечные автоматы Маркированные графы Рис. 8.4. Добавление графов вычислении к нера рхии моделей. 8.4. P/V-системы Р- и V-операции над семафорами впервые введены Дейкстрой [79] для решения проблем синхронизации в системах параллельных процессов. Как таковые они могут использоваться для моделиро- вания синхронизации и связи таким же образом, как и сети Петри. Патил использовал этот подход, когда определи^ задачу о куриль- щиках сигарет, чтобы показать ограниченность систем, которые могут использовать только Р- и V-операции между процессами. P/V-системы тем не менее популярны, и поэтому имеется много ли- тературы по вычислительной технике, в которой обсуждаются или применяются эти операции, например, [44, 179]. В разд. 3.4.8 показано, что Р- и V-операции можно промоде- лировать с помощью сетей Петри Доказательство Патила [2331 свидетельствует о том, что это включение собственное: существуют задачи (например, задача о курильщиках сигарет), которые можно решить в сетях Петри, но нельзя с использованием только Р- и V- операций. Однако P/V-системы являются достаточно мощным сред- ством, чтобы включать модели графов вычислений [177] и модели конечных автоматов. Чтобы преобразовать конечный автомат в P/V-систему, мы ис- пользуем для моделирования каждого состояния автомата отдель-
212 Глава 8 ный процесс. Каждому состоянию сопоставим семафор. Пусть Q = — {<7ь •••. 9п} — множество состояний, а б: Q X 2 -> Q — функ- ция переходов с множеством действий 2. Сопоставим состоянию семафор Si и процесс. В начале процесс выполняет P(Si). В общем случае он будет ждать до тех пор, пока автомат не перейдет в со- стояние Qi. После выполнения P(Sf) процесс выбирает произволь- ное ст € 2, для которого определена функция о), и выполняет V(Sy-), где qj — b(qi, о). После чего этот процесс возвращается по Рис. 8.5. Конечный автомат. петле к своему Р (S^. Рис. 8.6 иллюстрирует преобразование конечного автомата, изображенного на рис. 8.5. Семафоры перво- начально равны нулю, кроме семафора начального состояния, ко- торый инициализируется единицей. Для преобразования графа вычислений в P/V-систему каждой дуге (vj, vk) графа ставим в соответствие семафор Sj, k. Значением се- мафора будет число элементов данных, ожидающих в очереди для этой дуги. Таким образом, первоначально значением семафора Sjik будет Ij'k. Для каждого узла в графе вычислений создается про- цесс. Процесс узла vh сначала выполняет P-операций над се- мафорами S^k для всех дуг (г?,-, vk), направленных в vft. Этим обе- спечивается то, что каждая очередь будет содержать не менее Tltk элементов данных. Затем, поскольку каждая P-операция уменьшает семафор, а правильным результатом является только уменьшение Sj'k на Wjtk, то мы выполняем Tj,k —• Wj,k V-операций над Sj.k, чтобы восстановить правильное значение Мы завер- шаем процесс узла vk, выполняя Vk,r V-операций над семафором Sfe,r для каждой дуги (vk, ог), направленной из узла vh. Это преобразование проиллюстрировано на рис. 8.7 для узлов v3 и v4 графа вычислении, приведенного на рис. 8.2. Отметим, что граф вычислений может проверять и осуществлять ввод из нескольких источников за один шаг, тогда как P/V-системы
Модели параллельных вычислений 213 Процесс Р? Рис. 8.6. P/V-система для конечного автомата на рис. 8.5. Процесс могут проверять и осуществлять ввод из нескольких источников только с помощью последовательности проверок и вводов из отдель- ных источников. Неспособность к проверке и вводу из нескольких источников одновременно является ключевым моментом доказа- тельства Патила ограниченности P/V-систем. Проблема состоит в том, что пока вы захватываете один ресурс, другой процесс может захватить второй ресурс, что приводит к тупику. Такой проблемы для графов вычислений не существует, так как источники не ис- пользуются совместно процессами — не может быть двух узлов, разделяющих входные дуги. Это замечание существенно для по- строения P/V-системы, которая не попадала бы в тупик (заверша- лась) до тех пор, пока соответствующий граф вычислений не за- вершится. Добавление P/V-систем к нашей иерархии моделей приводит ее к виду, изображенному на рис. 8.8. 8.5. Системы передачи сообщений Использование Р- и V-операций для организации взаимодейст- вий процессов в системе может осуществляться до тех пор, пока нет лучшего механизма связи. Одним из предложений по улучшению
214 Глава 8 Рис. 8.7. P/V-система процессов для двух узлов графа вычислений на рис. 8.2. Сети Петри I системы Графы вычислении Конечные автоматы Маркированные графы Рис. 8.8. Добавление P/V-сис- тем в иерархию моделей. этого механизма является предложение использовать сообщения. Система с сообщениями — это набор процессов, которые взаимо- действуют с помощью сообщений. Над сообщениями возможны две операции: послать и получить. Передача сообщения подобна V-операции, а прием сообщения подобен P-операции. Если при вы- полнении операции получить нет ни одного сообщения, то получа- тель ждет до тех пор, пока сообщение не будет послано. На этом механизме основана схема моделирования, предложен- ная Риддлом [258]. Эта модель кажется наиболее подходящей для моделирования протоколов в сетях ЭВМ. Риддл рассматривает (конечное) множество процессов, которые взаимодействуют с по- мощью сообщений. Сообщения посылаются и запрашиваются спе- циальными процессами, называемыми канальными процессами (поч- товые ящики). Канальные процессы предоставляют, что сущест- венно, комплект сообщений, которые посланы, но еще не приняты, или комплект запросов на сообщения от приемников, которые вы- даны, но еще не удовлетворены. Другие процессы системы назы- ваются программными процессами и описываются на языке моде- лирования программных процессов (ЯМПП).
Модели параллельных вычислений 215 Пример системы из трех процессов приведен на рис. 8.9. Как видно из примера, описание процессов на ЯМПП является, по су- ществу, схемой. Интерес представляет только деятельность по пе- редаче сообщений в системе. Сообщения являются абстрактными элементами, единственной характеристикой которых является тип. Число типов сообщений в системе может быть только конечным. Сообщения посылаются из или принимаются в буфер сообщений в каждом из процессов. Существует только по одному буферу на процесс. Предложениями ЯМПП являются: set t: Поместить сообщение типа t в буфер сообщений. send I: Послать сообщение в буфер сообщений канального процесса I. receive I: Запросить сообщение из канального процесса I. Ждать (если необходимо) до тех пор, пока не будет получено сообщение. Сообщение помещается в буфер сообщений. unless t s'. Проверить тип сообщения в буфере сообщений и перейти к предложению s, если сообщение имеет тип, отличный от t. if-internal-test s: Моделировать внутреннюю, зависящую от данных, проверку. Либо продолжать обработку, выполняя следующее пред- ложение, либо перейти к предложению с меткой s. go-to s: Передать управление предложению s. end: Завершить процесс. Система с ЯМПП моделирует множество параллельных процес- сов. Каждый процесс стартует в начале своей программы и выполня- ет свою программу до тех пор, пока ему не встретится предложение end. Риддл показывает, как построить выражение передачи сообще- ний, которое представляет возможные потоки сообщений в системе и использует это выражение для исследования структуры системы и организации правильного функционирования. Это выражение передачи сообщений используется для тех же целей, что и язык сети Петри. Поэтому мы показываем, как описание системы процессов на ЯМПП может быть преобразовано в такую сеть Петри, что ее язык совпадает с выражением передачи сообщений из анализа Риддла. Это преобразование игнорирует выполнение отдельных предложений описания на ЯМПП, хотя с помощью незначительной модификации и они могли бы быть представлены в языке сети Петри. Для моделирования процесса сетью Петри используем по одной фишке на процесс в качестве программного счетчика. Присутствие сообщения в канальном процессе также представляется фишкой. Поскольку сообщения идентифицируются типом, то необходимо мо- делировать каждый тип сообщений в канальном процессе отдель- ной позицией. Очень важным свойством систем с ЯМПП является то, что число сообщений конечно. Каждый программный процесс также конечен. Только очередь сообщений занимает потенциально неограниченный объем памяти. Таким образом, способность моде- лировать канальные процессы и правильно представлять предло- жения send и receive являются наиболее важными аспектами пре- образования описания на ЯМПП в сеть Петри. Моделируя каналь-
216 Глава 8 AL21 Устройство Ввода 713 J Программа Receive L1; Al. Set READ, Send L3, Receive L2, Unless INPUT A2, Set OUTPUT Send L5. Go-to Al, A2- Send L4, End. T Программа - ^,60^° (i) Устройство Ввода Al: Receive L3; If-intemal-test A2; Set INPUT: Go-to A3; A2: Set EOF, A3: SendL2; Go-to Al; End, Устройство Вывода Al: Receive L5, Go-to Al; End; Рис. 8.9. Система процессов, описанных на языке моделирования программ- ных процессов.
Модели параллельных вычислений 217 I ные процессы множествами позиций (по одной на каждый тип сооб- а щений), мы можем представить предложение send переходом, ко- | торый помещает фишку в позицию, представляющую соответствую- I щие канальный процесс и тип сообщений. Предложение receive I просто удаляет фишку из любой позиции канального процесса, г Конкретная позиция, которая поставляет фишку, определяет тип I получаемого сообщения. Эта информация может использоваться । в любом последующем предложении unless. ; Единственным символом в выражении передачи сообщений яв- ляется тип сообщений для тех сообщений, которые посылаются к Г, или принимаются от канального процесса. Поскольку каждый пе- реход в сети Петри приводит к появлению символа в языке сети К Петри для этой сети Петри, то только предложения send и receive в I системе с ЯМПП могут быть промоделированы. Таким образом, существуют два вида позиций в сети Петри. Один вид позиций, ' помеченных Д/. тдействует как счетчик числа сообщений типа К nij в канальном процессе /г. Другой вид позиций представляет я предложения send и receive программы ЯМПП. Пусть эти предло- f жения однозначно помечены sb ..., sr. Мы пометим позицию, пред- ставляющую предложение st с сообщением типа в буфере сооб- 1 щений, символом pSbtn.- Фишка в позиции, ассоциированной с Е предложением sf, означает, что предложение s; уже выполнено. Е Рис. 8.10 иллюстрирует, как предложения sh: send и sh: receive К должны моделироваться сетью Петри. На рис. 8.10 позиция р&1,т Е представляет позицию, ассоциированную с каким-либо предложе- нием, которое предшествует предложению sh. 1 Теперь осталось показать, что существует возможность опре- | деления предложения, предшествующего другим предложениям в К программе на ЯМПП. Отметим, что каждое предложение можно рассматривать как пару, состоящую из типа сообщения и номера предложения, поскольку одно и то же предложение с различными типами сообщений в буфере сообщений будет моделироваться сетью Петри различным образом. Наиболее очевидный способ определения предшественников предложения состоит в запуске в начале каждой программы на ЯМПП специального стартового предложения (ко- • торое становится стартовой позицией) и в порождении согласно ; описанию программ всех возможных последующих предложений send и receive с соответствующим им содержимым буфера сообще- ний. Этот процесс повторяется для всех появляющихся предложе- ний до тех пор, пока все предложения send и receive не будут порож- ‘ дены, а их последователи не будут идентифицированы. Поскольку число предложений в описании на ЯМПП и число типов сообщений конечно, то порождается только конечное число пар предложение/ /тип, сообщение. Эта процедура подобна характеристическим урав- нениям, используемым Риддлом [258] для построения выражения .передачи сообщений. На рис. 8.11 перечисляются предложения
218 Глава 8 Рис. 8.10. Преобразование предложений send и receive в переходы сети Петри вверху — модель предложения sk send с сообщением типа т в буфере сообщений. Ка- нальный процесс —внизу— модель предложения sh receive из канального процесса lf Возможные типы сообщении в Z/ — m2 , rnt и их возможные последователи для системы с ЯМПП, изображен- ной на рис. 8.9. После того как последователи предложения определены, мы можем, используя эту информацию, идентифицировать возможные предшественники предложения и, следовательно, построить сеть Петри, эквивалентную системе с ЯМПП, используя переходы, по- добные приведенным на рис. 8.10. Специальная стартовая позиция является предшественником первого предложения каждого про- цесса системы. На рис. 8.12 система с ЯМПП, изображенная на рис. 8.9, преобразована в эквивалентную сеть Петри. Краткое описание преобразования систем передачи сообщений в сети Петри показывает, что эта модель включается по мощности моделирования в сети Петри. Оно показывает также, что множество выражений передачи сообщений, рассматриваемое как класс языков, является подмножеством класса языков сети Петри. Поскольку P/V-системы можно моделировать системами переда- чи сообщений с сообщениями только одного типа, то P/V-системы
Модели параллельных вычислений 219 Программа Pi : (Receive L1, -) • (Send L3, RfcAD) p-у ' (Receive L2. INPUT) Pt (Receive L2 EOF) p5 (Send L5 OUTPUT) />6 (Send L4, EOF) (Send L3, READ) (Receive L2, INPUT) (Receive L2, EOF) (Send L5, OUTPUT) (Send L4, EOF) (Send L3, READ) ( ) Устройство ввода Pi : (Receive L3. READ) : (Send L2, INPUT) p9 (Send L2, EOF) Устройство вывода p10 : (Receive L5 OUTPUT) (Send L2, INPUT) (Send L2, EOF) (Receive L3, READ) (Receive L3, READ) (Receive L5, OUTPUT) Рис. 8.11. Предложения и последователи для системы с ЯМПП, изображен- ной на рис. 8.9. включаются в системы передачи сообщений. Легко построить си- стему с сообщениями для решения задачи о курильщиках сигарет, поэтому включение P/V-систем в системы с сообщениями является собственным. С другой стороны, системы с сообщениями не способ- ны воспринимать входные сообщения от нескольких источников одновременно и поэтому не эквивалентны сетям Петри. При попытке моделирования перехода с несколькими входами может возникнуть один из следующих двух случаев: 1. Процесс будет пытаться получить фишки (сообщения) из всех своих входе», но будет недопустимым, и поэтому будет блокиро- ван, задерживая при этом фишки, которые нужны для того, чтобы позволить продолжать работу другим переходам. Это приведет к тупикам в системе с сообщениями, которые не соответствуют тупи- кам в сети Петри, что нарушает третье ограничение. 2. Процесс будет уклоняться от создания лишних тупиков, опре- деляя, что оставшиеся нужные фишки отсутствуют, и возвращая
Рис. 8.12. Сеть Петри, эквивалентная системе с ЯМПП, изображенной на рис. 8.9. 220 Глава 8
Модели параллельных вычислений 221 фишки в позиции (канальные процессы), из которых они были получены. Такие действия могут выполняться произвольно часто, а это означает, что не существует ограничения на длину последова- тельности действий в системе с сообщениями, соответствующей огра- ниченной последовательности запусков переходов в сети Петри. Таким образом, при этом нарушается наше второе ограничение. Сети Петри Системы с сообщениями • Конечные автоматы Маркированные гр ары Рис. 8.13. Добавление систем с сообщениями к иерархии моделей. Риддл [259] представил преобразование, которое подпадает под случай 1 и приводит к лишним тупикам. В любом случае мы видим, что системы с сообщениями не могут моделировать произ- вольные сети Петри (при сформулированных нами ограничениях). Поэтому в результате мы получаем иерархию, приведенную на рис. 8.13. 8.6. Графы UCLA Сеть Петри является графовой моделью параллельных вычис- лений. Другая графовая модель разработана в Калифорнийском университете в Лос-Анджелесе под руководством профессора Эст- рина. Эта модель является сложной билогической графовой моделью вычислений (или графовой моделью UCLA) [19, 23, 302, 105, 49]. В этой модели системы представляются графом со сложными ори- ентированными дугами. Сложная дуга — это дуга с (потенциально) многими источниками и назначениями1). Комбинационная логика управляет последовательностью опе- раций в вершинах. Если входной логикой вершины является ло- 1) Формальное определение дается ниже. — Прим. ред.
222 Глава 8 Рис. 8.14. Сложный билогический граф (граф UCLA).
Модели параллельных вычислений 223 гика И (*), то для того, чтобы разрешить действия, фишки должны присутствовать на каждой входной дуге. При логике ИЛИ (+), фишки необходимы только на какой-либо одной входной дуге. Вы- полнение вершины удаляет разрешающие фишки на входных дугах и помещает фишки на выходные дуги в соответствии с выходной логикой. При выходной логике И фишки помещаются на все вы- ходные дуги, тогда как при логике ИЛИ фишки помещаются на Рис. 8.15. Представление основных элементов графа UCLA в сети Петри. какую-либо одну выходную дугу. Число фишек, задействованных в данной паре вершина-дуга, называется степенью (или кратностью) этой пары и может быть любым целым неотрицательным числом. На рис. 8.14 приведен пример графа UCLA. Заметим, что не- которые дуги имеют несколько источников (окончаний) и назначе- ний (начал). Кроме того, отметим, что логика каждой пары дуга- вершина помечена в графе либо * для логики И, либо + для логики ИЛИ. Степень дуги указывается числом там, где дуга соединяется с вершиной. Степень опускается, если она равна единице, так же, как и обозначение логики, когда только одна дуга является входом в вершину. В приведенном примере вершина а может быть запущена, как только дуга S имеет фишки. Когда вершина а запускается, она удаляет фишку из дуги S и помещает фишки на дугу А и дугу В (логика И). Вершина g, с другой стороны, будет помещать фишки либо на дугу К, либо на дугу G (логика ИЛИ). Вершина i является разрешенной, когда присутствуют две фишки на дуге J или одна фишка на дуге К. Определение 8.1. Граф UCLA есть шестерка С — (V, A, L, Q, S, F), где V — {&!, и2, ..., — множество вершин; А = {Glf о2, ..., as} — множество дуг; L — (L~, L+): V -* {*, +} — входное (L-) и вы- ходное (L+) отображения логики на вершины графа; Q = (Q", Q'): V X A ->N — входная (Q) и выходная (Q+) степень каждой пары
224 Глава 8 Рис. 8.16. Преобразование частей графа UCLA в сети Петри,
Модели параллельных вычислений 225 Рис. 8.17. Сеть Петри, эквивалентная графу UCLA, на рис. 8.14. дуга-вершина; S е А — начальная дуга; F С А — конечная дуга. Дуги графа определяются как упорядоченные пары множеств вершин. Первая компонента пары есть множество входных вершин, а вторая компонента — множество выходных вершин. Начальная дуга имеет пустое множество входных вершин, а конечная дуга — пустое множество выходных вершин.
226 Глава 8 Преобразование графа UCLA в сеть Петри достаточно просто из-за подобности этих систем. Каждая дуга в графе UCLA пред- ставляется позицией в сети Петри. Кроме того, представим вершину v позицией pv и двумя переходами tv и tv. Первый переход 4 представляет инициирование операции, связанной с вершиной v, Сети Графы Петри = UCLA Системы с сообщениями Р/Г-системы Маркированные графы Рис. 8.18. Добавление графов UCLA к иерархии моделей. а второй переход представляет завершение этой операции. Это схематично изображено на рис. 8.15 (моделирование вершин графа UCLA переходами инициирования и завершения не строго обяза- тельно, но удобно). На рис. 8.16 показано как входная и выходная логики графов UCLA представляются эквивалентными сетями Пет- ри. Степень больше единицы моделируется несколькими дугами между позициями и переходами в сети Петри. На рис. 8.17 граф UCLA с рис. 8.14 преобразован в эквивалент- ную сеть Петри. Это преобразование показывает, что мощность моделирования графов UCLA вкладывается в мощность моделиро- вания сетей Петри. Очевидно, что сеть Петри может быть преобра- зована в эквивалентный граф UCLA посредством представления по- зиций дугами графа UCLA, а переходов — вершинами с входной и выходной логикой И. Таким образом, эти две модели эквивалент- ны по своей мощности моделирования. На рис. 8.18 показана мо- дифицированная иерархия моделей.
Модели параллельных вычислений 227 8.7. Системы замещения и сложения векторов Если вы бегло просмотрите библиографию, то заметите, что в названиях большинства ссылок упоминаются не сети Петри, а сис- темы сложения векторов. Системы сложения векторов были введены Карпом и Миллером [148] как математическое средство анализа систем параллельных процессов. Благодаря их простому матема- тическому определению системы сложения векторов обычно ис- пользуются для формального доказательства свойств сетей Петри или подобных систем. Определение 8.2. Система сложения векторов V есть пара V = = (В, s), где В = {Ь15 Ь2, Ьт} — множество из т векторов, на- зываемых базисными векторами или векторами смещения. Вектор s есть начальный вектор. Все векторы состоят из п целых величин. Элементы s неотрицательны. Множество достижимости системы сложения векторов V обозна- чается R(V) и может быть определено рекурсивно с помощью сле- дующего определения: Определение 8.3. Множество достижимости R(V) для системы сло- жения векторов V = (В, s) есть наименьшее множество, для кото- рого верно, что: 1. s£R(Vy, 2. Если х 6 R(V) и (х + b> 0, то (х + b J 6 7?(V), либо по- средством следующего определения: Определение 8.4. х 6 R(V), если существует такая последователь- ность bil, 6t-2, ..., bik базисных векторов, что k x = s + ^b и 7=1 1 Г s 4- 2 Ьг >0 для всех г: 0 < r<fe. 7=1 7 Из этих определений легко видеть, что системы сложения векто- ров и сети Петри эквивалентны. По данной сети Петри мы можем построить систему сложения векторов, начальным вектором кото- рой является начальная маркировка, а базисные векторы взаимно однозначно соответствуют переходам. N компонент векторов сис- темы сложения векторов соответствуют маркировкам п позиций сети Петри или (в случае базисных векторов) изменениям, проис- ходящим из-за запуска соответствующего перехода. Аналогично система сложения векторов может быть преобразо- вана в эквивалентную сеть Петри использованием позиций для компонент векторов и переходов для представления базисных век-
228 Глава 8 торов. На рис. 8.19 иллюстрируется эквивалентность этих двух моделей. Фактически система сложения векторов эквивалентна сетям Петри без петель. Напомним, что в присутствии петель изменение может быть нулевым, а число фишек в позиции из петли должно быть ненулевым. Это не уменьшает мощность системы сложения векторов, ьг = (0, 1,-1, 1) = (0,-1,1,1) Рис. 8.19. Сеть Петри и эквивалентная ей система сложения векторов. поскольку мы видели (в разд. 5.3), что сети Петри без петель экви- валентны обычным сетям Петри. Однако для более непосредствен- ного моделирования сетей Петри с петлями в модели, подобной системе сложения векторов, Келлер определил системы замещения векторов [150]. Определение 8.5. Система замещения векторов состоит из началь- ного вектора s > 0 и т пар векторов (С/г, Кг), таких, что 17г- V/. Векторы Ut называются векторами проверки. Множество дости- жимости переопределяется так, что s принадлежит множеству до- стижимости, и если хвходит в негой х + :> 0, то х 4- также входит в множество достижимости. В модели системы замещения векторов явно определяется про- верка на разрешение перехода от действия по запуску перехода. Эквивалентность систем замещения векторов сетями Петри (об- щего вида) очевидна. Добавляя системы сложения векторов и системы замещения векторов в нашу иерархию, получаем иерархию, изображенную на рис. 8.20. Важность систем сложения векторов и систем замещения векторов заключается в их простом математическом определении и полезности этого определения для доказательства математических свойств систем.
Модели параллельных вычислений 229 Системы Системы Сети замещения = сложения — Петри Векторов векторов ГЬары = UCLA Системы с сообщениями Рис P/V- системы Маркированные графы 8.20. Добавление систем векторов к иерархии моделей. сложения векторов и систем замещения Расширенные сети Петри Системы Системы замещения £ вложения векторов векторов Сети Граеры = Петри = UCLA Системы с сообщениями Маркированные графы Рис. 8.21. Полная иерархия моделей параллельных вычислений.
230 Глава 8 8.8. Расширенные модели сетей Петри В качестве последнего дополнения к нашей иерархии вспомним о моделях расширенных сетей Петри, изученных в гл. 7: сети Петри с областями ограничений, переходами исключающее ИЛИ, пере- ключателями, сдерживающими дугами, приоритетами или времен- ными ограничениями. Мы видели, что все эти модели эквивалентны машинам Тьюринга. Таким образом, эти модели строго включают модели сетей Петри. Окончательная иерархия моделей изображена на рис. 8.21. 8.9. Замечания к литературе Исследования [240, 5, 178] должны быть прочитаны в первую очередь, поскольку наиболее тесно связаны с тематикой главы. Сле- дует также прочесть обзоры [41, 20] и работы [197, 198]. В этих ста- тьях имеются ссылки на оригинальные работы по отдельным моде- лям. Модель Риддла [258] кажется наиболее предпочтительной для моделирования больших программных систем и заслуживает де- тального изучения. 8.10. Темы для дальнейшего изучения 1. Расширьте иерархию, приведенную на рис. 8.21, включив в нее ограниченные модели сетей Петри, обсужденные в гл. 7: сети Петри со свободным выбором и правильные сети Петри. 2. Исследуйте свойства языков, определенных классами моделей, рассмотренных в этой главе, и соотнесите их с регулярными, кон- текстно-свободными и контекстно-связанными языками. 3. Определите разрешимость задачи достижимости для каждого из классов моделей, обсужденных в этой главе. 4. Расширьте работу, проделанную в этой главе, и включите моде- ли, описанные в [2, 3, 180, 260, 271, 284].
ОБЗОР ТЕОРИИ КОМПЛЕКТОВ Теория множеств используется в математике и вычислительной технике длительное время. Теория комплектов является естествен- ным расширением теории множеств. Комплект, подобно множеству, есть набор элементов из некоторой области. Однако в отличие от множества комплекты допускают присутствие нескольких экземпля- ров одного и того же элемента. В теории множеств элемент есть либо элемент множества, либо не элемент множества. В теории комплектов элемент может входить в комплект нуль раз (не входить в комплект) или один, два, три или любое заданное число раз. Теория комплектов была разработана в [50, 237]. В качестве примера рассмотрим следующие комплекты над об- ластью {а, Ь, с, d}: Bt = {а, b, с}, В2 = {а}, В3 = {а, Ь, с, с}, Вь = = {а, а, а}, Вь = {6, с, Ь, с}, В$ — {с, с, Ь, Ь}, В7 = {а, а, а, а, аг Ь, Ъ, с, d, d, d, d, d, d, d}. Некоторые комплекты являются множе- ствами (например, Bt и В2). Так же как и в множествах, поря- док элементов в комплекте не важен. Поэтому В. и Вв являются одним и тем же комплектом (упорядоченные комплекты являются последовательностями). В теории множеств основным понятием является отношение включения. Это отношение связывает элементы и множества и опре- деляет, какие элементы являются членами каких множеств. Основ- ным понятием теории комплектов является функция числа экземпля- ров. Эта функция определяет число экземпляров элемента в комп- лекте. Обозначим число экземпляров элемента х в комплекте В че- рез #(х, В) (читается «число х в В»). Исходя из этого понятия, можем определить основы теории ком- плектов. Большинство понятий и обозначений заимствованы из теории множеств. Если мы ограничим число элементов в комплекте так, что 0 В) < 1, то получим теорию множеств. ▲.1. Членство Функция #(х, В) определяет число экземпляров элемента х в комплекте В. Отсюда следует, что #(х, В) > 0 для всех х и В. Мы различаем нулевой и ненулевой случаи. Элемент х является членом комплекта В, если 4Ф(х, В) > 0. Это мы будем обозначать через х С £ В. Аналогично, если #(х, В) = 0, то х g В. Определим пустой комплект 0, не имеющий членов (для всех
232 Глава 8 ▲.2. Мощность Мощность |В | комплекта В есть общее число экземпляров эле- ментов в комплекте | В | - 2 # (х, В). X ▲.3. Включение и равенство комплектов Комплект А есть подкомплект комплекта В (обозначается As s В), если каждый элемент А является элементом В по меньшей мере не большее число раз: As В тогда и только тогда, когда 4Ф(х, А) < #(х, В) для всех х. Два комплекта равны (А — В), если 4#(х, А) = #(х, В) для всех х. Из этих определений мы можем непосредственно показать, что А = В тогда и только тогда, когда As В я. Bs A. 0s В для лю- бого комплекта В; из А = В следует |Л [ = |В|; из As В следует И1 С |В|. Комплект А строго включен в комплект В(А с. В), если A s В и А /- В. Отметим, что А) < #(х, В) не следует из Ас: В, хотя и И1< |В|. А.4. Операции Над комплектами определяются четыре операции. Для двух комплектов А и В мы определим: объединение комплектов ЛОВ: '(х, A U B)=max (#(х, А), #(х, В)); пересечение комплектов А П В: # (х, A f] B)=min (# (х, А), #(х, В)); сумму комплектов Л4-В : # (х, А 4- В) = # (х, А) 4- # (х, В); разность комплектов А — В: # (х, А — В)= # (х, А) — 4ф(х, А П В). Эти операции обладают большинством ожидаемых свойств. Объ- единение, пересечение и сумма коммутативны и ассоциативны, кро- ме того, справедливы ожидаемые включения: А ПВсЛсДиВ; А —В s А с А 4- В. Различие между объединением и суммой очевидно: | ЛиВ | < | А | 4- I В | ; | Л + В ] — | Л | 4- | В | . К сожалению, различия между А П В и А—В нельзя так же легко проиллюстрировать, что объясняется невозможностью для операции разности удаления элементов из комплекта, которые не входят в него.
Обзор теории комплектов 233 ▲ .5. Пространство комплектов Определим область D как множество элементов, из которых составляются комплекты. Пространство комплектов Dn есть мно- жество всех таких комплектов, что элементы их принадлежат D и ни один элемент не входит в комплект более п раз. Иначе говоря, для любого В eDn: 1. Из х еВ следует х € D. 2. Для любого х 4Ф(х, В) < п. Множество D°° есть множество всех комплектов над областью D без какого-либо ограничения на число экземпляров элемента в комплекте. ▲.6. Отображения Париха Для конечной области D — {db d2, ...» dn} существует естест- венное соответствие между каждым комплектом В над D и «-векто- ром f = (Д, /2, ..., fn), определяемым соотношением Д- = В). Этот вектор известен как отображение Париха [229]. А.7. Примеры Пусть D = {а, Ь, с, d} — область. Тогда для следующих комп- лектов А = {«,&}, В = {«, а, Ь, с}, С = {с, а, а, с, с} имеем: I А | = 2, | С | = 5; АI) В = {а, а, Ь, с} = В, AU С = {а, а, а, Ь, с, с} = BU С; A f| С = {«}. В Г| С = {а, а, с}; А + В = {a, a, a, b, b, с}, А —В = 0; С — А - {а, а, с, с}, С — В {а, с}. 9—562
АННОТИРОВАННАЯ БИБЛИОГРАФИЯ Эта аннотированная библиография дополняет наше изложение теории сетей Петри. Как и следовало ожидать, представить все существующие рабо- ты по сетям Петри оказалось невозможно. Более полную информацию вы сможете почерпнуть из другой научной литературы. К сожалению, многие исследования по сетям Петри доступны только в качестве технических отчетов тех институтов, где они были выполнены, а в журналах появляется только их конспективное изложение. Очевидно, что поиск этих работ сопряжен с определенными трудностями. Всего имеются три основных типа источников работ по сетям Петри: журналы, отчеты и материалы конференций. Теоретические журналы по вы- числительной технике являются наиболее доступным источником. В число таких журналов следует включить: Theoretical Computer Science, Journal of Computer and System Sciences, Information and Control and Journal of the ACM». Статьи, опубликованные в журналах, как правило, впервые появлялись в качестве технических отчетов, которые можно получить только в организа- ции, выпустившей тот или иной отчет, обычно это факультет университета. Многие факультеты оформляют диссертации на соискание степени доктора философии, как технические отчеты. Отчеты доступны также в качестве мик- рофильмов в Анн-Арбор, штат Мичиган. Основным источником по сетям Петри были работы, выполненные в Мас- сачусетском технологическом институте (МТИ). Первоначально эти отчеты были выпущены Проектом МАС. Проект МАС изменил свое название и те- перь именуется Лабораторией вычислительной техники. Другим важным ис- точником научно-исследовательских отчетов является Институт исследова- ний информационных систем при Обществе математики и обработки данных в Бонне, ФРГ. Наконец, источником результатов исследований по теории сетей Петри являются материалы конференций. Однако интересующие нас работы рас- сеяны по многим конференциям, а число тех, которые представляют дейст- вительно новое, небольшое. Сообщения, связанные с сетями Петри, можно встретить на ежегодном симпозиуме. Библиография 1. Abraham S-, On Matrix Grammars, Technical Report 3, Department of Computer Sciences, Technion — Israel Institute of Technology, Haifa, Israel, April 1970, pp. 12. 2. Adams D., A Computational Model with Data Flow Sequencing, Ph. D. dissertation, Computer Science Department, Stanford University, Stanford, California, December 1968, pp. 134; Technical Report 117, Computer Science Department, Stanford University, Stanford, California, December 1968, pp. 130. 1) Средн советских журналов следует отметить: Автоматика и телемеха- ника, Автоматика и вычислительная техника. Кибернетика, Известия АН СССР. Техническая кибернетика. — Прим. ред.
Аннотированная библиография 235 3- Adams D., A Model for Parallel Computations, Parallel Processor Sys- tems, Technologies and Applications, New York; Spartan Books, 1970, p. 311 — 334. 4. Agerwala T-, A Complete Model for Representing the Coordination of Asynchronous Processes, Hopkins Computer Research Report No. 32, Computer Science Program, Johns Hopkins University, Baltimore, Maryland, July 1974, pp. 58. Определяется расширенная модель сети Петри, которая допускает сдер- живающие дуги. Показано, что эта расширенная модель эквивалентна машине Тьюринга. Поскольку машина Тьюринга может моделировать любую алго- ритмическую схему управления процессов, она называется полной. Расши- ренная модель сети Петри также полна. 5. Agerwala Т., An Analysis of Controlling Agents for Asynchronous Pro- cesses, Hopkins Computer Research Report No. 35, Computer Science Program, Johns Hopkins University, Baltimore, Maryland, August 1974, pp. 85. Для получения иерархии моделей, подобной иерархии из гл. 8, анализи- руются и сравниваются восемнадцать моделей параллельных вычислений, а также девять вариантов сети Петри. Эти результаты, хотя и согласуются с результатами работы [240], но они более категоричны и выведены незави- симо. 6. Agerwala Т., Some Applications of Petri Nets, Proceedings of the 1978 National Electronics Conference, 23, October 1978, p. 149—154; Putting Petri Nets to Work, Computer, 12, No. 12, 1979, p. 85—94. Прекрасная, хотя и краткая работа о том, как сети Петри могут исполь- зоваться для моделирования систем с параллельными действиями. Это изло- жение является разумной альтернативой гл. 3. В работе представлены раз- нообразные приложения, включая аппаратное и программное обеспечение вычислительных систем, асинхронные схемы, языки проектирования и неко- торые новые приложения. 7. Agerwala Т., Flynn М., Comments on Capabilities, Limitations and ’Correctness’ of Petri Nets, Hopkins Computer Research Report No. 26, Compu- ter Science Program, Johns Hopkins University, Baltimore, Maryland, July 1973, pp. 58; Proceedings of the First Annual Symposium on Computer Architec- ture, New York: ACM, 1973, p. 81—86. 8. Agerwala T., Flynn M., On the Completeness of Representation Sche- mes for Concurrent Systems, Unpublished, 1976, pp. 16. 9. Agerwala T., Flynn M., Modeling with Extended Petri Nets, Unpubli- shed, 1976, pp. 18. 10. Anderson D., Sparacio F., Tomasulo R., The IBM System/360 Model 91: Machine Philosophy and Instruction Handling, IBM Journal of Research and Development, 11, No. 1, 1967, pp. 8—24. В ЭВМ IBM 360/91 для получения высокой производительности исполь- зуется параллелизм. Поэтому если сети Петри являются хорошим средством моделирования параллельно действующей аппаратуры, то с их помощью мож- но моделировать устройство управления. Эта статья описывает основные дей- ствия устройства управления модели IBM 360/91. 11. Andre С., Diaz М., Girault С., Sifakis J., Survey of French Researches and Applications Based on Petri Nets, Advanced Course on General Net Theory of Processes and Systems, Hamburg, 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag (1980). 12. Anshel M., Decision Problems for HNN Groups and Vector Addition Systems, Mathematics of Computation, 30, No. 133, 1976, p. 154—156. 13. Araki T., Kasami T., Some Decision Problems Related to the Reacha- bility Problem for Petri Nets, Theoretical Computer Science, 3, No. 1, 1976, p. 85—104. 14. Araki T., Kasami T., Decidable Problems on the Strong Connectivity of Petri Net Reachability Sets, Theoretical Computer Science, 4, No. 1, 1977. p. 99—119. 15. Ayache J., Diaz M., Valette R., A Methodology for Specifying Contrcl 9**
236 Аннотированная библиография 1n Electronic Switching Systeme, Proceedings of the International Switching Symposium, Paris, May 1979, p. 1049—1056. 16. Azema P., Diaz M., Doucet J., Multilevel Description Using Petri Nets, Proceedings of the 1975 International Symposium on Computer Hardware Description Languages and Their Applications, New York: IEEE, September 1975, p. 188—190. 17. Azema P., Valette R., Diaz M., Petri Nets as a Common Tool for De- sign Verification and Hardware Simulation, Proceedings 13th Design Automa- tion Conference, New York: IEEE, June 1976, p. 109—116. 18. Azema P., Valette R., Renalier M., Programme de Simulation et d’Analyse des Schemas a Reseaux de Petri, en Langage APL, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 73—88. 19. Baer J., Graph Models of Computations in Computer Systems, Ph. D. dissertation, Department of Electrical Engineering, University of Califor- nia, Los Angeles, California, 1968, pp. 223. 20. Baer J., A Survey of Some Theoretical Aspects of Multiprocessing, Computing Surveys, 5, No. 1, 1973, p. 31—80. Обзор некоторых теоретических результатов, полученных для параллель- ных вычислений. Сначала рассматривается задача представления паралле- лизма в программе, или автоматического определения скрытого параллелиз- ма, в случае, когда язык программирования не допускает явного представле- ния параллелизма. Затем описывается несколько моделей параллельных вычислений, включая сети Петри, графы UCLA и схемы параллельных про- грамм. Наконец описываются некоторые методы предсказания производитель- ности мультипроцессорных систем. В приложении приведены различные ти- пы аппаратного обеспечения мультипроцессорных систем. 21. Baer J., Modeling for Parallel Computation: A Case Study, Procee- dings of the 1973 Sagamore Computer Conference on Parallel Processing, New York, IEEE, August 1973, p. 13—22. Здесь представлен отчет по ранним работам, посвященным моделирова- нию компиляторов с помощью расширенных сетей Петри. В работе рассматри- вается только моделирование. Модель сети Петри расширяется добавлением дизъюнктивной (ИЛИ) логики, переключателей и поглощателей фишек. Затем эта модель используется для описания фазы лексического анализа ком- пилятора. Как оказалось впоследствии, эта работа привела к результатам, изложенным в [22]. 22. Baer J., Ellis С., Model, Design and Evaluation of a Compiler for a Parallel Processing Environment, IEEE Transactions on Software Engineering, Volume SE-3, No. 6, 1977, p. 394—405. Эта работа является продолжением работы [21]. Компилятор XPL моде- лируется сетью Петри. Моделирование подсказало структуру компилятора, которая была изменена так, что компиляция в ней выполняется в три этапа, что удобно для трехпроцессорного конвейерного компилятора, позволяю- щего увеличить скорость компиляции в два раза. 23. Baer J., Bovet D., Estrin G., Legality and Other Properties of Graph Models of Computations, Journal of the ACM, 17, No. 3, 1970, p. 543—554. 24. Baker H., Jr., Petri Nets and Languages, Computation Structures Group Memo 68, Project MAC, Massachusetts Institute of Technology, Cambrid- ge, Massachusetts, May 1972, pp. 6. Короткая заметка, описывающая основную идею сопоставления языка сети Петри и использования этого языка для описания поведения сети Петри. 25. Baker Н., Jr., Equivalence Problems of Petri Nets, Master’s thesis, Department of Electrical Engineering, Massachusetts Institute of Technology, Cambridge, Massachusetts, May 1973, pp. 53. Название этих тезисов несколько обманчиво. Хотя некоторые задачи эквивалентности и упоминаются, но особое внимание уделяется важным, ранее выдвинутым идеям Бэйкера по языкам сети Петри. Это одна из первых работ, рассматривающих сети Петри в контексте теории формальных языков.
Аннотированная библиография 237 Бэйкер работал с префиксными языками сетей Петри и определил каноничес- кую форму префиксных языков маркированных графов. 26. Baker Н., Jr., Rabin’s Proof of the Undecidability of the Reachability Set Inclusion Problem of Vector Addition Systems, Computation Structures Group Memo 79, Project MAC, Massachusetts Institute of Technology, Cambrid- ge, Massachusetts, July 1973, pp. 18. Рабин был неверно упомянут в [148] как доказавший, что задача эквива- лентности для множеств достижимости является неразрешимой, тогда как фактически он показал только, что задача включения неразрешима. Это дока- зательство не было опубликовано, но в 1972 году на совещании в МТИ было представлено новое доказательство. Оно приведено в данной работе, что- бы показать, что задача включения неразрешима. В нем используется десятая проблема Гильберта, которая сводится к недетерминированным регистровым машинам, которые в свою очередь эквивалентны сетям Петри. Это доказатель- ство является основой доказательства неразрешимости задач эквивалентности н подмножества для множеств достижимости сети Петри, приведенных в гл. 5. 27. Berlin F., Time-Extended Petri Nets, Master’s Thesis, Department of Computer Sciences, University of Texas, Austin, Texas, August 1979, pp. 152. 28. Bernstein A., Program Analysis for Parallel Processing, IEEE Trans- actions on Electronic Computers, EC-15, No. 5, 1966, p. 757—762. Ранняя работа по автоматическому выявлению параллелизма в программе. Эта работа содержит определение условий Бернстайна: два действия могут выполняться параллельно, если выход каждого действия не является нн вхо- дом, ни выходом другого действия. 29. Bernstein A., Description Problems in the Modeling of Asynchronous Computer Systems, Technical Report 48, Department of Computer Science, Uni- versity of Toronto, Toronto, Ontario, January 1973, pp. 116. В этом отчете упоминаются сети Петри как модель параллельных вычис- лений. 30. Bernstein Р., Tsichritzis D., Models for Description of Computer Sys- tems, Proceedings of the Eighth Annual Princeton Conference on Information Sciences and Systems, Princeton University, Princeton, New Jersey, March 1974, p. 340—343. 31. Berthelot G., Checking Liveness of Petri-Nets, Parallel Computers — Parallel Mathematics, Amsterdam: North-Holland, March 1977, p. 217— 220. 32. Berthelot G., Une Methode de Verification des Reseaux de Petri, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 33—54 (In French). 33. Berthelot G., Verification de Reseaux de Petri. These Doctorat Troisie- me Cycle, University Rierre et Marie Curie, Paris, France, January 1978, pp. 220 (In French). 34. Berthelot G-, Roucairol G., Reduction of Petri Nets, Proceedings of the Fifth Symposium on Mathematical Foundations of Computer Science, Lecture Notes in Computer Science 45, Berlin: Springer-Verlag, September 1976, p. 202—209. 35. Rest E., Beitraege zur Petrinetz-Theorie, Thesis for diploma, Institut fur Informatik, Universitat Karlsruhe, Karlsruhe, West Germany, September 1974 (In German). 36. Best E., On the Liveness Problem of Petri Net Theory, ASM/6, Compu- ting Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, England, June 1976. 37. Best E-, The SOLO Operating System Described by Petri Nets, ASM/8, Computing Laboratory, University of Newcastle upon Tyne, Newcast- le upon Tyne, England, August 1976. 38. Best E., Path Programs, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 39. Best E-, Aspects of Occurrence Nets, Advanced Course on General
238 Аннотированная библиография Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 40. Best E., Schmid H., Systems of Open Paths in Petri Nets, Procee- dings of the Fourth Symposium on Mathematical Foundations of Computer Sci- ence, Lecture Notes in Computer Science, 32, Berlin: Springer-Verlag, Septem- ber 1975, p. 186—193. 41. Bredt T., A Survey of Models for Parallel Computing, Technical Report 8, Digital Systems Laboratory, Stanford University, Stanford, Cali- fornia, August 1970, pp, 58; Technical Report STAN-CS-70-171, Computer Science Department, Stanford University, Stanford, California, August 1970, pp. 58. 42. Bredt T., Analysis of Parallel Systems, Technical Report 7, Digital Systems Laboratory, Stanford University, Stanford, California, August 1970, pp. 59; IEEE Transactions on Computers, C-20, No. 11, 1971, p. 1403—1407. 43. Bredt 6., McCluskey E., A Model for Parallel Computer Systems, Technical Report 5, Digital Systems Laboratory, Stanford University, Stan- ford, California, April 1970, pp. 62; Technical Report STAN-CS-70-160, De- partment of Computer Sciences, Stanford University, Stanford, California, April 1970, pp. 62. 44. Brinch Hansen P., Concurrent Programming Concepts, Computing Surveys, 5, No. 4, December 1973, p. 223—245. 45. Brinsfield W., Miller R., On the Composition of Parallel Program Schemata, Conference Record 1971 12ih Annual Symposium on Switching and Automata Theory, New York: IEEE, October 1971, p. 20—23. 46. Bruno J., Coffman E., Hosken W., Consistency of Synchronization Nets Uning P and V Operations, Technical Report 117, Computer Science Department, Pennsylvania State University, University Park, Pennsylvania, June 1972; Proceedings of the 13th Annual Symposium on Switching and Auto- mata Theory, New York: IEEE, October 1972, p. 71—77. 47. Cardoza E., Computational Complexity of the Word Problem for Com- mutative Semigroups, Master’s thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, August 1975, pp. 67; Technical Memorandum 67, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, October 1975, pp. 67. Комментируется тесная связь коммутативных полугрупп с системами сложения векторов и сетями Петри. 48. Cardoza Е., Lipton R., Meyer A., Exponential Space Complete Prob- lems for Petri Nets and Commutative Subgroups, Proceedings of the Eighth Annual ACM Symposium on Theory of Computing, New York: ACM, May 1976, p. 50—54. 49. CerfV., Multiprocessors, Semaphores, and a Graph Model of Computa- tion, Ph. D. dissertation, Computer Science Department, University of Cali- fornia, Los Angeles, California, April 1972, pp. 337. Один из серии отчетов и диссертации, разрабатывающих модель вы- числений в виде графов UCLA. 50. Cerf V., Fernandez Е., Gostelow К., Volansky S., Formal Control Flow Properties of a Model of Computation, Report ENG-7178, Computer Sci- ence Department, University of California, Los Angeles, California,11 Decem- ber 1971, pp. 81. 51. Cerf V., Gostelow K-, Estrin G., Volansky S., Proper Termination of Flow of Control in Programs Involving Concurrent Processes, SIGPLAN Notices, 7, No. 11, 1972, p. 15—27; Proceedings of the ACM National Confe- rence, ACM, New York, August 1972, p. 742—754. 52. Chen T., Overlap and Pipeline Processing, in H. Stone (Editor), 1 ntroduction to Computer Architecture, Chicago: Science Research Associates, 1975, p. 375—431. Эта статья является хорошим введением архитектуры конвейерных ЭВМ, которые могут моделироваться сетями Петри, как это указано в гл. 3.
Аннотированная библиография 239 53. Commoner F-, Deadlocks in Petri Nets, Report CA-7206-2311, Massa- chusetts Computer Associates, Wakefield, Massachusetts, June 1972, pp. 50. Тупик — это ситуация, в которой каждое из двух действий, прежде чем начать выполнение, ожидает окончания выполнения другого. Активность яв- ляется (в некотором смысле) противоположностью тупику. Коммонер изу- чает различные уровни тупиков или активности и получает достаточные усло- вия активности. 54. Commoner F., Holt A., Even S., Pnueli A., Marked Directed Graphs, Juornal of Computer and System Sciences, 5, No. 5, 1971, October 1971, p. 511 — 523. Маркированные графы -— это подкласс сетей Петри, в которых прояв- ляется параллелизм, но отсутствуют конфликты. Эта работа является основ- ным источником определения маркированных графов и результатов по этому вопросу. В ней разбираются алгоритмы решения задач безопасности, активности и достижимости и другие вопросы. 55. Cooper D., Programs for Mechanical Program Verification, in B. Melt- zer and D. Michie (Editors), Machine Intelligences, New York: Halstead Press, 1971, p. 43—59. Ha c. 44—47 описывается алгоритм для арифметики Пресбюргера, кото- рый используется для доказательства простых теорем об алгебраических фор- мулах. 56. Cooprider L., Petri Nets and the Representation of Standard Syn- chronizations, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania, January 1976, pp. 30. Некоторый материал гл. 3 по использованию сетей Петри для моделиро- вания программного обеспечения ЭВМ основан на этом наброске. Этот ма- териал является несколько скучноватым, но в нем представляются и анали- зируются классические задачи синхронизации процессов. 57. Cotronis J., Lauer Р., Verification of Concurrent Systems of Processes, Technical Report 97, Computing Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, England, January 1977, pp. 11; Proceedings of the International Computing Symposium 1977, Amsterdam: North-Holland, April 1977, p. 197—207. 58. Courtois P., Heymans F-, Parnas D., Concurrent Control with ’Rea- ders’ and ’Writers’, Communications of the ACM, 14, No. 10, 1971, p. 667—668. 59. Courvoisier M., Une Architecture Parallele Asynchrone pour les Sys- temes de Commande, AFCET Journees sur les Reseaux de Petri (AFCET Work- shop on Petri Nets), Paris, France, March 1977, p. 56—72 (In French). 60. Cox L., Jr., Predicting Concurrent Computer System Performance Using Petri Net Models, Proceedings of the 1978 ACM National Conference, New York: ACM, December 1978, p. 901—913. 61. Crespi-Reghizzi S., Mandrioli D., Petri Nets and Commutative Gram- mars, Internal Report 74-5, Laboratorio die Cacolatori, Institute di Electtro- tecnica ed Elektronica del Politecnico di Milano, Italy, March 1974, pp. 80. Предпринимается попытка охарактеризовать сети Петри. Сначала ис- следуется алгебраическая характеризация, основанная на матричном пред- ставлении сетей Петри. Затем используется языковый подход для характери- зации сетей Петри последовательностями запусков переходов. Показывает- ся, что сети Петри эквивалентны коммутативным грамматикам непосредст- венных составляющих, т. е. грамматикам, в которых упорядочение символов несущественно. Отчет является хорошим изложением основных свойств сетей Петри. 62. Crespi-Reghizzi S., Mandrioli D., A Decidability Theorem for a Class of Vector Addition Systems, Information Processing Letters, 3, No. 3, January 1975, p. 78—80. Показывается, что задача достижимости для сетей Петри без конфлик- тов является разрешимой, приводится краткое описание алгоритма для оп- ределения последовательности запусков, ведущих от одной маркировки к другой (если эта маркировка достижима).
240 Аннотированная библиография 63. Crespi-Reghizzi S., Mandrioli D., Some Algebraic Properties of Petri Nets, Alta Frequenza, 45, No. 2, February 1976, p. 130—137. 64. Crespi-Reghizzi S., Mandrioli D., Petri Nets and Szilard Languages, Information and Control, Volume 33, No. 2, 1977, p. 177—192. 65. Crespi-Reghizzi S., Schreiber F., Le Reti di Petri: Un Modello per la Descrizione dei Sistemi Asincroni, Rivista di I nformatica, 3, 1972, p. 3—20 (In Italian). 66. Crowley C., Noe J., Interactive Graphical Simulation Using Modified Petri Nets, Proceedings of Symposium on Simulation of Computer Systems, New York: ACM, August 1975, p. 177—184. 67. Dadda L., The Synthesis of Petri Nets for Controlling Purposes and the Reduction of their Complexity, Proceedings of the Second Euromicro Sympo- sium on Microprocessing and Microprogramming, Amsterdam: North-Holland, October 1976, p. 251—259. 68. Davis M., A Program for Presburger’s Algorithm, Summer Institute for Symbolic Logic, Cornell University, Ithaca, New York, 1957, p. 215—233. Описывается программа на машинном языке для компьютера Инсти- тута перспективных исследований. Программа определяет верность формулы в рамках арифметики Пресбюргера (длина формулы до 96 символов). Значение этой работы состоит в пояснении алгоритма Пресбюргера перед программой. 69. Davis М., Computability and Unsolvability, New York: McGraw- Hill, 1958, pp. 210. Классическая работа no теории вычислимости. 70. Davis M., Hilbert’s Tenth Problem is Unsolvable, The American Mathe- matical Monthly, 80, No. 3, 1973, p. 233—269. Дэвис приводит полное доказательство Матиясевича неразрешимости десятой проблемы Гильберта. 71. Davis М., Hersch R., Hilbert’s 10th Ptoblem, Scientific American, 229, No. 5, Novernbre 1973, p. 84—91. Популярное объяснение доказательства того, что десятая проблема Гиль- берта неразрешима. 72. Dennis J., Modular, Asynchronous Control Structures for a High Performance Processor, Record of the Project MAC Conference on Concurrent Systems and Parallel Computation, New York: ACM, June 1970, p. 55—80. Приведены примеры использования сетей Петри для описания механиз- мов управления сложными ЭВМ. Конечнойтцелью должна являться разра- ботка автоматических механизмов реализации сети Петри как цифровой сис- темы. 73. Dennis J. (Editor), Record of the'Project MAC Conference on Concur- rent Systems and Parallel Computation, New York: ACM, June 1970, pp. 199. Конференция в Вудс-Холле собрала на несколько дней вместе 27 иссле- дователей по параллельным вычислениям и в конце концов привела к выпус- ку этих материалов. Работы, касающиеся сетей Петри, включают [70, 127, 232], а также превосходную библиографию. 74. Dennis J., Concurrencylin Software Systems, Computation Structures Group Memo 65-1, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, June 1972, pp. 18; Advanced Course in Software Engineering, Berlin: Springer-Verlag, 1973, p. Ill—-127; Lecture Notes in Computer Science, 30, Berlin: Springer-Verlag, 1975, p. Ill—127. Сети Петри используются в качестве модели параллельных вычислений для иллюстрации задач детерминированности и связи между процессами. 75. Dennis J., Patil S., Speed Independent Asynchronous Circuits, Compu- tation Structures Group Memo 54, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, January 1971, pp. 5; Proceedings Fourth Hawaii International Conference on Systems Sciences, University of Hawaii, Honolulu, Hawaii, January 1971, p. 55—58. 76. Dennis J., Van Horn E., Programming Semantics for Multiprogram- med Computations, Communications of the ACM, 9, No. 3, 1966, p. 143—155.
Аннотированная библиография 241 77. DeVillers R., Louchard G., Realization of Petri Nets Without Con- ditional Statements, I nformation Processing Letters, 2, No. 4, October 1973, p. 105—107. 78. Dijkstra E., Solution of a Problem in Concurrent Program Control, Communications of the ACM, 8, No. 9, 1965, pp. 569. 79. Dijkstra E., Cooperating Sequential Processes, in F. Genuys (Edi- tor), Programming Languages. New York: Academic Press, 1968, p. 43—112. Это классическая работа, в которой впервые введены Р- и V-операции над семафорами. 80. Ellis С., Consistency and Correctness of Duplicate Database Systems, Xerox Systems Science Laboratory, Palo Alto Research Center, Palo Alto, California, 1977, pp. 28. 81. Fernandez C., Net Topology 1, Internal Report 75-9, Institut fur Informationssystemforschung Gesellschaft fur Mathematik und Datenverarbei- tung, Bonn, West Germany, 1975. 82. Fernandez C., Net Topology II, Internal Report 76-2, Institut fur Informationssystemforschung, Gesellschaft fur Mathematik und Datenverar- beitung, Bonn, West Germany, 1976. Co времени появления первой работы, которая привела к модели сетей Петри, общая теория сетей разрабатывалась Петри и другими исследователя- ми. Эти два отчета «Топология Сети I» и «Топология сети II» связаны с иссле- дованием алгебраических (математических) свойств сетей в рамках общей тео- рии сетей. В отчетах много определений, теорем и доказательств и не содер- жится интуитивных рассуждений. 83. Foo S., Musgrave G., Comparison of Graph Models for Parallel Compu- tation and Their Extension, Proceedings of the 1975 International Symposium on Computer Hardware Description Languages and Their Applications, New York: IEEE, September 1975, p. 16—21. 84. Furtek F., Modular Implementation of Petri Nets, Master’s thesis, Department of Electrical Engineering, Massachusetts Institute of Technology Cambridge, Massachusetts, 1971, pp. 136. 85. Furtek F., A New Approach to Petri Nets, Computation Structures Group Memo 123, Project MAC, Massachusetts Institute of Technology, Cam- bridge, Massachusetts, 1975, p. 26. 86. Furtek F., The Logic of Systems, Ph. D. dissertation, Department of Electrical Engineering, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1976, pp. 176; Technical Report 170, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1976, pp. 176. 87. Genrich H., Einfache nicht-sequentielle Prozesse (Simple Nonsequen- tial Processes), Report 37, Institut fur Informationssystemforschung, Gesell- schaft fur Mathematik und Datenverarbeitung, Bonn, West Germany, 1971 (in German). Упоминается в работе [127] как являющаяся полным исследованием мар- кированных графов. 88. Genrich Н., Extended Simple Regular Expressions, Lecture Notes in Computer Science, 32, Berlin: Springer-Verlag, 1975, p. 231—237. 89. Genrich H., The Petri Net Represantation of Mathematical Knowledge, Internal Report 76-5, Institut fur Informationssystemforschung, Gesellschaft fur Mathematik und Datenverarbeitung, Bonn, West Germany, May 1976, pp. 30. Используются сети Петри для представления теорем, аксиом, лемм и дру- гих соотношений. 90. Genrich Н., Lautenbach К-, Synchronisationsgraphen, Acta Infortna- tica, 2, No. 2, 1973, p. 143—161 (In German). 91. Genrich H., Lautenbach K-, Facts in Place/Transition-Nets, Procee- dings of the Seventh Symposium on Mathematical Foundations of Computer 1 Sci- ence 1978, Lecture Notes in Computer Science, 64, Berlin: Springer-Verlag, September 1978, p. 213—231. 92. Genrich H., Stankiewicz-Wiechno E., A Dictionary of Some Basic-
242 Аннотированная библиография Notions of Net Theory, Adwanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Ber- lin: Springer-Verlag, 1980. 93. Genrich H., Thieler-Mevissen G., The Calculus of Facts, Proceedings of the Fifth Symposium on the Mathematical Foundations of Computer Scinece, Lecture Notes in Computer Science, 45, Berlin: Springer-Verlag, September 1976, p. 588—595. Дается описание исчисления предикатов первого порядка как сети Пет- ри. 94. Genrich Н., Lautenbach К., Thiagarajan Р., An Overview of Net Theory, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer- Verlag, 1980. 95. Ghosh S., Some Comments on Timed Petri Nets, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 213—226. 96. Ghosh S., Structured Petri Nets, Report 49/77, Lehrstuhl Informatik, Universitat Dortmund, West Germany, August 1977, pp. 27.- Определяется подкласс сетей Петри, иерархически объединяющихся для создания больших сетей, активность которых гарантируется. 97. Gilbert Р., Chandler W., Interference Between Communicating Pro- cesses, Communications of the ACM, 15, No. 3, 1972, p. 171—176. Конечно-автоматная модель параллельных вычислений, использующих для связи общую память. 98. Gill A., Introduction to the Theory of Finite State Machines, New York: McGraw-Hill, 1962, pp. 207. 99. Ginsburg S., The Mathematical Theory of Context Free Languages, New York: McGraw-Hill, 1966, pp. 232. Математическое изложение части теории формальных языков. Работы по ограниченным языкам, теореме Парнха и полулинейным множествам соотно- сятся с работой по языкам сетей Петри. 100. Ginsburg S., Algebraic and Automata-Theoretic Properties of Formal Languages, Amsterdam: North-Holland, 1975, pp. 313. 101. Ginsburg S., Spanier E., Semigroups, Presburger Formulas, and Languages, Pacific Journal of Mathematics, 16, No. 2, 1966, p. 285—296. Показывается связь между контексно-свободными языками, полулиней- ностью и арифметикой Пресбюргера. 102. Girault С., Reseaux de Petri et Synchronisation de Processus, Tech- nical Report 78.02, Institut de Programmation, University Pierre et Marie Curie, Paris, France, 1978, pp. 19 (In French). 103. Godbersen H., Meyer B., Function Nets as a Tool for the Simulations of Information Systems, Proceedings of the Summer Computer Simulation Con- ference, July 1978, p. 46—53. 104. Gostelow K-, Flow of Control, Resource Allocation and the Proper Termination of Programs, Ph. D. dissertation, Computer Science Department University of California, Los Angeles, California, December 1971, pp. 301. Одна работа из серии отчетов и диссертаций, в которых разрабатывается модель вычислений в виде графа UCLA. В этой дессертации определяется свойство завершения и разрабатывается алгоритм определения возможности полного завершения. В приложении показывается, что сети Петри и графы UCLA почти эквивалентны, но позиции сети Петри ошибочно ставятся в со- ответствие вершинам графа UCLA, а не дугам графа при правильном сопос- тавлении, поэтому результаты ошибочны. 105. Gostelow К., Computation Modules and Petri Nets, Proceedings of the Third IEEE-АСМ Milwaukee Symposium on Automatic Computation and Control, New York: IEEE, April 1975, p. 345—353. Определяется и обсуждается свойство полного завершения сети Петри. Вполне оканчивающаяся сеть Петри может быть помещена вместо перехода в другую сеть без образования тупиков.
Аннотированная библиография 243 106. Grabowski J., The Unsolvability of Some Petri Net Language Prob- lems, Information Processing Letters, 9, No. 2, August 1979, p. 60—63. 107. Hack M., Analysis of Production Schemata by Petri Nets, Master’s thesis, Department of Electrical Engineering, Massachusetts Institute of Tech- nology, Cambridge, Massachusetts, Febriary 1972, pp. 119; Technical Report 94, Project MAC, Massachusetts Institute of Technology, Cambridge, Massa- chusetts, February 1972, pp. 119; Errata: Corrections to Analysis of Produc- tion Schemata by Petri Nets, Computation Structures Group Note 17, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, June 1974, pp. 11. В этой диссертации вводятся сети Петрн со свободным выбором и иссле- дуются их свойства. Главными результатами являются необходимые и доста- точные условия для активности и безопасности. Проведена также работа по декомпозиции сетей со свободным выбором н более простые подсети. 108. Hack М., The Godelization of Petri Nets and Vector Addition Systems, Unpublished, May 1973, pp. 9. 109. Hack M., Extended State-Machine Allocatable Nets (ESMA), an Ex- tension of Free Choice Petri Net Results, Computation Structures Group Memo 78, Project MAC, Massachusetts Institute of Technology, Cambridge, Massa- chusetts, May 1973, pp. 33; revised as Memo 78—1, June 1974, pp. 38. 110. Hack M., A Petri Net Version of Rabin’s Undecidability Proof for Vector Addition Systems, Computation Structures Group Memo 94, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, De- cember, 1973, pp. 12. Представляется доказательство неразрешимости задачи о подмножестве для множеств достижимости в сетях Петри. Первоначальное доказательство Рабина,как это сообщалось в (26], было даио для систем векторного сложения. Это доказательство имеется также [116] и представлено здесь в гл. 5. 111. Hack М., Decision Problems for Petri Nets and Vector Addition Sys- tems, Computation Structures Group Memo 95, Project MAC. Massachusetts Institute of Technology, Cambridge, Messachusetts, March 1974, pp. 79. revised as Memo 95-1, August 1974; Technical Memo 59, Project MAC, Massa- chusetts Institute of Technology, Cambridge, Massachusetts, March 1975, pp. 7. В этом отчете собраны три основных результата: (1) эквивалентность обобщенных сетей Петри сетям Петри с ограничениями (без петель и с крат- ностью, равной нулю или единице); (2) неразрешимость задачи о подмножест- ве для множеств достижимости в сетях Петри (см. также [110]) и (3) эквива- лентность задач активности и достижимости (см. также [113]). 112. Hack М., Petri Nets and Commutative Semigroups, Unpublished, July 1974, pp. 5. 113. Hack M. The Recursive Equivalence of the Reachability Problem an the Liveness Problem for Petri Nets and Vector Addition Systems, Computati- on Structures Group Memo 107, Project MAC, Massachusetts Institute of Tech- nology, Cambridge, Massachusetts, August 1974, pp. 9; Proceedings of the 15th Annual Symposium on Switching and Automata Theory, NewYork: IEEE , Octo- ber 1974, p. 156—164. Показано, что задача достижимости и задача активности взаимно сво- димы. 114. Hack М., The Equality Problem for Vector Addition Systems is Unde- cidable, Computation Structures Group Memo 121, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, April 1975, pp. 32; Theo- retical Computer Science, 2, No. 1, June 1976, p. 77—96. Показано, что задача о подмножестве для множеств достижимости сво- дима к задаче о равенстве. Таким образом, поскольку задача о подмножестве неразрешима (см. [26, ПО] или [111]), то задача о равенстве также неразре- шима. Это доказательство дано здесь в гл. 5. 115. Hack М., Petri Net Languages, Computation Structures Group Memo 124, Project MAC, Massachusetts Institute of Technology, Cambridge, Massa- chusetts, June 1975, pp. 128; Technical Report 159, Laboratory for Computer
244 Аннотированная библиография Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, March 1976, pp. 128. Следуя предположениям Бэйкера [24], Хэк тщательно исследовал языки сетей Петри. Выделяются два основных класса языков: префиксные языки всех последовательностей, которые ведут к достижимой маркировке, и языки последовательностей, ведущих к определенной заключательной маркировке. Кроме того, Хэк рассматривает языки, которые получаются в результате При- нятия решения о разрешении или запрещении переходов, помеченных X, пустой строкой. Для каждого из этих четырех классов определены простые свойства замкнутости’и даны характеристики. Кроме того, эти языки связаны с другими классами языков, включая регулярные языки. Показано, что задачи принадлежности, пустоты и конечности разрешимы для некоторых языков, но эквивалентны задаче достижимости для других. Прекрасное исследоваине в новой области. 116. Hack М., Decidability Questions for Petri Nets, Ph. D. dissertation, Department of Electrical Engeneering, Massachusetts Institute of Technology, Cambridge, Massachusetts, December 1975, pp. 194; Technical Report 161, Laboratory for Computer Science, Massachusetts Institute of Technology, Cam- bridge, Massachusetts, June 1976, pp. 194. В этой диссертации собраны вместе многие из работ Хэка. Диссертация является прекрасной работой по сетям Петри, включающей как основные определения и свойства, так и новейшие исследования. Каждая тема тщатель- но определена и разработана. Основные главы включают: разрешимость ог- раниченности и покрываемости (используя дерево достижимости); задачи достижимости; активность и живучесть; неразрешимость задач подмножества и равенства для множеств достижимости в сетях Петри (как это впервые пред- ставлено в [НО, 114]); языки сетей Петри [115]. Диссертация завершается не- которыми открытыми вопросами и предположениями. 117. Han Y., Performance Evaluation of a Digital System Using a Petri Net-like Approach, Proceedings of]fhe National Electronics Conference, 23, 1978, p. 166—172. 118. Han Y., Rinney L., Petri Net Reduction and Verification, Honey- well, Minneapolis, Minnesota, 1977, pp. 52. 119. Hebalkar P., Deadlock-free Sharing of Resources in Asynchronous Systems, Ph. D. dissertation, Department of Electrical Engineering, Massachu- setts Institute of Technology, Cambridge, Massachusetts, September 1970, pp. 185; Technical Report 75, Project MAC, Massachusetts Institute of Techno- logy, Cambridge, Massachusetts, September, 1970, pp. 185. 120. Heimerdinger W., A Petri Net Approach to System Level Fault Tole- rance Analysis, Proceedings of the National Electronics Conference, 23, October 1978, p. 161—165. 121. Henhapl W., A Transformation of Marked Graphs, Information Proces- sing Letters, 2, No. 1, March 1973, p. 26—29. 122. Herzog O., Automatic Deadlock Analysis of Parallel Programs, Proceedings of the International Computing Symposium 1977, Amsterdam: North-Holland, April 1977, p. 209—216. 123. Holt A., Introduction to Occurence Systems, Associative Information Techniques, New York: American Elsevier, 1971, p. 175—203. Хорошо изложенный обзор результатов Проекта теории информационных систем. Справочное пособие по системам событий с примерами и прекрасным обсуждением параллелизма и конфликтов в терминах систем событий и, сле- довательно, безопасных сетей Петри. 124. Holt A., Role/Activity Models and Petri Nets, Second Semi-Annual Technical Report, Report CADD-7503-1411, Massachusetts Computer Associa- tes, Wakefield, Massachusetts, 1975, p. 5—26. 125. Holt A., Definitions Pertaining to Petri Nets, States and Events and Behavior, Second Semi-Annual Technical Report, Report CADD-7503-1411, Massachusetts Computer Associates, Wakefield, Massachusetts, 1975, p. 58—69.
Аннотированная библиография 245 126. Holt A., Communication Mechanics, Second Semi-Annual Technical Report, Report CADD-7503-1411, Massachusetts Computer Associates, Wake- field, Massachusetts, 1975, p. 143—168. 127. Holt A., Commoner F., Events and Conditions (in three parths), Applied Data Research, New York, 1970; Record of the Project MAC Conference on Concurrent Systems and Parallel Computation, New York: ACM, 1970, p. 1—52. Работа Хольта по развитию иаукн об информации и системах называется систематикой. В данной статье имеется превосходное изложение основ этой работы и начал теории сетей Петри. Сети Петри определяются и иллюстриру- ются. На протяжении всей работы рассматриваются маркированные графы и автоматы. В одном нз примеров статьи отражено ограничение безопасности и, та- ким образом, посажено зерно современных определений. Статья очень инте- ресна и хорошо читается. 128. Holt A., Saint Н., Shapiro R., Warshall S., Final Report of the In- formation System Theory Project, Technical Report RADC-TR-68-305, Rome Air Development Center, Griffiss Air Force Base, New York, 1968, pp. 352. Этот объемный отчет представляет результаты Проекта теории информа- ционных систем, которые касаются определения необходимых описательных средств для моделирования, оценки и реализации систем. Сети Петри зани- мают основную часть этой работы и представлены здесь детально. Понятие сети Петри само по себе является еще безопасной сетью. Это привело к боль- шому объему работ по графам событий и системам событий, подходу к пред- ставлению и анализу последовательностей запусков, которые применимы к безопасным сетям. После работы [127] интерес к системам событий уменьшил- ся. Большинство работ по сетям Петрн ссылается на этот отчет, хотя он пред- ставляет сейчас главным образом исторический интерес. Раздел V пересмот- рен [274]. 129. Hopcroft J., Pansiot J., On the Reachability Problem for 5-Dimen- sional Vector Addition Systems, Technical Report 76-280, Department of Com- puter Science, Cornell University, Ithaca, New York, 1976, pp. 42. Изучается задача достижимости для систем сложения векторов с размер- ностью не большей пяти (сети Петри с числом позиций не больше пяти). Показано, что множества достижимости являются эффективно полулиней- ными, это дает алгоритм для их решения. Задачи эквивалентности и включе- ния в общем случае неразрешимые разрешимы для этих систем. К сожалению, этот подход не пригоден для сетей с числом позиций большим пяти и имеет поэтому ограниченную практическую пользу. 130. Hopcroft J., Ullman J., Formal Languages and Their Relation to Auto- mata, Reading, Massachusetts: Addison-Wesley, 1969, pp. 242. Эта книга является классической в данной области. Она является крат- ким, но понятным изложением теории формальных языков (регулярных, кон- текстно-свободных, контекстно-зависимых и языков типа О) и теории автома- тов (автоматы с магазинной памятью, линейные ограниченные автоматы и машины Тьюринга). Хорошо представлены вопросы разрешимости и вопросы временной и емкостной сложности. Наиболее читаемый и постоянно упомина- емый источник для работ в любой из этих областей. 131. Норпег М., Opp М., Renaming and Erasing in Szilard Languages, Technical Report 35, Institut fur Informatik, University of Hamburg, May 1977, pp. 37; Automata, Languages and. Programming, Lecture Notes in Compu- ter Science, 52, Berlin: Springer-Verlag, 1977, p. 244—257. 132. Huen W., Siewiorek D., Intermodule Protocol for Register Transfer Level Modules: Representation and Analytic Tools, Proceedings of the Second Annual Symposium on Computer Architecture, New York: ACM, 1975, p. 56—26 Сети Петри, графы UCLA и системы сложения векторов рассматриваются как модели взаимосвязи аппаратных модулей. При анализе используется
246 Аннотированная библиография дерево достижимости, а затем показываются некоторые проблемы, связанные с этими модулями. 133. Hughes С., The Equivalence of Vector Addition Systems to a Subclass of Post Canonical Systems, Technical Report CS-77-22, Computer Science De- partment, University of Tennessee, Knoxville, Tennessee, August 1977, pp. 6; Information Processing Letters, 7, No. 4, 1978, p. 201—204. 134. Human H., Comments on a Problem in Concurrent Programming Control, Communications of the ACM, 9, No. I, 1966, pp. 45. 135. lazeolla G., Modelli per Elaborazione Parallela, Technical Re- port 73-03, Institute di Automatica, Universita di Roma, Rome, Italy, 1973, pp. 54’(in Italian). 136. Izbicki H., Report on Marked Graphs, Technical Report 25-136, IBM Vienna Laboratories, Vienna, Austria, 1973, pp. 37. Это окончательный отчет по исследованиям в Венской лаборатории фир- мы IBM по маркированным графам. В нем собраны вместе работы Ижбики, Хенхапля, Хансаля и Шваба. Изложение очень формальное, наполненное таинственными обозначениями н теоремами и связано с маркированными гра- фами. Полученные результаты минимальны. 137. Jaffe J., Semilinear Sets and Applications, Master’s thesis, Depart- ment of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1977, pp. 79; Technical Report 183, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1975, pp. 79. 138. Jantzen M., On the Hierarchy of Petri Net Languages, R. A. A. R. O. Theoretical Informatics, 13, No. 1, 1979, p. 19—30. 139. Jantzen M., Structured Representation of Knowledge by Petri Nets as an Aid for Teaching and Research, Advanced Course on General Net Theory of Processes and Systems, Hamburg, 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 140. Jantzen M., Valk R., Formal Properties of Place Transition Nets, Advanced Course on General Net Theory of Processes and Systems, Hamburg, 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 141. Jensen K-, Extended and Hyper Petri Nets, Technical Report DAIMI TR-5, Computer Science Department, Aarhus University, Aarhus, Denmark, 1978. 142. Jensen K-, Coloured Petri Nets and the Invariant Method, Technical Report DAIMI PB-104, Computer Science Department, Aarthus University, Aarhus, Denmark, 1979, pp. 27. 143. Johnson R., Needed: A Measure for Measure, Datamation, 16, No. 12, 1970, p. 22—70. 144. Jones N., Landweber L., Lien Y., Complexity of Some Problems in Petri Nets, Technical Report 276, Computer Science Department, University of Wisconsin, Madison, Wisconsin, 1976, pp. 43; Theoretical Computer Science, 4, No. 3, 1977, p. 277—299. В этой работе теория сложности применяется к сетям Петри. Для не- скольких задач в сетях Петри, включая достижимость, активность и безопас- ность, даны границы времени и объема памяти. Показано, что живучесть сво- дима к достижимости. Результаты по сложности даны как для сетей Петри, так и для автоматов, маркированных графов и сетей Петри со свободным вы- бором. 145. Jump J., Thiagarajan Р., On the Equivalence of Asynchronous Cont- rol Structures, Proceedings of the 13th Annual Symposium on Switching and Auto- mata Theory, New York: IEEE, 1972, p. 212—223. 146. Karp R., Reducibility Among Combinatorial Problems, in R. Miller and J. Thatcher (Editors), Complexity of Computer Computations, New York: Plenum Press, 1972, p. 85—103. 147. Karp R., Miller R., Properties of a Model for Parallel Computation: Determinacy, Termination and Queueing, SIAM Journal of Applied Math, 14, No. 6, 1966, p. 1390—1411.
Аннотированная библиография 247 Определяются н исследуются свойства модели вычислений в виде графа вычислений. Эта модель оказала влияние на многие более поздние модели, такие, как схемы параллельных программ [148]. 148. Karp R., Miller R., Parallel Program Schemata, RC-2053, IBM T. J. Watson Research Center, Yorktown Heights, New York, 1968, pp. 54; Journal of Computer and System Science, 3, No. 4, 1969, p. 167—195; preliminary draft, IEEE Conference Record of the 1967 Eighth Annual Symposium on Swit- ching and Automata Theory, New York: IEEE, 1967, p. 55—61. Многие ранние работы по моделированию параллелизма в вычислитель- ных системах основаны на модели вычислительной системы с памятью и несколькими процессорами. Процессоры выполняли программы, которые моделируются в большей или меньшей степени блок-схемами. Данная рабо- та Карпа и Миллера является высшей точкой этого подхода. В ней представ- ляются модели схем параллельных программ, а затем определяются различ- ные вопросы, связанные с этой моделью, такие, как эквивалентность, детер- минированность и ограниченность. Особый интерес представляет разд. V, в котором вводятся системы сложения векторов и деревья достижимости для решения задач ограниченности и покрываемости. 149. Kasami Т., Vector Addition Systems and Synchronization Problems of Concurrent Processes, Technical Report ARO-23, University of Hawaii, Honolulu, Hawaii, 1974. 150. Keller R., Vector Replacement Systems: A Formalism for Modeling Asynchronous Systems, Technical Report 117, Computer Science Laboratory, Princeton University, Princeton, New Jersey, December 1972, pp. 38; revised January 1974, pp. 57. Важная работа, на которую часто ссылаются. Келлер определяет «Сис- темы переходов» как общую модель параллельных вычислений, а затем сужа- ет ее до систем замещения векторов. Системы замещения векторов являются естественным обобщением систем сложения векторов и формализмом, экви- валентным сетям Петрн. Исследуется главным образом задача активности. 151. Keller R., A Fundamental Theorem of Asynchronous Parallel Com- putation, Proceedings of the Sagamore Computer Conference, Lecture Notes in Computer Science, 24, Berlin: Springer-Verlag, August 1974, p. 102—112. 152. Keller R., Generalized Petri Nets as Models for System Verification, Technical Report 202, Department of Electrical Engineering, Princeton Uni- versity, Princeton, New Jersey, August 1975, pp. 50. В данном случае Келлер заинтересован в определении мощности моде- лирования (системы, которые могут быть промоделированы) и мощности разрешения (вопросы, которые разрешимы) сетей Петри . Мощность модели- рования характеризуется аддитивными монотонными системами. Обсужда- емые здесь вопросы разрешимости концентрируются на использовании дере- ва достижимости для доказательства корректности. 153. Keller R., Look-Ahead Processors, Computing Surveys, 7, No. 4, 1975, p. 177—196. 154. Keller R., Formal Verification of Parallel Programs, Communicati- ons of the ACM, 19, No. 7, 1976, p. 371—384. Модель, используемая здесь, является более мощной, чем сети Петри, но разработана на основе работы Келлера по системам замещения векторов и сетям Петри. 155. Kinney L., Han Y., Reduction of Petri Nets, Proceedings of the 14th Allerton Conference on Circuits and Systems Theory, September 1976. 156. Knuth D., The Art of Computer Programming, 3, Sorting and Sear- ching, Reading, Massachusetts: Addison-Wesley, 1973, pp. 772. 157. Knuth E., Petri Nets and Regular Trace Languages, Report ASM/47, Computing Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, England, April 1978. 158. Knuth E.,Cycles of Partial Orders., Proceedings of the Seventh Sympo- sium on Mathematical Foundations of Computer Science 1978, Lecture Notes in Computer Science, 64, Berlin: Springer-Verlag, September 197 8, p. 315—325
248 Аннотированная библиография 159. Kosaraju S-, Limitations of Dijkstra’s Semaphore Primitives and Petri Nets, Technical Report 25, Computer Science Program, Johns Hopkins University, Beltimore, Maryland, May 1973, pp. 20; Operatine Systems Review. 7, No. 4, 1973, p. 122—126. Это первая работа no определению задачи синхронизации, которую нель- зя промоделировать с помощью сетей Петри. Поскольку в сетях Петри мож- но моделировать Р- и V-операции над семафорами, то они также являются неполными. Проблема заключается в кодировании состояний с одной, двумя или тремя фишками в позиции. Поскольку сети Петри являются разрешаю- щими, то невозможно препятствовать запуску перехода, предназначенного для запуска с одной или двумя фишками в позиции, когда в ней имеется три фишки. 160. Kotov V-, An Algebra for Parallelism Based on Petri Nets, Procee- dings of the Seventh Symposium on Mathematical Foundations of Computer Sci- ence 1978, Lecture Notes in Computer Science, 64, Berlin: Springer-Verlag, September 1978, p. 39—55. 161. Landweber L., Robertson E., Properties of Conflict-free and Persis- tent Petri Nets, Technical Report 264, Computer Sciences Department, Univer- sity of Wisconsin, Madison, Wisconsin, December 1975, pp. 30; Journal of the ACM, 25, No. 3, 1978, p. 352—364. Сети Петри, свободные от конфликтов, допускают разделяемые входные позиции, только если они не входят в петли. Живучие сети Петри не могут сделать переход неразрешенным иным способом, отличным от его запуска. Множество достижимости обоих типов сетей Петри характеризуется как полу- линейное. Основными темами этой работы являются сложность и разреши- мость. 162. Lauer Р., Path Expressions as Petri Nets, or Petri Nets with Fewer Tears, MRM 70, Computing Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, England, January 1974, pp. 61. Очень неформальный конспект исследований связи между Е-выраже- ниями и сетями Петри. Он послужил отправной точкой для написания работы [163]. 163. Lauer Р., Campbell R., A Description of Path Expressions by Petri Nets, Technical Report 64, Computing Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, England, May 1974, pp. 39; Proceedings of the Second ACM Symposium on Principles of Programming Languages, New York: ACM, January, 1975, p. 95—105. В работе принят конструктивный подход к доказательству того, что Е- выражения могут быть представлены сетями Петри. Е-выражения являются средством описания последовательности допустимых взаимодействий между параллельными процессами. 164. Lauer Р., Campbell R., Formal Semantics of a Class of High-Level Primitives for Coordinating Concurrent Processes, Acta Informatica, 5, No. 4, 1975, p. 297—332. 165. Lauer P., Shields M., Abstract Specification of Resource Accessing Disciplines: Adequacy, Starvation, Priority and Interrupts, Technical Report 117, Computing Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, England, December 1977, pp. 40. 166. Lauer P., Best E., Shields M-, On the Problem of Achieving Adequacy of Concurrent Programs, Technical Report 113, Computing Laboratory, Uni- versity of Newcastle upon Tyne, Newcastle upon Tyne, England, June 1977, pp. 36. 167. Lautenbach K-, Liveness in Petri Nets, Internal Report ISF-75- 02.1, Institut fur Informationssystemforschung, Gesellschaft fur Mathematik und Datenverarbeitung, Bonn, West Germany, July 1975, pp. 33. Обзор состояния вопроса об активности и тупиках в сетях Петри. В этой работе собрано вместе большинство результатов. 168. Lautenbach К-, Schmid Н., Use of Petri Nets for Proving Correct- ness of Concurrent Process Systems, Information Processing 74, Proceedings
Аннотированная библиография 249 of the 1974 IFIP Congress, Amsterdam: North-Holland, August 1974, p. 187— 191. Системы параллельных процессов с большим трудом поддаются анализу и доказательству корректности, чем последовательные программы. Сети Пет- ри могут использоваться для моделирования таких систем и доказательства свойств моделируемых систем. В этой работе рассматриваются семафоры, ограниченные буфера и задача об обедающих мудрецах, чтобы вновь полу- чить в терминах сетей Петри результаты, найденные ранее независимо. 169. Lautenbach К- Thiagarajan Р., Analysis of a Resource Allocation Problem Using Petri Nets, Internal Report ISF-78-05, Institut fur Informati- onssystemforschung, Gesellschaft fur Mathematik und Datenverarbei tung, Bonn, West Germany, June 1978, pp. 17; Proceedings of the First European Conference on Parallel and Distributed Processing, February 1979. 170. Leung K-, MichelC., Le Beux P., Logical Systems Design Using PLAs and Petri Nets — Programmable Hardwired Systems, Information Processing 77, Proceedings of the 1977 IFIP Congress, Amsterdam: North-Holland, August 1977, p. 607—611. 171. Lien Y., A Study of the Theoretical and Practical Aspects of Transi- tion Systems, Ph. D. dissertation, Department of Computer Sciences, Universi- ty of California, Berkeley, California, September 1972. 172. Lien Y., Termination and Finiteness Properties of Transition Systems, Technical Report 74-4, Department of Computer Science, University of Kan- sas, Lawrence, Kansas, September 1974, pp. 32. 173. Lien Y., Termination Properties of Generalized Petri Nets, SIAM Journal of Computing, 5, No. 2, 1976, p. 261—265. Под свойствами завершаемости здесь понимаются свойства активности или образования тупика. Поскольку эта задача для обычных сетей Петри является еще не решенной, то Льен исследовал эту задачу для сетей Петри, которые являются свободными от конфликтов и не содержащими параллель- ных действий. При этом использовались как некоторые понятия из теории графов, такие, как сильная связность, так и понятия теории сетей Петри, такие, как сохранение. 174. Lien Y., A Note on Transition Systems, Information Sciences, 10, No. 4, 1976, p. 347—362. 175. Lien Y., Margrave M., Transition Systems — A Model for Concurrent Activities, Technical Report 74-5, Department of Computer Science, Universi- ty of Kansas, Lawrence, Kansas, October 1974, p.43. Справочное пособие, содержащее основные понятия сетей Петри и свя- занных с ними моделей систем переходов. Указываются приложения методов моделирования к транспортным, генетическим системам и вычислениям. 176. Lipton R., The Reachability Problem Requires Exponential Space, Research Report 62, Department of Computer Science, Yale University, New Haven, Connecticut, January 1976, pp. 15. Результаты этой работы впервые были представлены на Конференции по сетям Петри и связанным с ними методам в июле 1975 г. Эта работа со- держит наиболее известный результат по сложности сетей Петри. Для дока- зательства того, что задача достижимости для сетей Петри и эквивалентных моделей, таких, как системы сложения векторов, требует не менее 2™ ячеек памяти, используется 5 лемм. Результат основан на конструкции, показываю- щей, что возможно построить счетчик, который может эффективно ^считать от 0 до 22fc, с числом переходов, пропорциональным k. Над счетчиком возмож- ны операции сложения, вычитания и проверки на нуль. (Именно проверка на нуль оказывается сложной.) Доказательство строится в рамках языка парал- лельных программ, который, как легко показать, эквивалентен сетям Петри. Приведенное здесь достаточно сложное доказательство требует, чтобы его прочли несколько раз. 177. Lipton R., Snyder L., PV Simulation of Computation Graphs, Un- published, 1974, pp. 8.
250 Аннотированная библиография Показано, что графы вычислений можно моделировать множествами про- цессов, используя Р- и V-операции. 178. R. Lipton., Snyder L., Zalcstein Y., AComparative Study of Models of Parallel Computation, Proceedings of the 15th Annual Symposium on Swit- ching and Automata Theory, New York: IEEE, October 1974, p. 145—155. Липтон, Снайдер и Зальстейн сравнили основные модели параллельных вычислений, проделав работу, подобную выполненной в [5] и [240], но их ре- зультаты существенно отличны. Отличия проистекают из определения экви- валентности и включения. Это исследование более формально и более трудно для его развития, чем [5] или [240], но одинаково справедливо и интересно. 179. Liskov В,. The Design of the Venus Operating System, Communica- tions of the ACM, 15, No. 3, 1972, p. 144—149. 180. Luconi F., Asynchronous Computational Structures, Ph. D. disser- tation, Department of Electrical Engineering, Massachusetts Institute of Tech- nology, Cambridge, Massachusetts, January 1968, pp. 139; Technical Report 49, Project MAC, Massachusetts Institute of Technology, Cambridge, Massa- chusetts, February 1968, pp. 139. 181. Mandrioli D., A Note on Petri Net Languages, Internal Report 76-5, Laboratori di Calcolatori, Instituto di Electtrotecnica ed Elettronica del Politecnico di Milano, Milan, Italy, 1976; Information and. Control, 34, No. 2, 1977, p. 169—171. Показано, что языки сетей Петри, которые допускают Х-переходы, не замкнуты по дополнению. 182. Marin J., Andre С., Boeri F., Conception de Systemes Sequentiels Totalement Autotestables a partir des Reseaux de Petri,Revue Francaise d'Auto- tnatique, Informatique et Recherche Operationnelle'. Automatique, 10, No. 11, 1976, p. 5—22 (In French). 183. Mayr E., The Complexity of the Finite Containment Problem for Pet- ri Nets, Master's thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, May 1977, pp. 65; Technical Report 181, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, June 1977, pp. 65. 184. Meldman J., A New Technique for Modeling the Behavior of Man- Machine Information Systems, Sloan Management Review, 18, No. 3, 1977, p. 29—46. 185. Meldman J-, A Petri-Net Representation of Civil Procedure, IDEA — The Journal of Law and Technology, 19, No. 2, 1978, p. 123—148. 186. Meldman J., Holt A., Petri Nets and Legal Systems, Jurimetrics Journal, 12, No. 2, 1971, p. 65—75. Любопытное изложение сетей Петри для юристов. Юридические сис- темы —это социальные системы, включающие адвокатов, судей, истцов, ответ- чиков, клерков и т. д. Взаимодействие между этими участниками процедуры описывается в такой книге, как «Федеральный гражданский процессуальный кодекс». Это изложение показывает, что по меньшей мере некоторые из правил, регламентирующих процедуру, могут быть представлены интерпретирующи- ми их сетями Петри. Предполагается, что моделирование юридических систем сетями Петри могло бы привести к лучшему пониманию их, а анализ модели мог бы привести к улучшению юридической системы. 187. Memmi G., Applications de la Notion de Semi-Flots aux Reseaux de Petri, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 207—212 (In French). 188. Memmi G., Applications of the Semiflow Notion to the Boundedness and Liveness Problems in Petri Net Theory, Proceedings of the 1978 Conference on Information Sciences and Systems, Johns Hopkins University, Baltimore, Maryland, March 1978, p. 505—509; Technical Report 78-3, Institut de Pro- grammation, Universite Pierre et Marie Curie, Paris, France, March 1978, pp. 5. 189. Memmi G., Fuites dans les Reseaux de Petri, R. A. I. R. 0. Informa- tiquel Theoretical Computer Science, 12, No. 2, 1978, p. 125—144 (In French.)
Аннотированная библиография 251 190. Memmi G-, Fuites et Semi-Flots dans les Reseaux de Petri, These de Docteur Ingenieur, Universite Pierre et Marie Curie, Paris, France, Decem- ber 1978, pp. 117 (In French). 191. Memmi G., Notion de Dualite dans les Reseaux de Petri, Internatio- nal Symposium on the Semantics of Concurrent Computation, Lecture Notes in Computer Science, Berlin: Springer-Verlag, July 1979 (In French). 192. Memmi G., Roucairol G., Linear Algebra in Net Theory, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 193. Merlin P., A Study of the Recoverability of Computing Systems, Ph. D. dissertation, Department of Information and Computer Science, Univer- sity of California, Irvine, California, 1974, pp. 181; Technical Report 58, De- partment of Information and Computer Science, University of California, Ir- vine, California, 1974, pp. 181. Эта диссертация является странной комбинацией многих тем. Модель системы строится с помощью сетей Петри. Затем в нее вносятся ошибки (до- бавляются или удаляются фишки безотносительно к запуску переходов). В этой ситуации рассматривается поведение системы. «Хорошие» сети Петри в конце концов возвращались к приемлемым маркировкам, тогда как «плохие» — либо заходили в тупик, либо приходили к новым маркировкам, которые появляться не должны. На эту работу сильное влияние оказала работа по модели UCLA и концепция машины фишек, существующая в ее рамках. Кроме того, в диссертации представляется модель временных сетей Пет- ри, в которых переходы должны ждать определенное время после того, как они становятся разрешенными (но до того, как они будут запущены), а затем должны быть запущены в определенный интервал времени. Такие моде- ли могут представлять большее число систем, поскольку они эквивалентны машинам Тьюринга. Однако в работе Мерлина рассмотрены в основном ко- нечные системы, и поэтому никаких проблем не возникает. 194. Merlin Р., A Methodology for the Design and Implementation of Communication Protocols, Report RC-5541, IBM T. J. Watson Research Cen- ter, Yorktown Heights, New York, June 1975; IEEE Transactions on Communi- cations, COM-24, No. 6, 1976, p. 614—621. Временные сети Петри используются для моделирования протоколов связи. Представлен пример разработки и моделирования протокола времен- ной сетью Петри с последующей проверкой протокола и указанием, как этот протокол мог бы затем быть реализован табличным микропрограммным ин- терпретатором сети Петри. Конечно, временные сети Петри взяты из диссер- тации Мерлина. 195. Merlin Р., Farber D., Recoverability of Communication Protocols — Implications of a Theoretical Study, IEEE Transactions on Communications, COM-24, No. 9, 1976, p. 1036—1043. 196. Merlin P., Randell B., Consistent State Restoration in Distributed Systems, Technical Report 113, Computing Laboratory, University of Newcast- le upon Tyne, Newcastle upon Tyne, England, October 1977, pp. 41. 197. Miller R., A Comparison of Some Theoretical Models of Parallel Com- putation, Report RC-4230, IBM T. J. Watson Research Center, Yorktown Heights, New York; IEEE Transactions on Computers, C-22, No. 8, 1973, p. 710—717. Сравниваются сети Петри, графы вычислений, схемы параллельных про- грамм и маркированные графы. 198. Miller R., Some Relationships Between Various Models of Parallelism and Synchronization, Report-RC-5074, IBM T. J. Watson Research Center, Yorktown Heights, New York, October 1974, pp. 43. Рассматривается сводимость между сетями Петри, графами вычислений, семафорными системами, системами сложения векторов п системами замеще- ния векторов. 199. Miller R.Theoretical Studies of Asynchronous and Parallel Processing, Proceedings of the 1977 Conference on Information Sciences and System, Johns
252 Аннотированная библиография Hopkins University, Baltimore, Maryland, March 1977, p. 333—339. 200. Minsky M., Computation'. Finite and Infinite Machines, Englewood Cliffs, New Jersey: Prentice-Hall, 1967, pp. 317. Учебник, в чем-то ведущий свое начало от работ по сетям Мак-Калока — Питтса, который все еще остается прекрасной работой по теории вычислимо- сти. Наиболее интересна для нас гл. 11 по регистровым машинам, но и главы по машинам Тьюринга также имеют отношение к рассматриваемой теме. 201. Misunas D., Petri Nets and Speed Independent Design, Communicati- ons of the ACM, 16, No. 8, 1973, p. 474—481. 202. Moalla M., Pulou J., Sifakis J., Reseaux de Petri Synchronises, R. A. 1. R. 0. Automatique! Systems Analysis and Control, 12, No. 2, 1978, p. 103—130 (In French). 203. Moalla M., Pulou J., Sifakis J., Synchronized Petri Nets: A Model for the Description of Non-Autonomous Systems, Proceedings of the Seventh Symposium on Mathematical Foundations of Computer Science 1978, Lecture Notes in Computer Science, 64, Berlin: Springer-Verlag, 1978, p. 374—384. 204. Moalla M., Sifakis J., Silva M., A la Recherche d’une Methodologie de Conception sure des Automatismes Logiques Basee sur 1’Utilisation des Re- seaux de Petri, Technical Report 138, Institute of Applied Mathematics and Computer Science, Grenoble, France, October 1978, pp. 43 (In French). 205. Morcrette M., Validation d’Algorithmes Paralleles, Application a 1’Analyse Syntaxique, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Peris, France, March 1977, p. 13—32 (In French). 206. Murata T., State Equations, Controllability and Maximal Matchings of Petri Nets, Research Report MDC 1.1.10, Department of Information Engi- neering, University of Illionis, Chicago, Illinois, December 1975; IEEE Trans- actions on Automatic Control AC-22, No. 3, 1977, p. 412—416. Являясь введением в сети Петри для систем в рамках теории управления, эта работа посвящена в основном вопросам представления и анализа сетей Петри как систем с дискретным временем. Управляемость и достижимость исследуются в терминах матричного представления сетей Петри и максималь- ных парасочетаний. Работа является первым шагом к взаимному обмену между теорией сетей Петри и теорией оптимального управлении. 207. Murata Т., A Method for Synthesizing Marked Graphs from Given Markings, Proceedings of the Tenth Annual Asilomar Conference on Circuits, Systemsand Computers, November, 1976, p. 202—206. 208. Murata T., Petri Nets, Marked Graphs, and Circuit-System Theory, IEEE Circuits and Systems Society Newsletter, 11, No. 3, 1977, p. 2—12. Очень хорошее введение в сети Петри и маркированные графы, изложен- ное с уклоном в теорию переключательных схем. В работе используется мат- ричный подход к представлению сетей Петри и рассматриваются такие поня- тия, как управляемость в теоретико-системном смысле. Изложение носит учебный характер и является прекрасным примером того, как сети Петри могут широко использоваться в других областях исследований. Неформаль- ное изложение в этой работе является интересной противоположностью с из- ложением в работе [209]. 209. Murata Т., Circuit Theoretic Analysis and Synthesis of Marked Graphs, IEEE Transactions on Circuits and Systems, CAS-24, No. 7, 1977, p. 400—405. 210. Murata T., Church R., Analysis of Marked Graphs and Petri Nets by Matrix Equations, Research Report MDC 1.1.8, Department of Information Engineering, University of Illinois, Chicago, Illinois, November 1975. Матричное представление сетей Петри помогает получить некоторые по- лезные методы анализа. Этот подход разрабатывается в данном отчете, глав- ным образом для маркированных графов, но в некоторой степени и для сетей Петри. Работа является наиболее полным исследованием по сетям Петри и матричным уравнениям. 211. Murata Т., Shah Т., On Liveness, Deadlock, and Reachability of E-Nets, Proceedings of the 14th Annual Allerton Conference on Circuits and Sys- tems Theory, September 1976, p. 597—605.
Аннотированная библиография 253 Используется матрица инциденций Е-сетей для изучения свойств актив- ности, достижимости и существования тупиков. 212. Murata Т., Church R., Amin A., Matrix Equations for Petri Nets and Marked Graphs, Proceedings of the Ninth Annual Asilomar Conference on Cir- cuits, Systems, and Computers, November, 1975, p. 36—41. 213. Nash B., Reachability Problems in Vector Addition Systems, The American Mathematical Monthly, 80, No. 3, 1973, p. 292—295. Задача достижимости для систем сложения векторов определяется как исследовательская задача. Показывается, что она эквивалентна задаче до- стижимости нуля и задаче достижимости из нуля. 214. Noe J., A Petri Net Model of the CDC 6400, Technical Report 71- 04-03, Department of Computer Science, University of Washington, Seattle, Washington, April 1971, pp. 16; Proceedings ACM SIGOPS Workshop on System Performance Evaluation, New York: ACM, April 1971, p. 362— 378. Заголовок несколько обманчив, поскольку моделируется не CDC 6400, а операционная система SCOPE 3.2. Кроме того, используются не сети Пет- ри, а сети Петри, расширенные для включения логики включающего и ис- ключающего ИЛИ, причем не ясно, необходимо ли это. Работа может слу- жить главным образом примером, показывающим, что сети Петрн могут мо- делировать реальные системы (даже если детали ие вполне согласуются). Она также послужила началом работы, приведшей к разработке Е-сетей (см. [226] и [224]). 215. Noe J., Pro-Nets: For Modeling Processes and Processors, Technical Report 74-07-15, Department of Computer Science, University of Washington, Seattle, Washington, July 1975. 216. Noe J., Machine Aided Modeling Using Modified Petri Nets, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 89—114. 217. Noe J., Abstraction and Refinement with Modified Petri Nets, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 157—160. 218. Noe J., Abstraction Levels with Pro-Nets: An Algorithm and Examp- les, Technical Report 77-03-01, Department of Computer Science, Universi- ty of Washington, Seattle, Washington, June 1977, pp. 16. 219. Noe J., Hierarchical Modeling with Pro-Nets, Proceedings of the National Electronics Conference, 23, October 1978, p. 155—160. 220. Noe J., Nets in Modeling and Simulation, Advanced Course on Gene- ral Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 221. Noe J., Abstraction of Net Models, Advanced Course on General Net Theory of Processes and Systems. Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 222. Noe J., Applications of Net-Based Models, Advanced Course on Gene- ral Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 223. Noe J., Kehl T., A Petri Net Model of a Modular Microprogrammable Computer (LM2), Technical Report 75-09-01, Computer Science Department, University of Washington, Seattle, Washington, September 1975, pp. 23. 224. Noe J., Nutt G., Macro E-Nets for Representation of Parallel Systems, IEEE Transactions on Computers, C-22, No. 8, 1973, p. 718—727. Е-сети (сети оценок) являются расширенной интерпретацией модели параллельных вычислений (полученной из сетей Петри) для измерения про- изводительности, оценки и моделирования. Е-сети представляют собой один из подходов к введению информации о времени в сеть Петри. 225. Noe J., Crowley С., Anderson Т., The Design of a Interactive Gra- phical Net Editor, Technical Report 74-07-30, Department of Computer Scien- ce, University of Washington, Seattle, Washington, July 1974, pp. 31; Procee- dings CIPS-ACM Pacific Regional Conference, May 1974, p. 386—402.
254 Аннотированная библиография 226. Nutt G., The Formulation and Application of Evaluation Nets, Ph. D. dissertation, Computer Science Group, University of Washington, Seat- tle, Washington, July 1972, pp. 181; Technical Report 72-07-02, Computer Science Group, University of Washington, Seattle, Washington, July 1972, pp. 170. Законченная работа no Е-сетям, расширению сетей Петри для модели- рования и оценки производительности. 227. Nutt G., Evaluation Nets for Computer Systems Performance Ana- lysis, Technical Report 72-04-03, Computer Science Group, University of Washington, Seattle, Washington, April 1972; Proceedings of the 1972 Fall Joint Computer Conference, Montvale, New Jersey: AFIPS Press, December 1972, p. 279—286. 228. Oberquelle H., Nets as a Tool in Teaching and in Terminology Work, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 229. Parikh R., On Context-Free Languages, Journal of the ACM, 13, No. 4, October 1966, p. 570—581. Определяется отображение строки в вектор, i-я компонента которого есть число появлений в строке i-ro символа. Показано, что это отображение (отображение Париха), будучи примененным к контекстно-свободному язы- ку, приводит к полулинейному множеству. 230. Parnas D., On a Solution to the Cigarette Smokers’ Problem (Without Conditional Statements), Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania, July 1972, pp. 11; Communications of the ACM, 18, No. 3, 1975, p. 181—183. Представляется решение задачи о курильщиках сигарет, сформулирован- ной Патилом [333]. Решение использует массивы семафоров и глобальные переменные, которые не допускались Патилом. 231. Patil S., Coordination of Asynchronous Events, Ph. D. dissertation. Department of Electrical Engineering, Massachusetts Institute of Technolo- gy, Cambridge, Massachusetts, May 1970 pp. 234; Technical Report 72, Project MAC, Massachusetts Institute of Technology, Cambridge, Massa- chusetts, June 1970, pp. 234. Одна из ранних работ по сетям Петри. В иен содержится разумное вве- дение в задачи управления параллельными процессами и в сети Петри. За- тем автор переходит к расширенной модели, называемой сетью координации, и ее свойствам. В частности, Патил рассмотрел, как его сети координации мо- гут быть реализованы аппаратно. Это показывается и в его более поздней работе. 232. Patil S., Closure Properties of Interconnections of Determinate Sys- tems, Record of the Project MAC Conference on Concurrent Systems and Paral- lel Computation, New York: ACM, June 1970, p. 107—116. Система является детерминированной, если она имеет одни и тот же вы- ход для одних и тех же входов, что не выполняется в случае, если параллель- ные операции появляются в произвольном порядке и порядок влияет на вы- ход. Когда параллельные системы были впервые определены, детерминиро- ванность создавала определенные трудности. Сейчас этот термин широко не используется. В своей статье Патил рассматривает задачу связи нескольких детерминированных систем для образования большей детерминированной системы. 233. Patil S., Limitations and Capabilities of Dijkstra’s Semaphore Pri- mitives for Coordination Among Processes, Computation Structures Group Memo 57, Project MAC, Massachusetts Institute of Technology, Cambridge, Massa- chusetts, February 1971, pp. 18. В короткой заметке определяется задача о курильщиках сигарет и пока- зывается, что она не может быть решена с помощью семафоров. Для модели- рования задачи используются сети Петри, Показано, что любое решение при- водит к сети Петри определенной формы, которая не соответствует никакому
Аннотированная библиография 255 набору Р- и V-операций. Эго исследование привело к работам [159, 7], но обратите также вимание на заметку [230]. 234. Patil S., Circuit Implementation of Petri Nets, Computation Structu- res Group Memo 73, Project MAC, Massachusetts Institute of Technology, Cam- bridge, Massachusetts, December 1972, pp. 14. Представляется аппаратная реализация сети Петри на уровне переклю- чательных схем. Эти схемы отличаются от предложенных в [231] большей де- тализацией (до уровня ключей) и предположением об известных границах задержек передачи. 235. Patil S., Dennis J., The Description and Realization of Digital Sys- tems, Computation Sctruktures Group Memo 71, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, October 1972, pp. 4; COMPCON 72; Sixth Annual IEEE Computer Society International Conference Digest of Papers, New York: IEEE, September 1972, p. 223—226. Краткое изложение работы по описанию цифровых систем с помощью се- тей Петри н последующей реализацией их как независящих от частоты (асин- хронных) схем. 236. Peterson J., Modeling of Parallel Systems, Ph. D. dissertation, De- partment of Electrical Engineering, Stanford University, Stanford, California, December 1973, pp. 255; Technical Report 46, Digital Systems Laboratory, Stanford University, Stanford, California, February 1974, pp. 241; Technical Report STAN-CS-74-410, Computer Science Department, Stanford University, Stanford, California, February 1974, pp. 241. Двумя основными результатами этой диссертации являются сравнение моделей, позднее обобщенное в [240], и теория языков сетей Петри, опубли- кованная в [237]. 237. Peterson J., Computation Sequence Sets, Journal of Computer and System Sciences, 13, No. 1, August 1976, p. 1—-24. Опубликована пересмотренная гл. 4 из [236]. Определяется н исследу- ется особый класс языков сетей Петри — языки, которые определяются вы- полнениями из начального состояния в заключительное. Главным образом рассматриваются свойства замкнутости и место этих языков в иерархии язы- ков (регулярные, контекстно-свободные, контекстно-связанные, языки ти- па 0). 238. Peterson J., Petri Nets, Computing Surveys, 9, No. 3, 1977, p. 223— 252. Это первый широко распространенный обзор и учебный материал по се- тям Петрн. В нем кратко затрагиваются вопросы моделирования сетями Пет- ри, основные определения, задачи и методы анализа, языки сетей Петри н связанные с ними модели вычислений. Хорошее введение, которое должен понять любой технически мыслящий студент или аспирант. 239. Peterson J., An Introduction to Petri Nets, Proceedings of the Natio- nal Electronics Conference, 32, 1978, p. 144—148. 240. Peterson J., Bredt T., A Comparison of Models of Parallel Computa- tion, Information Processing 74, Proceedings of the 1974 IFIP Congress, Amster- dam: North-Holland, August 1974, p. 466—470. Описываются и сравниваются структуры управления нескольких моде- лей параллельных вычислений. Эти модели включают конечные автоматы, сети Петри, графы UCLA, системы сообщений, графы вычислений, схемы параллельных программ, маркированные графы и сети координации. Смотри- те также аналогичные работы [5, 178, 193]. 241. Petri С., Kommunikation mit Automaton, Ph. D. dissertation, Uni- versity of Bonn, Bonn, West Germany, 1962 (In German); M. I. T. Memorandum MAC-M-212, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts; Clifford F. Greene, Jr. (translator), Communication with Auto- mata, Supplement 1 to Technical Report RADC-TR-65-377, 1, Rome Air Deve- lopment (inter, Griffiss Air Force Base, New York, January 1966, pp. 89. Эта диссертация является отправной точкой развития сетей Петри. Пет- ри начал с рассмотрения конечных автоматов и показал, ссылаясь на работы
256 Аннотированная библиография Дэвиса, Тьюринга и других, что регулярные автоматы не могут распозна- вать контекстно-свободные и контекстно-связанные грамматики. Затем Пет- ри объявил, что если бы эти автоматы были не конечны, а неограниченны, то времена задержки сигнала также были бы неограниченны, и поэтому возни- кает задача синхронизации. После чего Петри переходит к построению сети для моделирования ленты машины Тьюринга. Эта сеть является целиком асинхронной и строится из идентичных ячеек, которые передают информацию своим соседям (левым или правым) по мере необходимости. Поскольку лента бесконечна, то необходимо бесконечное число ячеек. Однако важность этой работы заключается в акцен- тировании асинхронной природы взаимодействий. В современных терминах все сети в диссертации Петрн являются без- опасными по определению. Сегодня диссертация Петри представляет только исторический интерес. 242. Petri С., Fundamentals of a Theory of Asynchronous Information Flow, Information Processing 62, Proceedings of the 1962 Congress, Amsterdam: North-Holland, August 1962, p. 386—390. 243. Petri C., Concepts of Net Theory, Proceedings of the Symposium and Summer School on Mathematical Foundations of Computer Sciences, High Tat- ras, Mathematics Institute of the Slovak Academy of Science, September 1973, p. 137—146. Развитие общей теории сетей, связанной с общей теорией систем и топо- логией . 244. Petri С-, Interpretations of Net Theory, Internal Report 75-07, Insti- tut fur Informationssystemforschung, Gesellschaft fur Mathematik und Daten- verarbeitung, Bonn, West Germany, July 1975, pp. 34; revised December 1976. Дальнейшее развитие теории сетей. 245. Petri С., General Net Theory, Proceedings of the Joint IBMIUniversi- ty of Newcastle upon Tyne Seminar on Computing System Design, Computing Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, Eng- land, September 1976, p. 131 — 169. 246. Petri C-, Concurrency as a Basis of Systems Thinking, Internal Re- port ISF-78-06, Institut fur Informationssystemforschung, Gesellschaft fur Mathematik und Datenverarbeitung, Bonn, West Germany, September 1978, pp. 20. 247. Petri C., Introduction to General Net Theory, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lectu- re Notes in Computer Science, Berlin: Springer-Verlag, 1980. 248. Petri C., Concurrency, Advanced Course on Deneral Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Aerlag, 1980. 249. Pless E., Plunnecke H., A Bibliography of New Theory, Internal Report ISF-78-08, Institut fur Informationssystemforschung, Gesellschaft fur Mathematik und Datenverarbeitung, Bonn, West Germany, November 1978, pp. 57. Перечень большинства из известных работ по сетям Петри. 250. Postel J., A Graph Model Analysis of Computer Communications Protocols, Ph. D. dissertation, Computer Science Department, University of California, Los Angeles, California, 1974, pp. 191. 251. Postel J., Farber D-, Graph Modeling of Computer Communications Protocols, Proceedings of the Fifth Texas Conference on Computing Systems, University of Texas, Austin, Texas, October 1976, p. 67—77. Эта работа использует для моделирования протоколов связи модели графов UCLA, а не сети Петри (они эквивалентны). По содержанию работа подобна работе [194]. 252. Presburger М., Uber die Vollstandigkeit eines gewissen Systems der Arithmetic ganzer Zahlen, in Welchem die Addition als einzige Operation her- vortritt, Proceedings of the First Congress of Slavic Mathematicians, Warsaw, 1929, p. 91—101, 395 (In German).
Аннотированная библиография 257 Приводится алгоритм определения выполнимости предложений, которые используют только сложение целых чисел с кванторами и логическими связ- ками (арифметика Персбюргера). 253. Rackoff С., The Covering and Boundedness Problems for Vector Addi- tion Systems, Technical Report Number 97, Department of Computer Science, University of Toronto, Toronto, Ontario, 1976, pp. 14; Theoretical Computer Science, 6, No. 2, April 1978, p. 223—231. Представляются новые алгоритмы для решения задач покрытия и огра- ниченности. Эти результаты представлены для систем сложения векторов, но, конечно, они равным образом применимы к сетям Петри. Эти алгоритмы тре- буют 2c’n logn ячеек памяти и поэтому являются близкими к оптимальным. Нижняя граница Липтона равна 2е ". Главное внимание в этой работе уде- лено результатам по сложности вычислений. 254. Ramchandani С., Analysis of Asynchronous Concurrent Systems by Petri Nets, Ph. D. dissertation, Department of Electrical Engineering, Massa- chusetts Institute of Technology, Cambridge, Massachusetts, July 1973, pp. 219; Technical Report 120, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, February 1974, pp. 219. Эта диссертация посвящена анализу модели сети Петри для определе- ния ее производительности. Модели сетей Петри расширены с целью сопос- тавления времени каждому переходу. Анализ некоторых подклассов этих временных сетей Петри привел к вычислению пропускных способностей этих систем. 255. Ramming F., Petri-Net Based Description, Analysis and Simulation of Concurrent Processes, Proceedings 14th Design Automation Conference, New York: IEEE, June 1977. 256. Reddi S., A Modular Computer with Petri Net Array Control, Procee- dings of the 1978 ACM National Conference, New York: ACM, December 1978, p. 79—85. 257. Reif J., Analysis of Communicating Processes, Technical Report 30, Computer Science Department, University of Rochester, Rochester, New York, May 1978, pp. 45. Используется сводимость к задаче достижимости сетей Петрн для того, чтобы показать трудности анализа программ в распределенной среде. 258. Riddle HI., The Modeling and Analysis of Supervisory Systems, Ph. D. dissertation, Computer Science Department, Stanford University, Stanford, California, March 1972, pp. 181; Technical Report STAN-CS-72-271, Computer Science Department, Stanford University, Stanford, California, March 1972, pp. 174. В диссертации Риддла определена модель параллельных вычислений, которая предполагает, что система состоит из независимых асинхронно рабо- тающих последовательных процессов. Связь между процессами осуществля- ется с помощью сообщений. Целью работы является разработка метода анали- за вычислительных систем. В модели Риддла каждый процесс описывается псевдопрограммой. Они используются для получения выражений передачи сообщений (которые являются языками), а затем этн выражения передачи со- общений используются для анализа. Вопросы разрешимости основных задач были оставлены открытыми, но несколько примеров показывают возможность и пользу этого подхода. Питерсон показал, что эти системы можно преобразо- вать в сети Петри [236], а Риддл доказал обратное (2591, показав, что эти две схемы моделирования эквивалентны. 259. Riddle W., The Equivalence of Petri Nets and Message Transmission Models, SRM/97, Computing Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, Eng and, August 1974, pp. 11. В работах [236, 240], показано, что системы с сообщениями являются соб- ственным подмножеством сетей Петри. Рнддл показал, что если при рассмот- рении эквивалентности не учитываются фальшивые тупики, то это не верно: эти модели эквивалентны. В доказательстве показано, как построить систем у
258 Аннотированная библиография сообщений с тем же поведением (не содержащим тупиков), что и сеть Пет ри. Эквивалентность этих двух моделей является желательной, поскольку сис- темы с сообщениями много проще использовать для моделирования систем параллельных процессов. 260. Rodriguez J., A Graph Model for Parallel Computations, Ph. D. dissertation, Department of Electrical Engineering, Massachusetts Institute of Technology, Cambridge, Massachusetts, September 1967, pp. 130; Technical Report 64, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, September 1969, pp. 121. 261. Roucairol G., Une Transformation de Programmes Sequentiels en Programmes Paralleles, Programming Symposium'. Proceedings, Lecture Notes in Computer Science, 19, Berlin: Springer-Verlag, 1974, p. 327—349 (In French). Сеть Петри используется для преобразования последовательных про- грамм в параллельные путем моделирования отношения предшествования, которое присутствует в алгоритме и отлично от введенного при написании программы на линейном языке программирования. 262. Roucairol G., Contribution а 1’Etude des Equivalences Syntaxiques et Transformations de Programmes Paralleles, These Doctoral d’Etat es Scien- ces, Universite Pierre et Marie Curie, Paris, France, November, 1978, pp. 228 (In Crench). 263. Roucairol G., Valk R., Reductions of Nets and Parallel Programs, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980. 264. Sacerdote S., Tenney R., The Decidability of the Reachability Prob- lem for Vector Addition Systems, COINS Technical Report 77-3, Computer and Information Sciences Department, University of Massachusetts, Amherst, Mas- sachusetts, 1977, pp. 38; Proceedings of the Ninth Annual ACM Symposium on Theory of Computing, New York: ACM, May 1977, p. 61—76. Дополненный реферат этой статьи был представлен в ноябре 1976 г. В ней дается конструктивное «доказательство» разрешимости задачи достижи- мости для систем сложения векторов и сетей Петри. К сожалению, это «дока- зательство» ошибочно. В предисловии к материалам Десятого симпозиума говорится, что «...в данной работе (Сасердот и Теини, 1977) отмечен ряд не- точностей. В настоящее время готовится к публикации новая, более простая и более точная версия». 265. Salomaa A., Formal Languages, New York: Academic Press, 1973, pp. 322. Всеобъемлющее рассмотрение большей части вопросов современной тео- рии формальных языков. Эта монография особенно полезна благодаря пред- ставлению матричных грамматик и систем Линдеимейера. Оба этих класса языков связаны с языками сетей Петри. 266. Schiffers М., IHedde Н., Analyzing Program Solutions of Coordinati- on Problems by СР-Nets, Proceedings of the Seventh Symposium on Mathemati- ixh Ч-ucndaNnns.^ Cjtmyuter Science 1978, Lecture Notes in Computer Science, 64, Berlin: Springer-Verlag, 1978, p. 462—473. 267. Schmid H., An Approach to the Communication and Synchronizati- on of Processes, Proceedings of the I nternational Computing Symposium 1973, Amsterdam: North-Holland, September 1973, p. 163—171. 268. Schmid H., Best E., Towards a Constructive Solution of the Liveness Problem in Petri Nets, Technical Report 4/76, Institut fur Informatik, Uni- versitat Stuttgart, West Germany, April 1976, pp. 56. Этот отчет объединяет работы [52, 167], связанные с задачей активности. 269. Schmid Н., Best Е., A Step Towards a Solution of the Liveness Prob- lem in Petri Nets, Technical Report 114, Computing Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, England, February 1978, pp. 40. 270. Seitz C., Asynchronous Machines Exhibiting Concurrency, Record
Аннотированная библиография 259 of the Project MAC Conference on Concurrent Systems and Parallel Computation, New York: ACM, June 1970, p. 93—106. В этой работе на примере показывается экспериментальная методология построения асинхронных машин по сети Петрн. 271. Seitz С., Graph Representations for Logical Machines, Ph. D. disser- tation, Department of Electrical Engineering, Massachusetts Institute of Tech- nology, Cambridge, Massachusetts, January 1971, pp. 136. 272. Shapiro R., System, Modeling with Net Structures, Second Semi- Annual Technical Report, Report CADD-7503-1411, Massachusetts Computer Associates, Wakefield, Massachusetts, March 1975, p. 87—135. 273. Shapiro R., The Application of General Net Theory — A Personal History, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lecture Notes in Computer Science, Berlin: Springer- Verlag, 1980. 274. Shapiro R., Saint H., A New Approach to Optimization of Sequencing Decisions, Annual Review in Automatic Programming, 6, Part 5, 1970, p. 257— 288. Сети Петрн применяются для компиляции программ на языке Фортран для ЭВМ CDC 6600. Программа на языке Фортран преобразуется в сеть Пет- ри. При этом выявляются ограничения предшествования между операциями. Эта сеть сливается с сетью Петри, представляющей процессор CDC 6600. Пе- реходам сети ставится в соответствие информация о времени выполнения, и для определения последовательности операций и сопоставлення регистров, которые минимизируют время выполнения, используется полный перебор. Эта работа является пересмотренным разд. V работы [128]. 275. Shapiro R., Thiagarajan Р., On the Maintenance of Distributed Co- pies of a Data Base, Report ISF-78-04, Institut fur Informationssystemforschung, Gesellschaft fur Mathematik und Datenverarbeitung, Bonn, West Germany, July 1978, pp. 14. 276. Shepardson J., Sturgis H., Computability of Recursive Functions, Journal of the ACM, 10, No. 2, April 1963, p. 217—255. В этой работе разрабатывается модель регистровой машины и показыва- ется ее эквивалентность машинам Тьюринга. Модель вычислений, основанная на регистровой машине, легко моделирует расширенную модель сети Петри, показывая тем самым эквивалентность модели сети Петри и машины Тьюрин- га. 277. Sifakis J., Comportement Permanent des Reseaux de Petri Tempori- ses, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 227—247 (In French). 278. Sifakis J., Use of Petri Nets for Performance Evaluation, Measuring, Modeling and Evaluation of Computer Systems-. Proceedings of the Third Inter- national Workshop on Modeling and Performance Evaluation of Computer Sys- tems, Amsterdam: North-Holland, 1977, p. 75—93. 279. Sifakis J., Homomorphisms of Petri Nels: Application to the Reali- zation of Fault-Tolerant Systems, Technical Report 90, Institute of Applied Mathematics and Computer Science, Gtenoble.. France,, Nnvemher. LQZ7. 'Sifakis J., Realization of Fault-Tolerant Systems by Coding Petri Nets, Proceedings of the Eighth Annual International Conference on Fault- Tolerant Computing New York: IEEE, June 1978, pp. 205; (revised) Journal of Design Automation and Fault-Tolerant Computing, 3, No. 2, 1979. 281. Sifakis J., Structural Properties of Petri Nets, Proceedings of the Se- venth Symposium on Mathematical Foundations of Computer Science 1978, Lecture Notes in Computer-Science, 64, Berlin: Springer-Verlag, September 1978, p. 474 —483. 282. Sifakis J., Le Controle des Systemes Asynchrones: Concepts, Proprie- tes, Analyse Statique, These de Docteur es Science, University of Grenoble, Grenoble, France, June 1979, pp. 233 (In French). 283. Sifakis J., Use of Petri Nets for Performance Evaluation, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October
260 Аннотированная библиография 1979; Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1980- 284. Slutz D., The Flow Graph Schemata Model of Parallel Computation, Ph. D. dissertation, Department of Electrical Engineering, Massachusetts Ins- titute of Technology, Cambridge, Massachusetts, August 1968, pp. 256; Techni- cal Report 53, Project MAC, Massachusetts Institute of Technology, Cambridge, Massachusetts, September 1968, pp. 254. 285. Starke P., Free Petri Net Languages, Proceedings of the Seventh Sym- posium on Mathematical Foundations of Computer Science 1978, Lecture Notes in Computer Science, 64, Berlin: Springer-Verlag, September 1978, p. 506-— 515. 286. Stucki M., An Approach for Synthesizing Transition Logic Circuits, Proceedings of the 11th Annual Allerton Conference on Circuit and System Theory, October 1973, p. 418—425. 287. Stucki M., Synthesis of Level Sequential Circuits: Further Develop- ment of a Procedure Based on a Petri-Net Type of Behavioral Description, Proceedings of the 13th Annual Allerton Conference on Circuit and System Theory, October 1975, p. 896—904. 288. Symons F., Modelling and Analysis of Communications Protocols Using Petri-Nets, Technical Report 140, Department of Electrical Engineering Science, University of Essex, September 1976. 289. Thieler-Mevissen G., The Petri Net Calculus of Predicate Logic, Internal Report ISF-76-09, Institut fur Informationssystemforschung, Gesell- schaft fur Ma thematik und Datenverarbeitung, Bonn, West Germany, December 1976, pp. 60. 290. Thomas P., The Petri Net: A Modeling Tool for the Coordination of Asynchronous Processes, Master’s thesis, University of Tennessee, Knoxville, Tennessee, June 1976, pp. 118. Исследуется сеть Петри как модель вычислений. Сравниваются модель сети Петри и другие модели (так же, как и в [5] или в (240J). Описывается про- грамма, моделирующая сеть Петри, с множеством выходов, отражающих вы- полнение сети Петрн. 291. Thornton J., Design of a Computer: The Control Data 6600, Scott, Foresman and Company, Glenview, Illinois, 1970, pp. 181. 292. Tsichritzis D., Modular System Description, Technical Report 33, Department of Computer Science, University of Toronto, Toronto, Ontario, October 1971, pp. 20. Введение в использование сетей Петри для моделирования некоторых простых задач, возникающих в операционных системах (взаимное исключение, производитель/потребитель), с некоторыми рассуждениями о том, как сети Петри могли бы использоваться для облегчения конструирования, оценки и реализации операционных систем. 293. Valk R., Self-Modifying Nets, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 161 — 198; Technical Report 34, Institut fur Informatik, University of Hamburg, July 1977, pp. 36. 294. Valk R., Self-Modifying Nets — A Natural Extension of Petri Nets, Automata, Languages and Programming, Lecture Notes in Computer Science, 62, Berlin: Springer-Verlag, July 1978, p. 464—476. 295. Valk R., On the Computational Power of Extended Petri Nets, Pro- ceedings of the Seventh Symposium on Mathematical Foundations of Computer Science 1978, Lecture Notes in Computer Science, 64, Berlin: Springer-Verlag, September 1978, p. 526—535. 296. Valk R., Vidal-Naquet G., On the Relationality of Petri Net Langua- ges, Proceedings of the Third GI Conference on Theoretical Computer Science, Lecture Notes in Computer Science, 48, Berlin: Springer-Verlag, March 1977, p. 319—328. 297. Valette R., Description et Verification des Systemes Paralleles, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 1 —12 (In French).
Аннотированная библиография 261 298. Valette R., Analysis of Petri Nets by Stepwise Refinements, Journal of Computer and System Sciences, 18, No. 1, February 1979, p. 35—46. 299. Van Leeuwen J., A Partial Solution to the Reachability Problem for Vector Addition Systems, Proceedings of the Sixth Annual ACM Symposiumon Theory of Computing, New York: ACM, April 1974, p. 303—309. Показывается разрешимость задачи достижимости Для размерностей один, два или три. 300. Vaudene D., Vignat J., Semantique d’Enonces de Synchronisation en Termes de Reseaux de Petri, AFCET Journees sur les Reseaux de Petri AFCET Workshop on Petri Nets), Paris, France, March 1977, p. 137—156 (In French). 301. Vidal-Naquet G., Methods pour les Problemes d’Indecidabilite et de Complexite sur les Reseaux de Petri, AFCET Journees sur les Reseaux de Petri (AFCET Workshop on Petri Nets), Paris, France, March 1977, p, 199—206 (In French). 302. Volansky S., Graph Model Analysis and Implementation of Computa- tional Seouences, Ph. D. dissertation, Computer Science Department, Universi- ty of California, Los Angeles, California, June 1970, pp. 187. 303. Winkowski J., Formal Theories of Petri Nets and Net Simulation, CC PAS Report 242, Computation Centre, Polish Academy of Sciences, Warsaw, Poland, 1976, pp. 23. Рассматривается абстрактная модель сетей с аксиомами. Примеры этих аксиом образуют модели теории. Как и в [243], затрагиваются понятия теории сетей. 304. Yamamoto R., An Approach to Detecting Synchronization Errors in Concurrently Executable Programs, Proceedings of the Ninth Asilotnar Conference on Circuits, Systems, and Computers, November 1975, p. 154—158. 305. Yoeli M., Petri Nets and Asynchronous Control Networks, 'Technical Report CS-73-07. Department of Applied Analysis and Computer Science, Uni- versity of Waterloo, Waterloo, Ontario, April 1973, pp. 22. 306. Yoeli M., Barsilai Z. On Behavioral Descriptions of Communications Switching Systems, Technical Report 99, Technion — Israel Institute of Tech- nology, Haifa Israel, June 1977, pp. 24; Digital Processes, 3, 1977 p. 307—320. 307. Yu S., Murata T., PT-marked Graphs: A Reduced Model of Petri Nets, Proceedings of the 16th Allerton Conference on Communication, Control and Computing, October 1978. 308. Zervos C., Colored Petri Nets: Their Properties and Applications, Technical Report 107, Systems Engineering Laboratory, University of Michigan, Ann Arbor, Michigan, January 1977, pp. 317. 309. Zuse K., Petri-Nets from the Engineer's Viewpoint, Advanced Course on General Net Theory of Processes and Systems, Hamburg, October 1979; Lec- ture Notes in Computer Science, Berlin: Springer-Verlag, 1980.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Автомат 44—49, 207, 208 Активность 85 Алфавит 150 Арифметика Пресбюргера 147 Асинхронность 40 Безопасность 79, 98—100 Блок-схема 57 — абстрактная 57 Блок функциональный кратный 54 Класс маркировок 31 — обратных маркировок 31 — прямых маркировок 31 Кольцо позиций 124 Комплект позиций 15, 16 Композиция параллельная 51. 165 — повторная 170—173 Компонент 10 Конкатенация 163. 164 — бесконечная 170 Конфликт 43, 44 Кратность позиций 16 Кружок 17 Вектор проверки 228 Вершина граничная 92 — дублирующая 93 — терминальная 92 Взвешивание 82 V-операцня 69—70, 211—213 Выполнение сети Петри 24—28 Вычисление слабое 133—139 Ловушка 202 Логика И 186 Гомоморфизм 173 Грамматика коммутативная 182 Граф вычислений 208—211 — маркированный 200, 239. 241 — полиномов 132 — сети Петри 18 — UCLA 223, 242 Дерево достижимости 90—106 Детерминированность 55 Дополнение 170 Достижимость 87—89 Дуга сдерживающая 191 Маркировка 202 — достижимая 29 — непосредственно достижимая 29 Машина регистровая 197 Множество достижимости 29, 30 ----для системы сложения векторов 227 Моделирование 9 Модель 9 — эквивалентная 207 Мощность комплекта 232 — моделирования 185 — разрешения 185 Мультиграф 18. 21 £-выражение 149, 248 Е-сетн 253, 254 Область 233 — ограничения 185 Обработка конвейерная 49—54 Обращение 169, 170 Объединение 164 Ограниченность 81 Одновременность 40—44, 61, 62 Оптимизация 148—149 Отображение Париха 107, 233 Задача достижимости 87—89, 118 — — нуля 118 — в одной позиции 118 ----подмаркировки 118 — неразрешимая 115 — о включении графов полиномов 132 ----курильщиках сигарет 188 ----производятеле/потребителе 65—67 — — чтении/записи 68, 69 -— об активности 126 ------- одного перехода 126 — об исключении взаимном 63—65 — — обедающих мудрецах 67. 68 — подмножества 114 — покрываемости 87—89 — равенства 114 — эквивалентности 116 Замкнутости свойство 158, 162—173 Запуск перехода 24, 25 Звезда Клини 170 Значение пороговое 209 Исключение взаимное 64 Параллелизм 10, 40—44, 61—62 P/V-системы 69, 211—213 Переключатель 186 Пересечение 167—169 Переход 15 — активный 86 — исключающего ИЛИ 186 — пассивный 86 — потенциально запустимый 86 — разрешенный 24 Планка 17 Подклассы сетей Петри 199—204 Подкомплект 232 Подстановка 173 — конечная 173 Позиция 15 — безопасная 79 — входная 15 — выходная 15 — достижимая 29 — А-безопасная 81 — ^-ограниченная 81 — начальная 151 — ограниченная 81
Предметный указатель 263 Покрываемость 87—89 Полнота 188 Помечение 152 Р-операция 69, 70, 211—213 Последовательность запусков 89 — маркировок 29 — переходов 29 Постусловие 36 Предусловие 36 Приоритет 190 Проблема Гильберта десятая 130, 240 Проверка на нулевую маркировку 191 Пространство состояний моделей парал- лельных вычислений 206 — — сетей Петри 28—33 Процесс программный 214 — канальный 214 Пучок дуг 21, 22 Совмещенность 10 Сообщение 214 Состояние 10, 28 — начальное 151 — тупика 67 Степень 223 Строка 150 — пустая 150 Сумма взвешенная 82 Таблица резервирования 55 Теория разрешимости 115 — сетей Петри прикладная 13 чистая 13 — формальных языков 150 Тупик 203. 208 Уравнение диофантово 131 Сводимость 114—118 Секция критическая 64 Сеть Петри 15 автоматная 200, 205 безопасная 79 без петель 122 вполне оканчивающаяся 172 двойственная 20 инверсная 22 — — маркированная 23 нерефлексивная 122 обратимая 146 ординарная 122 помеченная 154 — — правильная 204 простая 122. 123 расширенная 197 — — с ограничениями 122—126 свободно-помеченная 152 со свободным выбором 202 сохраняющая 82 — — строго сохраняющая 82 эквивалентная 148 Синхронизация 11, 63 Система замещения векторов 228 — передачи сообщений 213—221, 257 — сложения векторов 227 Сложность алгоритма 117 Событие 36 — мгновенное 41 — неодновременное 41 — непримитивное 42 — примитивное 41 — матричное 106—111 Уровень активности 86 Условие 36 Фишка 22 — окрашенная 35, 204, 205 — разрешающая 24 Формы определения сетей Петри альтер- нативные 33 Функция входная 15 расширенная 16 — выходная 15 расширенная 16 — следующего состояния 28, 29 расширенная 30 Цикл 201 Член комплекта 231 Язык моделирования программных процес- сов 214 — контекстно-свободный 174—177 ограниченный 177, 178 — контекстно-связанный 178—181 — регулярный 174 — сети Петри L-типа 152, 153 G-типа 152, 153 — Р-типа 152, 153 Т-тнпа 152. 153
ОГЛАВЛЕНИЕ Предисловие к русскому изданию .................................. 5 Предисловие ...................................................... 7 Глава 1. Введение ................................................ 9 Глава 2. Основные определения.................................... 15 Глава 3. Сети Петри для моделирования............................ 36 Глава 4. Анализ сетей Петри...................................... 79 Глава 5. Сложность и разрешимость............................... 114 Глава 6. Языки сетей Петри ..................................... 148 Глава 7. Расширенные и ограниченные модели сетей Петри . . . 185 Глава 8. Модели параллельных вычислений......................... 206 Обзор теории комплектов......................................... 231 Аннотированная библиография .................................... 234 Предметный указатель ........................................... 262 Джеймс Питерсон ТЕОРИЯ СЕТЕЙ ПЕТРИ И МОДЕЛИРОВАНИЕ СИСТЕМ Научный редактор Т. Н. Шестакова Мл. научные редакторы К>. Л. Евдокимова, Н. И. Сивилева Художник Г. А. Шипов Художественный редактор В. Б. Прищепа Технический редактор А. Г. Резоухова Корректор Н. В. Андреева ИБ № 3763 Сдано в набор 15.08.83. Подписано к печати 16.05.84. Формат 60X90716. Бумага типографская № 2. Гарнитура литературная. Печать высокая. Объем 8,25 бум. л. Усл. печ. л. 16,50. Усл. кр.-отт. 16.62. Уч.-изд. л. 16,59. Изд. А? 20/2754. Тираж 8400 экз. Зак. 562. Цена 1 р. 70 к. ИЗДАТЕЛЬСТВО «МИР» Москва, 1-й Рижский пер., 2. Ярославский полиграфкомбинат Союзполиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 150014, Ярославль, ул. Свободы, 97.