Child pages
  • Nichdeterministische endliche Automaten

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Die NFA wurden so visualisiert wie man es intuitiv ebenfalls machen würden. Die Knoten werden als Kreise dargestellt und die Transitionen als beschriftete Verbindungen zwischen den Knoten. Initiale Knoten werden mit einem fetten Rand gezeichnet und finale Knoten mit einem doppelten Kreis.

Der Visualisierung unterliegt ein Metamodell der nichtdeterministischen endlichen Automaten, siehe nachfolgende Abbildung. Als Elemente eines NFA gibt es nur Zustände und Transitionen die einen Trigger besitzen.

Image Added

Ein Beispiel:

Die Abbildung zeigt einen Automaten der 'a' oder 'b' erkennt. Der initiale Zustand des Automaten besitzt einen dicken Rand und der finale Zustand einen doppelt gezeichneten Kreis. Die Transitionen sind jeweils mit 'a' bzw. 'b' beschriftet.

Image Added

Bei der Visualisierung werden zu Beginn alle Zustände als Knoten gezeichnet. Die Zustände liegen in Form einer Liste vor, die dann nach einander gezeichnet werden. Nachdem alle Zustände gezeichnet wurden, wird die Methode zum Zeichnen der Transitionen aufgerufen. Die Methoden nimmt nun jeden Zustand und zeichnet für jede ausgehenden Transition, die dieser Zustand besitzt, eine Linie zum entsprechenden Zielzustand. Das wird für alle Zustände und alle Transitionen gemacht. Gleichzeitig werden an die Transitionen der Trigger geschrieben, den die Transition mit sich führt.

Note

Die Darstellung von Selbsttransitionen ist zur Zeit noch fehlerhaft. Der Layoutalgorithmus ist zur Zeit noch nicht in der Lage Selbsttransitionen zu zeichnen zu. Sofern der Layoutalgorithmus angepasst wird, sollte das routen der Selbsttransitionen ebenfalls funktionieren.