explicit timed global protocol Dns(role Client, role Server, role Other) { query(Addr, Packet) connect Client to Server within [0;1] using a and resetting (); choice at Server { dummy() connect Server to Other within [0;1] using a and resetting (); answer(Addr, Packet) from Server to Client within [0;1] using a and resetting (); } or { query(Addr, Packet) connect Server to Other within [0;1] using a and resetting (); answer(Addr, Packet) from Other to Server within [0;1] using a and resetting (); answer(Addr, Packet) from Server to Client within [0;1] using a and resetting (); } }