Child pages
  • Nichdeterministische endliche Automaten
Skip to end of metadata
Go to start of metadata

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.

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.

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.

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.

 

 

  • No labels