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]

Structure

edit

The blackboard model defines three main components:

  • blackboard—a structured global memory containing objects from the solution space
  • knowledge sources—specialized modules with their own representation
  • control component—selects, configures and executes modules.[2]

Implementation

edit

The first step is to design the solution space (i.e. potential solutions) that leads to the blackboard structure. Then, knowledge sources are identified. These two activities are closely related.[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]

System Structure[2]

Applications

edit

Usage-domains include:

Consequences

edit

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:

  • reusability
  • changeability
  • robustness.[2]

The blackboard pattern allows multiple processes to work closer together on separate threads, polling and reacting when necessary.[1]

See also

edit

References

edit
  1. ^ a b c "Blackboard Design Pattern". Microsoft TechNet. Microsoft. Retrieved 5 February 2016.
  2. ^ a b c d e f g h Lalanda, P. (1997), Two complementary patterns to build multi-expert systems (PDF), Orsay, France: Thomson CSF Corporate Research Laboratory

📚 Artikel Terkait di Wikipedia

Software design pattern

A software design pattern describes a reusable solution to a commonly needed behavior in software. A design pattern is not a rigid structure to be copied

Behavioral pattern

A behavioral pattern is a software design pattern for collaboration between objects. Examples include: Blackboard design pattern Provides a computational

List of software architecture styles and patterns

pattern "Public versus Published Interfaces" Asynchronous messaging Batch request (also known as Request Bundle pattern) Blackboard (design pattern)

Blackboard (disambiguation)

application Blackboard (design pattern), in software engineering Blackboards (2000), an Iranian film All pages with titles containing Blackboard All pages

Blackboard system

blackboard system is an artificial intelligence approach based on the blackboard architectural model, where a common knowledge base, the "blackboard"

Conway's Game of Life

the fates of various small starting configurations using graph paper, blackboards, and physical game boards, such as those used in Go. During this early

Nationality Rooms

support heavy Bibles. The blackboard is patterned after a triptych, or three-leafed frame which holds icons. The doors of the blackboard are a grille of wooden

Test Card F

in the picture. The BBC website previously featured Bubbles next to a blackboard with "404" inscribed on it when a user visited a page that did not exist;