Blostein outlines systems known as a ``blackboard architecture'', after the similarity to a number of human experts communicating by writing on a blackboard. This approach takes a number of independent modules that communicate via shared memory. Central to this approach is the shared memory, appropriate data structures to hold and exchange the information, and controlling logic that arbitrates and directs the access to the data.
Each module takes information from the blackboard, processes it and then puts results, possibly with confidence information, back onto the blackboard. This information is then available for other modules to work with.
One of the benefits of a blackboard architecture is that it supports multiple, possibly conflicting, hypotheses and the ability to explore them all. It also allows the easy integration of new ``knowledge sources'' to the system. It also makes it easy to set up communication between various modules, so that a high level module, for example a formula parser, can provide contextual information to a low-level module, such as a character recogniser.
This approach is also useful to bring together multiple approaches, and to be able to automatically choose between them in a given situation.
Although this approach has a number of advantages, it was not used as part of the system described by this thesis. Although it would have provided a method for exploring many different solution paths and given the ability for different parts of the system to communicate with each other, the blackboard architecture approach was not used in order to keep the overall complexity of this system down.
outlines systems known as a ``blackboard architecture'', after the similarity to a number of human experts communicating by writing on a blackboard. This approach takes a number of independent modules that communicate via shared memory. Central to this approach is the shared memory, appropriate data structures to hold and exchange the information, and controlling logic that arbitrates and directs the access to the data.
Each module takes information from the blackboard, processes it and then puts results, possibly with confidence information, back onto the blackboard. This information is then available for other modules to work with.
One of the benefits of a blackboard architecture is that it supports multiple, possibly conflicting, hypotheses and the ability to explore them all. It also allows the easy integration of new ``knowledge sources'' to the system. It also makes it easy to set up communication between various modules, so that a high level module, for example a formula parser, can provide contextual information to a low-level module, such as a character recogniser.
This approach is also useful to bring together multiple approaches, and to be able to automatically choose between them in a given situation.
Although this approach has a number of advantages, it was not used as part of the system described by this thesis. Although it would have provided a method for exploring many different solution paths and given the ability for different parts of the system to communicate with each other, the blackboard architecture approach was not used in order to keep the overall complexity of this system down.