Introduction to Blackboard Systems



A blackboard system provides a powerful means of flexibly combining individually developed software systems and modules into a single integrated application. Consider the following scenario:
    A group of specialists are seated in a room with a large blackboard. The specialists are working as a team to brainstorm a solution to a problem, using the blackboard as the workplace for cooperatively developing the solution.

    The session begins when the problem specifications are written onto the blackboard. The specialists all watch the blackboard, looking for an opportunity to apply their expertise to the developing solution. When someone writes something on the blackboard that allows another specialist to apply her expertise, she records her contribution on the blackboard, hopefully enabling other specialists to apply their expertise. This process of adding contributions to the blackboard continues until the problem has been solved.
A blackboard system enables this flexible brainstorming style of interaction between computer programs.

Blackboard-System Components

A blackboard-system application consists of three major components:
  • The software specialist modules, which are called knowledge sources (KSs). Like the human experts at a blackboard, each knowledge source provides specific expertise needed by the application.

  • The blackboard, a shared repository of problems, partial solutions, suggestions, and contributed information. The blackboard can be thought of as a dynamic "library" of contributions to the current problem that have been recently "published" by other knowledge sources.

  • The control shell, which controls the flow of problem-solving activity in the system. Just as the eager human specialists need a moderator to prevent them from trampling in a mad dash to grab the chalk, KSs need a mechanism to organize their use in the most effective and coherent fashion. In a blackboard system, this is provided by the control shell.

For Additional Information

A broad introduction to blackboard systems is presented in:
    Daniel D. Corkill. Blackboard Systems. AI Expert, 6(9):40-47, September, 1991.
The unabridged article is available on-line.

A more recent look at the collaborative capabilities of blackboard systems and their relationship with multi-agent systems is presented in:
    Daniel D. Corkill. Collaborating Software: Blackboard and Multi-Agent Systems & the Future. Proceedings of the International Lisp Conference, New York, New York, October, 2003.
This article is also available on-line.

Last updated: August 6, 2004