Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die Informationen, die sich aus den bisherigen Eingaben ergeben haben und die benötigt werden, um die Reaktion des Systems auf noch folgende Eingaben zu bestimmen. Beispiel: Digitaluhr mit zwei Einstell-Druckknöpfen Knopf 1: Stellmodus (Normalzeit, Stunden stellen, Minuten stellen, Sekunden stellen) kann sequentiell gewählt werden Knopf 2: ermöglicht das Einstellen der Zeit entsprechend gewähltem Stellmodus (d.h. wenn z. B. Minuten blinken, können die Minuten gestellt werden, - 1 -
Modellierung: 1. Schritt: Zustände, Eingaben (Ereignisse), Ausgaben (Ergebnisse) identifizieren 2. Schritt: Wie sehen die Übergänge in Abhängigkeit von Eingaben oder Ereignissen aus, welche Ausgaben werden erzeugt oder welche Aktionen sollen ausgelöst werden. 3. Schritt: Zustandsautomat zeichnen (UML Unified Modeling Language) - 2 -
E / A Eingabe (Ereignis, das den Zustandsübergang bewirkt. / Ergebnis bzw. durchzuführende Aktion, das während des Übergangs auszuführen bzw. die durchzuführen ist - 3 -
Definition: Ein Zustandsdiagramm zeigt eine Folge von Zuständen, die ein Objekt im Laufe seines Lebens einnehmen kann und aufgrund welcher Stimuli Zustandsänderungen stattfinden. Ein Zustandsdiagramm beschreibt eine hypothetische Maschine (Endlicher Automat), die sich zu jedem Zeitpunkt in einer Menge endlicher Zustände befindet. Sie besteht aus: einer endlichen, nicht-leeren Menge von Zuständen; einer endlichen, nicht-leeren Menge von Ereignissen; Zustandsübergängen; eine Anfangszustand und einer Menge von Endzuständen. - 4 -
Petrinetze nach Carl Petri, 1962 (Dissertation: Kommunikation mit Automaten) Diese Netze beschreiben Informationsübertragungs- und verarbeitungssysteme als Netze nebenläufiger - d.h. paralleler Prozesse - und eignen sich daher zur Modellierung und Darstellung komplexer dynamischer Systeme. Anwendung: anwendungsneutral Modellierung, Analyse und Simulation im Bereich der Automatisierungstechnik Modellierung von betrieblichen Abläufen ( Geschäftsprozeß-Modell) Petri-Netz-Simulator http://olli.informatik.uni-oldenburg.de/petriedisim/ - 5 -
Ein Petri-Netz ist ein gerichteter Graph, der aus zwei verschiedenen Sorten von Knoten besteht, aus Stellen und Transitionen. Math. Definition: Ein Petri-Netz ist ein Tripel N = ( S, T, F) mit S «T = und F Õ (S x T )» (T x S), wobei S die Stellen und T die Transitionen darstellen. S und T sind die Knoten, die Elemente der Flussrelation F sind die Kanten. Beispiel: s1 t1 s3 s1 s2 t2 N = (S, T, F) S = (s1, s2, s3), T = (t1, t2) und F = {(s1, t1), (s1, t2), (s2, t1), (s2, t2)} - 6 -
Stellen Transitionen passiv aktiv repräsentieren (lokale) Zustände während des Ablaufs eines Systems Aktionen oder Ereignisse Zustände (Stellen) sind Voraussetzung (Bedingung) für Aktionen und Ereignisse bewirken den Übergang von einem Zustand in eine anderen Zustand "Zwischenablage von Informationen" "Verarbeitung von Informationen" - 7 -
Dynamik: jeder Zustand der realisiert ist, wird markiert "Marke" Schaltregel wenn sämtliche Vorgänger-Zustände eines Ereignisses markiert sind und sämtliche Nachfolger- Zustände nicht markiert sind, dann schaltet das Ereignis. Die Folge davon ist, dass sämtliche Nachfolgerzustände markiert werden und die Marken der Vorgängerzustände entfernt werden. Können mehrere Transitionen schalten, so schaltet willkürlich (nichtdeterministisch) eine dieser Transitionen - 8 -
Modellierung Vorgehensweise 1. Definition der Stellen 2. Definition der Transitionen 3. Definition der Beziehungen 4. Vollständiges Netzwerk 5. Dynamik zu den Marken: Marken können exogen sein (empir. Beobachtung des Modells) endogen (aufgrund der modellbedingten Kausallogik) - 9 -
Arten von Petrinetzen In Abhängigkeit von der Art der Objekte unterscheidet man Bedingungs/Ereignis-Netze Stellen/Transitionsnetze höhere Petri-Netze - 10 -
Bedingungs / Ereignis-Netze Ein Petri-Netz ist ein Bedingungs-Ereignis-Netz, wenn die Objekte bzw. Marken vom Typ booelan sind. Die Transitionen werden als Ereignisse interpretiert. Die Stellen werden als Bedingungen bezeichnet Jede Stelle kann entweder genau eine oder keine Marke enthalten. Schaltregel: Eine Transition t kann nur schalten, wenn jede Eingabestelle von t eine Marke enthält und jede Ausgabestelle von t leer ist. - 11 -
Modellierung Vorgehensweise (gilt für alle Arten von Petri-Netzen 1. Definition der Stellen 2. Definition der Transitionen 3. Definition der Beziehungen 4. Vollständiges Netzwerk 5. Dynamik Terminierung? (können ausgehend von einer Anfangsmarkierung stets nur endlich viele /oft? Transitionen schalten Lebendigkeit? kann man ausgehend von einer Startsituation die Transitionen stets so schalten, dass eine vorgegebene Transition im weiteren Verlauf noch mindestens einmal schalten kann Verklemmungen? gibt es Situationen, in denen keine Transition schalten kann, die aber bei anderer Schaltreihenfolge hätte vermieden werden können - 12 -
Erreichbarkeitsproblem? gibt es eine Schaltfolge, mit der man ausgehend von der Markierung M die Markierung M' erreichen kann - 13 -
Schaltdefekte Gewisse Netzkonstruktionen können zu Schaltdefekten führen: (Test durch Simulation oder math. Beweis möglich) Beispiele: Verklemmung bestimmte Ereignisse können nie schalten, weil die Ausgangsbedingungen. nie gleichzeitig markiert sein können Regen Regenschirm mitnehmen Sonne - 14 -
aufgrund der Netzarchitektur wird ein Schalten verhindert a b, - 15 - Netz ist todesgefährdet, da nach dem zweiten Schalten keine weitere Transition mehr schalten kann