A blackboard architecture is a distributed computing architecture where distributed applications, modelled as intelligent agents, share a common data structure called the “blackboard” and a scheduling/control process. The blackboard can be either centeralized or distributed, depending on the requirements and constraints of the application(s).
To solve a complex problem in the blackboard-style, the intelligent agents cooperate as functional specialists, observing updates to the blackboard and self-actualizing (in an event driven process) when there is new information to process. Agents continually update the blackboard with partial solutions when the agents capabilities for processing match the state of the blackboard.
The blackboard architecture is a distributed computing model for a metaphor describing how people work together to collaboratively solve a problem around a blackboard (whiteboard in todays lingo). For example, one person is standing at the whiteboard working on a solution while three other people are sitting (or standing) around watching. One of the observers sees new information on the whiteboard, thinks of how he (or she) can contribute, and then jumps up, takes the whiteboard marker from the person working, and adds to the solution. This process is repeated in various scenarios.
The blackboard architecture can be very effective in solving complex distributed computing problems, including event processing problems; however, scheduling the self-actuating agents can be a key challenge. Another core challenge is how to model and manage the blackboard itself, especially in distributed blackboard architectures.
John McManus, former CTO of NASA, wrote an excellent PhD dissertation in 1992, Design and Analysis Techniques for Concurrent Blackboard Systems, at the College of William and Mary, addressing challenges in BB systems.
The table below lists two books that focus on blackboard architecture:
|1989||V. Jagannathan et al||Academic Press||0123799406||Blackboard Architectures and Applications|
|1988||Robert Engelmore and Tony Morgan||Addison-Wesley||0201174316||Blackboard Systems|
Blackboard architecture is relevant to the field of event processing, and in particular complex event processing. I will go into more details in future blog posts on this topic, including how blackboard architectures relate to grid computing, distributed object caching (of the blackboard), and CEP.