This code demonstrates a simple update mechanism, wherein all input ports of a component are blocked, until the component reaches a checkpoint, at which it can update. Next, the ports are unblocked and the program resumes its execution.
The mechanism to determine when to block the ports and when to update a component is currently handwritten, but we intend to generate this from the (automaton) specification of the components.