TCELL: The Turing Computational Equivalence Learning Laboratory

What is TCELL?

TCELL was designed to generate "practical" examples of Turing machines for students of computer theory. Theory textbooks generally provide very simple examples of Turing machines, and it can be hard to see the connection between these simple models and "real world" programs. TCELL was designed to bridge this gap by producing more sophisticated Turing machines for study and experimentation.

More specifically, TCELL consists of two programs: a Turing machine "compiler" that transforms simple high-level programs into equivalent Turing machines, and a viewer that allows users to execute programs on those Turing machines. TCELL implements a simple high-level language for integer arithmetic, featuring conditional (IF-ELSE) and iteration (REPEAT) statements. Statements in this language are translated into standard "building blocks", which are then concatenated to form a Turing machine with multiple tapes.

How can I find out more about TCELL?

TCELL was written as part of my master's thesis from Hofstra University, A Constructive Approach For Visualizing Computer Theory. The thesis, which is available from my Research page, describes the inner workings of TCELL in some detail. My master's thesis also led to the creation of CAVE, which is described on its own page.

The TCELL viewer is implemented as a Java application, and should work unmodified on any platform that supports a Java Virtual Machine (JVM). The TCELL compiler is written in C++ and must be recompiled for each platform on which it is to be used, although I have tried to make the source code as platform-independent as possible. The interfaces for both components should be relatively self-explanatory; if you run into trouble, or have questions, please take a look at the TCELL user guide.

Binary executables for TCELL can be downloaded using the links below (you may need to download a copy of Aladdin Systems' free Stuffit Expander to decompress the files). TCELL was developed and tested under MacOS 9.0.2 using Metrowerks CodeWarrior 5 and Apple's Macintosh Runtime for Java SDK 2.1.2, but it should work with any Java virtual machine that supports Java 1.1.7 (or higher, I presume). Macintosh (classic MacOS) users should use JBindery (software that comes with the MRJ SDK) to produce an executable version of the viewer application.

If you would like a copy of the source code for the TCELL software to examine and/or modify, use the link below to contact me.


The TCELL User's Guide | Back to my home page


This page was last updated on February 28, 2004 by Michael S. Tashbook (mtashbook@acm.org).
TCELL and all supporting works are © 2000 by Michael S. Tashbook.