Jason Cawley
Wolfram Science Group
Phoenix, AZ USA
Registered: Aug 2003
Posts: 712 |
Virtual Machines paper
Virtual Machines: Turing Machines, Cellular Automata and Java
S. Reid
http://ucsub.colorado.edu/~reids/pa...s-reid-2003.pdf
Pascal's mechanical calculator and Babbage's Analytic
Engine set the stage for a great deal of modern computing machinery. Modern versions of these concepts were finally realized in von Neumann's architecture in about 1950. However, the science of computing does not depend on physical implementations of these ideas, but rather on virtual machines - that is, abstractions that perform computations with a well defined semantics. In 1937, well before the advent of the stored program computer, Turing gave a complete description of a computational device which could be programmed and
executed and whose properties could be inspected at runtime. This Turing Machine, and the program for the Universal Turing Machine were the first formal descriptions of virtual machines. Wolfram generalized and simplified the idea of a program, depicting a class of virtual machines known as Cellular Automata. The Java Virtual Machine was invented as a high-level conceptual machine with a great deal of internal structure, homogeneity and metadata. The Turing Machine, Cellular Automata and Java
are all optimized for different aspects of programming. This paper
describes each of these virtual machines, their histories and the
relationships between them. The implementation of a simple logical function is described in several virtual machines, and a formalism is presented which describes transformations between machines and programs. In Appendix I, the language of mathematics is examined with respect to its machine-like properties.
Report this post to a moderator | IP: Logged
|