Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Java – Werkzeuge zur Entwicklung endlicher Automaten

Ähnliche Präsentationen


Präsentation zum Thema: "Java – Werkzeuge zur Entwicklung endlicher Automaten"—  Präsentation transkript:

1 Java – Werkzeuge zur Entwicklung endlicher Automaten
HS: Parsing Dr. K. Haenelt SS 2003 Referent: Youssef Sammari SS 2003

2 Finite State Machine Explorer
Finite State Machine Explorer von Matt Chapman Funktionsumfang Konstruktion von endlichen Automaten Umwandlung von nicht-deterministischen in deterministische Automaten Minimierung von deterministischen Automaten

3 Finite State Machine Explorer
Ergebnis Einfach zu bedienen Laden und Speichern von Automaten möglich Quellcode verfügbar Zustände sind nicht beschriftet Als Eingabesymbole nur Buchstaben und Ziffern möglich Editieren von Verbindungen bzw. Transitionen nicht möglich

4 NEA (FSME) Algorihmus zur Erkennung von NEA …
public boolean isDeterministic(Logical m ) /* m ist vom Typ Logical, d.h. ein endlicher Automat*/ { Set ta = transitionAlph(m); /* transitionsAlph() gibt Menge des Alphabets an */ for (int i=0; i<m.numStates(); i++) /* numStates() gibt die Anzahl der Zustände an */ State s = m.stateAt(i); /* state(i) gibt den i-ten Zustand an */ for (int j=0; j<ta.size(); j++) Character ct = (Character)ta.elementAt(j); char t = ct.charValue(); if (m.transitionSet(s,t).size() > 1) return false; } return true; Matt Chapman: Auszug Quellcode „Finite State Machine Explorer“

5 JFLAP (J) Formal Languages and Automata Package Version 4.0
Entwickelt unter der Leitung von Susan H. Rodger an der Duke University Funktionsumfang Visualisierung, Simulation und Konstruktion verschiedener Automatentypen Endliche Automaten Kellerautomaten Turing-Maschinen Umwandlung regulärer Ausdrücke in Automaten Minimierung von endlichen Automaten Umwandlung endlicher Automaten in reguläre Ausdrücke Kombinieren von endlichen Automaten

6 JFLAP Ergebnis Sehr großer Funktionsumfang
Speichern und Laden von Automaten möglich Quellcode verfügbar

7 FSM Simulator Finite State Machine Simulator Eileen Head Version 1.2.1
Funktionsumfang Input (Zeichenfolge) kann auf Akzeptanz von Automat hin überprüft werden

8 FSM Simulator Ergebnis
Graphische Konstruktion eines Automaten nicht möglich Automat muss als „Code“ vorliegen Minimierung nicht möglich Umwandlung von NEA in DEA nicht möglich

9 FSM Simulator Syntax eines Automaten
1. DFA //Type. There MUST be a space before "//" on all the lines Beispiel-Automat --- //Title 3. a d e i r s // input alphabet, note such comments are permitted at the end of the line 4. q0 q1 q2 q3 q4 q5 q6 // Machine states 5. q0 // the initial state 6. q2 q4 q5 q6 // final states 7. q0 d q1 // transitions: input state, input symbol, output state 8. q1 a q2 9. q1 i q3 10. q1 e q4 11. q2 s q5 12. q3 e q2 13. q4 r q6 14. q5 e q4 15. end //required Eileen Head: FSM Simulator

10 Dynalab FSA Dynalab FSA Michael T. Grinder Funktionsumfang
- Nur als Java – Applet verfügbar - Graphische Konstruktion von endlichen Automaten

11 Dynalab FSA Ergebnis Für einfache Konstruktion endlicher Automaten gut geeignet Editieren von Zuständen und Transitionen möglich Keine Möglichkeit zur Umwandlung von NEA in DEA Minimierung von DEA nicht möglich

12 Literatur und Links FSME
: Programm-Download, Quellcode, Beispiele und Online-Hilfe JFLAP : Programm-Download, Beispiele, Online-Dokumentation : Eine Lernumgebung der Universität Zürich mit Beispielen, Übungen und Dokumentation zu JFlap. : Eine englischsprachige Seite mit Beispielen zu endlichen Automaten, Kellerautomaten und Turing-Maschinen : Online-Hilfe, Dokumentation und Beispiele zu JFlap (Version 3.1) auf englisch FSM Simulator : Programm-Download und Online-Dokumentation mit Beispielen Dynalab FSA : Java-Applet mit Online-Dokumentation und Beispielen


Herunterladen ppt "Java – Werkzeuge zur Entwicklung endlicher Automaten"

Ähnliche Präsentationen


Google-Anzeigen