The Story so far
Skipping quickly over the Java version and Windows version(which
worked and worked respectively, but will never see the light of day) I
shall talk about the Command line Linux
version that is the most advanced and clean.
Both parts are very much in alpha stage liable to chage at any given point.
The assembly compiler
1) It is a perl program that takes a program in on the standard input and
outputs it on the standar output. It currently uses a verbose and unwieldy
syntax, which I plan to simplify in the future.
The main program
The core of the system is the Bowl class which contains the
regarding the replicating programs and the threads that are running in
the bowl. This is where you can control the programs execution. It
sends out messages to any object that is registered to it as a small
A typical program that wants to use this technology will
instantiate a bowl and a
variety of other objects that listen in to the Bowl and may change it.
The most important of these is the UtilityGiver which tracks the
owners and rewards them dependant upon how well they do at a task. It
ouputs statistics about these things.
Currently another class that is being worked upn is a SoupPainter,
this listens to the soup and paints a false colour representation of the
state of the soup. Currently it only outputs them to a file, but
hoepfully in the future it will be adapted to a full graphical user
Stage of completion:
1) Compiles and runs on a test program. Always a good start :) It takes
all the information in by parameters and is silent as the plan is to use
the standard in and out to allow it to communicate with other programs
2) What it doesn't do is install properly as I am concentrating on trying to make
this as cross-platform as possible and installing would be a strictly
3) Documentation is sparse at best
4) It currently outputs the following
A csv file that holds the majority of the stats for the program
including utilities etc.
A .raw picture that is a false colour represenatative snapshot of the
This currently has not been ported accross form windows. It takes ten or
more output programs and produces averages of important statistics for
The replicating programs
For more information see my dissertation in the documents section. I haven't done any more than that as of this moment.
I have thought up a rough way of classifying different variational
operators which is describe here.
Wed Jul 2 16:57:24 BST 2003