OE-Vorlesung 2008 Einführung in Petrinetze Dr. Köhler-Bußmeier Department für Informatik Universität Hamburg OE 2008 Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 1 / 32
Übersicht 1 Informatik 2 Der Liebling des Theoretikers 3 Petrinetze und Nebenläufigkeit 4 S/T-Netze: Formales 5 S/T-Netze: Eigenschaften 6 Epilog Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 2 / 32
Informatik: Theorie Abstraktion Design nach Denning et al.: Computing as a discipline. Comm. ACM 32, 9-23 (1989) Theorie Isolation und Definition zu untersuchender Objekte Postulation von Beziehungen der Objekte untereinander (Theoreme, Sätze) Verifikation der Postulate (Beweise, Algorithmen) Abstraktion / Modellierung Bildung einer Modellhypothese Konstruktion eines Modells des zu erwartenden Verhaltens Experimentieren und Beobachten Analyse der Ergebnisse Design Formulierung der Anforderungen Entwurf / Implementation des Systems Analyse (Test, Verifikation) des Systems Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 3 / 32
Informatik: Theorie Abstraktion Design nach Denning et al.: Computing as a discipline. Comm. ACM 32, 9-23 (1989) Theorie Isolation und Definition zu untersuchender Objekte Postulation von Beziehungen der Objekte untereinander (Theoreme, Sätze) Verifikation der Postulate (Beweise, Algorithmen) Abstraktion / Modellierung Bildung einer Modellhypothese Konstruktion eines Modells des zu erwartenden Verhaltens Experimentieren und Beobachten Analyse der Ergebnisse Design Formulierung der Anforderungen Entwurf / Implementation des Systems Analyse (Test, Verifikation) des Systems Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 3 / 32
Informatik: Theorie Abstraktion Design nach Denning et al.: Computing as a discipline. Comm. ACM 32, 9-23 (1989) Theorie Isolation und Definition zu untersuchender Objekte Postulation von Beziehungen der Objekte untereinander (Theoreme, Sätze) Verifikation der Postulate (Beweise, Algorithmen) Abstraktion / Modellierung Bildung einer Modellhypothese Konstruktion eines Modells des zu erwartenden Verhaltens Experimentieren und Beobachten Analyse der Ergebnisse Design Formulierung der Anforderungen Entwurf / Implementation des Systems Analyse (Test, Verifikation) des Systems Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 3 / 32
Formalismen: Motivation Theorie Abstraktion Design Die drei Methoden durchziehen alle Bereiche der Informatik! Benötigt werden Formalismen: präzise Modellierung: eindeutig mathematisch wohlfundiert praktisch einsetzbar anschauliche Modellierung: intuitiv graphisch leicht verständlich Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 4 / 32
Formalismen: Motivation Theorie Abstraktion Design Die drei Methoden durchziehen alle Bereiche der Informatik! Benötigt werden Formalismen: präzise Modellierung: eindeutig mathematisch wohlfundiert praktisch einsetzbar anschauliche Modellierung: intuitiv graphisch leicht verständlich Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 4 / 32
Formalismen: Motivation Theorie Abstraktion Design Die drei Methoden durchziehen alle Bereiche der Informatik! Benötigt werden Formalismen: präzise Modellierung: eindeutig mathematisch wohlfundiert praktisch einsetzbar anschauliche Modellierung: intuitiv graphisch leicht verständlich Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 4 / 32
Übersicht 1 Informatik 2 Der Liebling des Theoretikers 3 Petrinetze und Nebenläufigkeit 4 S/T-Netze: Formales 5 S/T-Netze: Eigenschaften 6 Epilog Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 5 / 32
Die Welfencreme Zutaten: 1/2 l Milch 1 EL Zucker 1 Spur Salz 1 Vanillestange 30 g Speisestärke 3 Eier 80 g Zucker 1/4 l Weißwein Zitronenschale, gerieben 1 EL Zitronensaft 1 EL Speisestärke Notiz: Die Welfen waren eines der ältesten Herrschergeschlechter Deutschlands. Einer Welfenlinie gehörte das hannoversche Königshaus mit den Wappenfarben Weiß und Gelb an. Den Welfen und ihren Farben zu Ehren wurde diese weiße Creme mit gelber Soße komponiert. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 6 / 32
Die Welfencreme: Das Rezept Für die Creme ungefähr 50 ml Milch in eine Tasse geben. Die restliche Milch mit der aufgeschlitzten und ausgekratzten Vanilleschote, dem Zucker und 1 Prise Salz zum Kochen bringen. Die Vanilleschote entfernen. Speisestärke mit der Milch in der Tasse gut verrühren, in die heiße Vanillemilch einrühren und noch einmal kurz aufkochen lassen. Vom Herd nehmen und etwas auskühlen lassen, dabei immer wieder umrühren. Eiweiß in einer Rührschüssel zu steifem Schnee schlagen und unter die lauwarme Vanillecreme heben. Portionsweise halbvoll in hohe Gläser füllen und abkühlen lassen. Für die Weinsoße das Eigelb mit Zucker, Zitronensaft, Speisestärke und dem Weißwein bei kleiner Hitze unter ständigem Schlagen mit dem Schneebesen erhitzen, aber nicht kochen, bis die Soße schön schaumig wird. Die heiße Soße löffelweise über die Vanillecreme gießen und im Kühlschrank erkalten lassen. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 7 / 32
Modell: Pseudo-Code (Vanillehälften, Vanillemark) := aufschlitzen-und-auskratzen(vanilleschote); Vanillemilch := aufkochen-lassen( Vanillehälften, Vanillemark, 450 ml Milch, 1 Prise Salz, 1 EL Zucker ); Vanillemilch := entferne-vanilleschote(vanillemilch); Creme := verrühre(50 ml Milch, 30 g Speisestärke); Vanillecreme := einrühren-und-aufkochen(creme, Vanillemilch); Topf-abkühlen-lassen(Vanillecreme); Eischnee := schlagen(3 Eiweiß); Vanillecreme := hebe-unter(eischnee, Vanillecreme); Vanillecreme-Gläser := abfüllen(vanillecreme, 4 Gläser); Weinsoße := abschlagen(eigelb, 80g Zucker, Zitronensaft, 1 EL Speisestärke, 250 ml Weißwein); Welfencreme := gieße-über(weinsoße, Vanillecreme-Gläser); Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 8 / 32
Viele Köche verderben den Brei... Der Algorithmus ist sequentiell. Frage: Können mehrere Köche die Creme schneller fabrizieren? Antwort: Im Prinzip, Ja. Begründung: Das Herstellen der Vanillemilch ist unabhängig (auch: nebenläufig) von dem des Weinschaums. Wie sieht man dies im sequentiellen Algorithmus? Wie kann man die Unabhängigkeiten darstellen? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 9 / 32
Viele Köche verderben den Brei... Der Algorithmus ist sequentiell. Frage: Können mehrere Köche die Creme schneller fabrizieren? Antwort: Im Prinzip, Ja. Begründung: Das Herstellen der Vanillemilch ist unabhängig (auch: nebenläufig) von dem des Weinschaums. Wie sieht man dies im sequentiellen Algorithmus? Wie kann man die Unabhängigkeiten darstellen? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 9 / 32
Viele Köche verderben den Brei... Der Algorithmus ist sequentiell. Frage: Können mehrere Köche die Creme schneller fabrizieren? Antwort: Im Prinzip, Ja. Begründung: Das Herstellen der Vanillemilch ist unabhängig (auch: nebenläufig) von dem des Weinschaums. Wie sieht man dies im sequentiellen Algorithmus? Wie kann man die Unabhängigkeiten darstellen? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 9 / 32
Viele Köche verderben den Brei... Der Algorithmus ist sequentiell. Frage: Können mehrere Köche die Creme schneller fabrizieren? Antwort: Im Prinzip, Ja. Begründung: Das Herstellen der Vanillemilch ist unabhängig (auch: nebenläufig) von dem des Weinschaums. Wie sieht man dies im sequentiellen Algorithmus? Wie kann man die Unabhängigkeiten darstellen? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 9 / 32
Viele Köche verderben den Brei... Der Algorithmus ist sequentiell. Frage: Können mehrere Köche die Creme schneller fabrizieren? Antwort: Im Prinzip, Ja. Begründung: Das Herstellen der Vanillemilch ist unabhängig (auch: nebenläufig) von dem des Weinschaums. Wie sieht man dies im sequentiellen Algorithmus? Wie kann man die Unabhängigkeiten darstellen? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 9 / 32
Viele Köche verderben den Brei... Der Algorithmus ist sequentiell. Frage: Können mehrere Köche die Creme schneller fabrizieren? Antwort: Im Prinzip, Ja. Begründung: Das Herstellen der Vanillemilch ist unabhängig (auch: nebenläufig) von dem des Weinschaums. Wie sieht man dies im sequentiellen Algorithmus? Wie kann man die Unabhängigkeiten darstellen? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 9 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker Salz Eier Zitrone Wein Gläser Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker aufschneiden Salz Mark 2 Hälften Eier Zitrone Wein Gläser Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker aufschneiden 2 0.45l Salz Mark Hälften 1 EL Eier 2 ausgekochte Schoten aufkochen Vanillemilch Zitrone Wein Gläser Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker 0.05l 30g aufschneiden verrühren 2 0.45l Salz Mark Hälften 1 EL Eier 2 ausgekochte Schoten aufkochen Vanillemilch Creme Zitrone Wein Gläser Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker 0.05l 30g aufschneiden verrühren 2 0.45l Salz Mark Hälften 1 EL Eier 2 ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb Zitrone Wein Gläser Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker 0.05l 30g aufschneiden verrühren 2 0.45l Salz Mark Hälften 1 EL Eier 2 80g ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL 3 Zitrone Wein 0,25l Gläser abschlagen 4 Weinschaum Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker 0.05l 30g aufschneiden verrühren 2 0.45l Salz Mark Hälften 1 EL Eier 2 80g ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL einrühren, abkühlen lassen 3 Vanillecreme Zitrone Wein 0,25l Gläser abschlagen 4 Weinschaum Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker 0.05l 30g aufschneiden verrühren 2 0.45l Salz Mark Hälften 1 EL Eier 2 80g ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL einrühren, abkühlen lassen 3 schlagen 3 Vanillecreme Eischnee Zitrone Wein 0,25l Gläser abschlagen 4 Weinschaum Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker aufschneiden Salz Mark 2 2 Hälften 0.45l 0.05l 30g verrühren 1 EL Eier 80g ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL einrühren, abkühlen lassen 3 schlagen 3 Vanillecreme Eischnee Zitrone Wein 0,25l Gläser unterheben abschlagen 4 4 4 Portionen Flameri Weinschaum Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker aufschneiden Salz Mark 2 2 Hälften 0.45l 0.05l 30g verrühren 1 EL Eier 80g ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL einrühren, abkühlen lassen 3 schlagen 3 Vanillecreme Eischnee Zitrone Wein 0,25l Gläser unterheben abschlagen 4 4 4 Portionen Flameri Weinschaum abfüllen Flameri im Glas Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Graphische Darstellung der Nebenläufigkeit Vanilleschote Milch Stärke Zucker aufschneiden Salz Mark 2 2 Hälften 0.45l 0.05l 30g verrühren 1 EL Eier 80g ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL einrühren, abkühlen lassen 3 schlagen 3 Vanillecreme Eischnee Zitrone Wein 0,25l Gläser unterheben abschlagen 4 4 4 Portionen Flameri Weinschaum abfüllen Flameri im Glas löffelweise auffüllen Welfencreme Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 10 / 32
Petrinetze Stelle Kante Stellen als passive Komponenten Transitionen als aktive Komponenten gerichtete Kanten zwischen Stellen und Transitionen Transition Marken Kapazitäten s/4 Kantengewichte 2 t Carl Adam Petri, Ehrenprofessor des Departments für Informatik. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 11 / 32
Petrinetze Stelle Kante Stellen als passive Komponenten Transitionen als aktive Komponenten gerichtete Kanten zwischen Stellen und Transitionen Transition Marken Kapazitäten s/4 Kantengewichte 2 t Carl Adam Petri, Ehrenprofessor des Departments für Informatik. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 11 / 32
Petrinetze: Dynamik Marken auf den Stellen ermöglichen den Transitionen zu schalten: 2 Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 12 / 32
Petrinetze: Dynamik Marken auf den Stellen ermöglichen den Transitionen zu schalten: 2 Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 12 / 32
Petrinetze: Dynamik Marken auf den Stellen ermöglichen den Transitionen zu schalten: 2 Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 12 / 32
Petrinetze: Dynamik Definition Schaltregel: Eine Transition ist genau dann aktiviert (d.h. sie kann schalten), wenn 1 alle Eingangsstellen ausreichend Marken beinhalten 2 und die Kapazität jeder Ausgangsstellen ausreicht, um entsprechend viele zusätzliche Marken aufzunehmen. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 13 / 32
Petrinetze: Beispiel Einfaches Modell der vier Jahreszeiten: Winter Modellierung eines dynamischen Systems als S/T-Netz Marke als Zustandsmarker Herbst Frühling Sommer Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 14 / 32
Petrinetze: Beispiel Besonderheiten dieses einfachen Systems: Winter Genau eine Marke im Netz (Invariante) Netz stellt Kausalitäten dar Transitionen schalten sequentiell Herbst Frühling Sommer Nicht alle "Systeme" haben diese Eigenschaften. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 15 / 32
Petrinetze: Beispiel Besonderheiten dieses einfachen Systems: Winter Genau eine Marke im Netz (Invariante) Netz stellt Kausalitäten dar Transitionen schalten sequentiell Herbst Frühling Sommer Nicht alle "Systeme" haben diese Eigenschaften. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 15 / 32
Nebenläufigkeit Nebenläufigkeit erkennt man an disjunkten Lokalitäten: Vanilleschote Milch Stärke Zucker 0.05l 30g aufschneiden Salz Mark 2 0.45l Hälften verrühren 1 EL Eier 80g 2 ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL einrühren, abkühlen lassen 3 schlagen 3 Vanillecreme Eischnee Zitrone Wein 0,25l Gläser unterheben abschlagen 4 4 4 Portionen Flameri Weinschaum abfüllen Flameri im Glas löffelweise auffüllen Welfencreme Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 16 / 32
Nebenläufigkeit Nebenläufigkeit erkennt man an disjunkten Lokalitäten: Vanilleschote Milch Stärke Zucker 0.05l 30g aufschneiden Salz Mark 2 0.45l Hälften verrühren 1 EL Eier 80g 2 ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL einrühren, abkühlen lassen 3 schlagen 3 Vanillecreme Eischnee Zitrone Wein 0,25l Gläser unterheben abschlagen 4 4 4 Portionen Flameri Weinschaum abfüllen Flameri im Glas löffelweise auffüllen Welfencreme Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 16 / 32
Nebenläufigkeit Nebenläufigkeit erkennt man an disjunkten Lokalitäten: Vanilleschote Milch Stärke Zucker 0.05l 30g aufschneiden Salz Mark 2 0.45l Hälften verrühren 1 EL Eier 80g 2 ausgekochte Schoten aufkochen Vanillemilch Creme Eiweiß trennen Eigelb 1 EL einrühren, abkühlen lassen 3 schlagen 3 Vanillecreme Eischnee Zitrone Wein 0,25l Gläser unterheben abschlagen 4 4 4 Portionen Flameri Weinschaum abfüllen Flameri im Glas löffelweise auffüllen Welfencreme Zwei Köche verderben den Brei also nicht. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 16 / 32
Übersicht 1 Informatik 2 Der Liebling des Theoretikers 3 Petrinetze und Nebenläufigkeit 4 S/T-Netze: Formales 5 S/T-Netze: Eigenschaften 6 Epilog Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 17 / 32
S/T-Netz: Definition Definition Ein S/T-Netz ist ein Tupel N = (S, T, F, W, m 0 ) mit: Einer endlichen Menge S von Stellen Einer endlichen Menge T von Transitionen mit S T = Einer Flussrelation F (S T ) (T S) Einer Kantenbewertung W : (S T ) (T S) N mit W (x, y) = 0 (x, y) F Einer Anfangsmarkierung m 0 : S N Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 18 / 32
S/T-Netz: Kapazitäten Erweiterung um Kapazitäten: Definition Ein S/T-Netz mit Kapazitäten ist ein Tupel N = (S, T, F, W, K, m 0 ) mit: Einem S/T-Netz N = (S, T, F, W, m 0 ). Einer Kapazitätsfunktion K : S N {ω} Angepasste Definition der Anfangsmarkierung: m 0 (s) K (s) für alle s S. Mit unendlicher Kapazität: K (s) = ω d.h. es gibt keine Beschränkung der Markenzahl auf Stelle s. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 19 / 32
S/T-Netz: Kapazitäten Erweiterung um Kapazitäten: Definition Ein S/T-Netz mit Kapazitäten ist ein Tupel N = (S, T, F, W, K, m 0 ) mit: Einem S/T-Netz N = (S, T, F, W, m 0 ). Einer Kapazitätsfunktion K : S N {ω} Angepasste Definition der Anfangsmarkierung: m 0 (s) K (s) für alle s S. Mit unendlicher Kapazität: K (s) = ω d.h. es gibt keine Beschränkung der Markenzahl auf Stelle s. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 19 / 32
Simulation von Kapazitäten s2 s5 produzieren Lager kaufen lagern s3/3 verbrauchen s1 s4 Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 20 / 32
Simulation von Kapazitäten s2 s5 produzieren Lager kaufen lagern s3 verbrauchen s1 s6 s4 Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 20 / 32
Simulation von Kapazitäten s2 s5 produzieren Lager kaufen lagern s3 verbrauchen s1 s6 s4 S/T-Netze mit und ohne Kapazitäten sind äquivalent! Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 20 / 32
Definition: Aktivierung Gegeben: ein S/T-Netz N = (S, T, F, W, m 0 ), eine Transition t T und eine Markierung m 1. Definition Die Transition t ist aktiviert in m 1, falls m 1 (s) W (s, t) für alle s S gilt. Bei Kapazitäten zusätzlich: m 1 (s) W (s, t) + W (t, s) K (s) für alle s S. Notation: m 1 t Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 21 / 32
Definition: Aktivierung Gegeben: ein S/T-Netz N = (S, T, F, W, m 0 ), eine Transition t T und eine Markierung m 1. Definition Die Transition t ist aktiviert in m 1, falls m 1 (s) W (s, t) für alle s S gilt. Bei Kapazitäten zusätzlich: m 1 (s) W (s, t) + W (t, s) K (s) für alle s S. Notation: m 1 t Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 21 / 32
Definition: Aktivierung Gegeben: ein S/T-Netz N = (S, T, F, W, m 0 ), eine Transition t T und eine Markierung m 1. Definition Die Transition t ist aktiviert in m 1, falls m 1 (s) W (s, t) für alle s S gilt. Bei Kapazitäten zusätzlich: m 1 (s) W (s, t) + W (t, s) K (s) für alle s S. Notation: m 1 t Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 21 / 32
Definition: Schalten Gegeben: ein S/T-Netz N 1 = (S, T, F, W, m 0 ), eine Transition t T und Markierungen m 1 und m 2. Definition Die Transition t schaltet m 1 zu m 2, falls 1 t in m 1 aktiviert ist 2 und s S : m 2 (s) = m 1 (s) W (s, t) + W (t, s) gilt. Notation: m 1 t m 2 Die Markierung m 2 heißt auch Folgemarkierung. Keine besondere Behandlung der Kapazitäten. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 22 / 32
Definition: Schalten Gegeben: ein S/T-Netz N 1 = (S, T, F, W, m 0 ), eine Transition t T und Markierungen m 1 und m 2. Definition Die Transition t schaltet m 1 zu m 2, falls 1 t in m 1 aktiviert ist 2 und s S : m 2 (s) = m 1 (s) W (s, t) + W (t, s) gilt. Notation: m 1 t m 2 Die Markierung m 2 heißt auch Folgemarkierung. Keine besondere Behandlung der Kapazitäten. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 22 / 32
Definition: Schalten Gegeben: ein S/T-Netz N 1 = (S, T, F, W, m 0 ), eine Transition t T und Markierungen m 1 und m 2. Definition Die Transition t schaltet m 1 zu m 2, falls 1 t in m 1 aktiviert ist 2 und s S : m 2 (s) = m 1 (s) W (s, t) + W (t, s) gilt. Notation: m 1 t m 2 Die Markierung m 2 heißt auch Folgemarkierung. Keine besondere Behandlung der Kapazitäten. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 22 / 32
Definition: Schalten Gegeben: ein S/T-Netz N 1 = (S, T, F, W, m 0 ), eine Transition t T und Markierungen m 1 und m 2. Definition Die Transition t schaltet m 1 zu m 2, falls 1 t in m 1 aktiviert ist 2 und s S : m 2 (s) = m 1 (s) W (s, t) + W (t, s) gilt. Notation: m 1 t m 2 Die Markierung m 2 heißt auch Folgemarkierung. Keine besondere Behandlung der Kapazitäten. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 22 / 32
Definition: Schalten Gegeben: ein S/T-Netz N 1 = (S, T, F, W, m 0 ), eine Transition t T und Markierungen m 1 und m 2. Definition Die Transition t schaltet m 1 zu m 2, falls 1 t in m 1 aktiviert ist 2 und s S : m 2 (s) = m 1 (s) W (s, t) + W (t, s) gilt. Notation: m 1 t m 2 Die Markierung m 2 heißt auch Folgemarkierung. Keine besondere Behandlung der Kapazitäten. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 22 / 32
Übersicht 1 Informatik 2 Der Liebling des Theoretikers 3 Petrinetze und Nebenläufigkeit 4 S/T-Netze: Formales 5 S/T-Netze: Eigenschaften 6 Epilog Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 23 / 32
Definition: Aktivierbarkeit Frage: Kann eine Transition t überhaupt schalten? (Ist t irgendwann einmal aktivierbar?) Definition Transition t heißt in der Markierung m aktivierbar, falls es eine von m aus erreichbare Markierung m gibt, so dass gilt: m t Ist t aktivierbar, dann existiert eine Schaltfolge von der augenblicklichen Markierung m zur Markierung m. Aber: Was ist eine Schaltfolge und was eine erreichbare Markierung? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 24 / 32
Definition: Aktivierbarkeit Frage: Kann eine Transition t überhaupt schalten? (Ist t irgendwann einmal aktivierbar?) Definition Transition t heißt in der Markierung m aktivierbar, falls es eine von m aus erreichbare Markierung m gibt, so dass gilt: m t Ist t aktivierbar, dann existiert eine Schaltfolge von der augenblicklichen Markierung m zur Markierung m. Aber: Was ist eine Schaltfolge und was eine erreichbare Markierung? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 24 / 32
Definition: Aktivierbarkeit Frage: Kann eine Transition t überhaupt schalten? (Ist t irgendwann einmal aktivierbar?) Definition Transition t heißt in der Markierung m aktivierbar, falls es eine von m aus erreichbare Markierung m gibt, so dass gilt: m t Ist t aktivierbar, dann existiert eine Schaltfolge von der augenblicklichen Markierung m zur Markierung m. Aber: Was ist eine Schaltfolge und was eine erreichbare Markierung? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 24 / 32
Definition: Aktivierbarkeit Frage: Kann eine Transition t überhaupt schalten? (Ist t irgendwann einmal aktivierbar?) Definition Transition t heißt in der Markierung m aktivierbar, falls es eine von m aus erreichbare Markierung m gibt, so dass gilt: m t Ist t aktivierbar, dann existiert eine Schaltfolge von der augenblicklichen Markierung m zur Markierung m. Aber: Was ist eine Schaltfolge und was eine erreichbare Markierung? Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 24 / 32
Definition: Schaltfolge Eine Schaltfolge ist ein endliches Wort w = w 1 w 2 w 3... w n mit w i T für alle i {1,..., n} und n N. Definition Schaltfolge w schaltet m zu m, falls 1 entweder w = λ (leeres Wort mit n = 0) und m = m 2 oder w = w 1 w 2 w 3 w n mit n > 0 und m w 1 w m 2 1 m2 wn m n = m für Markierungen m 1, m 2,..., m n. Notation: m w m. Ist nur die Existenz der Schaltfolge wichtig, so notiert man auch: m m Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 25 / 32
Definition: Schaltfolge Eine Schaltfolge ist ein endliches Wort w = w 1 w 2 w 3... w n mit w i T für alle i {1,..., n} und n N. Definition Schaltfolge w schaltet m zu m, falls 1 entweder w = λ (leeres Wort mit n = 0) und m = m 2 oder w = w 1 w 2 w 3 w n mit n > 0 und m w 1 w m 2 1 m2 wn m n = m für Markierungen m 1, m 2,..., m n. Notation: m w m. Ist nur die Existenz der Schaltfolge wichtig, so notiert man auch: m m Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 25 / 32
Definition: Schaltfolge Eine Schaltfolge ist ein endliches Wort w = w 1 w 2 w 3... w n mit w i T für alle i {1,..., n} und n N. Definition Schaltfolge w schaltet m zu m, falls 1 entweder w = λ (leeres Wort mit n = 0) und m = m 2 oder w = w 1 w 2 w 3 w n mit n > 0 und m w 1 w m 2 1 m2 wn m n = m für Markierungen m 1, m 2,..., m n. Notation: m w m. Ist nur die Existenz der Schaltfolge wichtig, so notiert man auch: m m Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 25 / 32
Definition: Erreichbarkeit Definition Eine Markierung m heißt von m aus erreichbar, falls es eine Schaltfolge w T gibt, so dass gilt: m w m R(N, m) bezeichnet die Menge aller von m aus erreichbaren Markierungen eines Netzes N. Eine Transition t heißt tot, falls sie durch keine erreichbare Markierung aktiviert wird. Lemma Eine Transition t ist genau dann aktivierbar, wenn sie nicht tot ist. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 26 / 32
Definition: Erreichbarkeit Definition Eine Markierung m heißt von m aus erreichbar, falls es eine Schaltfolge w T gibt, so dass gilt: m w m R(N, m) bezeichnet die Menge aller von m aus erreichbaren Markierungen eines Netzes N. Eine Transition t heißt tot, falls sie durch keine erreichbare Markierung aktiviert wird. Lemma Eine Transition t ist genau dann aktivierbar, wenn sie nicht tot ist. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 26 / 32
Definition: Erreichbarkeit Definition Eine Markierung m heißt von m aus erreichbar, falls es eine Schaltfolge w T gibt, so dass gilt: m w m R(N, m) bezeichnet die Menge aller von m aus erreichbaren Markierungen eines Netzes N. Eine Transition t heißt tot, falls sie durch keine erreichbare Markierung aktiviert wird. Lemma Eine Transition t ist genau dann aktivierbar, wenn sie nicht tot ist. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 26 / 32
Definition: Erreichbarkeit Definition Eine Markierung m heißt von m aus erreichbar, falls es eine Schaltfolge w T gibt, so dass gilt: m w m R(N, m) bezeichnet die Menge aller von m aus erreichbaren Markierungen eines Netzes N. Eine Transition t heißt tot, falls sie durch keine erreichbare Markierung aktiviert wird. Lemma Eine Transition t ist genau dann aktivierbar, wenn sie nicht tot ist. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 26 / 32
Werkzeuge Petrinetze werden handhabbar durch Werkzeugunterstützung. wake up manual receive request :pending(req) send request toroot:pending(this) leave [] quiet this pending req req toroot :compass(toroot) toroot compass critical this req req enter guard this!=req req:token() send token :token() receive token token Beispiel: Renew www.renew.de Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 27 / 32
Zusammenfassung Petrinetze sind anschaulich und mathematisch formal. Sie sind somit geeignet zur Modellierung (Spezifikation), Analyse (Verifikation), Ausführung von (verteilten) Algorithmen. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 28 / 32
Zusammenfassung Petrinetze sind anschaulich und mathematisch formal. Sie sind somit geeignet zur Modellierung (Spezifikation), Analyse (Verifikation), Ausführung von (verteilten) Algorithmen. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 28 / 32
Ausblick: Petrinetze Petrinetzformalismen: Höhere (gefärbte) Petrinetze Objektnetze Anwendungen: Systemspezifikation Implementation (Softwareentwicklung) Model Checking, Analyse Workflows Gegenstand des Moduls FGI-2. Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 29 / 32
Übersicht 1 Informatik 2 Der Liebling des Theoretikers 3 Petrinetze und Nebenläufigkeit 4 S/T-Netze: Formales 5 S/T-Netze: Eigenschaften 6 Epilog Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 30 / 32
Die Arbeitsgruppe TGI Prof. Valk, Prof. Jantzen Prof. Kudlek Dr. Köhler Heitmann Dr. Moldt Cabac, Duvigneau Wester-Ebbinghaus Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 31 / 32
Ausblick Weitere Gebiete der theoretischen Informatik: Automatentheorie Formale Sprachen Berechenbarkeit Komplexitätstheorie Algorithmik Verifikation Typtheorie Dr. Köhler-Bußmeier (Uni-HH) OE-Vorlesung 2008 32 / 32