With James Tichenor for Interaction Ivrea · Turing is an interactive graphical simulation of an abstract model of computation developed by Alan Turing. Implied physicality plays a major role in this software since it promotes explorative tinkering and learning by discovery. Focusing on visualization of turing machine operations over time, this software has value for those already familiar with turing machines since patterns and trends of operation can be more easily identified.
Five platform-like structures are located in the lower section of the screen. These platforms represent the available states of the turing machine. The current state of the machine is indicated by the darkest platform. Each platform is comprised of a read portion and a write portion. The read portion, marked with a downward facing arrow, features an inlet through which the tape is read. The write portion, marked with an upward facing arrow, features two outlets which write to the tape and cause the read/write head to be moved left or right depending on which canon is writing. The posts running downward from the platform feature colors representing the alphabet that the machine has available; these posts are used to build the turing rules. For example, a traditional turing rule might be "if in state 1 and reading A, write B, move right, and go to state 2" could be thought of as "if on platform 1 and reading red, write blue, move right, and go to platform 2".
One of the turing tape values extends lower than the others. This is the indication of where the read/write head is currently positioned. During machine operation, this elongation shifts to either neighboring left or right tape value in accordance with the programmed rules. This is just as any traditional representation of the turing machine except, the tape itself does not move. Instead of moving the tape as off-screen values are encountered, the tape moves backward in space along the z-axis to reveal additional values as required. This emphasizes the infinitude of the tape without resorting to scrolling techniques that obscure the previously encountered tape values.
Against the left edge of the screen sits a control panel. This panel contains buttons that alter the behavior of the turing machine and the allow for the sample programs to be loaded. Program execution can be controlled by the play, stop, and step buttons. The reset button clears all rules and execution history. The floppy disk buttons load example programs.
The Machine · A program that performs addition
This source archive makes use of a very early version of the Processing graphics system named "Bagel". All necessary class files are included.
Java Required
This source archive makes use of a very early version of the Processing graphics system named "Bagel". All necessary class files are included.
This project was created for the graphical user interface course taught at Interaction-Ivrea by Walter Aprile and Britta Boland in Fall 2004.
Copyright © 2004 Nicholas Zambetti