next up previous
Next: Autonomous Monitoring with Triggers Up: Maintaining Data Repositories Previous: Maintaining Data Repositories

Using a Blackboard Style of Communication

When a data solvable is publicly readable and writable, it may be thought of as a global data repository, which can be used cooperatively by a group of agents. In combination with the use of triggers, this allows the agents to organize their efforts around a ``blackboard'' style of communication.

As an example, the ``DCG-NL'' agent (one of several existing natural language processing agents), which provides natural language processing services for a variety of its peer agents, expects those other agents to record, on the facilitator, the vocabulary to which they are prepared to respond, with an indication of each word's part of speech, and of the logical form (ICL subgoal) that should result from the use of that word. To make this possible, when it comes online, the NL agent installs a data solvable for each basic part of speech on its facilitator. For instance, one such solvable would be

    solvable(noun(Meaning, Syntax), [], [])

(Note that the empty lists for the solvable's permissions and parameters are acceptable here, since the default permissions and parameters provide appropriate functionality.)

In the Office Assistant system, several agents make use of these services. For instance, the database agent uses the following call, to library procedure oaa_AddData, to post the noun `boss', and to indicate that the ``meaning'' of boss is the concept `manager':

    oaa_AddData(noun(manager, atom(boss)), [address(parent)])

Adam Cheyer
Mon Oct 19 17:14:26 PDT 1998