Software architecture blackboard




















The idea is to use a collection of independent programs that work cooperatively on a common data structure. Each program is specialized for solving a particular part of the overall task, and all programs work together on the solution. Specialized programs are independent of each other they might still use the output from each other.

A central control component evaluates the current state of processing and coordinates the specialized programs. This data-directed control regime is referred to as opportunistic problem solving. It allows experimenting different algorithms possible and allows experimentally-derived heuristics to control processing.

During the problem-solving process, the system works with partial solutions that are combined, changed or rejected. The set of all possible solutions is called solution space and is organized into levels of abstraction. Blackboard is used to describe the situation where a group of human experts sit in front of a real blackboard and work together to solve a problem. Divide your system into 1.

Blackboard, 2. A collection of knowledge sources, 3. Control Component. Blackboard is the central data store for solution space and control data we called that vocabulary.

Blackboard provides interface that enables all knowledge sources to read from and write to it. We use the term hypothesis or blackboard entry for solutions that are constructed during the problem solving process.

Note that the blackboard can be viewed as a three-dimensional problem space with the time line for the subject such as speech on the X-axis, increasing levels of abstraction on the Y-axis and alternative solutions on hte Z-axis.

Knowledge sources are separate, independent subsystems that solve specific aspects of the overall problem. Sometimes they are called "World Knowledge".

They do not communicate directly - they read and write to the blackboard. So, they have to understand the vocabulary of the blackboard. Knowledge source often do transformation with forward reasoning from lower level solution to higher level solution. If separate datastructures are needed, the blackboard is divided into panels. Each panel in turn may contain several levels. The Knowledge Source is a component that adds to the solution of the problem. It may be anything that reads from some level of the blackboard and suggests some change to parts of the blackboard.

Its most common form is the production rule. Knowledge Sources are completely unconnected to other Knowledge Sources. The Scheduler determines which Knowledge Source gets the chance to change the blackboard. Every execution cycle, it notices changes to the blackboard, activates the appropriate Knowledge Sources, selects one of these and executes it. The blackboard is developed in the early 's for Hearsay-II.

Its purpose was to interpret spoken sentences, in order to query a database. The speech signal was interpreted in several levels ranging from acoustic signal parameters to complete sentences. The architecture is an extension of the Production System.

In Production Systems there is also a common data structure, called working memory. It contains production rules , rules that execute any number of actions, when their preconditions are fulfilled. These rules fire directly.

The blackboard architecture adds a controller to this system and allows for more flexible ways to change the common datastructure. The problem space should be factorable into separate parts. The problem requires different forms of approaching the problem, like bottom-up and top-down reasoning. Running the program having this architecture, entails continually executing the execution cycle control, cycle. These are the steps that are continuously executed during the cycle:.

The preconditions of all Knowledge Sources are checked. The Knowledge Sources that match are added to some datastructure in the Scheduler.



0コメント

  • 1000 / 1000