3 years ago

A physical implementation of the Turing machine accessed ... - ICL

A physical implementation of the Turing machine accessed ... - ICL


Conference ICL2008 September 24 -26, 2008 Villach, Austria It is possible that the machine cannot compute the desired output in the finite number of steps (the machine never stops). During each cycle the Turing machine is described with a configuration. A k- configuration is defined at the beginning of the k-th cycle and it consists of: • content of the tape, • internal state of the machine, • position of the R/W head. 2.2 The physical implementation Formal model of the Turing machine had to be modified as a prerequisite for physical implementation: • Formal symbols, as elements of tape alphabet, are replaced by plates with symbol images (colored geometrical shapes). • Pool is introduced to the model. The pool is an area used by the robot arm to store the spare plates. • The movement of the R/W head has been replaced with the equivalent conveyer movement that is simpler to implement. The physical implementation consists of hardware components and software modules. Fig. 3 depicts the main hardware components. Fig. 3: A detail of the physical implementation of the Turing machine The main hardware components are: • A personal computer is the most important hardware component of the implementation. It executes software modules that simulate the Turing machine, communicates with all other physical components and interacts with the user. • A conveyer is a physical implementation of the tape of the Turing machine. It is a band segmented into rectangles that represent cells. Motion of the conveyer is achieved using two synchronized step-motors. • A tape camera is mounted above the conveyer and its optical axis is orthogonal on the conveyer plane. Three cells of the conveyer are in the field of view of the camera: the scanned cell and its nearest neighbors to the left and to the right. This camera performs as a Read head of the Turing machine. 4(13)

Conference ICL2008 September 24 -26, 2008 Villach, Austria • The robot arm performs as a Write head of the Turing machine and manipulates the plates contained within the conveyer cells and in the pool. The robot arm, together with the tape camera, forms the R/W head. • A pool camera monitors the content of the pool. • A panoramic camera oversees the whole Turing machine. It provides live video feedback about interaction of physical components of the Turing machine to the client. The software modules are: • Performer module: Performs as the modified formal model of the Turing machine. It communicates with the control modules and the user interface. It transmits commands to the hardware components and sends Turing machine status to the user interface. It receives information about symbols present on the conveyer and in the pool. • Control modules: They map commands received from the performer module to the hardware specific protocol. Robot arm, conveyer and cameras each have their own control module. • Image analysis module: Processes the images provided by the tape camera and the pool camera to identify the symbols present on the conveyer and in the pool. The processing procedure includes image preprocessing, image segmentation and classification of objects i.e. symbols. It also provides information about position and orientation of the plates with symbol images. 3 Client – server architecture An important measure of success of any product is the number of its users. The Turing machine implementation described above consists of several hardware components. These parts are immobile, sophisticated and expensive so it is unlikely that this implementation would be widely used regardless of its potential educational value. Furthermore, in direct contact with the user, it is likely that some of the components would be damaged due to improper usage. To make the implementation widely accessible while still kept in the controlled and safe environment we have built in a client-server architecture allowing remote access to the physical implementation of the Turing machine. The server is a software module built into the Turing machine implementation. It receives the initialization information for the Turing machine from the client. The server encapsulates and starts the computation of the Turing machine. It relays communication between the Turing machine and the client. The server transmits the output of the Turing machine, represented by the configuration, as well as live overview from the panoramic camera to the client. The server also relays client signals to the machine. Turing machine protocol - a specially designed protocol at the application level, is used for the communication between the client and the server. The client provides a graphical user interface to the Turing machine. Through this interface the initialization data for the Turing machine can be defined and uploaded to the server. The client is written in Java and published in the World Wide Web ( The client interface uses visual programming paradigm to simplify the programming of the Turing machine and the analysis of its output. 5(13)

E-Portfolio implementations and experiences Didactical ... - ICL
Design and implementation of a virtual lab for supporting ... - ICL
Understanding the need of mobile ICT learning as an elderly ... - ICL
Enhancing Quality of E-Learning 1 Introduction - ICL
Creation and Implementation of Interaction within Immersive ... - ICL
Online conversion portal to produce accessible information for ... - ICL
Putting the Education into Educational Simulations ... - ICL
Implementation of a Self-Replicating Universal Turing Machine ...
Universal Turing Machine - UdG
Acquiring Knowledge through PBL within a Computer ... - ICL
Introductory programming by collaborative method “pair ... - ICL
Using Reverse Auction in Differentiated Learning Agencies ... - ICL
Reusing Streaming Contents in Engineering and Education ... - ICL
new music teaching strategies using ict - ICL
Newton, The Socratic Questioner: A Perfect Fit for Pedagogy ... - ICL
How to structure content for sustainable multiple usage with ... - ICL
Exploitation of Croquet CVE Platform for supporting ... - ICL
Development of the automated laboratory practical work at the ... - ICL
Computer-Aided Learning in the Pharmaceutical Sciences at ... - ICL
Measuring the responsiveness of e-learning materials to ... - ICL
Awareness of the capabilities and use of social software ... - ICL
Collaborative Feedback: Code Peer Review in Higher ... - ICL
Remote Training via WEB for Operation and Maintenance of a ... - ICL
Enhancing the Collaborative Learning by using Immersive VR ... - ICL
Microcontrollers in Physics education: a circuit simulation ... - ICL
Collaborative e-Learning and SME Managers – An Italian Case - ICL
Hybrid Artifacts in CALL: A Reflection-in-Action Approach 1 ... - ICL
A Pilot Project – From Illiteracy to Computer Literacy: Teaching ... - ICL
EduSAT – An eLearning Project to involve High-School ... - ICL
Evaluating Wiki as a tool to promote quality academic writing ... - ICL