Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung
Wiederholung (1) Petri-Netz = bipartiter, gerichteter Graph Aufbau: Plätze (passive Komponenten) Transitionen (aktive Komponenten) Kanten (Flussrelationen) Belegung der Plätze heißt Markierung stellt Zustand des Petri-Netzes dar 2
Wiederholung (2) Transition aktiviert, wenn auf allen Plätzen im Vorbereich die benötigten Marken liegen alle Plätze im Nachbereich die erzeugten Marken aufnehmen können aktivierte Transition kann zu beliebigem Zeitpunkt schalten vor dem Schalten nach dem Schalten (t1 ist aktiviert) 3
Grundsituationen: Kausalität welche Voraussetzungen müssen stattgefunden haben, bevor ein Ereignis stattfinden kann Unterscheidung zwischen notwendigen Voraussetzungen Schalten von t1 notwendig für das Schalten von t2 hinreichenden Voraussetzungen Schalten von t1 oder t2 hinreichend für das Schalten von t3 4
Grundsituation: Nebenläufigkeit in einer Markierung sind mehrere Transitionen aktiviert wenn sie sich nicht gegenseitig beeinflussen, ist Ergebnis unabhängig der Schaltfolge immer gleich Reihenfolge, wie t1,t2 oder t3 hintereinander schalten ist egal, sie führen alle zum gleichen Ergebnis. Transitionsmenge ist nebenläufig aktiviert, wenn jede Transitionsfolge eine zulässige Schaltfolge ist können dann auch gleichzeitig geschaltet werden 5
Grundsituationen: Konflikt Transitionen gleichzeitig, aber nicht nebenläufig aktiviert, d.h. mehrere Transitionen aktiviert Vorbereiche überschneiden sich nicht genug Marken, um alle Transitionen zu schalten lokaler Nichtdeterminismus (welche Transition schaltet?) Lösung: Einführung von konfliktlösenden Elementen (Vorbereich erweitern) Konfliktlösung 6
Grundsituationen: Kontakt ähnlich Konflikt, Ursache bei Kontakt jedoch im Nachbereich im Nachbereich mehrerer Transitionen gemeinsame, kapazitätsbeschränkte Plätze nach Schalten einer Transition, möglicherweise nicht mehr genügend Aufnahmekapazität für Marken anderee Transitionen 7
Grundsituationen: Synchronisation Zusammenführen von Ereignisströmen : Join Aufspalten von Ereignisströmen : Fork 8
Analyse: Erreichbarkeit (1) Überblick über Systemverhalten alle Markierungen einer Schaltfolge sind erreichbare Markierungen eines Systems Menge aller erreichbarer Markierungen aller möglichen Schaltfolgen ist die Erreichbarkeitsmenge eines Systems Berechnung mittels Breitensuche: Startmarkierung M 0 jede neu gefundene Markierung wird in Erreichbarkeitsmenge aufgenommen wiederholen bis alle Folgemarkierungen in Erreichbarkeitsmenge aufgenommen worden sind 9
Analyse: Erreichbarkeit (2) Beispiel: Petri-Netz: Markierungsmenge: Markierung Nr. p1 p2 p3 Schaltung M 0 2 0 0 t1 M 1 Erreichbarkeitsgraph: M 1 1 1 0 t1 M 2 t2 M 3 M 2 0 2 0 t2 M 4 M 3 1 0 1 t1 M 4 M 4 0 1 1 t2 M 5 M 5 0 0 2 t1 M t1 2 M 0 M 1 t2 t2 t2 M 4 M 5 M 3 t1 10
Analyse: Sicherheit, Beschränktheit ein Petri-Netz heißt n-sicher, falls nie mehr als n Marken auf einem Platz zum Liegen kommen System heißt beschränkt, falls es ein n gibt, so dass es n-sicher ist Entscheidung mit Erreichbarkeitsmenge endliche Menge für jeden Platz überprüfen ob unter kritischer Grenze unendliche Menge: nicht n-sicher wäre Markenzahl an allen Plätzen immer kleiner n, kann es nur endlich viele Markierungen geben 11
Analyse: Lebendigkeit (1) Transition heißt tot, falls sie unter keiner Markierung aktiviert ist aktivierbar, falls sie unter mindestens einer Markierung aktiviert ist lebendig, falls sie unter jeder Markierung aktivierbar ist 12
Analyse: Lebendigkeit (2) Petri-Netz heißt tot, falls alle Transitionen tot sind schwach lebendig/deadlockfrei, falls unter jeder Markierung mindestens eine Transition aktiviert ist (stark) lebendig, falls alle Transitionen lebendig sind 13
Arten von Petri-Netzen: Bedingungs-Ereignis-Netz beschränken sich auf Gelten und Nichtgelten von Bedingungen, die durch Ereignisse eintreten oder beendet werden pro Stelle nur ein Token Kapazität der Stellen auf 1 beschränkt Kantengewichtung auf 1 beschränkt 14
Arten von Petri-Netzen: Stellen-Transitions-Netz mehrere Token pro Stelle Stellen-Kapazitäten Kanten-Gewichtungen 15
Arten von Petri-Netzen: Prädikat-Transitions-Netz unterscheidbare Tokens Prädikate an Stellen und Transitionen Schalt-Modi: x = A, y = C x = A, y = D x = A, y = E x = B, y = C x = B, y = D 16
Fazit Mächtige Modellierungssprache für unterschiedlichste Abstraktionsebenen B/E- und S/T-Netze grafisch leicht verständlich High-Level Petri-Netze zur kompakten Darstellung komplexer Prozesse Formale Definitionen ermöglichen genaue mathematisch Analysen und Korrektheitsbeweise Möglichkeiten der schrittweisen Simulation fördert Verständnis und Fehlersuche 17
Weitere Informationen Einführungskurs mit interaktiven Beispielen http://kik.informatik.fh-dortmund.de/diplomarbeiten/da%20marczinzik/ Petri Nets World http://www.informatik.uni-hamburg.de/tgi/petrinets/ 18
Ende Vielen Dank für die Aufmerksamkeit! 19