Java – Werkzeuge zur Entwicklung endlicher Automaten

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

Imperative Programmierung
Theoretische Grundlagen der Informatik Prof. Dr. Michael Löwe
Grenzen endlicher Automaten
8. Formale Sprachen und Grammatiken
Seminar Modellüberprüfung
Grammatiken, Definitionen
Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim)
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Parser für CH3-Sprachen
Automatentheorie „Berechnungsmodell für logische Sprachen“
Thomas Kloecker Betreuer: Tim Priesnitz
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Exceptions. import java.sql.*; public class MyException{ boolean b; Statement stat; public MyException(){ b = stat.execute("xyz"); } Beim Übersetzen dieses.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Objektorientierte Konzepte
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Prolog Grundkurs WS 98/99 Christof Rumpf
Endliche Automaten Einführung in den Themenbereich
Reguläre Sprachen Karin Haenelt.
Endliche Automaten Akzeptoren
1 Endliche Automaten in der Sprachtechnologie Einführung Karin Haenelt
Formale Grundlagen der Faktenextraktion mit endlichen Automaten
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
Informationsextraktion mit endlichen Automaten
1 Endliche Automaten in der Sprachtechnologie Kursthemen Karin Haenelt
© Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, ( ) 1 Operationen auf endlichen Akzeptoren und Transduktoren.
© Karin Haenelt 2005, Endliche Automaten: Alphabet, Zeichenreihe, Sprache, Endliche Automaten Grundlagen: Alphabet, Zeichenreihe, Sprache.
© Karin Haenelt, Transduktoren, Transduktoren für die Sprachverarbeitung Vereinigung von Transduktoren Karin Haenelt Karin Haenelt, Transduktoren,
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Christian Schindelhauer
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
Wismar Business School
Einführung in die Programmierung Klassendefinition und Objekte
Eigene Metoden (Turtle-Paket (C) Taulien 2003)
Zurück zur ersten Seite SEP Entwurf und Implementierung einer effizienten Rechenstruktur zur Baumdarstellung mittels Java-Texteditoren Betreuer : Matthias.
SLR(1)-Parser Basiert auf LR(0)-Item-Mengen, wie LR(0)-Parser. Zusätzlich wird für Reduktionen bei Follow(X) als Vorschau- menge benutzt. LR(1)-Parser.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Überführung regulärer Ausdrücke in endliche Automaten Der Algorithmus von Glushkov und McNaughton/Yamada Karin Haenelt
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Grundlagen der Programmierung
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Die Zählschleife int s = 0 for (int k=1; k
Spielprogrammierung mit LabView
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele Beispiel 1 Konstruieren Sie für folgende Sprachen über = { a, b, c.
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
Softwareengineering Endliche Automaten
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
Artificial Intelligence For Games Decision Making.
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Sammlungsklassen Array.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Automatentheorie Jendrik und Jeyhannes. Allgemeines Modelle mit Zuständen, die Eingaben annehmen und Ausgaben erstellen Endliche Automaten Auch Zustandsmaschine.
Die Klasse Vielfrass in Java
Felder in Java.
 Präsentation transkript:

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 Umwandlung von nicht-deterministischen in deterministische Automaten Minimierung von deterministischen Automaten

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

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“

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

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

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

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

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

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

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

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