The five-page University of Oxford Finals examination dated 1 June 2015, 2:30 pm–4:00 pm, Trinity Term 2015. The cover permits answers to two of three questions. Public released archive: Lawrence Attachment.zip, member
2015-concur.pdf. Printed p. 2 covers recursion, a reversal network and semantic indistinguishability; p. 3 covers a FIFO buffer and a modified CSP interrupt; pp. 4–5 concern termination detection on a ring network. Past exam of the computer science course of the University of Oxford 2015 Concurrency 2 d Solution 2026-10-31
Write . The following five CSP operational semantics rules suffice, with always visible:Thus a CSP internal action of either operand preserves the wrapper. A visible action outside by the left operand also preserves it, whereas such an action by the right operand performs an ordinary CSP interrupt and discards the left operand. An action in requires both operands and advances both without discarding either. If both can perform the same event outside , there are two transitions with the same visible label and potentially different derivatives; neither should be deleted. The paper excludes successful termination, so no extra termination rules are needed.
Past exam of the computer science course of the University of Oxford 2015 Concurrency 2 f Solution 2026-10-31
Use fresh event tags to tell apart an action by and an interrupting action by . Put and introduce a disjoint copy . Let fix and map each to , and put . Define a process that always accepts an event from byand an ordinary CSP interrupt handler byFinally let fix every original event and send back to . A simulation containing no occurrence of the new operator isHere is the ordinary CSP interrupt, and the CSP event renaming is applied after the CSP parallel composition. It is non-injective, so part (c) explains why moving it inside would be unsafe.
Before the interrupt, 's events in synchronize with on the same events. Its events outside are unprimed and do not synchronize with . Meanwhile 's events outside are primed; they synchronize with and thereby interrupt and discard . After the first such event, the left operand is , so it imposes no further restriction on ; final CSP event renaming then yields exactly the remaining behaviour of .
For a formal strong bisimulation, relate a pre-interrupt state toand an already-interrupted state toThe three visible cases match the rules in part (d), including both transitions when both operands offer the same event outside . A CSP internal action of never activates , while a CSP internal action of remains possible exactly until the interrupt. The controller adds no CSP internal actions. Thus transitions match in both directions and related derivatives remain related.
Consequently this simulation is stronger than merely CSP trace equivalent:It preserves CSP stable states, their enabled-event sets and their CSP stable failures, and matches every possible infinite run of CSP internal actions. In particular, it introduces neither a premature commitment nor a new CSP divergence. A different simulation that guesses an interrupt with a hidden handshake would need a separate refusal analysis; the visible tagging construction above needs no hidden handshake.