p.1 The first blackboard system was the HEARSAY-II speech understanding system [8], that evolved between 1971 and 1976. Subsequently, many systems have been built that have similar system organization and run-time behavior. The objectives of this document are: (1) to define what is meant by "blackboard systems", and (2) to show the richness and diversity of blackboard system designs. The article begins with a discussion of the underlying concept behind all blackboard systems, the blackboard model of problem solving. In order to bridge the gap between a model and working systems, the blackboard framework, an extension of the basic blackboard model is introduced, including a detailed description of the model's components and their behavior.
p.2 In a forward-reasoning model, however, the inference steps are applied from an initial state toward a goal... In an opportunistic-reasoning model, pieces of knowledge are applied either backward or forward at the most "opportune" time.
p.2 the central issue of problem solving deals with the question of: "What pieces of knowledge should be applied when and how?" A problem-solving model provides a conceptual framework for organizing knowledge and a strategy for applying that knowledge.
p.2 The blackboard model of problem solving is a highly structured, special case of opportunistic problem solving. In addition to opportunistic reasoning as a knowledge-application strategy, the blackboard model prescribes the organization of the domain knowledge and all the input and intermediate and partial solutions needed to solve the problem.
p.3 The domain knowledge is partitioned into independent modules of knowledge that transform information on one level, possibly using information at other levels, of the hierarchy into information on the same or other levels. The knowledge modules perform the transformation using algorithmic procedures or heuristic rules that generate actual or hypothetical transformations. Opportunistic reasoning is applied within this overall organization of the solution space and task-specific knowledge: that is, which module of knowledge to apply is determined dynamically, one step at a time, resulting in the incremental generation of partial solutions. The choice of a knowledge module is based on the solution state (particularly, the latest additions and modifications to the data structure containing pieces of the solution) and on the existence of knowledge modules capable of improving the current state of the solution. At each step of knowledge application, either forward- or backward-reasoning methods may be applied.
The blackboard model is a relatively complex problem-solving model prescribing the organization of knowledge and data and the problem-solving behavior within the overall organization.
p.4 The difficulty with this description of the blackboard model is that it only outlines the organizational principles. For those who want to build a blackboard system, the model does not specify how it is to be realized as a computational entity, that is, the blackboard model is a conceptual entity, not a computational specification. Given a problem to be solved, the blackboard model provides enough guidelines for sketching a solution, but a sketch is a long way from a working system. To design and build a system, a detailed model is needed.
p.13 The focus of attention indicates the next thing to be processed. The focus of attention can be either the knowledge sources (that is, which knowledge sources to activate next) or the blackboard objects (i.e., which solution islands to pursue next), or a combination of both (i.e., which knowledge sources to apply to which objects).
p.15 There are other perspectives on the blackboard model. The blackboard model is sometimes viewed as a model of general problem solving [16]. It has been used to structure cognitive models [28].
p.16 Generally, a knowledge source uses information on one level of analysis as its input and produces output information on another level. The decision to employ a particular knowledge source is made dynamically using the latest information contained in the blackboard data structure (the current solution state). This particular approach to problem decomposition and knowledge application is very flexible and works well in diverse application domains.
p.18-19 In a paper first published in 1966 (later published in [47]), Simon mentions the term blackboard in a slightly different context from Newell. The discussion is within the framework of an information processing theory about discovery and incubation of ideas:
"In the typical organization of problem-solving program, the solution efforts are guided and controlled by a hierarchy or tree of goals and subgoals. Thus, the subject starts out with the goal of solving the original problem. In trying to reach this goal, he generates a subgoal. If the subgoal is achieved, he may then turn to the now-modified original goal. If difficulties arise in achieving the subgoal, sub-subgoals may be created to deal with them... we would specify that the goal tree be held in some kind of temporary memory, since it is a dynamic structure, whose function is to guide search, and it is not needed when the problem solution has been found... In addition, the problem solver is noticing various features of the problem environment and is storing some of these in memory... What use is made of [a feature] at the time it is noted depends on what subgoal is directing attention at that moment... over the longer run, this information influences the growth of the subgoal tree... I will call the information about the task environment that is noticed in the course of problem solution and fixated in permanent (or relatively long-term) memory the 'blackboard' ..."
Although Newell's and Simon's concerns appear within different contexts, the problem-solving method they were using was the goal-directed, generate-and-test search method. They encountered two common difficulties: the need for previously generated information during problem solving and flexible control. It was Simon who proposed the blackboard ideas to Raj Reddy and Lee Erman for the HEARSAY project.
p.37 The problem of focus of attention was defined in the context of this architecture as a problem of developing a method which minimized the total number of knowledge source executions and which achieved a relatively low rate of error. The focus-of-attention problem was viewed as a knowledge-scheduling problem as well as a resource-allocation problem? In order to control the problem-solving behavior of the system, the scheduler needed to know the goals of the task and the strategies for knowledge application to be able to evaluate the next best move. Although various general solutions to this problem have been suggested [l5], it appears that ultimately one needs a knowledge-based scheduler for the effective utilization of the knowledge sources.
p.44 All changes made to the blackboard, together with the types of these changes, were posted on the event list. Each event has a generic "change type" associated with it. An event also had associated with it a particular blackboard node (hypothesis element). An event in the event list was selected by a control module to become a focus of attention. The focus of attention then had two implicit components: a change type and a blackboard node.
p.47 the focus-of-attention problem in HASP was primarily a problem of determining which solution island to work on next, rather than a problem of which knowledge source to apply next, as in HEARSAY-II.
p.54 The focus of attention consisted of subdividing a given region to find a solution island to process next.
p.56 Within a region of interest, the selection of which node to process next was opportunistic.
p.56 In HEARSAY-II and HASP, knowledge sources were self-selecting. That is, the precondition
of knowledge sources determined whether the knowledge sources were appropriate in a given
solution state. [JLJ - in a scheme involving critical success factors, attention is placed on the knowledge source/critical success factor that scores the lowest. They are all important, but as a hypothesis for what to do next, a strategy which investigates improving the lowest-scoring of the factors might have the best chance of improving overall sustainability. This has a critical impact when entering the unknown, and subsequent demands on one's position to respond to newly discovered or unexpected stresses.]
p.76 A piece of knowledge can be used for many purposes. For example, knowledge about statistical methods can be used for processing speech, sonar, X-ray, radar, and visual signals. Whether a particular method, for example a least squares method, is useful depends on what it is to be used for, on the goals of the application problem and on the specific situation that arises while solving the problem. Thus, it is useful for a knowledge engineer to have a model that explicitly separates knowledge and the when, where, and how of applying the knowledge. The blackboard organization encourages the designer to make these separations. In addition, in a blackboard system, decisions as to when, where, and how a piece of knowledge is io be applied are made dynamically. The knowledge engineer can thus design a problem-solving strategy or set of strategies that best exploits the state of the solution. The separation also allows the knowledge to be expressed, at least in principle, in a "pure" form, unencumbered by information on how or when or where it is to be used. If the application of knowledge is in itself a complex task, then the blackboard model allows for the control to be encoded as knowledge sources that specialize in reasoning about knowledge application. This capability provides another dimension of organizational flexibility.
p.79 The blackboard model can be a useful tool for conducting research in applied artificial intelligence. The solution space of the application problem and the domain knowledge can be partitioned in many ways, and a variety of reasoning strategies can be experimented with.