Springer-Lehrbuch Springer-Verlag Berlin Heidelberg GmbH Lutz Priese Harro Wimmel Theoretische Informatik Petri-Netze Mit 111 Abbildungen 'Springer Prof. Dr. Lutz Priese Universität Koblenz-Landau Fachbereich Informatik Rheinau 1 56075 Koblenz [email protected] Dr. Harro Wimme! Universität Oldenburg Fachbereich Informatik Postfach 2503 26111 Oldenburg harro. wimme! @informa tik. uni -olden burg.de ISBN 978-3-540-44289-9 ISBN 978-3-662-10427-9 (eBook) DOI 10.1007/978-3-662-10427-9 Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen N ationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.ddb.de> abrufbar. Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbe sondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Ver vielfaltigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vcJrbehalten. Eine Ve rvielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den (;ren zen der gesetzlichen Bestimmungen des Urhebern·chtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestim mungen des Urheberrechtsgesetzes. http://www.springer .de @Springer-Verlag Berlin Heidelberg 2003 Ursprünglich erschienen bei Springer-Verlag Berlin Heidelberg New York 2003 Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Umschlaggestaltung: design & production GmbH, Heidelberg Satz: Reproduktionsfertige Vorlagen von den Autoren Gedruckt auf säurefreiem Papier-SPIN: 10891801 33/3142 GF 54 3 21 0 Geleitwort Nur sehr selten führt eine Dissertation gleich zur Begründung einer ganzen wissenschaftlichen Schule. Für Carl Adam Petris 1962 erschienene Doktor arbeit Kornrmmikation mit A utornaten gilt dies jedoch in besonderem Maße. Das Gebiet der "Petri-Netze", das in dieser Arbeit wurzelt, hat sich in den 40 .Jahren seines Besteheus in Theorie und Praxis bestens bewährt. Heute ist es ein anerkanntes Teilfeld der Informatik, auf dem viele Tausend Forscher und Anwender/innen tätig sind. Unter den zahlreichen Lehrbüchern über Petri-Netze finden sich viele einfüh rende und anwendungsorientierte Werke. Es fehlt bisher ein Buch, das grund legende theoretische Eigenschaften von Petri-Netzen zusammenfasst und mit den dazu gehörigen Beweisen in gut strukturierter und einheitlicher Form lesbar darbietet. Das hier vorliegende Buch leistet dies in höchst überzeugender Art und Weise. Geschrieben wurde es von einem hervorragenden Autorenteam: Lutz Prie se und Harro Wimme!. Beide Autoren sind durch jahrelanges Wirken in Informatik-Grundlagen- und Petri-Netz-Forschung vorzüglich dazu qualifi ziert. Bislang oft nur in Einzelveröffentlichungen beschriebene Entscheidbarkeits resultate, Spracheigenschaften, Semantikuntersuchungen und Charakterisie rungen algebraischer Natur wurden in mühevoller Arbeit gesichtet und mit schönen Beweisen venwhen. Entstanden ist ein in sich geschlossenes und span nend zu lesendes Lehrbuch. Zum ersten Mal findet sich in einem solchen Buch beispielsweise ein vollständiger und fein gestalteter Beweis eines der berühm testen Sätze der Petri-Netz-Theorie (zuerst gezeigt von Ernst W. Mayr und Rao Kosaraju), der Entscheidbarkeit der Erreichbarkeit. Das Buch "Theorie der Petri-Netze" kann ich mir sehr gut als Grundlage etwa von ein bis zwei Lehrmodulen im dritten Studienjahr vorstellen. Es führt aber auch unmittelbar an die aktuelle Forschung heran. Ich freue mich darüber, die Veröffentlichung dieses Werkes geleiten und erleben zu können und wünsche dem Buch viele wohlwollende, aufmerksame Leser /irmen und eine weite Verbreitung. Eike Best Oldenburg, im August 2002 Inhaltsverzeichnis 1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Sequentielle Rechnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Parallele Rechnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3 Nebenläufige Rechnungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2. Mathematische Grundlagen............................... 27 2.1 Mengen und Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2 Graphen und Bäume. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.3 Ringe und Körper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.4 Erweiterte natürliche Zahl~:n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.5 Sprachen und Sprachoperationen . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.6 Maschinen und Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Teil I. Interleaving Verhalten von Petri-Netzen 3. Grundlegende Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.1 Petri-Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.2 Der Feuerbegriff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.2.1 Transitionssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2.2 Hürde und Zustandswechsel . . . . . . . . . . . . . . . . . . . . . . . 55 3.2.3 Alternative Petri-Netz-Modelle . . . . . . . . . . . . . . . . . . . . . 58 3.2.4 Erreichbare Markierungen . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2.5 Erreichbarkeits- und Überdeckungsgraphen . . . . . . . . . . 64 3.2.6 Reverse Petri-Net11e.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.3 Invarianten, Lebendigkeit, Sicherheit . . . . . . . . . . . . . . . . . . . . . . 79 3.3.1 Invarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.3.2 Beschränkte Petri-Netze und Sicherheit . . . . . . . . . . . . . 82 3.3.3 Lebendigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.3.4 Einige notwf~ndige Kriterien zur Erreichharkeit von Markierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 VIII Inhaltsverzeichnis 4. Die Entscheidbarkeit der Erreichbarkeit . . . . . . . . . . . . . . . . . . 93 4.1 Zum Erreichbarkeitsproblem EP . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.2 Lineare Gleichungssysteme über Z . . . . . . . . . . . . . . . . . . . . . . . . 94 4.3 Gesteuerte Überdeckungsgraphen und Keime. . . . . . . . . . . . . . . 96 4.4 Die Charakteristische Gleichung .......................... 105 4.5 Perfekte Keim-Transition-Folgen ......................... 108 4.6 Dekomposition in perfekte Keim-Transition-Folgen .......... 112 5. Berechenbarkeit, Erreichbarkeit, Erzeugbarkeit ........... 119 5.1 Varianten des Erreichbarkeitsproblems .................... 119 5.1.1 Komplexität von Petri-~etz;en ..................... 119 5.1.2 Varianten des Erreichbarkeitsproblems (EP) .......... 120 5.1.3 Varianten des Lebendigkeitsproblems (LP) ........... 123 5.1.4 Der Zusammenhang EP- LP ...................... 126 5.2 Schwache PN-Berechenbarkeit ............................ 131 5.2.1 Addition und Multiplikation ....................... 134 5.2.2 Die Ackermann-Funktion .......................... 137 5.2.3 Komplexität von Überdeckungsgraphen ............. 142 5.2.4 Schwache Graphen ............................... 143 5.3 Das Petri-Netz-Gleichheitsproblem ........................ 144 5.4 Starke PN-Berechenbarkeit .............................. 155 5.4.1 Inhibitorische PN und PN mit Prioritäten ........... 165 5.4.2 Beschränkte Simulation von Registermaschinen ....... 168 6. Petri-Netz-Sprachen ...................................... 189 6.1 Grundlagen. . . . . . . . . . . . . . . . ........................... 189 6.1.1 Gleichheit von Petri-Netz-Sprachen ................. 191 6.1.2 Normalformen für Petri-Netz;e ...................... 196 6.2 Abschlußeigenschaften .................................. 203 6.2.1 Shuffie, Vereinigung, Kaukatenation ................ 206 6.2.2 Durchschnitt und Synchronisation .................. 209 6.2.3 Homomorphismen ................................ 215 6.2.4 Inverse Homomorphismen ......................... 217 6.3 Algebraische Sprachcharakterisierung ..................... 221 6.3.1 Restriktion ...................................... 221 6.3.2 Sprachen elementarer Netze ....................... 225 6.3.3 Freie Petri-Netz-Sprachen ......................... 231 6.4 Gegenbeispiele zu Petri-Netz-Sprachen .................... 239 Inhaltsverzeichnis IX Teil II. True-Concurrency Verhalten von Petri-Netzen 7. Pomset- und Stepsprachen ................................ 245 7.1 Pomsets und Steps ..................................... 245 7 .1.1 Stepsprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 7.1.2 Pomsetsprachen .................................. 254 7.1.3 Prozesse und Pomsetsprachen von Petri-Netzen ...... 258 7.2 Abschlußeigenschaften .................................. 270 7.2.1 Normalform ..................................... 271 7.2.2 Verallgemeinerbare Operationen .................... 274 7.2.3 Vereinigung und Konkatenation .................... 275 7.2.4 Synchronisation und abgeleitete Operationen ........ 276 7.2.5 Homomorphismen ................................ 289 8. Algebraische Charakterisierungen ......................... 293 8.1 Kompositionale Semantiken und Algebren ................. 293 8.1.1 Grundlagen kompositionaler Semantiken ............ 293 8.1.2 Ein Basiskalkül für Petri-Netze ..................... 297 8.1.3 Petri-Netze mit Interface .......................... 304 8.1.4 Spezielle Kalküle für Petri-Netze ................... 307 8.1.5 Ein universeller Kontext ........................... 311 8.2 Konkrete Semantiken ................................... 313 8.2.1 Zweikompositionale Pomsetsemantiken ............. 313 8.2.2 Abgeleitete kompositionale Semantiken .............. 325 8.3 Algebraische Charakterisierungen ......................... 333 8.3.1 Terminale Sprachen ............................... 333 8.3.2 Nicht-terminale Sprachen .......................... 338 A. Lineare Gleichungssysteme über Z ........................ 343 B. Bibliographische Hinweise ................................ 359 Literaturverzeichnis .......................................... 363 Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 1. Einleitung Dieses Buch soll selbsterklärend sein. Damit meinen wir, dass möglichst alle vorkommenden Begriffe, auch sehr elementare, wie etwa der eines endlichen Automaten, einer Turingmaschine oder einer Registermaschine, formal ex akt definiert werden. Natürlich kann das nicht auch für alle mathematischen Begriffe gelten. So werden wir Standardbegriffe, wie etwa den Logarithmus, etc., nicht weiter erläutern. In der Einleitung werden allerdings auch Kon zepte der Theoretischen Informatik erst einmal ohne formale Definitionen, die später folgen, benutzt. Hier wollen wir den Versuch unternehmen, Petri Netz-Theorie in die Theoretische Informatik einzuordnen. Dies ist ein eher "philosophisches" Kapitel, das einen kleinen Überblick über klassische Theo rien von sequentiellen, parallelen und nebenläufigen Rechnungen gibt. Es soll aufzeigen, wie sich Petri-Netz-Theorie einbettet, was sie so attraktiv gemacht hat. Das eigentliche Buch beginnt ab Kapitel 3 und ist lesbar, ohne sich um diese Einordnung in Kapitel 1 kümmern zu müssen, wenn man die Standard konzepte der Mathematik aus Kapitel 2 nur bei Bedarf nachschlägt. 1.1 Sequentielle Rechnungen Der klassische Untersuchungsgegenstand der Theoretischen Informatik sind sequentielle Rechnungen. Diese sind dadurch charakterisiert, dass alle Re chenschritte hintereinander ausgeführt werden. Turingmaschinen, Markov Algorithmen, Grammatiken, oder A.-Kalküle sind Modelle sequentieller Rech nungen. Der Algorithmus- und Kalkülbegriff selbst ist in seiner klassischen Form sequentiell. Ein Algorithmus ist abstrakt gesehen eine endliche Vor schrift, bestehend aus Anweisungen, die in Abhängigkeit vom jeweiligen Zwi schenergebnis einer Rechnung eindeutig den nächsten Rechenschritt festlegen. Im Gegensatz dazu stellt ein Kalkül eine endliche Auswahl von Anweisungen zur Verfügung, von denen je nach Zwischenergebnis mehrere verwendet wer den dürfen. Dennoch darf auch von mehreren anwendbaren Schritten jeweils nur einer angewendet werden. Algorithmen führen damit zu deterministi schen sequentiellen Rechnungen, Kalküle zu nichtdeterministischen sequenti ellen Rechnungen. L. Priese et al., Theoretische Informatik © Springer-Verlag Berlin Heidelberg 2003 2 1. Einleitung Eine formale Präzisierung des Algorithmusbegriffs sind z.B. Turingmaschi nen. Das Speichermedium einer Turingmaschine ist eine endliche Anzahl von sogenannten Bändern. Ein Band ist eine lineare Anordnung von potentiell unendlich vielen sogenannten Zellen (oder Feldern). Jede Zelle ist mit einem Symbol aus einer gegebenen endlichen Menge E von Zeichen, dem Bandal phabet E, besetzt. Um den Begriff des potentiell Unendlichen elegant in den Griff zu bekommen, kann man ein Band als ein unendliches Wort über E auf fassen, dessen Buchstaben fast alle aus dem Symbol für "leer", #, bestehen. "Fast alle" wird hier stets im Sinn von "alle bis auf endlich viele Ausnahmen" benutzt. Ein Band besitzt also zwar immer einen unendlichen Vorrat an Zel len, zu jedem Zeitpunkt einer Rechnung werden aber nur endlich viele davon benutzt (allerdings ohne Beschränkung in deren Anzahl), fast alle sind leer, d.h. tragen das Sondersymbol #. Zu jedem Band besitzt eine Turingmaschine einen sogenannten Schreib-Lese-Kopf, der die Verbindung des Programmteils der Maschine zu ihrem Speichermedium darstellt. Der Schreib-Lese-Kopf ist jeweils auf eine Zelle des Bandes ausgerichtet. Er kann das Symbol in dieser Zelle lesen, ein Symbol in die Zelle schreiben und sich auf die Nachbarzel le recht oder links begeben. Das Progr·arnrn einer Turingmaschine ist eine endliche Folge 1: B1; 2: B2; ... ; k: Bk von durchnummerierten Elementar befehlen B1. Als einen Satz von erlaubten Elementarbefehlen kann man etwa wählen: - Lies x auf Band i (x enthält als Wert das Symbol, das sich gerade auf der Zelle des Schreib-Lese-Kopfes von Band i befindet), - Schreibe a auf Band i (das Symbol auf der Zelle des Schreib-Lese-Kopfes von Band i wird durch a ersetzt, dabei muss a E E gelten), - Gehe nach rechts auf Band i (der Schreib-Lese-Kopf von Band i wird auf die rechte Nachbarzelle gesetzt), - Gehe nach links auf Band i (analog), - Falls x = a gehe zur Zeile j (falls das zuletzt gelesene Symbol ein a ist, a E E muss gelten, so führe die Programmausführung mit dem ElernentarbPfehl Nummer j fort), - HALT (bei Erreichen dieses Befehls terminiert die Programmausfiihrung). Ohne Einschränkung soll genau der letzte Befehl k : Bk die Form k :HALT besitzen und sonst kein HALT-Befehl vorkommen. Ferner soll nur zu vorhan denen Befehlen j, 1 ::::; j ::::; k, gesprungen werden dürfen. Benutzt eine Turing maschine m Bänder, so spricht man auch von einer rn-Band-Turingmaschine. Turingmaschinen mit solch einem Befehlssatz heißen auch deterministisch. Lassen wir noch Elementarbefehle der Art