Visual Automata Simulator

A tool for simulating, visualizing and transforming finite state automata and Turing Machines

(c) 2004-2006 Jean Bovet

Abstract
  • This small application allows to create and simulate any Deterministic or Non-Deterministic Finite Automata (DFA or NFA) as well as Turing Machines (TM).
  • It has been inspired by class CS411 (Automata Theory) taught by Prof. Galles and CS601 (Object-Oriented Software Development) taught by Prof. Parr.
  • Written entirely in Java (using Swing for the GUI)
Features
  • Creates, simulates and transforms DFA and NFA machines
  • Creates and simulates TM
  • Batch tests for TM: useful features to test a bunch of files quickly!
  • Easy-to-use GUI interface (multi-documents)
  • Smart links between objects
  • Machines can be drawn using the mouse - and resized at any time
  • Multiple machines can be created in a single document
  • Multiple documents can be opened at the same time
  • Documents can be saved and reloaded from disk
  • Debug mode to see exactly how the machine is working (each step has a different color)
  • Export any machine to EPS file
  • Mac OS X GUI compliant
Screenshots

DFA accepting any strings over {0, 1} containing either 0110 or 1001

NFA accepting strings over {a, b, c} whose last symbol is unique

NFA accepting strings over {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} representing numbers evenly divisible by 4

Convert a NFA to...

... a DFA!

A TM accepting strings with more a's than b's and more b's than c's

A TM computing the successor function

A TM computing the modulo of two integers

A TM enumerating the language (a+b)*

Videos

This video shows how simple it is to build and run a DFA.
[QuickTime | WMV]

How does a Turing Machines work ? Look at this video to see one in action.
[QuickTime | WMV]

Test several TM in different files in a few clicks! Very convenient if you are a professor ;-)
[QuickTime | WMV]

Download version 1.2.2 (11/24/2006)
Download the generic jar file for most platforms (Mac OS X, Linux, Windows):

generic.zip (570 KB)

Download the binary specifically designed for Mac OS X:

macosx.zip (594 KB)

Download the source code (released under the "BSD License"):

source.zip (578 KB)

See the version history here.

Acknowledgments
I would like to thank Prof. Galles for having transmitted his passion of the automata theory and to Prof. Parr for his support and enthusiasm.

Thanks to Matthew McClintock (matthew at mc.clintock.com) for the application icon.

Comments and suggestions
Send any comments, suggestions or bug reports to jbovet at cs.usfca.edu

Home