Document Type


Publication Date



Computer Sciences


J. Andrew Holey


What does it mean to be alive? Is it possible to create artificial life-forms that are truly alive? Can a computer program be alive? To answer these questions, I first explore the history of artificial life, beginning with John von Neumann, who designed algorithms possessing lifelike capabilities, and moving on to other famous attempts, such as Horton Conway's 'Game of Life', and Thomas Ray's remarkable 'Tierra' project.

Also included is a discussion on the merits of Object-Oriented programming for simulating, and ultimately synthesizing life on a computer. concurrency is defined, and its value for stimulating and synthesizing life is made clear.

Last, but far from least, I introduce my own attempts at artificial life, the prolific Veggies, the docile Herbies, the versatile Omnies, and the ravenous Carnies, as they compete for survival in their artificial environment.