From: thunk Date: 2010-03-22T10:20:10+09:00 Subject: Re: Living with a Swarm of Boids - A report from the front On Mar 21, 7:55 pm, Philip Rhoades wrote: > Thunk, > > I have been reading the posts but I still have problems understanding > what this setup is actually for - I have an interest in Ruby and > biological simulations so the word "swarm" captured my attention.  Can > you describe what you are attempting to do in a more simple/overview way > so I can see if I should be interested in this or not? > > Thanks!, > > Phil. > > On 2010-03-22 06:15, thunk wrote: > > > > > Robert, > > > Whatever else this project is, I think it has to be a rather "extreme > > design". Will you give me that?  Development and debugging has been > > slow and involved early on.  Only after multiple iterations have I > > been able to simplified and the roles clarified to where things are > > now.  The set of "Boids" have determined the names and functions of > > most of the other project parts.  There's a strong mental model to > > adjust to, but some elements of the project like the need for a > > "categorization" scheme did not become evident until I was thinking, > > "ok I have the results from 100 fired! boids, what can I do with > > them?  Early on I had developed the concept of a "result record" and > > the result record could be used by subsequent passes to build reports > > - I spent a week testing it back when.  What I didn't see at first was > > the use of "output panel" that acts on the results of the Boids like a > > big billboard passively announcing the number of various "hits" in > > various subcategories.  It all makes sense, and seems totally natural > > when you see it in the context of "your domain".  I really don't think > > it was so obvious when I was designing the DSLs the support the > > various sections of the Boids. > > > In he current design there is a "transmitter object", and a "receiver > > Object".  The receiver object "debriefs" the Boids and send info to > > the "Control Panel" and into open "Work Sheets" (probably particular > > to  my domain).  The Boid author specifies the assertions he needs to > > arrive at a passed/failed conclusion.  These things build up into > > something pretty interesting with depth.  Each Boid, so far, is > > limited to using a single helper_class - where the "real" logic and > > calculations are concentrated.  The boid is a sort of "gatherer shell" > > or something - but that's the whole idea - they must be kept simple so > > that non-programmer types can design them. > > > What's exciting about this?  Hmmm.  What's exciting to me is that the > > system could grow from outside experts from a network of say 1,000 to > > 10,000 boids "organically" without the need to change one line of code > > in the framework.  What I think should be 'exciting' to > > entrepreneurial types is that this can be done using outside resources > > - like a forum. So the whole thing becomes something like a "knowledge > > farm".  I'm not sure where the "magic" is, its all "just ruby" but I'm > > watching the output of some pretty involved problem solving getting > > done quickly - and I'm no where near the 1000 Boid "tipping point" > > that I consider to be the design break-even point for this system > > versus a strictly "conventional design". > > > Then, if I'm right about the run-up from 1000, to 10,000Boids this > > will be getting to pretty interesting - at least to me. > > > Thunk > > > PS There is this inherent power to the web that allows a contributor > > to be anybody / anyplace / anytime.  And there is this ability to > > process 10,000 of these "logic capsules"/Boids or whatever in about 2 > > seconds.  And there is "time value" attached to knowing something "out > > there" changed that effects something I'm about to do.  This all fits > > together somehow, "my domain" gets close enough to justify my efforts > > to me, I think there are domains where the power of this design could > > be leveraged much farther - I keep thinking of medical procedures > > where lives are on the line and changes are happening everyday - > > around the world. A 100,000Boid system could be fired at the records > > of every patient every day for about the same resources (per hospital) > > as a couple hours of video game playing.  Nothing like this seems to > > be happening. Why? > > -- > Philip Rhoades > > GPO Box 3411 > Sydney NSW      2001 > Australia > E-mail:  p...@pricom.com.au Let me know if the Vocabulary effort helped? It's rather "extreme" and frankly makes no sense at all performance or development effort on a "from scratch basis" unless the app has some real complexity or the externally contributed aspect can grow the knowledge-base. I think it is ideal to get hooked up to forums as a sort of parallel to the text messages but building up the knowledge-base. I have concocted a couple examples from the medical field - it starts jumping out at you when you see it. And, its fun :)