System Models

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 of
    tb-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.
ToolBusPSF ToolBus Library
snd-msgtb-snd-msgtb-comm-msg
rec-msgtb-rec-msg
snd-evaltb-snd-evaltooltb-rec-eval
<function>tooltb-rec
snd-dotb-snd-dotooltb-rec-do
<function>tooltb-rec
snd-valuetooltb-sndtooltb-snd-value
rec-valuetb-rec-value
snd-eventtooltb-snd-eventtooltb-snd-event
rec-eventtb-rec-event
snd-ack-eventtb-snd-ack-eventtooltb-rec-ack-event
<rec-ack-event>tooltb-rec-ack-event

Example