timed global protocol Recursion(role A, role B, role C) { TestInit() from A to B within [0;1] using a and resetting (); rec Loop { Test0() from A to B within [0;1] using a and resetting (); choice at A { Test1() from A to B within [0;1] using a and resetting (); Test2(payload) from A to B within [0;1] using a and resetting (); Test3() from A to B within [0;1] using a and resetting (a); Test4(payload) from A to B within [0;1] using a and resetting (a); continue Loop; } or { Test1() from A to B within [0;1] using a and resetting (); Test2(payload) from A to B within [0;1] using a and resetting (); Test3() from A to B within [0;1] using a and resetting (a); Test4(payload) from A to B within [0;1] using a and resetting (a); } } }