timed global protocol RemoteData(role Sensor, role Satellite, role Server) {
rec Loop {
choice at Server
{
GetData() from Server to Satellite within [0;1] using a and resetting ();
GetData() from Satellite to Sensor within [0;1] using a and resetting ();
Data(int) from Sensor to Satellite within [0;1] using a and resetting ();
Data(int) from Satellite to Server within [0;1] using a and resetting ();
continue Loop;
} or {
Stop() from Server to Satellite within [0;1] using a and resetting ();
Stop() from Satellite to Sensor within [0;1] using a and resetting ();
}
}
}