Grundlagen
- Erkennung eines Eingangssignals:
- Aufgabenstellung
- automatische Fertigungskontrolle
- kein Problem bei bis zu 2 Fehlern
- Fehlersignal (manuelles Eingreifen nötig)
bei 3 aufeinanderfolgenden Fehlern
- Darstellung als endlicher Automat mit vier
Zuständen
- Eingangsfolge aus 0 ("ok") und 1 ("Fehler")
- Ausgabe 1 bei drei aufeinanderfolgenden Fehlern
- definiere: Was geschieht bei Eingang 1 in Zustand
S3?
- Notation
- Pfeil auf Startzustand
- Pfeil x|y von Sa zu Sb ⇔
wenn im Zustand Sa Eingabe = x, dann Ausgabe y und Übergang
in Sb
- Beispiel fehlerdetektor1A:
- Aufbau mit Stateflow
- Pfeile zu gleichem Zustand weglassen
- unter View/Symbols in der
Chart die Variablen E bzw. A als Input Data
bzw. Output Data festlegen
- Gesamtmodell
- Eingang erzeugt zufällig Einsen mit
Wahrscheinlichkeit 0.3
- Ergebnis
- Animation der State Chart mit Simulation/Stateflow
Animation/Medium
- Definition deterministischer
E/A-Automat:
- Automat 𝓐 gegeben durch 6 Größen 𝓐 =
(𝓩, 𝓥, 𝓦, G, H, z0)
- mit
- Zustandsmenge 𝓩
- Eingabealphabet 𝓥
- Ausgabealphabet 𝓦
- Zustandsübergangsfunktion G: 𝓩 × 𝓥
→ 𝓩
- Ausgabefunktion H: 𝓩 × 𝓥 → 𝓦
- Anfangszustand z0 ∊ 𝓩
- Warum mathematischer Formalismus:
- erzwingt vollständige Klarheit des Verhaltens
- ermöglicht mathematische Analysen, z.B.
- Sind alle Zustände erreichbar?
- Erfüllt der Automat vorgegebene
Anforderungen?
- Gibt es einen einfacheren Automaten mit gleichem
Verhalten?
- ausgiebige Literatur, Einstieg etwa in [L4]
und [L3]
- Zustandsübergangsfunktion G als partielle Funktion:
- G oft nicht für alle Paare aus Zustand/Eingabe
definiert
- was tun bei undefiniertem Paar Z/E
- Automat "bleibt stehen", formal: geht in
Endzustand "Fehler"
- Automat ignoriert Eingabe, formal: bleibt im
aktuellen Zustand, gibt ε ("nichts") aus
- Stateflow zeigt anderes Verhalten
- Automat bleibt im aktuellen Zustand, gibt vorigen
Ausgabewert aus
- Andere endliche Automaten:
- Standard-Automat
- Zustandswechsel bei Eintreffen von Ereignissen
(Events)
- keine Ein- und Ausgaben
- zusätzlich: Menge von Endzuständen
- wird auch zur Definition formaler Sprachen verwendet
- Anwendung z. B. im Compilerbau
- Spezialfall autonomer Automat
- keine Ereignisse
- wechselt "von selbst" zwischen den Zuständen
- Mealy- und Moore-Automat:
- Zustandsraumdarstellung grundsätzlich wie oben
- mit Startwert z(0) = z0
- mit dieser Darstellung auch Mealy-Automat
genannt
- Spezialfall: H hängt nicht von der Eingabe ab (Moore-Automat)
- andere Sicht
- Moore = Output im Zustand
- Mealy = Output an Transition
- Beispiel fehlerdetektor1B
- Ausgabewert im Zustand einstellen
- unter Chart/Properties/State
Machine Wert Type = Moore
einstellen
- Ausgabe wie vorher, aber um einen Takt
verzögert