repeat at <Role> { "," <Role> }* "{" ... "}"
The repeat construct represents the 'while' style loop. A decision will be
made at one or more nominated roles. If more than one located role is defined,
then all of those roles must synchronize in their decision making, using some
non-observable mechanism.
The first activity contains within the repetition construct must be initiated
at one of the located roles associated with the construct.
The syntax for the repeat construct is:
repeat at <Role> { "," <Role> }* "{" ... "}"
The following example shows a repeat construct, located at the
Buyer role. This means that the Buyer will
be responsible for deciding when to iterate, and when to terminate
the repetition.
It also means that the initial activity (in this case interaction)
defined within the repeat construct must be initiated by the Buyer.
In this case, the Buyer is sending an Order
message to the Seller.
repeat at Buyer { Order from Buyer to Seller; Invoice from Seller to Buyer; }