Solution: Building the Blackboard Architecture
Solve problems that have no predetermined sequential solution by using a blackboard to coordinate the intermediate results of several knowledgeable subsystems to achieve the goal through refinement of partial solutions.
Exploring the effects of the blackboard
The independence of the parts of the system and their lack of direct communication enhances the capability of blackboard architectures to satisfy nonfunctional requirements such as changeability, maintainability, and dependability. Blackboard architectures are very useful when you don't know in advance how to reach the overall solution.
Benefits
Here are the benefits of using a blackboard system:
- The blackboard makes it easy to experiment with different ways to solve the problem. Because there are no direct interactions among the KSes, you can change and revise them easily without affecting other parts of the system.

There isn't any perfect number of KSes, so you can add and remove them at will.
- A KS can be reused between solutions. A KS doesn't have ties to any one particular blackboard system, any more than it has ties to the other KSes within the blackboard, so it can easily be reused elsewhere.

In order to reuse KSes, they must be designed to be general — avoid tying them ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access