News Archives

[Colloquium] Self-Replicating Distributed Virtual Machines

March 13, 2014

Watch Colloquium: 

MOV file


  • Date: Thursday, March 13, 2014
  • Time: 11:00 am - 12:00 pm 
  • Place: Mechanical Engineering 218

Lance R. Williams

University of New Mexico
Department of Computer Science

Self-Replicating Distributed Virtual Machines

Recent work showed how an expression in a functional programming language can be compiled into a massively redundant asynchronous spatial computation called a distributed virtual machine (DVM). A DVM is comprised of bytecodes reified as actors undergoing diffusion and communicating via messages containing encapsulated virtual machine states. Significantly, it was shown that both the efficiency and the robustness of expression evaluation by DVM increase with redundancy. In the present work, spatial computations which become more efficient and robust over time are described. They accomplish this by self-replication, which increases the redundancy of the elements of which they are comprised. The first and simplest of these self-replicating DVMs copies itself by reflection; it reads itself from a contiguous range of memory. The remainder are quines. As such, they reproduce by translating and transcribing self-descriptions. The nature of the self-descriptions, translation, and transcription processes differ in each case. The most complex self-replicating DVM described represents a fundamentally new kind of artificial organism--a machine language program reified as a spatial computation which reproduces by compiling its own source-code.