1 / 12

Java – Werkzeuge zur Entwicklung endlicher Automaten

Java – Werkzeuge zur Entwicklung endlicher Automaten. HS: Parsing Dr. K. Haenelt SS 2003. Referent: Youssef Sammari. SS 2003. Finite State Machine Explorer. Finite State Machine Explorer von Matt Chapman Funktionsumfang Konstruktion von endlichen Automaten

hyman
Download Presentation

Java – Werkzeuge zur Entwicklung endlicher Automaten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Explorervon 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 2. --- 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 FSAMichael 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 • http://www.belgarath.nildram.co.uk/java/fsme.html: Programm-Download, Quellcode, Beispiele und Online-Hilfe • JFLAP • http://www.cs.duke.edu/~rodger/tools/jflap/ : Programm-Download, Beispiele, Online-Dokumentation • http://www.ifi.unizh.ch/cl/broder/jflap/ : Eine Lernumgebung der Universität Zürich mit Beispielen, Übungen und Dokumentation zu JFlap. • http://www.cse.msu.edu/~torng/jflap/ : Eine englischsprachige Seite mit Beispielen zu endlichen Automaten, Kellerautomaten und Turing-Maschinen • http://www.css.tayloru.edu/~btoll/s03/320/res/r/jflap/help.html : Online-Hilfe, Dokumentation und Beispiele zu JFlap (Version 3.1) auf englisch • FSM Simulator • http://www.cs.binghamton.edu/~software/fsm/fsmdoc.html : Programm-Download und Online-Dokumentation mit Beispielen • Dynalab FSA • http://www.cs.montana.edu/~dynalab/fsa/fsa.html : Java-Applet mit Online-Dokumentation und Beispielen

More Related