CODE: Blackboard Architecture

A 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.

Q: Should I stick with the BBB architecture?
A: I think not. Now that pthreads are common, and XCB supports them, I think I want their convenience and latency hiding.

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. Friend of Bart

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

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. Friend of Bart

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

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.
Syndicate content