Main

What is codesoup?

What has been done so far?

So you want to help

FAQ

Docs

Links

Sourceforge Project

Sourceforge Forums

Sourceforge CVS

Contact me.

SourceForge.net Logo

The Story so far

Skipping quickly over the Java version and Windows version(which possibly 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

Design:

The core of the system is the Bowl class which contains the information 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 StateChangeObject object.

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 also 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 interface.

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 linux affair.
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 memory.

    Statistics Program

    This currently has not been ported accross form windows. It takes ten or more output programs and produces averages of important statistics for them.

    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.
    Last modified: Wed Jul 2 16:57:24 BST 2003