A Combined Fragment reflects a piece or pieces of interaction (called interaction operands) controlled by an interaction operator, whose corresponding boolean conditions are known as interaction constraints. It displays as a transparent window, divided by horizontal lines for each operand.
The following diagram illustrates the use of Combined Fragments, with a Sequence diagram modeling a simplified purchasing process. A loop fragment is created to iterate through an unknown number of items for purchase, after which the cashier requests payment. At this point, two payment options are considered and an alternative fragment is created, divided to show the two operands: cash and credit card. After the fragment completes its trace, the cashier gives a receipt to the customer, under the fulfilled condition that payment requirements were met.
The order of interaction fragment conditions can be changed directly on the diagram:
|1.||Select an interaction fragment with more than one condition defined; up and down arrows appear on the right hand side of the each condition.|
|2.||Click on the appropriate arrow to change the order.|
|•||In order to select a Combined Fragment, you must click near the inside edge or drag a selection rectangle around the Fragment; this prevents accidental selection when moving connectors inside the Fragment|
|•||Once contained within a Fragment or a Fragment operand, messages continue to be contained by it as they are moved in the diagram|
|•||A Fragment on a Sequence diagram will resize when a message within it is moved down, to continue to contain that message|
|•||To move a Combined Fragment independently of its contents, press and hold ( Alt ) as you move it|
|•||Interaction Operand Condition and Message Behavior (in Model Simulation)|
OMG UML Specification
The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 467) states:
A combined fragment defines an expression of interaction fragments. A combined fragment is defined by an interaction operator and corresponding interaction operands. Through the use of CombinedFragments the user will be able to describe a number of traces in a compact and concise manner.