ToolBus Application Specification
A specification of a ToolBus application consist of specifications for the processes inside the ToolBus, the ToolBus script, and specifications for the tools outside the ToolBus with which the ToolBus processes communicate. There are two sets of primitives, one set for communications between the processes inside the ToolBus, and one set for communications between the ToolBus processes and the tools. The first set consist oftb-snd-msg(id, id, term) tb-rec-msg(id, id, term)each taking three arguments, the identifier of the sender, the identifier of the receiver, and a term. The second set consists of the ToolBus process actions
tb-rec-event(tool-id, term) tb-snd-ack-event(tool-id, term) tb-snd-do(tool-id, term) tb-snd-eval(tool-id, term) tb-rec-value(tool-id, term)taking a tool identifier and a term as arguments, and the tool actions
tooltb-snd-event(term) tooltb-rec-ack-event(term) tooltb-rec(term) tooltb-snd-value(term)taking a single term as argument.
In the following table the primitives of the ToolBus are presented with their counterparts in the PSF ToolBus Library. The third column contains the resulting communication actions of the primitives in the PSF ToolBus Library.
ToolBus | PSF ToolBus Library | |
---|---|---|
snd-msg | tb-snd-msg | tb-comm-msg |
rec-msg | tb-rec-msg | |
snd-eval | tb-snd-eval | tooltb-rec-eval |
<function> | tooltb-rec | |
snd-do | tb-snd-do | tooltb-rec-do |
<function> | tooltb-rec | |
snd-value | tooltb-snd | tooltb-snd-value |
rec-value | tb-rec-value | |
snd-event | tooltb-snd-event | tooltb-snd-event |
rec-event | tb-rec-event | |
snd-ack-event | tb-snd-ack-event | tooltb-rec-ack-event |
<rec-ack-event> | tooltb-rec-ack-event |