Combined Fragment
Combined fragments are subunits, or sections of an interaction. The interaction operator visible in the pentagon at top left, defines the specific kind of combined fragment. The constraint thus defines the specific fragment, e.g. loop fragment, alternative fragment etc. used in the interaction.
The combined fragment icons in the icon bar allow you to insert a specific combined fragment: seq, alt or loop. Clicking the interactionOperator combo box also allows you to define the specific interaction fragment.
InteractionOperators
Weak sequencing | seq |
The combined fragment represents weak sequencing between the behaviours of the operands. |
Alternatives | alt | Only one of the defined operands will be chosen, the operand must have a guard expression that evaluates to true. If one of the operands uses the guard "else", then this operand is executed if all other guards return false. The guard expression can be entered immediately upon insertion, will appear between the two square brackets. The InteractionConstraint is actually the guard expression between the square brackets. |
Option |
opt | Option represents a choice where either the sole operand is executed, or nothing happens. |
Break |
break | The break operator is chosen when the guard is true, the rest of the enclosing fragment is ignored. |
Parallel | par | Indicates that the combined fragment represents a parallel merge of operands. |
Strict sequencing | strict | The combined fragment represents a strict sequencing between the behaviours of the operands. |
Loop | loop |
The loop operand will be repeated by the number of times defined in the guard expression.
Having selected this operand, you can directly edit the expression (in the loop pentagon) by double clicking. |
Critical Region | critical | The combined fragment represents a critical region. The sequence(s) may not be interrupted/interleaved by any other processes. |
Negative | neg | Defines that the fragment is invalid, and all others are considered to be valid. |
Assert | assert | Designates the valid combined fragment, and its sequences. Often used in combination with consider, or ignore operands. |
Ignore | ignore | Defines which messages should be ignored in the interaction. Often used in combination with assert, or consider operands. |
Consider | consider | Defines which messages should be considered in the interaction. |
Adding InteractionOperands to a combined fragment
1.Right-click the combined fragment and select New | InteractionOperand. The text cursor is automatically set for you to enter the guard condition.
2.Enter the guard condition for the InteractionOperand e.g. !passwordOK and press Enter to confirm. Use Ctrl+Enter to create a multi-line InteractionOperand.
3.Use the same method to add the second interaction operand with the guard condition "else". Dashed lines separate the individual operands in the fragment.
Deleting InteractionOperands
1.Double-click the guard expression in the combined fragment element, of the diagram (not in the Properties tab).
2.Delete the guard expression completely, and press Enter to confirm. The guard expression/interaction operand is removed and the combined fragment is automatically resized.