Blackboard (design pattern)

In software engineering, the blackboard pattern is a behavioral design pattern[1] that provides a computational framework for the design and implementation of systems that integrate large and diverse specialized modules, and implement complex, non-deterministic control strategies.

[2][1] This pattern was identified by the members of the Hearsay-II project and first applied to speech recognition.

[2] The next step is to specify the control component; it generally takes the form of a complex scheduler that makes use of a set of domain-specific heuristics to rate the relevance of executable knowledge sources.

[2] Usage-domains include: The blackboard pattern provides effective solutions for designing and implementing complex systems where heterogeneous modules have to be dynamically combined to solve a problem.

This provides non-functional properties such as: The blackboard pattern allows multiple processes to work closer together on separate threads, polling and reacting when necessary.

System Structure [ 2 ]