Blackboard Systems

A blackboard system is a form of production systems consisting of a shared data-structure (the blackboard) and a set of knowledge sources (KSs) that watch particular parts of the structure and respond to changes (events) in those parts by proposing further changes to the blackboard. The metaphor is of a group of "experts" in different domains (the KSs) collaborating around a blackboard to evolve a data-structure that solves some particular problem. For instance, a robot building a map of its environment might employ two (or more) KSs working on a single representation of the map. One KS tries to match sensory inputs to existing data in the map (e.g., to correct errors in sensing) while another KS tries to fill in gaps in the map by looking at surrounding areas. (This example is taken from BOOK Artificial Intelligence: A New Synthesis).

Knowledge Sources are often more complex processes than single rules in production systems (or expert systems), and are designed to be independent modular units of knowledge relating to a particular area. KSs are encapsulated and could be implemented in various different ways. Communication between KSs is via the shared blackboard structure (cf. Tuplespace). There is often also a control component separate from the KSs that controls which KSs get to run and which get access to the blackboard, in order to direct the progression of a solution.

The original blackboard system was developed for the Hearsay-II speech understanding system, and described in the paper:

"A blackboard architecture for control", Barbara Hayes-Roth, Artificial Intelligence 26(3), pp 251-312, July 1985.

This page [L1 ] has some links to other papers on blackboard systems (including a decent introduction [L2 ].