Suggested system metaphor: A taxi exchange
Customers (battles waiting to be run) notify the taxi exchange (server). A taxi (@home-node) calls in and asks for a reasonable assignment, which is promptly given. The taxi reports back after completed assignment. If a customer gets irritated because the taxi that was assigned does not show up, the taxi exchange assigns that customer another taxi.
Taxis should advertise their capabilities (how many passengers they can carry, how quickly they will get them there, when they are on duty and when they aren't) The taxi dispatcher should keep track of how well taxis perform their assignments compared with what they said they'd do.
CRC analysis: anyone?
Design diagrams: anyone?
Suggested technology: Java, jakarta.apache.org and xml.apache.org probably has everything needed apart from robocode.
These tasks should probably be broken down even more. I have written "mechanism" on purpose because the "obvious" (web pages, web services) solution might not be the correct one. In fact, there might be a point to having much of it e-mail based, e.g. register an email address, then all updates for a bot must be sent as an attached file in an e-mail from that address and a receipt of update will be sent back. Another really cool idea would be to use JavaSpaces? for the distribution of battles.
CVS repository or suchlike - ?
I am no expert at XP and Metaphors, but what I know is that you should do what feels right, there is no method police. The metaphor is useful for getting a common idea of how the system works, a 10 000 metre view of the architecture, but I don't think we need to overdo it. If a task feels more comfortable phrased in the metaphor, do it, if not, don't. The historic reason here is that I wrote the tasks before I came up with the metaphor. -- tobe Oh, I think the subpages were a great idea.
IMHO, SourceForge? would be perfect. We get the trackers and mailing lists as a bonus. I would create a project space, but I'm going on vacation on Saturday, so maybe someone else can request a project space at SF. This person should state so here so we don't get 3 people doing it at the same time. How about the project name? RoboRumble or RoboRumbleAtHome?? or something else? -- Vic
Feel free to just go ahead and change the name. A wiki is a place where anarchists live and thrive :-) -- tobe
I think Amarok might be interested in participated with this. Maybe we can then inherit the EternalRumble name? Otherwise I think a name like RoboChallenge? would be cool. But RoboRumble is great too. -- PEZ