Introduction

This work was done in the Department 6 (Evolutionary Systems) of ATR Human Information Processing Laboratories, Kansai Science City, Japan, under the direction of Professor Thomas S. Ray.

The subject of this work was to help implement a network version of an existing software package called Tierra.
Tierra is a program that provides the necessary environment for Artificial life creatures to live in. And the ultimate goal of the project was to enable Tierra to run over the Internet, the giant computer "internetwork" that spans the world.
This would allow the creation of a network-wide biodiversity reserve for digital organisms (see [9]), where they would be left to evolve freely.

The work to be done was two-fold.
First we had to add to Tierra the communication routines that would allow it to run over a network, and more specifically a network using the TCP/IP protocol suite.
Secondly we had to provide the creatures the means to use the capabilities of a networked version of Tierra.

These are two different tasks, due to the nature of Tierra itself.
The digital organisms in Tierra are self replicating programs. But they are not running on any real computer. Instead they run on a virtual computer with a reduced instruction set, whose hardware and operating system are simulated by the Tierra software. Tierra in turn runs on any of a variety of hardware machines (from IBM PC under MS-DOS to mainframes under Unix).
In the same way, the network version of Tierra is a virtual computer network running on a real computer network. Tierra is the interface between the underlying hardware and the creatures, which are only aware of a simplified networked world, simulated by the Tierra software.

As a consequence, the implementation of the new network functionalities required learning about both Tierra itself, and the workings of computer networks, and more precisely the Internet.