Blackboard

Multiple specialized components collaborate by reading/writing to a shared knowledge source (the blackboard) until a solution emerges.

What it is

A problem-solving style where independent knowledge sources incrementally contribute partial solutions to a shared blackboard, guided by a control component.

Benefits

  • Flexible problem decomposition and collaboration
  • Supports heuristic or uncertain domains
  • Extensible with new knowledge sources

Trade-offs

  • Designing the control strategy is complex
  • Performance tuning can be difficult
  • Shared state contention without careful design

When to use

  • Complex problem domains (e.g., recognition, planning)
  • When multiple heuristics contribute to solutions
  • Research/AI or analytics-heavy systems