Return to CLIP Main Page
Next: Producer-Consumer: Linda Version
Up: Document: distrib_imperial
Previous: Outline
- Blackboards + linda stile interaction: basic but very useful
means of communication and synchronization.
- Present in many systems: SICStus, BinProlog/-Prolog,
&-Prolog/CIAO, ...
- Basic features:
- out/1: write tuple
- rd/1: read tuple
- in/1: remove tuple
- rd_noblock/1 and in_noblock/1
- in/2 and rd/2 (on disjunctions)
- Possibly, have several (possibly hierarchical) blackboards -
then, extra argument to primitives specifies which blackboard.
Also, specification of location of blackboard, creation of clients,
etc.
- Implementation approaches:
- Blackboard is a Prolog process. Tuples maintained via
assert/retract. Communication, e.g., via sockets (allows
Internet-wide use of the blackboard).
- Support blackboard internally in system (possibly, in
conjunction with asserted database).
- Mixed approach: local vs. remote blackboards.
- Clients can be created using standard process creation
primitives (e.g., ``sh'' and ``rsh''), or dedicated port servers.
<herme@fi.upm.es>-< webmaster@clip.dia.fi.upm.es>
Last updated on Mon Mar 31 21:20:55 MET DST 1997