Self-Replicating Distributed Virtual Machines Lance R. Williams Dept. of Computer Science University of New Mexico
Church-Turing Thesis All models of effective computation are equivalently powerful. However, certain models offer advantages with respect to particular modes of physical implementation. The von Neumann machine is well-suited to implementation using electronic components.
Signaling Networks The von Neumann machine is less useful as a model for computations implemented using signaling networks of neurons, molecules, nanomachines, or bacteria. The ACTOR model (Hewitt ‘73) is potentially better suited to this mode of implementation.
ACTOR Model A model of concurrent computation An actor is a process. Actors execute asynchronously and in parallel. An actor can send/receive messages to/from other actors. An actor can create new actors.
Distributed Virtual Machines Compile programs written in a simple and expressive programming language into a network of actors Actors represent virtual machine bytecodes and basic datatypes. The network of actors constitutes the code, stack, and heap of a distributed virtual machine.
Example argumentrefer close assign halt closure put def symbol argument refer pair apply refer primitive (define sqr (lambda (x) (* x x))) COMPILATION put number put pair apply ref symbol pair put pair get number get pair get
The Cell It is a popular fallacy that DNA is a self- replicating molecule. DNA is a molecular representation. DNA can be used to represent a description of a self-replicating machine called the cell. The cell translates the DNA into a copy of the cell and a copy of the DNA.
Quines A quine is a program which prints its own source code. A quine consists of program and data. The program uses the data to construct copies of the program and the data.
Self-Replicating Distributed Virtual Machines A compiler can be implemented as a distributed virtual machine. The distributed virtual machine can copy itself by compiling its own source code. A distributed virtual machine which copies itself and then copies its own source code is (in effect) a non-biological cell.
Bacterial Implementation molecular lock molecular key continuation (plasmid) bytecode n bytecode n+1 bacterium
Conclusion ACTOR model is better suited to describing signaling network embodied computations than the von Neumann machine. A compiler implemented as a distributed virtual machine can copy itself simply by compiling its own source code. A self-replicating distributed virtual machine embodied using bacteria would be a meta-cell.