NavigationUser loginCMS by Drupal |
CODE: Blackboard ArchitectureA while back, I wrote about building a graphical toolkit with a "blackboard" architecture. So today I finally found time to trot out BBB, the generic C Basic BlackBoard I wrote back in 1998 for some AI work I was doing. I've placed it in a public GIT repository at git://svcs.cs.pdx.edu/storage/bbb.git, under an MIT license. It is old, complex code that can be compiled correctly by Johnson PCC, but it serves its function as far as it goes… The interesting thing, in looking over the code, is that BBB maintains the blackboard entirely with callbacks. This gives the illusion of multiple concurrent agents without any threads. On the other hand, the callbacks are a pain to write, as callbacks always are.
I also note that BBB does not do full composite triggering. That is, an agent can wait on a region of the blackboard, but it can't wait on an arbitrary conjunction or disjunction of regions and items. This seems wrong, but all the interfaces I can think of in the C world make it hard. Oh well. At least I'm started again.
|
Any progress since then?
Any progress since then? Would be interesting to hear.
Not a whit
Embarrassingly enough, I haven't done a thing on this lately. Literally 20 other more urgent things to do.
Thanks hugely for the reminder. I need to find a student to take the lead in implementing this. I'll look; Summer of Code is coming, and this would be a nice project.
Just checking back to see if
Just checking back to see if it went anywhere. I hope there's a kind soul who took on the brave task.
Nope, still nothing
Nope, still nothing. My Summer Open Source laboratory course starts in a few days, though, and I'll look there for someone. I also have a couple of folks talking about MS theses.
Need more cycles. Sigh.
Are we somewhere yet? I'm on
Are we somewhere yet?
I'm on vacation - and this means lots of time for thinking :)
I'm playing with this blackboard thing in my mind for Direct Manipulation interfaces. I'll bring any ripe fruits here.
Post new comment