global protocol RemoteData(role Sensor, role Satellite, role Server) { rec Loop { choice at Server { GetData() from Server to Satellite; GetData() from Satellite to Sensor; Data(int) from Sensor to Satellite; Data(int) from Satellite to Server; continue Loop; } or { Stop() from Server to Satellite; Stop() from Satellite to Sensor; } } }