Making BREVE@HOME
I think you could change Breve in such a way that it could run on the BOINC platform. In a similar way Seti@Home uses the BOINC platform. This way it could run on many computers and you could have for example a very big population of creatures to evolve (for example 10000 in one generation). It would probably lead to better and interesting results by covering a bigger variety of organisms.
From the programmers point of view it should be possible to make in a reasonable amount of time for example three months (typical time according to BOINC developers). The good thing is that Breve is using C++ and Python which are both programming languages accepted by the BOINC platform. It also has 3D graphics, so it should be easier to make a screensaver for BOINC out of it.
I'm almost sure people would want to participate in such a project. The idea of such project came to me recently, I wonder if someone also thaught about it, or even started writing such a project. I'm sure I would like do be part of a team doing such a project.

Bionic and Python
Where did you find a python interface for bionic? I would definitely give you a hand with this idea, if I can get hold of the api.
I have not failed! I have only tried 100,000 ways that will not work. —Thomas Edison
An Alternative
Breve has a network server building an object broker for sending commands to clusters of users. Synchronizing it with breve's iteration cycle is the trick an asynchronous UDP (e.g. miss a frame in QuickTime, ignore it strategy would work) Even with breve it would take two solid months, in contrast to interfacing with a new system I would rather stick with breve and maybe two other languages. A python interface would help do you know what port its on? I can give it a run through with the rfc, this is the way to go, at least we would have all the error codes and the query structure.
I have not failed! I have only tried 100,000 ways that will not work. —Thomas Edison
Re: An Alternative
If you already started writing a similar environment then probably you'll make it faster then porting the project to BOINC. And you''ll have bigger possibilities in what programming languages you want to use.
The thing aboute BOINC is that you'll probably have little problem with finding people willing to participate by running the program on their computers. A lot of people are used to it and even search new projects by themselves. It also has a credit point system which rewards people (of course you can make something similar) and was tested many times for stability. I think that using BOINC could cause more people run the project on their computers, but maybe that won't be so important to it.
Distributed Coordination
I worked out a good synchronization algorithm so that all the breve cluster agents are processing in phase with each other. I am still working out the local control to adapt to the swarm latency, but it does give a good over the horizon metric of the swarm frequency without complete knowledge of all the nodes. I built it in breve actually the only tool we have to work on multiprocessing simulations. Like I said two solid months from prototype to a stable beta.
If you want to be on a team download breve for one. Next there is this WUB world tutorial that has all the breve server code, run through that, if you prefer python, we could use a database interface to archive these creatures. There is allot of work to do it's fish or cut bait, and since we know breve there is less bait to cut.
I have not failed! I have only tried 100,000 ways that will not work. —Thomas Edison
Re:Bionic and Python
There is some info about a Python framework here: http://boinc.berkeley.edu/trac/wiki/PythonFramework
But I'm afraid this framework is mostly for testing if programs function properly.
Not Flexible enough
The python mod is a client api, the command line version gives you direct access to the server and scheduler. Honestly I would have to get PHP 5 running, the client would be half the battle. The server is were you could run into serious trouble, we are connecting apache, php, mysql, xml, python, and breve. This is an eight month project.
I am working on xGrid it has straight forward cli in addition is not application dependent. Not to mention the rfc is well documented. The 3080 spec isn't built around a client server model, any agent can be a peer, this is a bonus.
Good luck hooking six major systems together for the server, deploying client compatible builds, python interfacing breve, and ensuring end to end security.
It might take me eight months to get a universal xgrid agent api built, and I won't be stuck with a single domian model , where will breve be in one year? xGrid can adapt since it works as an overlay giving you control of the scheduling, bionc apps are all hardcoded built on legacy infrastructure. The more moving parts the greater the chance it will break.
To let the optimist shine through be willing to accept failure, without accepting defeat.
Re: Not Flexible enough
xGrid seems to be good. Hope it runs well also on other systems, not just Mac OS.
Yes
There is currently a project like this under development at Hampshire. The first versions of it will be released for OSX and Linux, and it should not be too hard to port to Windows.
en breve
If anyone is interested in the details of this project they can contact me directly but here is a brief overview.
We're developing a slimmer platform than BOINC which will allow for breve simulations to be distributed to clients running xscreensaver (which works fine on OS X and linux). There will be a server which hosts projects (one for each distributed simulation) and communicates with clients. These are the minimal set of features you can expect in the first revision.
Jon has made sure that all of the necessary features are implemented on the breve side, so the rest of the project is MySQL, PHP, and a C++ server. Again, if anyone is interested in contributing to the endeavor, contact me (especially if you are interested in porting to wind0wz).
~Kyle
moving in the right direction
Hi,
I'm not sure about BOINC integration specifically, but I am working on adding the right kind of infrastructure on the breve backend to make these kinds of network applications easier.
I've recently added breve engine support for URL uploads/downloads, as well as being able to manipulate archived object XML directly in breve. The combination of these two new features should be all that's required on the client side of such a system.
- jon
RE: Platforms + Future
I know there is a java implementation for the xGrid, and there are about six developer projects in the works for various platforms. Its a real beauty under the hood, thanks to breve we can test ant optimization, and GP load balancing, from advances in biomimicry to quantum computing, learning breve and its related systems puts us at the forefront of software engineering. I have already made a substantial investment in learning R to analyze the results.
To let the optimist shine through be willing to accept failure, without accepting defeat.