Contents

Engineering Craft › Design Patterns

Blackboard Pattern

Independent components cooperating through a shared knowledge store.

Also known as: blackboard pattern, blackboard architecture, blackboard system

Blackboard is an architecture where several independent specialists cooperate through a shared data store — the blackboard. Each specialist (a “knowledge source”) watches the shared state, contributes when its expertise applies, and the combination of partial contributions gradually builds toward a solution. A control component decides which specialist acts next.

knowledge sources:  parser, predictor, detector, ...
                        │ read/write
blackboard:        [ shared evolving state / partial solutions ]
                        │
control:           decides who runs next

The metaphor is a group of experts at a blackboard: each adds what they know, sees what others have written, and the answer emerges from the collaboration. It fits problems that are too varied for a single fixed algorithm — the system doesn’t know in advance which combination of techniques will crack a given case.

Classic uses are AI-flavoured: speech recognition (acoustic, lexical and language models contributing incrementally), image understanding, planning. Outside AI, it appears as shared-state architectures where many agents contribute to a common model over time.

The classic mistakes:

  • Confusing it with pub/sub. Pub/sub is a decoupled event broadcast; the blackboard is a shared evolving model that components read and update, with control logic deciding who acts. An event bus tells you something happened; a blackboard holds the current partial answer.
  • No control strategy. Without a rule for which source runs next, you get either thrashing (everyone reacts to everything) or nothing progressing. The controller is essential, not optional.
  • Unbounded blackboard growth. The shared state grows as contributions accumulate; without pruning or a termination condition, it keeps growing and the search never ends.
  • No termination criteria. Because many specialists can keep refining, you need an explicit “good enough” or “no more progress” rule, or the system doesn’t stop.
  • Reaching for it over-engineering. Blackboard is heavyweight. For most problems a straightforward pipeline or a mediator coordinating a few components is simpler and adequate.

When to use it: when the problem is naturally solved by heterogeneous specialists contributing to a shared solution that evolves — and no single algorithm fits all cases. It’s a niche but powerful architecture, and it teaches a useful idea: sometimes the answer is a shared model plus contributors, not one monolithic solver. It sits near domain-driven design in spirit when a complex domain needs several models contributing to one understanding.