TuringMachine Simulator (TMS)
The TuringMachine Simulator (TMS) is a Java/JavaFX Application which
provides a graphical user interface to configure and simulate Turing
Machines. This is a student project from the technical university of
Vienna, to support the presentation and teaching of Turing Machines.
The program consists of two seperated main modules. A Java program
TuringMachineSimulator to run the simulation logic to a given Turing
Machine and on top of that,a Java/FX program TuringMachineSimulatorGUI
to provide a graphical user interface (GUI) for the configuration and
the visual simulation of a Turing Machine.
The TuringMachineSimulator program is also able to run a simulation
without the GUI via the commandline. In this way, defined Turing
Machines can be simulated automatically.
The TuringMachineSimulatorGUI program is started via it´s .jnlp file and
can also be embedded inside a website.
The whole project is released under GNU Lesser General Public License
(LGPL). You should have received a copy of the LGPL along with TMS. If
not, see <http://www.gnu.org/licenses/>.
TMS offers many features, including:
- the simulation of deterministic or non-deterministic Turing Machines
- a graphical supported configuration of new Turing Machines
- userfriendly graphical Simulation designed for teaching purposes with lots of information about the current State of the simulated Turing Machine, state highlighting, manual and automatic presentation mode and much more
- a "tree like" visualisation of the taken Steps during the Simlation, to support the presentation and the navigation of non-deterministic Turing Machines.
- the possibility to manually change the Turing Machines configuration during the Simulation to support example presentation
- Saving and Loading of created Turing Machines in the formats JavaObject code and XML
- the whole program is platform independent
- the program may be embeded inside a website or addressed remotely over the internet
- the simulation of configured Turing Machine´s via the commandline to support automated batch testing
- the definition and simulation of the Turing Machine´s variant "finite automate"
- checks if the "pushdown condition" might be fullfiled.
- a multilingual GUI, currently supported languages are English and German
- download the project
- install the complete TuringMachineSimulatorGUI package
- install only the TuringMachineSimulator program (without the GUI)
- reference the application remotely or embed it in a Website
- change the properties of TuringMachineSimulatorGUI
- use the TuringMachineSimulatorGUI Configurator
- use the TuringMachineSimulatorGUI Simulator
- use the TuringMachineSimulator via the commandline
- Description of Input/Output dataformats of the TuringMachineSimulator
- Definitions and scientific references