global protocol Logging(role Controller, role Logs) { Start(int) from Controller to Logs; rec Loop { choice at Logs { Success(int) from Logs to Controller; continue Loop; } or { Failure(int) from Logs to Controller; choice at Controller { Restart(int) from Controller to Logs; continue Loop; } or { Stop(int) from Controller to Logs; } } } }