Re: Blackboard Systems
David McClain wrote:
> I'm trying to wrap my brain around GBBopen. I have never heard of
> Blackboard Systems before, and so a paradigm shift seems necessary.
>
> The nearest similarity in my experience appears to be the Linda System
> of Galertner, where any number of disjoint and cooperating threads could
> interact on a common data pool (the Tuple Space), based on recognizing
> certain tuple patterns as appropriate for their activities. The threads
> transmute those tuple items they recognize, in hopes that another thread
> might be able to use them.
>
> Is this even close?
Close (but no cigar). Linda is the original of what is now being called
"space-based architectures." (I suppose the old tuple-based name
doesn't sound modern enough.) These include Linda, T-Spaces,
JavaSpaces, etc. Linda uses a tuple-space repository to implement
anonymous and temporally decoupled triggering of software modules
(knowledge sources in blackboard-system speak), but it is missing the
separate moderator/control aspects of the blackboard-system approach.
(There are other, detailed technical, reasons why tuple-space approaches
don't perform well in some blackboard-system settings, but I'll only
wave a caution flag now).
Note that Linda was created nearly a decade after Hearsay-II (the first
blackboard-system, circa 1975-6). The open-source GBBopen system
supports building blackboard systems, but many are using some of the
core layers of GBBopen in non-blackboard-system applications (for
example, using only the repository, event signaling, and objecting
linking facilities, without running a blackboard-system control shell).
That's fine with us...!
-- Dan
P.S. For some background reading, see BBTech Corporation's annotated
bibliography: http://BBTech.com/bibli/
I'd recommend the historical AI Expert intro article
(http://bbtech.com/papers/ai-expert.pdf) and the more recent ILC paper
(http://dancorkill.home.comcast.net/pubs/ilc03.pdf), but I'm biased!