Turing Maschine
Es existiert ein neuer, kompatibler Simulator: tursi
Online-Version
Information
Download
Installation
Benutzung
Ein Turingmaschinen-Simulator-Applet
Dies soll eine kleine Einführung in die Installation und Benutzung des für die Vorlesung Informatik 1 geschriebenen Turingmaschinen-Applets sein.
- Aktuell
Neben den unten beschriebenen Applet-Versionen ist der
Turingmaschinen-Simulator jetzt auch als alleinstehendes Swing-Programm
verfügbar: turingSim.tar.gz, turingSim.zip. In dieser Version kann das Programm
direkt durch java TuringMachine aufgerufen werden. Achten Sie
darauf, dass die Umgebungsvariable CLASSPATH korrekt gesetzt ist
und das aktuelle Verzeichnis beinhaltet.
- Online-Version
Das Turingmaschinen-Simulator-Applet ist auch als Online-Version
verfügbar. Voraussetzung für die Online-Version ist ein funktionierendes Java-VM Plugin, das Swing-Applets (Java SDK Version 1.3.1) darstellen kann. Bisher wurde das Applet in folgenden Browsern erfolgreich getestet: Microsoft Internet Explorer 5.5, Mozilla, Konqueror und Netscape 6.
Es stehen zwei Versionen zur Verfügung:
- Information
Der Turingmaschinen-Simulator wurde als Java-Swing-Applet realisiert. Es wurde ursprünglich unter SuSE-Linux mit Hilfe des IBM-Java2-SoftwareDevelopmentKits (Version 1.3), das der SuSE-7.0-Distribution beiliegt, sowie der Netbeans-IDE (Version 3.1) entwickelt. Das JDK 1.3 von Sun für Linux wurde zwar zu Beginn der Entwicklungsphase benutzt, nur hat der beiliegende Appletviewer mystischerweise einige Probleme hinsichlich der Anzeige von Tooltips, Fonts und Combo-Boxen bereitet.
Das Applet wurde bisher noch nicht unter Windows getestet. Feedback von Seiten der Benutzer ist daher herzlich willkommen.
- Download
Die Source-Files der aktuellen Version 0.1 sind als turing.tgz oder als turing.zip erhältlich.
Eine von Philip Weis gepatchte Version, die das Einlesen lokaler Files ermöglicht, ist außerdem als turing-file.tar.gz oder als turing-file.zip erhältlich.
Bitte hierzu die README-Datei beachten!
- Installation
Unter Linux benötigt man ein Java Software Development Kit (Java SDK) das Swing unterstützt (am besten ab Java Version 1.3), die z.B. der aktuellen SuSE-Distribution beiliegt, empfohlen.
Die Datei turing.tgz wird durch den Befehl tar xzvf turing.tgz
entpackt.
Die Datei turing.zip wird mit einem Zip-Programm (z.B. Winzip unter Windows oder gunzip unter Linux) entpackt.
Anschliessend werden die Files im Verzeichnis turing mit javac *.java
kompiliert.
- Benutzung
Nun muss das Applet mit dem Appletviewer (appletviewer
TuringMachineHtml.html
) und nicht mit einem Browser angeschaut werden.
Die Bedienung des Applets funktioniert genauso wie in der Vorlesung vorgestellt ;-)
Wenn eigene Turingmaschinen-Programme geladen werden sollen, so müssen in der aktuellen Version noch einige Dinge von Hand erledigt werden:
- Schreiben einer Datei mit einem Editor
Leider kann innerhalb des Applets noch kein eigenes Turing-Programm erstellt werden. Aus diesem Grund editiert man eine neue Datei mit einem gewöhnlichen Editor und speichert sie am besten als name.tm in das Verzeichnis des Applets.
Beim Editieren ist zu beachten, dass jede Anweisung (5-Tupel) in einer eigenen Zeile steht und die einzelnen Spalten durch Tabulator-Zeichen getrennt werden. Ausserdem dürfen in der ersten und in der fünften Spalte nur Integer-Werte (Zustände) in der zweiten und der dritten Spalte nur Character-Zeichen (Arbeitsalphabet) und in der vierten Spalte nur eines der Zeichen r, l oder n (Bewegung des R/W-Head) stehen.
Kommentare können durch das Zeichen # am Anfang einer Zeile eingefügt werden.
Am besten schaut man sich hierfür die vorhandenen .tm-Dateien (toggle.tm, increment.tm und binadd.tm) mit einem Editor an.
- Einfügen des Namens der Datei in dem File Fields.java
Damit die Datei dem Applet bekannt ist, muss der Name der neuen .tm-Datei dem String-Array ruleListNames (Zeile 21) in dem File Fields.java hinzugefügt werden.
- Neukompilieren des Files Fields.java
Die Änderungen sind nun durch Neukompilieren des Files Fields.java zu übernehmen.
- Probleme, Fragen, Bugs, Verbesserungsvorschläge, Updates etc.
Bei Problemen o.ä. bitte Email mit genauer Beschreibung des
Problems, sowie genauer Angabe der Versionen von SDK, Browser und Plugin an zitterel@informatik.uni-freiburg.de oder ans Forum.
Weitere Ergänzungen sind vorerst nicht geplant, aber wer möchte, kann zusätzliche Features (wie z.B. ein eingebauter Editor) in das Applet integrieren.
[Startseite]
[Forschung] [Lehre]
[Mitarbeiter] [Roboter]
[Aktuelles]
[Albert-Ludwigs-Universität
Freiburg] [Institut
für Informatik]