Concept

Blackboard Architecture

Definition

A blackboard architecture organizes a system around a shared space, the blackboard, into which independent components post partial results and from which they pick up work. No component calls another directly; they only contribute to and consume from the common workspace.

The metaphor comes from experts gathered around a physical blackboard solving a hard problem. Each one watches, and when they see something they can advance, they step up and add their piece. Order is emergent, not scripted.

Why it matters

How it works

The blackboard holds the current state of a partially solved problem. Each component, often called a knowledge source, monitors the board for conditions it can act on. When it finds one, it processes that data and writes its contribution back, which may in turn trigger other components.

The Pragmatic Programmer authors recommend this style, often realized today as a message queue, event bus, or shared store, precisely because it lets producers and consumers evolve independently. The tradeoff is reduced visibility: because no one orchestrates the flow, debugging and reasoning about overall behavior require care.

Where it goes next

Continue exploring

Tags