timed global protocol Logging(role Controller, role Logs) { Start(int) from Controller to Logs within [0;1] using a and resetting (); rec Loop { choice at Logs { Success(int) from Logs to Controller within [0;1] using a and resetting (); continue Loop within [0;1] using a and resetting (); } or { Failure(int) from Logs to Controller within [0;1] using a and resetting (); choice at Controller { Restart(int) from Controller to Logs within [0;1] using a and resetting (); continue Loop within [0;1] using a and resetting (); } or { Stop(int) from Controller to Logs within [0;1] using a and resetting (); } } } }