Automat

Ein Programm zur Definition und Abarbeitung endlicher Automaten

©2003-2018 Albert Wiedemann

Inhalt

  1. Kurzbeschreibung
  2. Die Bedienoberfläche
    1. Das Editierfenster
    2. Die Menüs
  3. Konstruktion des Automaten
    1. Vereinbarung der Zustände, Ereignisse und Ausgaben
    2. Vereinbarung der Zustandsübergänge
    3. Zuordnung der Ausgaben
    4. Zuordnung der Variablen
    5. Bearbeitung von Ereignissen, Ausgaben und Variablen
    6. Bearbeitung der Zustandsübergänge
    7. Anordnen der Elemente
  4. Emulation des Automaten

Kurzbeschreibung

In diesem Programm lassen sich endliche Automaten definieren und abarbeiten. Neben den Zuständen werden definiert:

Alle Elemente des Automaten werden graphisch angezeigt und bearbeitet. Zustände werden mit den üblichen Symbolen für Start-, End- und normale Zustände dargestellt. Für die Ereignisse zum Auslösen der Zustandsübergänge stehen symbolische Graphikelemente (unterschieden durch Farben), mit Zeichen markierte Graphikelemente und mit dem Uhrsymbol dargestellte Zeitgeber zur Verfügung. Für die Ausgabe gibt es symbolische und mit Zeichen markierte Graphikelemente, deren Symbole bei einem Zustandsübergang an- bzw. abgeschaltet werden können. Für Variablen stehen Graphikelemente zur Verfügung, denen beliebige Namen aus Buchstaben und Ziffern (nicht an erster Stelle) zugewiesen werden können.

Fußgängerampel mit Zähler für die Überquerungen, vollständig vereinbart

Fußgängerampel beim Ablauf

Die Bedienoberfläche

Das Editierfenster

Das Anzeigefenster jedes Automaten besteht aus drei Teilen: auf der linken Seite sind die Werkzeugsymbole zum Definieren der Automatenelemente. In der Mitte ist der Editierbereich für den zu erstellenden Automaten. Auf der rechten Seite befindet sich ein Anzeigebreich für die bereits vereinbarten Übergänge mit ihren Eigenschaften. Der Knopf in der linken unteren Ecke dient zum Starten bzw. Anhalten der Emulation.

Die Menüs

Das Datei-Menü enthält die typischen Operationen "Neues Dokument erzeugen", "Dokument sichern", "Dokument unter neuem Namen sichern", "Drucken des Automaten" und "Fenster schließen". Das Bearbeiten-Menü wird für die Dialoge benötigt; es hat für bei der eigentlichen Erstellung und Bearbeitung des Automaten keine Funktionalität.

Konstruktion des Automaten

Vereinbarung der Zustände, Ereignisse und Ausgaben

