Fifty years of automata simulation: a review

Automata theory is an important subject in computer science and quite consequently, simulation of automata for pedagogical purposes is an important topic in computer science education research. This article reviews the major initiatives in the field of simulation of automata in the last five decades with emphasis on those automata simulators actually used at universities for teaching. A classification of the automata simulators on the basis of their design paradigms has been developed where they have been classified broadly into language based automata simulators and visualization centric automata simulators. Some salient trends in the research on simulation of automata are also identified. The article concludes with an advocacy for continuing research on simulation of automata and integration of automata simulators in teaching.

[1]  Wilson E. Singletary,et al.  Tutor - A Turing machine simulator , 1973, Inf. Sci..

[2]  Susan H. Rodger,et al.  A collection of tools for making automata theory and formal languages come alive , 1997, SIGCSE '97.

[3]  Shweta Taneja,et al.  An Optimizing Compiler for Turing Machine Description Language , 2012 .

[4]  Thomas P. Way,et al.  jFAST: a java finite automata simulator , 2006, SIGCSE '06.

[5]  Neil D. Jones,et al.  Automata: a teaching aid for mathematical machines , 1971, SGCS.

[6]  Nicolás García-Pedrajas,et al.  Teaching push-down automata and turing machines , 2008, ITiCSE.

[7]  Susan H. Rodger,et al.  Increasing interaction and support in the formal languages and automata theory course , 2007, ITiCSE '07.

[8]  Pinaki Chakraborty A language for easy and efficient modeling of Turing machines , 2007 .

[9]  Susan H. Rodger,et al.  Using JFLAP to interact with theorems in automata theory , 1999, SIGCSE '99.

[10]  William Yurcik,et al.  Using theoretical computer simulators for formal languages and automata theory , 2003, SGCS.

[11]  Susan H. Rodger Learning automata and formal languages interactively with JFLAP , 2006, ITICSE '06.

[12]  Susan H. Rodger Using Hands-On Visualizations to Teach Computer Science from Beginning Courses to Advanced Courses , 2002 .

[13]  Jim Harris Programming a universal push-down automaton , 1999, ACM-SE 37.

[14]  Mohamed Hamada,et al.  A classroom experiment for teaching automata , 2004, ITiCSE '04.

[15]  David G. Hannay Interactive tools for computation theory , 2002, SGCS.

[16]  Donald E. Knuth,et al.  Programming Language for Automata , 1967, JACM.

[17]  Susan H. Rodger Integrating Hands-on Work into the Formal Languages Course via Tools and Programming , 1996, Workshop on Implementing Automata.

[18]  Daniela Chudá,et al.  Automata simulator , 2010, CompSysTech '10.

[19]  M. W. Curtis,et al.  A Turing Machine Simulator , 1965, JACM.

[20]  Pinaki Chakraborty,et al.  Teaching purpose compilers: an exercise and its feedback , 2011, INROADS.

[21]  James Harris Programming non-deterministically using automata simulators , 2002 .

[22]  Jennifer McDonald,et al.  Interactive Pushdown Automata Animation , 2002, SIGCSE '02.

[23]  Moon-Chuen Lee An Abstract Machine Simulator , 1990, ICCAL.

[24]  Joshua J. Cogliati,et al.  Realizing the promise of visualization in the theory of computing , 2005, JERC.

[25]  Michael T. Grinder A preliminary empirical evaluation of the effectiveness of a finite state automaton animator , 2003, SIGCSE.

[26]  Robert W. Coffin,et al.  Simulation of a Turing machine on a digital computer , 1963, AFIPS '63 (Fall).

[27]  Susan H. Rodger,et al.  A visual and interactive automata theory course with JFLAP 4.0 , 2004 .

[28]  Rockford J. Ross,et al.  Loving to learn theory: active learning modules for the theory of computing , 2002, SIGCSE '02.

[29]  Andrew T. Duchowski,et al.  A Java-based tool for reasoning about models of computation through simulating finite automata and Turing machines , 1999, SIGCSE '99.

[30]  Jacques Cohen,et al.  A simple hardware model of a Turing machine: its educational use , 1972 .

[31]  Luiz F. M. Vieira,et al.  Language emulator, a helpful toolkit in the learning process of computer theory , 2004 .

[32]  Susan H. Rodger,et al.  A visual programming environment for Turing machines , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[33]  Romauld Jagielski Visual simulation of finite state machines , 1988, SGCS.

[34]  Pinaki Chakraborty,et al.  A compiler‐based toolkit to teach and learn finite automata , 2013, Comput. Appl. Eng. Educ..

[35]  Jon Barwise,et al.  Computers, visualization, and the nature of reasoning , 1998 .

[36]  Susan H. Rodger,et al.  Increasing visualization and interaction in the automata theory course , 2000, SIGCSE '00.

[37]  Mohamed Hamada Supporting Materials for Active e-Learning in Computational Models , 2008, ICCS.

[38]  Nicolás García-Pedrajas,et al.  Teaching push-down automata and turing machines , 2008, SIGCSE 2008.

[39]  Mohamed Hamada Pushdown Automata Simulator , 2009, Edutainment.

[40]  Susan H. Rodger,et al.  Visualization and interaction in the computer science formal languages course with JFLAP , 1996, Technology-Based Re-Engineering Engineering Education Proceedings of Frontiers in Education FIE'96 26th Annual Conference.

[41]  Herbert L. Dershem,et al.  Finite state machine simulation in an introductory lab , 1994, SIGCSE '94.

[42]  Laura A. Sanchis,et al.  Computer laboratories for the theory of computing course , 2001 .

[43]  Jon Barwise,et al.  Turing's World 3.0 : an introduction to computability theory : for the Macintosh , 1991 .

[44]  Michael T. Grinder Animating automata: a cross-platform program for teaching finite automata , 2002, SIGCSE '02.

[45]  Susan H. Rodger,et al.  Turning automata theory into a hands-on course , 2006, SIGCSE '06.

[46]  Susan H. Rodger,et al.  NPDA: A Tool for Visualizing and Simulating Nondeterministic Pushdown Automata , 1992, Computational Support for Discrete Mathematics.

[47]  Carlos Iván Chesñevar,et al.  TAGS: A Software Tool for Simulating Transducer Automata , 2005 .

[48]  David G. Hannay Hypercard automata simulation: finite-state, pushdown and Turing machines , 1992, SGCS.

[49]  Terry Scott Turing machine simulation used in a breadth first computer science course , 2006 .

[50]  C. Chesñevar,et al.  Una herramienta para la simulación de autómatas traductores en la enseñanza de teoría de la computación , 2003 .

[51]  Susan H. Rodger,et al.  Increasing engagement in automata theory with JFLAP , 2009, SIGCSE '09.