Tierra is a computer simulation developed by ecologist Thomas S. Ray in the early 1990s in which computer programs compete for central processing unit (CPU) time and access to main memory. At present, the commonly accepted definition of life does not consider any computer program to be alive, however, Tierra is a frequently cited[citation needed] example of an artificial life model; in the metaphor of the Tierra, the evolvable computer programs can be considered as digital ‘organisms’ which compete for energy (CPU time) and resources (main memory). In this context, the computer programs in Tierra could be considered evolvable and can mutate, self-replicate and recombine.

Life on Earth is the product of evolution by natural selection
operating in the medium of carbon chemistry. However, in theory, the
process of evolution is neither limited to occuring on the Earth, nor
in carbon chemistry. Just as it may occur on other planets, it may also
operate in other media, such as the medium of digital computation. And
just as evolution on other planets is not a model of life on Earth, nor
is natural evolution in the digital medium.

The Tierra C source
code creates a virtual computer and its Darwinian operating system,
whose architecture has been designed in such a way that the executable
machine codes are evolvable. This means that the machine code can be
mutated (by flipping bits at random) or recombined (by swapping
segments of code between algorithms), and the resulting code remains
functional enough of the time for natural (or presumably artificial)
selection to be able to improve the code over time.

Along with
the C source code which generates the virtual computer, we provide
several programs written in the assembler code of the virtual computer.
Some of these were written by a human and do nothing more than make
copies of themselves in the RAM of the virtual computer. The others
evolved from the first, and are included to illustrate the power of
natural selection.

The operating system of the virtual computer
provides memory management and timesharing services. It also provides
control for a variety of factors that affect the course of evolution:
three kinds of mutation rates, disturbances, the allocation of CPU time
to each creature, the size of the soup, etc. In addition, the operating
system provides a very elaborate observational system that keeps a
record of births and deaths, sequences the code of every creature, and
maintains a genebank of successful genomes. The operating system also
provides facilities for automating the ecological analysis, that is,
for recording the kinds of interactions taking place between creatures.

This
system results in the production of synthetic organisms based on a
computer metaphor of organic life in which CPU time is the “energy”
resource and memory is the “material” resource. Memory is organized
into informational patterns that exploit CPU time for self-replication.
Mutation generates new forms, and evolution proceeds by natural
selection as different genotypes compete for CPU time and memory space.

Diverse
ecological communities have emerged. These digital communities have
been used to experimentally examine ecological and evolutionary
processes: e.g., competitive exclusion and coexistence, host/parasite
density dependent population regulation, the effect of parasites in
enhancing community diversity, evolutionary arms race, punctuated
equilibrium, and the role of chance and historical factors in
evolution. This evolution in a bottle may prove to be a valuable tool
for the study of evolution and ecology.

taken from: http://life.ou.edu/tierra/