Animation - Send/Receive Pattern

Description. A party X engages in two causally related interactions: in the first interaction X sends a message to another party Y (the request), while in the second one X receives a message from Y (the response).

Case 1: Blocking send/receive

The task that sends the request is also responsible for collecting the response. Thus the task blocks until the interaction is completed.

Case 2: Non-blocking send/receive

After the request is sent, processing at the sender's side continues. Eventually, the receiver will reach a point where it will wait for the response.

Case 3: Blocking send/receive with fault

Same as the first case but a fault occurs during the interaction. In this example, the fault is propagated both to the requestor and the respondent. Depending on the underlying communication infrastructure and protocols used, it may happen that the requestor does not detect the fault directly, but instead keeps waiting for a response until a timer expires.
The case of "non-blocking send/receive with fault" is similar to this one except that the execution on the requestor's side does not block at the task where the message is emitted.


Previous: Receive Pattern Animation Next: Racing Messages Animation Up: List of Animations

Site created and maintained by:
Alistair Barros, SAP, Brisbane Research Centre, alistair.barros at sap.com
Marlon Dumas, BPM Research Group, Queensland University of Technology, m.dumas at qut.edu.au
Arthur ter Hofstede, BPM Research Group, Queensland University of Technology, a.terhofstede at qut.edu.au
Part of a joint initiative by SAP and Queensland University of Technology, co-funded by Queensland State Government.
This page was created on the basis of an open-source template designed by www.404creative.com