(a) In procedural programming languages, each thread of execution can be modelled as a stack of execution frames and a memory space for objects. Each procedure call places a new frame on the top of the stack, and the frames are processed from top to bottom. In a message-passing system, each frame corresponds to a message (arrow) and its target (dot).

(b) E adds a queue of frames to the model in (a). Whereas immediate calls add frames to the top of the stack, eventual sends add frames to the end of the queue, each one carrying a message and the target to whom it should be sent. The frames are processed from top to bottom and then left to right.