Durch Klick auf das jeweilige Werkzeugsymbol können Zustände, Ereignisse, Ausgaben und Variable ausgewählt werden. Durch Klick mit der Maus wird das gewählte Element an der Stelle des Klicks erzeugt; anschließend wird wieder das Editierwerkzeug eingestellt. Ein Doppelklick auf das Werkzeugsymbol, kenntlich gemacht durch die blaue Farbhinterlegung, erlaubt das Erzeugen mehrerer Elemente des gleichen Typs. Dieser Modus wird durch Klick auf ein anderes Werkzeug abgeschaltet.
Im Editiermodus können die Elemente des Autmomaten verschoben, geändert und gelöscht werden. Weiter können Zustandsübergänge vereinbart werden, Übergängen können Ausgaben, Variablenneuberechnungen und Bedingungen zugeordnet werden. Die blaue Hinterlegung zeigt an, dass dieses Werkzeug grundsätzlich bis zur Wahl eines anderen Werkzeugs aktiv bleibt.
Neue Zustände können erzeugt werden.
Neue Endzustände können erzeugt werden.
Ein Startzustand kann erzeugt werden. Dieses Werkzeug kann nur verwendet werden, wenn kein Startzustand existiert.
Mit diesem Werkzeug wird ein Eingabeereignis erzeugt, das durch seine Farbe identifiziert werden kann. Doppelklick auf das erzeugte Eingabesymbol zeigt einen Dialog zur Einstellung der Anzeigefarbe.
Erzeugt ein Eingabeereignis, das durch ein Zeichen identifizert wird. Doppelklick auf das erzeugte Eingabesymbol zeigt einen Dialog zur Einstellung der Anzeigezeichens.
Erzeugt ein Eingabeereignis, das nach einer bestimmten Zeit automatisch ausgelöst wird. Identifiziert wird das Ereignis durch die Angabe der Warterzeit. Doppelklick auf das erzeugte Eingabesymbol zeigt einen Dialog zur Einstellung der Wartezeit in Sekunden. Eine Wartezeit von "0" entspricht einem Spontanübergang.
Mit diesem Werkzeug wird eine Ausgabe erzeugt, die durch ihre Farbe identifiziert werden kann. Doppelklick auf das erzeugte Ausgabesymbol zeigt einen Dialog zur Einstellung der Anzeigefarbe und des Startwertes (siehe unten).
Mit diesem Werkzeug wird eine Ausgabe erzeugt, die durch ein Zeichen identifiziert werden kann. Doppelklick auf das erzeugte Ausgabesymbol zeigt einen Dialog zur Einstellung des Anzeigezeichens und des Startwertes (siehe unten).
Mit diesem Werkzeug wird eine Variable erzeugt. Doppelklick auf die erzeugte Variable zeigt einen Dialog zur Einstellung des Namens und des Startwertes (siehe unten). Dieser Dialog wird beim Vereinbaren der Variablen automatisch angezeigt.

Beispiele für erzeugte Elemente des Automaten:

Ereignis mit Kennung "rot"Timerereignis mit 20 Sekunden Laufzeit Ausgabe mit Kennung "gelb"
beim Start des Automaten ausgeschaltet.
Ausgabe mit Kennung "grün"
beim Start des Automaten eingeschaltet.
Variable mit dem Namen "Zaehler"
der Startwert ist 2.0.

Vereinbarung der Zustandsübergänge

Zustandsübergänge werden durch Ereignisse ausgelöst, zur Festlegung des Übergangs müssen also Start- und Zielzustand sowie das auslösende Ereignis verbunden werden. Dazu klickt man mit gedrückter Shift-Taste zuerst auf das Ereignis (Markierung in rot), mit weiter gedrückter Shift-Taste auf den Startzustand und mit immer noch gedrückter Shift-Taste auf den Zielzustand. Damit ist der Übergang definiert; ein Loslassen der Shift-Taste bricht den Vorgang an beliebiger Stelle ab.

Zuordnung der Ausgaben

Ausgaben sind Übergängen zugeordnet. Shift-Klick auf das Ausgabesymbol (grüne Markierung) und Klick mit weiter gedrückter Shift-Taste auf das Ereignissymbol des Übergangs ordent die Ausgabe dem Übergang zu. Für die Einstellung, ob das Ausgabesymbol bei diesem Übergang ein- oder ausgeschaltet werden soll, gilt die Konvention: Fand der Klick auf das Ausgabesymbol im inneren Bereich (eigentliches Symbol) statt, wird die Ausgabe eingeschaltet, fand der Klick im äusseren Bereich statt, so wird sie ausgeschaltet. Eine Kontrolle der Einstellung ist über die Detailanzeige im unteren Teil der Übergangsliste möglich. Die Wirkung der Ausgabe kann jederzeit verändert werden (siehe "Bearbeiten der Übergänge").

Zuordnung der Variablen

