Operator

The alt operator defines alternative executions of MSC sections. This means that if several MSC sections are meant to be alternatives only one of them will be executed. In the case where alternative MSC sections have common preamble the choice of which MSC section will be executed is performed after the execution of the common preamble.

The par operator defines the parallel execution of MSC sections. This means that all events within the parallel MSC sections will be executed, but the only restriction is that the event order within each section will be preserved.

The loop construct can have several forms. The most basic form is " loop <n,m> " where n and m are natural numbers. This means that the operand may be executed at least n times and at most m times. The naturals may be replaced by the keyword inf, like " loop <n,inf> ". This means that the loop will be executed at least n times. If the second operand is omitted like in " loop <n> " it is interpreted as " loop <n,n> ". Thus " loop <inf> " means an infinite loop. If the loop bounds are omitted like in "loop", it will interpreted as " loop <1,inf> ". If the first operand is greater than the second one, the loop will be executed 0 times.

The opt operator is the same as an alternative where the second operand is the empty MSC.

The exc operator is a compact way to describe exceptional cases in an MSC. The meaning of the operator is that either the events inside the <exc inline expression symbol> are executed and then the MSC is finished or the events following the <exc inline expression symbol> are executed. The exc operator can thus be viewed as an alternative where the second operand is the entire rest of the MSC.