article

Ein endlicher Automat, definiert in virtueller Umgebung heißt Virtueller Endlicher Automat (eng. Virtual Finite State Machine, VFSM). VFSM ist eine Spezifikationstechnik, eingesetzt, um das Verhalten von logischen Systemen mit Hilfe von Eingabe-Steuerungseigenschaften und Ausgabe-Aktionen zu beschreiben.

VFSM führt ein Logik-Ausführungsmodell ein und ermöglicht die Realisierung einer ausführbaren Spezifikation. Diese Technologie wird hauptsächlich in komplexen Maschinensteuerungen, Messtechnik und Telekommunikationsanwendungen eingesetzt.

Steuerungseigenschaften


Eine Variable in der Umgebung einer VFSM kann einen oder mehrere Werte haben, die relevant für die Steuerung sind – dann handelt es sich um eine Eingabe-Variable. Diese Werte werden als Steuerungseigenschaften dieser Variable bezeichnet. Die Steuerungseigenschaften sind nicht notwendigerweise spezifische Datenwerte sondern meistens bestimmte Zustände der Variable. Zum Beispiel eine digitale Variable kann entsprechend den möglichen booleschen Datenwerten die Steuerungseigenschaften WAHR, FALSCH aber auch UNBEKANNT haben. Eine analoge Variable (numerisch) hat die Steuerungseigenschaften wie NIEDRIG, GUT, HOCH oder UNBEKANNT entsprechend dem vorgegebenen Wertebereich. Ein Timer wird ÜBERLAUF als die wichtigste Steuerungseigenschaft haben (andere könnten STEHT oder LÄUFT sein).

Aktionen


Eine Variable in der Umgebung einer VFSM kann durch Aktionen aktiviert werden – dann handelt es sich um eine Ausgabe-Variable. Zum Beispiel eine digitale Variable kennt zwei Aktionen : Wahr und Falsch. Eine analoge Variable (numerisch) kennt eine Aktion: Setzen. Ein Timer, der zugleich eine Eingabe- und Ausgabevariable ist, kann getriggert werden durch Aktionen wie Start, Stop oder Zurücksetzen.

Virtuelle Umgebung


Die Virtuelle Umgebung charakterisiert eine Umgebung, in der die VFSM wirkt und durch drei Mengen von Namen definiert ist:
  • Eingabenamen, repräsentiert durch die Steuerungseigenschaften aller Variablen
  • Ausgabenamen, repräsentiert durch alle möglichen Aktionen, die von den Variablen akzeptiert werden
  • Zustandsnamen, wie für die Zustände der FSM definiert.
Die Eingabenamen werden benutzt um virtuelle Bedingungen zu bauen, um Zustandsübergänge und Eingabeaktionen zu kontrollieren. Die virtuellen Bedingungen werden unter Zuhilfenahme der Positive Logic Algebra erstellt. Die Ausgabenamen werden benutzt, um Aktionen zu triggern (Eingangsakationen, Ausgangsaktionen, Eingabeaktionen und Übergangsaktionen).

Positive Logic Algebra


Um virtuelle Bedingungen zu bauen werden die booleschen Operatoren AND und OR verwendet. NOT Operator ist nicht erlaubt, weil die Eingabenamen nicht negiert werden können, auch wenn sie offensichtlich boolesche Variable beschreiben. Sie existieren einfach oder sie existieren nicht.

VFSM Ausführungsmodell


Eine Untermenge aller definierten Eingabenamen, die nur in einer bestimmten Situation existieren kann, wird als Virtuelle Eingabe bezeichnet (eng. Virtual Input, VI). Zum Beispiel, die Temperatur kann entweder nur "zu niedrig", "gut" oder "zu hoch" sein. Obwohl drei Eingabenamen definiert sind, kann nur einer von Ihnen in einer bestimmten Situation existieren. Dieser Name gehört zum VI.

Eine Untermenge aller definierten Ausgabenamen, die nur in einer bestimmten Situation existieren kann, wird als Virtuelle Ausgabe bezeichnet (eng. Virtual Output, VO). VO besteht aus den aktuellen Aktionen der VFSM.

Die Spezifikation des Verhaltens, die sämtliche Einzelheiten eines Zustandes der VFSM beinhaltet, wird durch eine Zustandstabelle beschrieben.

Die VFSM Ausführung wird durch VI und den aktuellen Zustand bestimmt. Unter Berücksichtigung der Spezifikation des Verhaltens des aktuellen Zustandes wird VO gesetzt.

Die Grafik zeigt eine mögliche Implementierung der VFSM Ausführung. Ausgehend von der Implementierung ergibt sich ein typisches Verhalten des Systems.

Zustandstabelle


Eine Zustandstabelle definiert alle Einzelheiten eines Zustandes einer VFSM. Sie besteht aus drei Spalten: in der ersten Spalte werden Zustandsnamen benutzt, in der zweiten Spalte die virtuellen Bedingungen aus Eingabenamen unter Zuhilfenahme der Positive Logic Algebra gebaut und in der dritten erscheinen die Ausgabenamen.
Zustandsname Bedingung(en) Aktion(en)
Aktueller Zustand Eingangsaktion Ausgabeaktion(en)
Ausgangsaktion Ausgabeaktion(en)
Virtuelle Bedingung Ausgabeaktion(en)
... ...
Nächster Zustand Virtuelle Bedingung Ausgabeaktion(en)
Nächster Zustand Virtuelle Bedingung Ausgabeaktion(en)
... ... ...
Caption | Zustandstabelle

Die Tabelle wird wie folgt gelesen: die ersten zwei Zeilen definieren die Ein- und Ausgangsaktionen des aktuellen Zustandes. Die folgenden Zeilen repräsentieren die Eingabeaktionen. Die Zeilen, in denen der nächste Zustand definiert ist, beschreiben die Zustandsübergänge und die Übergangsaktionen. Alle Felder sind optional. Eine kombinatorische VFSM wird gebaut, indem nur die Zeilen für die Eingabeaktionen benutzt werden. Die Übergangsaktionen können durch entsprechenden Einsatz der anderen Aktionen ersetzt werden.

Tools


  • StateWORKS – Eine Implementierung des VFSM Konzeptes (engl.)

Referenzen


Theoretische Informatik

Virtual finite state machine

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Virtueller endlicher Automat".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld