Past exam of the computer science course of the University of Oxford 2015 Concurrency 2 c Solution 2026-10-31
If is injective, the equation is true:For a CSP event , the original CSP parallel composition permits exactly when both operands can perform . After CSP event renaming, the corresponding rule requires the same image in both operands. Injectivity ensures that matching images came from the same event, and that an event outside cannot acquire the image of one inside . Independent transitions remain independent, and CSP internal actions are unchanged. Matching these transition rules gives a strong bisimulation, hence equality in all three standard CSP semantic models.
For a non-injective , the equation need not hold. LetOn the left, both events require synchronization but the other operand offers the wrong event, so . On the right, both renamed operands offer , which can synchronize:The failure is already visible in the CSP traces model. A particular non-injective CSP event renaming may still preserve a particular composition; it is the unrestricted equivalence that fails.
Past exam of the computer science course of the University of Oxford 2015 Concurrency 3 a Solution 2026-10-31
Use the intended nontrivial ring network, with , and let . A CSP event is one synchronized transfer from the predecessor to receiver , rather than a separate enqueue and dequeue. Let be the Boolean saying whether node is active. For , defineInitially the node is active:The CSP external choice in always offers both possible incoming message values as well as the permitted status change. Thus a decision to change status cannot internally withdraw readiness to receive a message. When the first message arrives, an active node forces its forwarded bit to false; an idle node preserves the bit. The status is retained until the second-round message has been forwarded. Neither the forwarding prefix nor offers status-change events, enforcing the protocol's freeze. On a false second-round message the node resumes its previous status; on a true one it forwards the bit before announcing shutdown.
Past exam of the computer science course of the University of Oxford 2015 Concurrency 3 c Solution 2026-10-31
For each node letThe required CSP alphabetized parallel composition isEach message CSP event belongs to exactly the sender's and receiver's alphabets and synchronizes those two processes. A status signal belongs only to its own node. Using the common set of all message events as an all-node synchronization alphabet would be incorrect: unrelated nodes would then have to participate in each point-to-point transfer. The initial definitions in parts (a) and (b) make every node active. Keep the message CSP events visible here; later checks can apply CSP hiding as needed.
Past exam of the computer science course of the University of Oxford 2015 Concurrency 3 d Solution 2026-10-31
This is a safety property: a bad shutdown or a later reactivation has a finite bad CSP trace. Use the CSP traces model. Let , let track active nodes, and let track nodes that have announced shutdown. Let contain every message CSP event. Define the following specification over the status-signal alphabet:Use the CSP refinement checkThe specification offers a shutdown only if the active set is empty, and offers no activation once is nonempty. A trace violating either requirement is therefore absent from the specification. Recording also prevents duplicate shutdowns and any status change by an already shut-down node. CSP hiding removes message details irrelevant to this finite bad-prefix check; a CSP traces model check alone does not assert eventual progress.
The system satisfies the check. After the first message has passed nodes , its bit is the Boolean conjunction of their being idle when sampled. Every sampled node is then frozen until it forwards the second-round decision. A true bit returning to node therefore means that every non-coordinator is idle and still frozen; the coordinator has itself remained idle. A true decision consequently reaches only idle nodes, each of which proceeds to shutdown rather than returning to . No node can subsequently become active. A false decision permits no shutdown at all.
Process algebra 2026-10-31
A process algebra describes interacting systems through CSP events, composition operators and equations relating their behaviours. Communicating sequential processes is one such framework.