Software / Programme

Automaten am Computer zeichnen mit JFlap

Als Informatikstudent muss man des öfteren im Fach Theoretischer Informatik den ein oder anderen Automaten zeichnen. Sei es nun ein Deterministisch endlicher Automat oder ein Kellerautomat ist dabei gleich. Hierbei hilft die Software JFlap. In dem angegebenen Link bekommt man die Software plus der Quellen zu dem Programm.

Da dieses Programm mit Java programmiert worden ist, lässt sie sich auf recht vielen Betriebssystemen nutzen. Bei meinen ersten Testversuchen muss ich gestehen, ist das Programm teilweise etwas gewöhnungsbedürftig, jedoch mit vielen nützlichen Funktionen ausgestattet.

Downloaden kann man das Programm über diesen Link: http://www.cs.duke.edu/csed/jflap/jflaptmp/may15-2011/withSource/JFLAP_With_Source.jar.

Danach reicht es, das Programm in den gewünschten Ordner zu kopieren. Mit der Konsole in den Ordner von JFlap durchhangeln und dann wird das Programm mit dem Befehl

java -jar JFLAP_With_Source.jar

gestartet.

Nach dem Start bekommt man ungefähr folgendes zu sehen:
JFlap nach dem Programmstart

Wenn man nun einen Automaten ausgewählt hat, bekommt eine große weiße Fläche zu sehen. Links oben gibt es eine kleine Symbolleiste:
Die kleine Symbolleiste von JFlap

Mit dieser lassen sich schnell und leicht ein paar Automaten zeichnen. Wenn man mit der Maus darüber fährt, erfährt man, welches Symbol was zeichnet (oder auch löscht).
Das Symbol mit einem Mauszeiger (Attribute Editor) nutzt man, um schon gemachte Eingabe nochmal anzuklicken und bei Bedarf zu verändern. Damit lassen sich auch die Zustände von Automaten verschieben. Mit dem State Creator erstellt man einen neuen Zustand in der weißen Landschaft (je nachdem wo die Maus sich gerade befindet). Der Transition Creator ist dazu da, um die Zustände einzuzeichnen. Mit dem Symbol wo ein Totenkopf (Deletor) drauf ist kann man – wer hätte das gedacht – Zustandsübergänge sowie Zustände löschen. Vorsicht: Wenn man einen Zustand löscht, werden auch die Zustandsübergänge von ihm und zu ihm gelöscht.

Ein Beispielautomat könnte so aussehen:
Ein regulärer Automat aus der Theoretischen Informatik

Über den Menübefehl Input -> Multiple Run kann man mehrere Wörter testen, ob der erstellte Automat diese Wörter akzeptiert oder nicht. Über Input -> Step by State kann man genau testen, wie der Automat gerade reagiert (dadurch habe ich bei einem Kellerautomaten recht schnell meine Fehler entdecken können).

Ich finde, so auf den ersten Blick ist dieses Programm sehr nützlich, auch wenn am Anfang etwas gewöhnungsbedürftig. Was haltet ihr von dem Programm?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.