blackboard pattern

12
Blackboard Architectural Pattern Andy Bulka Melbourne Patterns Group - 2004

Upload: tcab22

Post on 15-Jul-2015

18.061 views

Category:

Technology


0 download

TRANSCRIPT

BlackboardArchitectural Pattern

Andy Bulka

Melbourne Patterns Group - 2004

Intent

• is useful for problems for which no deterministic solution strategies are known.

• In Blackboard several specialised sub-systems assemble their knowledge to build a possibly partial or approximate solution.

Context

• An immature domain in which no closed approach to a solution is known or feasible.

E.g.

• A problem that, when decomposed into subproblems, spans several fields of expertise.

• The solutions to the partial problems require different representations and paradigms.

• In many cases no predetermined strategy exists for how the `partial problem solvers' should combine their knowledge.

• Each transformation step can also generate several alternative solutions. In such cases it is often enough to find an optimal solution for most cases, and a suboptimal solution, or no solution, for the rest.

Example - speech recognition

• For example, one procedure divides the waveform into segments that are meaningful in the context of speech, such as phones6. At the other end of the processing sequence, another procedure checks the syntax of candidate phrases. Both procedures work in different domains.

Example• The transformations involved require acoustic-phonetic,

linguistic, and statistical expertise. • there is no consistent algorithm that combines all the

necessary procedures for recognising speech• To make matters worse, the problem is characterized by the

ambiguities of spoken language, noisy data, and the individual peculiarities of speakers such as vocabulary, pronunciation, and syntax.

Solution

• Collection of independent programs working cooperatively on a common data structure

• Each program is specialized for solving a particular part of the overall task

• Specialised programs work independently of one another

Solution

• A central control component evaluates the current state of progress and coordinates the specialised programs

• Programs communicate via a Blackboard data structure to share results

Structure

UML

Complex theorising...

Live Exampe

• Java examples incl. Business rules

• Java AI examples

• Jython simple example