Analyse von Ablaufdiagrammen
Ziele: Sie können ein Ablaufdiagramm in einer Tabellenform darstellen Sie können die Lebendigkeit eines Graphen erklären Sie können die Ursache der Fehlermeldung ‚Ihr Graph ist überdeckbar‘ erklären und das Ablaufdiagramm korrigieren.
Analyse von Ablaufdiagrammen Formalisierung in Tabelle Komponenten Konflikte Lebendigkeit Dead-Lock Sicherheit und Ueberdeckbarkeit
Beispiel: Alarmierung mit Selbsthaltung
Formalisierung Schritte numerieren Transitionen numerieren Tabelle erstellen mit Schritte als Zeilen und Transitionen als Spalten
Tabelle ausfüllen Für jede Transition angeben, um wieviel sich die Anzahl Markierungen in den Schritten ändert, wenn Transition schaltet. Zahl in der entsprechenden Zeile eintragen.
Komponenten Wieviele Marken in einem Ablaufdiagramm? Können Ablaufdiagramme aufgeteilt werden? Was ist der Zustand eines Ablaufdiagramms?
Zustand eines Ablaufdiagramms: Muster der Markierungen Zustandsbezeichnung? Zustandsbezeichnung?
Ein Ablaufdiagramm mit immer nur einer Markierung ist ein Zustandsautomat Einzige Markierung gibt den Zustand des Systems an Zustandsnamen = Schrittnamen
Aufteilung eines Ablaufdiagramms in Komponenten (Zustandsautomaten)
Eigenschaften von Komponenten:
Wieso Aufteilung in Komponenten Erstellung von Objekten/Modulen Oft in anderen Einheiten realisiert: Steuerung (Verriegelung) Leitgerät (Alarmierung)
Rückwärtskonflikt
Beispiel
Lösung des Konflikts
Vorwärtskonflikt
Lebendigkeit Eine beliebige, sinnvolle Anfangsmarkierung kann nach Schalten aller Transitionen (mindestens 1 mal) wieder erreicht werden.
Beispiel
Dead-Lock: Ablauf bleibt stehen und kann nicht mehr weiter gehen
Beispiel:
Beschränktheit und Sicherheit maximale Anzahl Markierungen pro Schritt ist beschränkt Sicher: maximale Anzahl Markierungen pro Schritt ist gleich 1 Wieso wesentlich?
Ueberdeckbarkeit Weil: Ueberdeckt Markierungen verschieden Jeder markierte Schritt rechts ist auch links markiert
Korrektur:
Ueberdeckbarkeit und Sicherheit Ein Ablaufdiagramm ist sicher, wenn es ausgehend von einer sinnvollen Startmarkierung keine sich überdeckenden Markierungen gibt
Untersuchung im Erreichbarkeitsgraphen
Andere Ablaufdarstellungen Petri-Netz Zustandsautomat
Petri-Netz
Mealy-Automat
Moore-Automat
Flow-Chart
Flowchart-Programmierung
Das beste Engineeringtool? Assembler C C++ IEC61131-3 Flowchart Labview
Kriterien: Intuitiv selbstdokumentierend effizient zu programmieren effizient zu warten effizient in der Ausführung
Lösung von Steeplechase: Flowchart
Flowchart-Elemente: Verzweigung
Flowchart-Elemente: kontinuierliche Durchführung einer Aktion
Flowchart-Elemente: parallele Aktionen:
Flowchart-Elemente: spezielle Aktionen Diagnostische Verzweigungen spezielle Funktionen mit Input/Output an der Stelle des Aufrufs
Vergleich
Anwendung Informatik: verteilte Systeme Kommunikationstechnik