1986. BackLog: From Blackboard Sys- The Nature and Applicability of the Blackboard

advertisement
1986.
(Schwartz, 1993) Schwartz, D.G. and Stirling, L.S., BackLog: From Blackboard System to Process-Oriented Prolog, in De Boschere, 1993.
(Velthuijsen, 1992) Velthuijsen, H., The Nature and Applicability of the Blackboard
Architecture, Ph.D. thesis, Dept. of Computer Science, University of Limburg,
Maastricht, The Netherlands, 1992.
REFERENCES
(Brogi, 1991) Brogi, A. and Ciancarini, P., The Concurrent Language, Shared Prolog,
TOPLAS, Vol. 13, No. 1, pp. 99-123, 1991.
(Craig, 1987) Craig, I.D., The BB-SR System, Department of Computer Science, University of Warwick, Research Report No. 94.
(Craig, 1988) Craig, I.D., Blackboard Systems, Artificial Intelligence Review Volume
2, pp. 103-118,1988.
(Craig, 1989) Craig, I.D., The CASSANDRA Architecture, Ellis Horwood, Chichester,
1989.
(Craig, 1991a) Craig, I.D., The Formal Specification of Advanced AI Architectures, Ellis Horwood, Chichester, 1991.
(Craig, 1991b) Craig, I.D., Rule Interpreters in ELEKTRA, Department of Computer
Science, University of Warwick, Research Report 191b.
(Craig, 1992) Craig, I.D., Blackboard Systems, Ablex Pub. Corp., Norwood NJ, 1992.
(Craig, 1993a) Craig, I.D., Formal Techniques in the Development of Blackboard Systems, International Journal of Pattern Recognition and Artificial Intelligence,
1993.
(Craig, 1993b) Craig, I.D., A Reflective Production System, Kybernetes, to appear.
(De Bosschere, 1993) De Boschere, K., Jacquet, J.-M. and Tarau, P. (eds.), Proc. ICLP
93 Post Conference Workshop on Blackboard-Based Logic Programming, Budapest, 1993.
(Engelmore, 1998) Engelmore, R. and Morgan, T., Blackboard Systems, Addison-Wesley, Wokingham, 1988.
(Erman, 1975) Erman, L.D, and Lesser, V.R., A Multi-level Organization for Problem
Solving Usign Many, Diverse, Cooperating Sources of Knowledge, Proc. IJCAI-4,
Vol. 2, pp. 483-490, 1975.
(Gelernter, 1985) Gelernter, D., Generative Communication in Linda, TOPLAS, Vol. 7,
No. 1, pp. 80-112, 1985.
(Gelernter, 1992) Gelernter, D., Mirror Worlds, OUP, 1992.
(Hayes-Roth, 1979) Hayes-Roth B. and Hayes-Roth, F., A Cognitive Model of Planning, Cognitive Science, Vol. 3, pp. 275-310, 1979.
(Hayes-Roth, 1985) Hayes-Roth, B., A Blackboard Model for Control, Artificial Intelligence, Vol. 26, pp. 251-322, 1985.
(Hayes-Roth, 1986) Hayes-Roth, B., Garvey, A., Johnson, M.V. and Hewitt, M., BB*:
A Layered Environment for Reasoning about Action, Technical Report No. KSL
86-38, Knowledge Systems Laboratory, Stanford University, 1986.
(Johnson-Laird, 1993) Johnson-Laird, P.N., The Computer and The Mind, 2nd edition,
Fontana Press, London, 1993.
(Newell, 1962) Newell, A., Some problems of the basic organization in problem-solving programs, Yovits, M.C., Jacobi, G.T. and Goldstein, G.D. (eds), Proc. Second
Conference on Self-Organizing Systems, pp. 393-423, Spartan Books, 1962.
(Nii, 1986a) Nii, H.P., Blackboard Systems Part One, AI Magazine, Vol. 7, No. 2, pp.
38-53, 1986.
(Nii, 1986b) Nii, H.P., Blackboard Systems Part Two, AI Magazine, Vol. 7, No. 3, pp.
82-106, 1986.
(Nii, 1986c) Nii, H.P. and Rice, J.P., CAGE and POLIGON: two Frameworks for
Blackboard-Based Concurrent Problem Solving, Technical Report KSL 86-41,
Knowledge Systems Laboratory, Stanford University, 1986.
(Padget, 1993) Padgett, J. et al., Programming Language Eulisp, School of Mathematics, University of Bath, 1993.
(Rice, 1986) Rice, J.P., POLIGON: A System for Parallel Problem Solving, Technical
Report No. KSL 86-19, Knowledge Systems Laboratory, Stanford University,
is publicly accessible and is represented in a form that can be interpreted by all agents
in the system. The agents that form the system may use the representation employed for
the blackboard or may use one that is more restricted in scope: however, it is not possible for an agent to use a representation that it and only it can understand—for all uses
of representation that leads to communication, there must be a representation that can
be understood by at least one other agent.
The new interpretation of the architecture is designed to make use of meta-level information in order to encode control information. Even though the individual agents
that comprise a system are somewhat restricted in power, together they have enough
power to reason about themselves as a complete system; indeed, we foresee systems
that contain agents that are dedicated to meta-level reasoning and to performing metalevel tasks. Such agents would have access to the contents of the blackboard process in
the normal way, but would perform tasks at a level higher than most of the other agents
in the system. Meta-level agents would also have the ability to bring other agents into
existence and to remove them from the system. Because of the possibility that systems
communicate in a variety of ways (principally, over a communications network), metalevel agents may also be responsible for initiating and terminating communications
channels (this is, it must be admitted, to be examined in more detail).
This recursive structure conveys great power to the new structure. The new architecture is designed in terms of independent processes. Each agent is a process, as is the
blackboard. Agents may employ idiosyncratic internal representations: they must agree
on the public representations which they use to communicate with each another on the
blackboard. In addition to this concurrency, the architecture is also designed to be distributed. It is possible to connect systems using a non-local communications mechanism (indeed, it is possible to distribute the components of a single system so that, for
example, the blackboard process resides on a processor different from that on which
one or more agents execute) into a network of systems. We have discussed this as well
as the possibility of recursively embedding systems in other systems of similar structure. For example, what appears in one system to be a single agent may, in reality, be
an entire system composed of agent and blackboard processes.
We first stated our new interpretation of the blackboard architecture in a lecture during February, 1992. It is, however, far older in conception and resulted (in a fashion
analogous to our CASSANDRA architecture (Craig, 1989, 1991a)) from dissatisfaction
with the conventional (HEARSAY-II based) interpretation of the blackboard metaphor.
The concept of embedding—which we find particularly exciting because of its promise
and because of its resemblance to many theories in cognitive science (see JohnsonLaird, 1993)—originally occurred to us while working on ways of improving knowledge source power in conventional blackboard systems. Embedding remains one of the
problems that we need to address in future work on the new interpretation.
We anticipate constructing a testbed implementation of the new interpretation using
EuLisp during the next few months. In the first implementation, we will provide facilities for executing configurations over a network of processors and for instantiating
agents and systems so that embedding will be possible. We hope to report on progress
in the relatively near future.
Embedding
System
Embedded
System
Figure 4. The embedding of one system within another. The interface between
the two systems is provided by an agent that belongs to the embedded system.
This interface agent is responsible for ensuring that the embedding system
‘sees’ the embedded one as a complete agent (and not another system belonging
to the cluster).
The introduction of embedded systems leads to an interesting and important structuring principle. A system constructed using the new interpretation may be composed of
embedded clusters of systems. In other words, it may be composed of a hierarchy of
systems, each appearing as an agent to the next highest level in the hierarchy. Information can be passed up and down the hierarchy (and perhaps in other directions, too) in
order to solve problems and perform other tasks. As one progresses down the hierarchy,
the ability of systems to perform complex tasks will decrease until one reaches what
amounts to a motor or perceptual level. It is also expected that the amount of meta-level
processing will decrease as one descends the hierarchy. Only in the topmost levels of
the hierarchy can one expect meta-level processing to be present.
Embedding also provides an analytic tool of some value: it allows processes to be collected together and viewed as being the result of the processing of a single agent—the
fact that the agent is composed of a complex, interacting collection of systems is of no
relevance to the analysis at that level. The analysis process (which is part of the design
of systems built using the new interpretation) continues in a recursive fashion until
some agreed bottom layer is encountered.
4 CONCLUSIONS
We have now presented the outlines of our new interpretation of the blackboard metaphor. Our interpretation differs from the conventional one in assigning greater functionality and power to the agents which represent the problem-solving agents of the original
metaphor. The increase in agent functionality is a result of modelling them on the complete experts of the metaphor. Our experts are independently executing processes that
communicate either via a shared blackboard database or directly by message passing.
The blackboard is interpreted as a separate process which contains information that is
publicly available to all agents in a system. The information stored on the blackboard
forms the basis of the recursive embedding of systems.
System 1
System 2
Figure 3. Two interconnected systems. The agent midway between the two systems (depicted as the cross-hatched circle) communicates with both blackboard
processes and can transfer information from System 1 to System 2 and vice versa. It can also engage in purely internal processing that is dependent upon information from both these sources.
In addition to the flat and sharing configurations, it is possible to structure clusters in
a recursive manner. In this structuring, an entire system looks like an agent. This allows
agents to be composed of complete systems, and, therefore, to implement complex
functions. A recursive configuration can be constructed from a shared configuration: an
interface (sub-)agent is designated to communicate with the embedding blackboard.
The interface (sub-)agent accesses the embedded blackboard and is responsible for
transferring information from the embedded to the embedding blackboard. It may be
necessary to engage in representation changes across this interface because, it may be
assumed, the objects and structures represented on the embedded blackboard will have
smaller scope and refer to external objects of smaller grain than those on the embedding
blackboard.
The essential property of an embedded blackboard system is that the interface to it,
as far as the embedding blackboard is concerned, is identical to that presented by an ordinary agent. From the viewpoint of the embedding blackboard, the embedded system
is an agent. (Note that one consequence of embedded systems is that they may be treated as instantiable entities—they are, in this respect, akin to agents, and many instances
of the same system type may be present in a cluster at any time.) The embedded configuration is shown in Figure 4.
Figure 2. The flat configuration of systems. Each of the component systems is
able to communicate with others in the cluster. There is no implicit hierarchy.
In order to communicate, a system needs to know of the name and location of
the other system.
In Figure 2, we have retained the convention we adopted for Figure 1: blackboard processes are represented by ellipses and agents by circles. Communications channels between agents and their local blackboard processes are depicted by thin undirected lines.
The Figure shows three such local systems. The thicker black lines connecting the three
blackboard processes represent communications channels between blackboard processes: these channels are bi-directional and will typically connect systems that are physically distributed. It is to be expected that each of the three blackboard processes shown
in Figure 2 will run on its own processor: the channels between blackboard processes
will be implemented by communications network services (for example, a Unix socket).
Given the flat configuration, it is possible to introduce hierarchical structure into the
arrangement of systems in a cluster. There is no need to introduce special mechanisms
in order to support hierarchical clusters. All that is needed is for systems to record the
relationships which hold between them and their acquaintances (in the sense of Hewitt).
The existence of hierarchical (or heterarchical) clusters implies restrictions on the kinds
of message that can be exchanged between systems.
When a system becomes part of a cluster, it receives messages from its acquaintances
and it sends messages to them. Given the distributed nature of clusters, message passing
is the principal method of information exchange. When a message arrives at a system,
the communications agent determines whether the information contained in the message should be posted on the blackboard so that it becomes available to the agents within the system. We anticipate that the vast majority of traffic between systems in a
cluster will be of such a kind that it is posted on the local blackboard. Other information
is, of course, possible: housekeeping and control information are example types—some
of this information might be of general interest, of course, and we do not make any prescriptions at present about how it should be handled.
Given the relatively loose structuring of a system, it is quite possible for suitably
equipped agents to belong to more than one system. That is, an agent may access the
contents of and write to more than one blackboard. In such a case, the agent can participate in the processing of two (or more) systems. We refer to this configuration as the
‘sharing’ configuration. The additional equipment needed by an agent in order to support this kind of configuration is the ability to send and receive messages from a remote
blackboard. The basic concept of the shared configuration is depicted in Figure 3: it
between the blackboard and the agents in the system are represented by lines: the channels are intended to be bi-directional.
3 CONFIGURATIONS
We refer to a blackboard process and a collection of agents as a ‘system’. Systems are
to be thought of as independent entities that are able to solve complex problems using
distributed control schemes. Each system will be relatively expert in some domains and
will be able to solve some kinds of problem, but they are not expert in all domains, nor
can they solve every kind of problem. Furthermore, each system will be relatively constrained by the processing power available to it and by local constraints on inter-process
communication.
It is possible to view a system as a model of a single agent that is composed of a number of concurrently active modules that communicate via a shared working memory.
Under this interpretation, a system represents a single agent: the agent being represented is of larger scope than the agent components that comprise the system. If the single
agent interpretation is adopted, it can be seen that such an agent may need to communicate with other, similar agents in order to solve complex problems. In other words,
the new blackboard metaphor interpretation leads to the construction of collection of
individual systems, each system being an element in a distributed collection of problem
solvers.
When this possibility is admitted, it can be seen that the resources of systems can be
pooled in order to form larger systems of greater power. What is needed is some means
of communication between systems and some way of interpreting communication.
Communication can be achieved at the architecture level by allowing one or more
agents to control communications with other systems. The blackboard process, in this
case, maintains information about the other systems with which its system communicates. Such information needs to be public within a system in order that the system’s
agents be able to access it in order to engage in acts of communication with other systems. Together with low-level information such as network addresses, the blackboard
process maintains information about what is known of these other systems—for example, their areas of expertise, their apparent status (are they fully occupied on a problem
or do they have spare capacity? what is the apparent state of progress on a mutual problem? and so on). This information can be accessed by the agents in a system in order to
determine how, what and when to communicate.
The interface agents mentioned above are responsible for co-ordinating communication with other systems. They send to and receive information from other systems and
are responsible for registering information about other systems when requests come to
initiate communications. As with agents, other systems must register with a system before communication can take place. This is so that the various systems can maintain information about the systems with which they communicate. The information held by a
system about communicating systems is subject to the censorship mechanisms mentioned above: this is because we do not always expect every agent in a system to be able
to engage in communications with agents outside the system (perhaps the term ‘local
system’ would be clearer).
The model of communication that we have just described is the one familiar from
multi-agent systems. We will call it the ‘flat’ communications configuration because all
systems are arranged in a flat topology: no hierarchy is implied by the description. We
refer to a collection of individual systems as a ‘cluster’. The flat configuration is shown
in Figure 2.
schedulers, given their need to access relatively large amounts of information, can pose
the threat of becoming bottlenecks; furthermore, centralised control may, because of
communication delays, lead to inappropriate behaviours. The bottleneck occurs because the agents in the new interpretation are concurrently active: the control decisions
made by a central controller will be dependent upon messages from the blackboard and
from the various agents of the system which are being consulted—these messages are
the responses from the various system components to information requests made by the
scheduler—the load imposed by the processing of these messages may be very high.
Furthermore, control decisions need, often, to be made within a very short time of the
need for a decision being detected; if the controller is dependent upon sending messages
and waiting for replies, a delay necessarily is incurred. This has the consequence that
decisions may not necessarily be made in sufficient time. There is also the possibility
that one of the agents in the system may have disappeared: this has the implication that
control decisions must be made in the face of incomplete information.
The new interpretation we propose is composed of agents that are relatively powerful.
As we noted above, agents are allowed to engage in their own, local control processing.
Agents are able to inspect and update the blackboard and they are permitted to engage
in direct (and private) communications with other agents. Even though we do not want
our agents to be too powerful, we do expect them to be able to make decisions based
upon a variety of factors—the state of the blackboard, recent events, the state of the
non-blackboard environment. We intend the new interpretation to be closer to the situation with human agents in the original blackboard metaphor: this suggests that control
should be distributed across our agents. We therefore allow agents to control themselves and to mediate their interactions via the blackboard as well as by means of oneto-one communications between themselves (that is, we now explicitly allow agents to
talk directly to each other in order to, as it were, hold conversations). We intend that
global control of the kind assumed by the conventional interpretation should not occur;
of course, we will allow global control if absolutely necessary, but we prefer to distribute it across agents and to equip agents with various policies—for example, turn taking
as a means of regulating interactions across the blackboard. The introduction of communications policies is, we believe, a novel aspect of the new architecture. Like all such
devices, though, policies will serve only as guidelines that we expect our agents to follow: deviation from norms as well as developments of them are possible.
The general form of a system of agents and their blackboard process is shown in Figure 1.
Blackboard
Process
Agents
Figure 1. The basic structure of a system constructed using the new interpretation of the blackboard metaphor.
In Figure 1, the blackboard process is represented by the shaded ellipse; the agents
which use the blackboard are represented by shaded circles. Communications channels
and the task to be handled). Obligatory information includes:
• The name of the agent and its location.
• The events of which the agent should be notified.3
• The requests the agent makes of the blackboard process.
Clearly, the blackboard process needs to know the name of each of the agents which
will use it. An agent is located in a particular place: in order to communicate with an
agent, the blackboard process needs to know where it is (this amounts to the agent’s network address). The blackboard process needs to know the event types that are of interest to an agent in order that it can inform the agent when an event of one of the given
types occurs: some agents will, of course, be interested in all events, so the specification
must cater for this (as well as the case in which an agent is not to be informed of any
events—this is not possible in the conventional interpretation, but may be of use to systems using the new interpretation). Requests have to be registered so that the blackboard process can honour them. An agent can register any number of event
specifications and requests—this includes zero.
Discretionary information might include:
• The tasks which an agent can perform.
• The acquaintances of an agent (i.e., the agents which the registering one
knows about and is prepared to make public).
Information of any kind that is stored on the blackboard as the result of agent registration is potentially available to be disseminated to other agents, should it be requested.
For example, an agent may request the blackboard to inform it of the events in which
another agent is interested; an agent may, equally, request the blackboard to inform it
of the acquaintances of another agent, or the names and locations of all the agents that
use the blackboard process.
Some agents may require that some of the information that is stored on the blackboard
may only be disseminated amongst a trusted subset of the agents in the system. For example, an agent may only allow the blackboard process to tell a restricted population of
the agents in the system of its acquaintances. Mechanisms are provided (the censor
mechanism mentioned above) to provide such restricted access to information, and restriction information is stored on the blackboard. Agents which are not trusted with information will be refused access to information when they attempt to make requests that
are forbidden to them. Highly trusted agents may have access to the information about
access rights.
In the conventional interpretation of the blackboard architecture, there is a central
control component called the scheduler. The scheduler is responsible for imposing and
controlling the use of all strategies and tactics used by the system. The scheduler has
information on the capabilities of the knowledge sources contained in the system and
also has access to the contents of the central database (the blackboard). The new interpretation, like others (e.g., BLONDIE-II (Velthuijsen, 1992)) separates the global blackboard from the experts that comprise the system. In this organisation, the global
database is encapsulated in a separate process and experts can access it only via an explicit protocol. Furthermore, the new interpretation considers experts as independent,
autonomous entities which possess a private state. A scheduler, in the conventional
sense, would need to have access to the state of the central, global blackboard and to
the state of the various agents if it is to perform in a manner akin to that in the conventional interpretation.
A form of centralised scheduling is possible: one based on meta information stored in
the blackboard could perform scheduling tasks somewhat similar to those in the conventional scheduler. However, and we believe this to be a major point, centralised
3.
Initially, at least, we allow agents to register event notification data only when they are created.
Perhaps it will be necessary to make registration of this kind of information a dynamic process.
message can be posted on the blackboard: the message is marked so that it
must be destructively read (this could also be implemented by a distributed
or implicit protocol). A set of agents is active and attempts to read the message. Because of the arbitration mechanisms implemented by the blackboard process, only one agent is able to read the message at a time. When
the message is read, it is deleted from the blackboard. This ensures that only
one agent will receive the message and act upon it: the other agents who
tried to read the message are, essentially, locked out of the transaction and
so cannot participate in the task mentioned by the message (or alternatively:
cannot make use of the information mentioned by the message). Destructive
read can also be used as an inhibitory mechanism: messages can contain
also prohibitions.
In the conventional interpretation, deletions of entries on the blackboard are not performed. In our new interpretation, we allow destructive read as well as a mechanism to
delete clusters of entries. The general deletion mechanism is allowed because the blackboard is no longer considered to be the main repository of state information: the state
representation is distributed across the agents in a system.
Agents can also request the blackboard process to perform actions when events with
certain, specified properties, occur. One example of such a requested action (or request
for short) is to send messages to some agents when an event occurs2. That is, when an
event of a particular kind occurs, the blackboard sends a message to a number of agents
(probably informing them of the event, although the message may contain arbitrary information). This message-sending activity is caused by the blackboard process satisfying a request that was made by one of the agents in the system. The agents which are
contacted in this way would probably not otherwise receive notification of the event.
However, an arbitrary action can be performed as the result of a request. Requests may
specify arbitrary conditions which are to be satisfied (as a precondition of the action)
before the action can be performed: the condition may relate to an event, but it can also
refer to the state of the blackboard database. Another class of operation that can be requested is for messages to be sent to non-local destinations (see below for details).
In certain circumstances, it is necessary only for agents to receive what amounts to a
summary of what is on the blackboard. In other circumstances, some agents may not
have any need to know about some kinds of information. To handle these cases, the
blackboard process may be set up to summarise and censor information.
The blackboard can also inform agents that they should stop processing. Such stop
messages might instruct agents to terminate or merely inform them that there is no need
for their results. The form of this kind of message depends upon the application.
When an agent is introduced into the system, it must register with the blackboard process. We allow agents to be dynamic and to come into and go out of existence at any
time: agents can create agents—a kind of reproductive behaviour—either by explicit
construction or by copying. (Each agent can be thought of as an abstract data type or
object in an object-oriented programming language.)
The blackboard can also contain a specification of the agents to be created (recall that
agents are akin to classes of object in an object-oriented language). The blackboard can
create agents by instantiating the specifications of the agents whose specifications it
contains. This instantiation mechanism can be invoked by the blackboard itself as a result of some internal action or decision, or it can be invoked as a result of the reception
of a message from some external source.
When an agent is added to the system by either mechanism, it must inform the blackboard process of a variety of information, some of which is obligatory, and some discretionary (whether information is obligatory or discretionary depends upon the agent
2.
Reqests can be thought of as a kind of demon.
dependent processes, so the blackboard database is a shared data structure. Some way
of controlling access to the blackboard so that the Readers and Writers problem can be
solved. We do this by placing the blackboard in an separate process called the blackboard process (or just blackboard, for simplicity and uniformity). Agents communicate
with the blackboard by sending messages. Messages from agents can be of two forms:
(1) Messages containing information to be added to the blackboard, or information that updates something already present on the blackboard. These message
types correspond to those found in conventional blackboard systems.
(2) Messages requesting information from the blackboard. Information from the
blackboard may be in the form of a set of objects that satisfies some predicate
supplied in the request from the agent. An example of this is the find operation
familiar from blackboard systems. Find returns a set of objects stored on the
blackboard that satisfy some arbitrary predicate. The find operation is often associated with other set operations, so we provide such operations for agents to
use. The blackboard itself can apply set operations to collections of objects that
it stores. As will become clear, the blackboard in the new interpretation can contain information of more varied types than in the conventional interpretation:
any of the information held on the blackboard can be requested by agents—this
allows agents to reason about other agents, as well as themselves (even though
we prefer not to require reflection).
The blackboard in the new interpretation has much more power than the conventional
blackboard monitor. As part of its function, the blackboard still implements operations
familiar from conventional blackboard monitors. In particular, the blackboard in the
new interpretation performs the task of informing agents of state changes that might be
of interest: this corresponds directly to the event-based triggering function provided by
conventional blackboard systems (for example, BB1 (Hayes-Roth, 1985, 1986) and NBB
(Craig, 1987)). In the new interpretation, agents must inform the blackboard process of
the events in which they are interested: this requires that agents send the blackboard
process messages that inform it of what kinds of events it should notify them of. When
an event of a particular kind (say the addition of a completely new piece of information)
occurs, the blackboard process determines which agents need to know of the event and
sends each a message containing a specification of the event. Upon receipt of such information, agents may process it in various ways, for example determining that some
action must be performed.
The new interpretation also allows blackboard entries to be destructively read. That
is, the reader of an entry can (optionally) take a copy of the entry and then remove the
original from the blackboard. This operation is similar to the destructive read in Gelernter’s (1985) LINDA. This feature allows a number of operations to be performed in the
new interpretation that are hard to perform in the traditional one and that are relatively
useful. In particular, destructive read allows agents to perform the following operations:
• Agents can post entries on the blackboard that are to be read by a specified
agent. When that agent has read the entry, the entry is deleted: this ensures
that the blackboard does not become cluttered with unwanted data.
• Destructive read can also be used to implement private communications between agents in the sense that an entry can be marked with the name of a
reader agent. No other agent is able to read the contents of that entry. Once
the reader has obtained the message (entry), the message is deleted so that
privacy can be maintained.
• Destructive read can be used to implement a competitive mechanism. A
es, so much so that we now term them agents. The difference between our interpretation
of experts and those of the conventional interpretation is that under our interpretation,
our agents, have internal states of arbitrary complexity (hence have private information
and processes) and can engage in purely internal processing that is not directly visible
to other agents. An agent in the new interpretation is closer to the original notion of an
expert. Agents run concurrently (and may have concurrently executing components, we
think this desirable but do not require it), so that they may engage in problem solving
activities in parallel with the problem-solving activities of other agents; they may also
engage in problem-solving activities at the same time as other agents are manipulating
the blackboard. The blackboard is no longer the central focus of the architecture: it is
still there, but agents do not rely upon it for all their state information.
Agents are active the whole time the system is running. At any one time, an agent will
be interacting with the blackboard, engaging in purely internal problem-solving activity
or communicating with other agents. Purely internal problem-solving activity is invisible to all other agents until the agent doing it makes an explicit act of communication
about it: other agents remain ignorant1 about the internal activities of an agent until the
agent tells them about what it has been doing.
Velhuijsen (1992) points out that there are two main uses of the blackboard in the
conventional interpretation. The first is as a representation of the solution process’
state; the second is as a communication medium. Most implemented blackboard systems combine these two functions. Indeed, we combine them in the new interpretation,
but agents in our new interpretation do not rely upon the blackboard to record all state
information because they are able to represent their own, local (persistent) state. Public
communication is performed via the blackboard as in the conventional interpretation,
but private information can also be retained and manipulated.
Our reinterpretation of the blackboard metaphor involves the amplification of the activities that experts can perform. As has been noted above, agents are able to engage in
continuous processing, some of which is invisible to other agents in the system (and to
observers of the system). As a consequence of this, agents possess internal states which
are of a far more permanent nature than in the conventional interpretation. The internal
state of an agent plays a part in determining the actions that an agent will take during
problem-solving and other activities. In other words, agents in the new interpretation
have a history and, moreover, a sense of history.
Agents possess the knowledge required to solve problems, and they also contain information about communication. They know about other agents (unlike knowledge
sources in the conventional interpretation) and their specialist skills. Agents also possess meta-knowledge and are able to reflect and introspect: all the advantages of reflection and introspection are had by agents. We do not expect agents to be able to model
themselves or other agents, for that will probably make them much more complex than
we desire—this is not a multi-agent system in the conventional sense. What we allow
in the new interpretation is for agents to choose the best or most suitable way for them
to solve their current problem, and they can also decide whether to make a contribution
and how to make it. We allow agents to employ their own, internal, control regimes in
flexible ways: we also allow agents to plan if the need arises. Agents now have a considerably more power than in the conventional interpretation, but not as much as in a
multi-agent system.
The blackboard database retains its central position in our interpretation. It is the
place where all public information is stored: it is a shared database. Agents are allowed
to inspect the contents of the database, and they are allowed to update it. Agents are in1.
Strictly speaking, agents may try to figure out what is going on inside another agent, but they
can only be certain of what has actually occurred when the agent in question says what has happened
(assuming that the agent is truthful about its cogitations).
nication that assume the existence of other, specific, knowledge sources. A further consequence is that knowledge sources should make no assumptions
whatsoever about the information and representations that are required by other,
specific, knowledge sources. In other words, knowledge sources should be totally ignorant of all other knowledge sources, their existence and their representations: they should never assume that a particular knowledge source is present
in the system. The direct posting of information of the kind under consideration
violates this assumption in both ways.
It should be noted that even though the modularity assumption was prominent in the
HEARSAY-II literature, the actual implementation of HEARSAY-II involved direct communication between knowledge sources by means of shared variables. Furthermore,
special slots were present in blackboard hypotheses for inter-knowledge source communication. The assumption in (3) above was clearly violated. Since that time, however, inter-knowledge source communication has tended to follow the norms.
What is even more important for present purposes is that the differences between internal and public representations becomes blurred in the conventional interpretation.
There is, to be sure, a distinction between what is posted on the blackboard and what
remains inside a knowledge source. Yet, communication between knowledge sources
in the conventional interpretation of the metaphor is not confined to communication between instances of two different knowledge sources: it extends to communication between two instances of the very same knowledge source. In other words, if a knowledge
source is to retain state information across invocations, it must post information on the
blackboard. This does not necessarily violate the modularity assumption (point (3)
above), but it certainly serves to make construction, manipulation and consistency
maintenance considerably more difficult. (It can be argued that communication across
invocations of the same knowledge source does violate (3) above because each invocation deals with a different activation context.)
The main point for us is that the assumptions underpinning part of the blackboard architecture force what is properly internal to a knowledge source to become public. Such
a problematic situation is forced on us by the way in which knowledge sources are instantiated and then destroyed once they have been applied (in a sense, knowledge
sources are like functions in functional programming—they hold no permanent state
and are applied and then only to go out of existence).
The absence of permanent local state is what makes control within knowledge sources
in the conventional interpretation into such a trivial matter. Since there is no permanent
state within knowledge sources, the only problem that they face, once their execution
begins, is which change to make to the blackboard. Knowledge sources in the conventional interpretation are unable to make global decisions and are also able only to make
decisions based upon the current blackboard state (plus the triggering state which may
have obtained some considerable time before execution). There is no historical information retained within a knowledge source that can be used in making decisions; any
such information must be held on the global blackboard, thus incurring problems (1)
and (2) above.
In summary, the conventional interpretation forbids knowledge sources from having
their own histories. Furthermore, all historical information must be made public, even
if it is properly (logically) private to a particular knowledge source. We may summarise
the above arguments thus:
All information that is to be remembered must be made public.
The issue of public versus private information leads to the next point of difference between the two interpretations: our interpretation requires more of our knowledge sourc-
What is needed is a common vocabulary (or representation system) for external representations. This common representation is an agreed or imposed code for communication amongst experts. The style or method of encoding (representation) within an
expert is not directly relevant to the common representation, with the exception that everything that can be externally (i.e., publicly) represented must be representable in the
internal representations of experts. Whether translation is required to convert items in
the public representation to internal (i.e., expert-specific) representation is basically irrelevant—if there is such translation, the translation process must be very rapid. Furthermore, it is necessary that we adopt a totally neutral position with respect to the
translation process itself: it may be the case that atomic public items are represented internally as a complex structure (that is, it may be the case that there is not always a oneone correspondence between items in the public and internal representations).
Although we will allow abstraction levels and will certainly encourage the use of abstraction, we prefer to avoid making it a necessary component of our new interpretation.
We prefer, instead, that experts maintain their own views on abstraction and the organisation of abstractions. We also prefer that experts do not become burdened with unnecessary and, perhaps, inappropriate abstractions (publicly agreed ones, that is).
The second point relates to the use of the blackboard by knowledge sources and experts in the original metaphor and in the conventional interpretation. The conventional
interpretation requires all communication between knowledge sources to be implemented in terms of alterations to the blackboard. When two knowledge sources need to
communicate some information, that information must be posted on the global blackboard in order to make such communication possible. This has the following consequences:
(1) The information thus posted is completely public in the sense that any
knowledge source may inspect or update it. It is possible that a knowledge
source (the poster) posts the information on the blackboard. Then the scheduler
executes at least one other knowledge source before the second knowledge
source reads the information put there by the poster. Note that this requires that
the poster be aware of the need on the part of the second for the information—
see point (3) below. During the intervening period in which other knowledge
sources are executed, it is possible for any one of them to update the information
posted on the blackboard by the poster. In other words, it is possible for any of
the intervening knowledge sources to destroy the information being communicated, thus confounding the communication.
(2) The information to be communicated must be represented in a form that is
unreadable by knowledge sources other than those that engage in the act of communication. Here, by ‘unreadable’, we mean that, typically, it must be named
by an attribute or set of attributes that are not used by (indeed, are unknown to)
other knowledge sources. This has two consequences. The first is that the representation employed on the blackboard is complicated by the addition of all
these new attributes (which are, in any case, only of local interest—by design,
they do not represent anything that is necessary to the global solution). The second is that knowledge sources must, in effect, be aware of which representations
or attributes are used by other knowledge sources. This leads to the third problem.
(3) An assumption about knowledge sources in the conventional interpretation
is that they are totally modular. That is, it is possible to add or remove knowledge sources with the only consequence that the system’s performance improves or degrades as a function of the available knowledge. A consequence of
this assumption is that knowledge sources must not engage in acts of commu-
the one described below for a number of years (since 1985, in fact), but have not proposed it for the reason that we did not have available a platform which supported concurrent and distributed processing: now we do (we have EuLisp).
It is, though, the naturalness of the interpretation that makes it appealing, not its relationship to a newly available technology or implementation techniques. We strongly
believe that powerful models come first and that implementations must be found for
them: this is, in many ways, similar to the original situation with the blackboard metaphor. We will continue to refer to the conventional interpretation of the blackboard architecture below in order that readers familiar with it may use its concepts in
understanding our new model.
Our new interpretation retains the concepts of central blackboard and of a group of
experts who are collectively solving a problem that one expert alone could not solve.
The experts in the new interpretation still operate on the blackboard and still respond to
changes on it: the addition or modification of information by one expert can still be
monitored by other experts, and experts may also consider entire collections of items
on the blackboard and to group or otherwise operate on them. Experts can, in the new
interpretation, delete information that is stored on the blackboard: this allows items to
be posted on the blackboard that are to be read by designated experts and it also allows
competition between experts (the first expert to read the item gets the information and
no other expert is allowed access to that item). The information posted on the blackboard can also serve an inhibitory role: it can forbid experts to work on some problem
or to post certain classes of information. We will consider this last use in a later section.
The blackboard retains its status as the primary repository for public information. Experts are still required to watch the blackboard and to change the blackboard state in
order to make public contributions to the problem-solving process.
As in the conventional interpretation, the blackboard is a public, global database that
holds the results generated by the experts who are solving the current problem. There
are differences between our new interpretation and the conventional one:
• The blackboard is not necessarily divided into abstraction levels or panels.
• Information placed on the blackboard by an agent is information that the
agent wants to make public.
• The blackboard is a form of persistent message store amongst other things
(it also serves as a database very much in the sense of a conventional blackboard database—the two functions are not irreconcilable). Part of our view
of the blackboard is similar to Gelernter’s LINDA tuple store (Gelernter,
1985).
We will discuss each of these points in turn.
In the conventional interpretation, the blackboard is divided into a hierarchy of abstraction levels. There be more than one hierarchy, in which case, the blackboard is divided into panels or planes, each having a different topic, but all relating to the overall
problem-solving process. The abstraction hierarchy can be considered an outline plan
for solving the problem (this view is reported by Nii (1986a)) or as a skeletal representation within which to describe the solution in different ways (this is a consequence of
our view of representation in blackboard systems, see Craig, 1993a). In the present setting, we decided not to adopt abstraction levels because, in the context of a group problem-solving episode, they represent a unique, agreed view of the problem: that is, all
experts within the group must agree that the abstraction hierarchy represents the best or
most appropriate framework for solving the problem. We believe that this is overly restrictive and that such agreement may be only superficial within real groups—we suspect that such agreements may be, on many occasions, agreements more to do with
group harmony than with real concord, and that in real groups, experts will maintain
their own abstractions and translate between them and the publicly agreed ones as and
when the need arises.
to experiment with knowledge sources that exhibited somewhat richer internal control:
specifically, knowledge sources were permitted to use meta-knowledge to control the
execution of the their component rules. Such a use of meta-knowledge was purely local
in nature and extent and could not guide problem-solving activities at a more global
scale (Nii, ibid., claimed that meta-knowledge must be no more than local in scope).
Even with these extensions, CAGE knowledge sources remain unable to engage in strategic, tactical and planned behaviour. One reason for this is that CAGE is based on the
conventional interpretation of the metaphor, and, consequently, its knowledge sources
are really sequential in form (CAGE allows the user optionally to have knowledge source
actions execute concurrently, but control at the finest grain remains sequential). Knowledge sources cannot rely on purely local information (i.e., information which is entirely
stored within themselves) between invocations. That is, they are forbidden to retain
state information between activations or invocations: all state information is, at least
conceptually, maintained on the global blackboard and is, therefore, open to modification by other knowledge sources. Once a knowledge source instance has executed, all
of the information contained and manipulated by that instance is, in effect, lost (it could
be reconstructed from the blackboard and a history of events—such a history is made
available by the Blackboard Control Architecture of Hayes-Roth (1985), but is computationally expensive to extract).
Within relatively conventional systems such as CAGE, knowledge sources are of a particular kind: this kind is not really implied by the blackboard metaphor, only by the
needs of a certain way of implementing the metaphor as a working program. The fundamental idea is that a knowledge source is instantiated in accordance with a particular
context on the blackboard; once instantiated, the knowledge source is executed to update the blackboard and the instance is then immediately deleted. The information contained within an instance is transitory. As a consequence, knowledge sources tend to be
relatively inflexible in their internal behaviour; it should also be noted that there has
been a tendency to reduce the size and scope of knowledge sources (a point we have
previously made (Craig, 1989)): this also tends to reduce the need for internal control
beyond that provided by the implementation language or by production rules (or by
Prolog clauses).
2.2 A New Interpretation
For a number of years, we have been concerned that the conventional interpretation of
the blackboard metaphor was, in many ways, too closely tied to a particular method of
implementation (even though it can be argued that we have, ourselves, contributed to
this interpretation’s popularity, for example in Craig, 1988). Specifically, the conventional interpretation—what has become the “blackboard architecture”—despite many
disclaimers, is founded on the sequential implementation of the metaphor in which centralised control is necessary. Central control was introduced because it is the easiest
way to control the actions of the knowledge sources a system contains. We have attempted to move away from central control with our (now defunct) CASSANDRA architecture (Craig, 1989, 1991a).
We consider that there is a genuine need for the original metaphor to be reconsidered
in new ways. Nii and Rice have attempted an exactly similar exercise: this resulted in
the POLIGON system (Rice, 1986). Like CASSANDRA, POLIGON was relatively unsuccessful, but for different reasons—POLIGON was never able to achieve the speed increases demanded of it. Our new proposals have little to do with speed; instead, we
want to re-interpret the metaphor in what we believe is a more natural fashion than the
conventional interpretation.
It must be admitted that the interpretation that we propose is partly motivated by the
availability of suitable technology. We have been considering an approach similar to
nally, we examine some of the possible configurations for systems constructed using
the new interpretation: these configurations are quite natural and bear close resemblances to the mirror worlds work of Gelernter (1992). We will consider reflection and
introspection in the new architecture elsewhere: we do not want to burden the reader
too much.
Acknowledgements
The author would like to express his thanks to Patricia Charlton of the University of
Bath for suggesting that the ideas presented in this paper should be committed to paper
and for lending a copy of the workshop proceedings edited by De Bosschere et al.
(1993). I would also like to thank my wife Margaret for helping me with the typing of
the manuscript, thus preventing me from further aggravating my RSI.
2 A NEW INTERPRETATION OF THE METAPHOR
The original blackboard metaphor (Newell, 1962) considers a group of experts who are
jointly solving a problem that cannot be solved by a single individual. Each expert
brings specialist knowledge to the problem. The experts solve the problem by writing
on a physical blackboard. They may write and draw things on the blackboard and may
also read what is present. The problem is solved when the experts collectively decide
that it is solved.
The blackboard metaphor is clearly about group problem-solving activity. In the metaphor, the experts observe what the others write on the blackboard and responds either
to single items that have been written there or to collections of items that appear on the
blackboard. It is important to note that experts can notice individual items as well as
collections of them: experts can respond to simple information as well as complexes.
Part of the problem-solving behaviour that is exhibited by the agents is concerned with
connecting things together on the blackboard. While one expert is writing or drawing
something on the blackboard, the others can be thinking about what they have seen or
working on some part of the problem—the problems solved by such groups are assumed to be such that they can be decomposed into relatively independent sub-problems. The behaviour of the experts is clearly concurrent: they do things while other
experts are active.
2.1 The Conventional Interpretation
The metaphor is restricted somewhat in the conventional interpretation of the metaphor
(Craig, 1988, 1991a, 1992; Engelmore, 1988; Nii, 1986a, 1986b). The experts are active sequentially: access to the blackboard is sequential. No two experts are able to access the blackboard at the same time; when one expert is active, the others are typically
inactive. There is also a central scheduling or control mechanism that mediates all activity by the experts. The scheduler implements control schemes that determine which
experts become active and when. The scheduler, to a good approximation, controls access to the blackboard. Furthermore, in a real group problem-solving session, experts
will work on the blackboard by erasing as well as adding items; in the conventional interpretation, erasure is typically absent (though see (Craig, 1989) for an approach to deletion) because it introduces, inter alia, problems of non-monotonicity and dependency
analysis.
In the conventional interpretation, experts are seen as relatively straightforward sequential knowledge sources. Internal control in a knowledge source is usually simple,
amounting to little more than the use of conditionals and iteration inherited from the
implementation language (at least, this is the case in many LISP implementations).
Nii (personal communication, 1985) has informed us that CAGE (Nii, 1986c) was used
ming systems based on a shared memory model.
The logical blackboard model consists of a central, shared database (working memory
or blackboard) and a collection of knowledge sources which interact via the blackboard. Each knowledge source is an independent process that sends messages to and receives messages from the blackboard. Unlike the traditional blackboard architecture,
the logical blackboard architecture does not require that the central database be constructed as a partially ordered collection of sub-databases, called abstraction levels. In
some interpretations (e.g., Schwartz, 1993), the blackboard is divided into abstraction
levels, but they are considered to be unordered, and abstraction plays no part in the
functioning of the system. Furthermore, knowledge sources in logical blackboard systems are not structured as they are in the traditional interpretation of the architecture.
The traditional interpretation of knowledge sources is that they are at least bi-partite in
structure: they are composed of a precondition and an action. The precondition must be
satisfied before the action can be executed to change the blackboard state. The precondition typically monitors the blackboard for significant changes: it is these changes that
enable the knowledge source’s action. Knowledge sources in most logical blackboard
systems are much closer to theories in the logical sense. They contain facts and inference rules; they can also send information to the shared blackboard and can receive information from it. Unlike the traditional interpretation of the blackboard architecture,
logical blackboard systems typically have no notion of centralised control: in a traditional blackboard system, one of the most important components is the scheduler or
central control component. Control in logical blackboard systems is much more distributed than in the traditional case.
In this paper, we will describe a new interpretation of the blackboard metaphor. The
design is currently being implemented in EuLisp (Padget, 1993) on a network of Sun
workstations. The design we present below actually has a history that is longer than logical blackboard systems: we have been considering some of these ideas for approximately ten years, having previously experienced problems with the traditional
blackboard architecture (see Craig, 1987, for hints and information). More recently, we
have experimented with some of the concepts we now employ in our work on the ELEKTRA production system (Craig, 1991b, 1993).
Our aims in presenting the new design are as follows:
• To outline an alternative interpretation of Newell’s original blackboard metaphor (Newell, 1962). The new interpretation, we believe does the metaphor
more justice than the line of development that started with HEARSAY-II (Engelmore, 1988; Erman, 1975).
• To explore reflective and introspective processing in a concurrent problemsolving context. The context can either be considered to represent parallelism
within an agent or a group of agents who are able to form and articulate beliefs
about themselves and others in a public form.
• To provide a highly modular, yet structured architecture to support concurrent
and distributed problem solving as well as research into cognitive architectures.
Whether one views the architecture as being a model of group problem-solving activity or as a collection of concurrently executing subsystems within a single individual
makes for a change of perspective that can be more or less illuminating. For the rest of
this paper, we will sometimes consider the system as a model of group activity using a
shared resource, sometimes as just a piece of software, and sometimes as a model of a
collection of agents within a single physical being. Where confusion is possible, we will
make clear what our position is.
The paper is organised as follows. In the next section, we describe the architecture
and relate it to Newell’s original metaphor. Following the exposition of the basics of
the system, we will describe how reflection and self-modelling enter the picture. We
will argue that considerable amounts of power can be derived from these additions. Fi-
A NEW INTREPRETATION OF THE
BLACKBOARD METAPHOR
Iain D. Craig
Department of Computer Science
University of Warwick
Coventry CV4 7AL
UK
email: idc@dcs.warwick.ac.uk
ABSTRACT
This paper describes a new interpretation of Newell’s blackboard metaphor of group problem-solving activity. The new interpretation considers the experts of the metaphor to be
independent, concurrently active, agents that communicate by
posting information on a shared memory (the blackboard). The
blackboard in our new intepretation is expanded in functionality and is implemented as a concurrently executing process.
The blackboard is able to perform tasks such as agent creation,
message direction and forwarding, and message censorship.
We outline all of these functions and compare them with the
conventional (HEARSAY-II derived) interpretation of the metaphor. We end by indicating some of the various ways in which
the new intepretation can be used to construct systems that are
distributed as well as parallel; as part of this, we show how the
blackboard structures of the new interpretation can be recursively composed (embedded) to produce complex systems built
from simple components.
© 1993, I. D. Craig
1 INTRODUCTION
The logical blackboard model (Brogi, 1991; De Bosschere, 1993) has recently developed from two sources: logic programming and the blackboard architecture (Craig,
1988, 1991a, 1992; Engelmore, 1988; Nii, 1986a, 1986b). Apart from the fact that the
logical foundations of the new variety of blackboard system are much clearer than those
of traditional blackboard systems (a point which becomes abundantly clear when the
size of a semantics of a traditional blackboard system is considered—an example of a
semantics can be found in (Craig, 1991)), logical blackboards are intended as concurrent systems. Indeed, some of the earliest publications describing logical blackboard
systems are explicitly concerned with the construction of concurrent logic program-
Download