Variablenneubrechungen und Bedingungen sind Übergängen zugeordnet. Shift-Klick auf das Ausgabesymbol (grüne Markierung) und Klick mit weiter gedrückter Shift-Taste auf das Ereignissymbol des Übergangs ordent die Variable dem Übergang zu. Dabei erscheint ein Dialog, der festlegt, ob der Wert der Variablen bei diesem Dialog neu berechnet werden soll oder ob an diese Variable eine Bedingung für den Übergang geknüpft ist. Ein Loslassen der Shift-Taste bricht den Vorgang an beliebiger Stelle ab.


Neuberechnung einer Variablen

Bedingung an eine Variable

Bearbeitung von Zuständen, Ereignissen, Ausgaben und Variablen

Ein Mausklick auf ein Symbol im Editierbereich markiert dieses Symbol. Mit den Tasten <ENTF> bzw. <RÜCK> wird das markierte Element gelöscht; alle von diesem Element abhängigen Elemente (Übergänge bei einem Ereignis bzw. Zustand, Ausgabesteuerungen bei einer Ausgabe, Neuberechnungen und Bedingungen bei einer Variablen) werden ebenfalls gelöscht.
Ein Doppelklich auf ein Symbol von Ereignissen, Ausgaben oder Variablen öffnet einen Dialog für die Einstellungen dieses Elements.
Die Farbe des Ereignisses kann eingestellt werden.
Der Kennbuchstabe des Ereignisses kann eingestellt werden.
Die Zeit (in Sekunden) für das Auslösen des Ereignisses kann eingestellt werden.
Die Farbe des Ausgabesymbols und der Wert (an/aus) beim Start des Automaten können eingestellt werden.
Der Kennbuchstabe des Ausgabesymbols und der Wert (an/aus) beim Start des Automaten können eingestellt werden.
Name und Startwert der Variablen können eingestellt werden.

Bearbeitung der Zustandsübergänge

Zustandsübergänge werden durch Pfeile dargestellt. Über dem Pfeil wird das Symbol des auslösenden Ereignisses gezeichnet. Sind mehrere Übergänge zwischen gleichem Start- und Zielzustand vereinbart, werden die Ereignissymbole nebeneinander aufgelistet. Klick auf ein bestimmtes Symbol wählt diesen Übergang zur Bearbeitung aus. Gleichzeitig wird dieser Übergang in der Liste auf der rechten Seite des Fensters grau hinterlegt und am Fuß dieses Fensters detailiert (unter Auflistung der zugeordneten Ausgaben, Variablenberechnungen und Bedingungen) dargestellt. Gelöscht werden ausgewählte Übergänge durch Drücken der <ENTF>- bzw. <RÜCK>-Taste. Ein Doppelklick auf des Ereignissymbol aktiviert einen Dialog zum Bearbeiten des Übergangs. Dieser Dialog kann auch durch Doppelklich in der Übergangsliste auf der rechten Seite aktiviert werden.

Der Dialog zeigt alle Bestandteile des Übergangs:

Alle Änderungen und Löschungen werden erst mit Drücken des OK-Knopfes übernommen. Bei Drücken des Abbrechen-Knopfes werden alle alten Werte beibehalten.

Anordnen der Elemente

Die Elemente des Automaten können jederzeit durch Ziehen mit der Maus verschoben werden. Eine genau Positionierung ist ist durch Auswählen und Verschieben mit den Cursor-Tasten möglich. Die Übergänge folgen den Zuständen automatisch.

Emulation des Automaten

Drücken des "Start"-Knopfs startet die Abarbeitung des Automaten. Ereignisse werden durch Klick auf das entsprechende Ereignissymbol ausgelöst; bei Timer-Ereignissen erfolgt eine Auslösung automatisch nach der angegebenen Zeit. Der aktuelle Zustand ist durch die blaue Markierung gekennzeichnet. Ein Druck auf den "Stop"-Knopf (erscheint an der Stelle des "Start"-Knopfs) beendet die Emulation.