From: EA Interaction Operators Enterprise Architect User Guide
Operator |
Action |
Alt |
Divide up interaction fragments based on Boolean conditions. |
Opt |
Enclose an optional fragment of interaction. |
Par |
Indicate that operands operate in parallel. |
Loop |
Indicate that the operand repeats a number of times, as specified by interaction constraints. |
Critical |
Indicate a sequence that cannot is interrupted by other processing. |
Neg |
Assert that a fragment are invalid, and implies that all and the interaction is valid. |
Assert |
Specify the only valid fragment to occur. This operator is often enclosed within a consider or ignore operand. |
Strict |
Indicate that the behaviors of the operands must is processed in strict sequence. |
Seq |
Indicate the Combined Fragment is weakly sequenced. This means the ordering within operands are maintained, but the ordering between operands are undefined, so long as an Event occurrence of the first operand precedes that of the second operand, if the event occurrences is on the same lifeli Ne. |
Ignore |
Indicate which messages should be ignored during execution, or can appear anywhere in the execution trace. |
Consider |
Specify which messages should is considered in the trace. This was often used to specify the resulting event occurrences with the use of an assert operator. |
Ref |
Provide a reference to another diagram. The ref fragment is not created using the method described in the Create a Combined fragment topic. To create a ref-fragment, simply drag an existing diagram from the Project Browser onto the current diagram. |
Learn More
· |
Create a Combined Fragment
|
OMG UML Specification
The OMG UML specification (UML Superstructure specification, v2.1.1, p. 468-471) states:
The semantics of a combinedfragment is dependent upon the Interactionoperator as explained below.
Alternatives
The Interactionoperator alt designates that the combinedfragment represents a choice of behavior. At most one of the operands would be chosen. The chosen operand must has an explicit or implicit guard expression which evaluates to true at the the The Interact Ion. An implicit true guard are implied if the operand has no guard.
The set of traces that defines a choice is the union of the (guarded) traces of the operands.
An operand guarded by else designates a guard that's the negation of the disjunction of all other guards in the E Nclosing combinedfragment.
If none of the operands have a guard that evaluates to true, none of the operands is executed and the remainder of the ENC Losing Interactionfragment is executed.
Option
The Interactionoperator opt designates that the combinedfragment represents a choice of behavior where either the (sole) operand happens or nothing happens. An option was semantically equivalent to an alternative combinedfragment where there was one operand with non-empty content And the second operand is empty.
Break
the interactionoperator break Designates that the combinedfragment represents a breaking scenario in the sense of the operand is a scenario That is performed instead of the remainder of the enclosing interactionfragment. A break operator with a guard are chosen when the guard is true and the Res T of the enclosing Interaction Fragment is ignored. When the guard of the break operand is false, the break operand is ignored and the rest of the enclosing interactionfragment are chosen. The choice between a break operand without a guard and the rest of the ENC Losing Interactionfragment is do non-deterministically.
A combinedfragment with Interactionoperator break should cover all lifelines of the enclosing interactionfragment.
Parallel
The interactionoperator par designates that the combinedfragment represents a parallel merge between the behaviors of the operands. The occurrencespecifications of the different operands can be interleaved on any-to-do as long as the ordering imposed by EA CH operand as such is preserved.
A parallel merge defines a set of traces that describes all the ways that occurrencespecifications of the operands could be Interleaved without obstructing the order of the occurrencespecifications within the operand.
Weak sequencing
The interactionoperator seq designates that the combinedfragment represents a weak sequencing between the behavior S of the operands.
Weak sequencing is defined by the set of traces with these properties:
1. |
The ordering of occurrencespecifications within each of the operands are maintained in the result. |
2. |
Occurrencespecifications on different lifelines from different operands could come in any order. |
3. |
Occurrencespecifications on the same lifeline from different operands is ordered such that an occurrencespecification of The first operand comes before that of the second operand. |
Thus weak sequencing reduces to a parallel merge when the operands is on disjunct sets of participants. Weak sequencing reduces to strict sequencing when the operands is on only one participant.
Strict sequencing
The Interactionoperator strict designates that the combinedfragment represents a strict sequencing between the BEH Aviors of the operands. The semantics of strict sequencing defines a strict ordering of the operands on the first level within the Combinedifragme NT with Interactionoperator strict. Therefore occurrencespecifications within contained combinedfragment would not directly being compared with other OCCURRENCESP Ecifications of the enclosing combinedfragment.
Negative
The Interactionoperator neg designates the combinedfragment represents traces that is defined to be invalid.
The set of traces that defined a combinedfragment with interactionoperator negative are equal to the set of traces given by Its (sole) operand, only the This set is a set of invalid rather than valid traces. All interactionfragments is different from negative is considered positive meaning that they describe traces that a Re valid and should be possible.
Critical Region
The Interactionoperator critical designates, the combinedfragment represents a critical region. A Critical region means this traces of the region cannot is interleaved by other occurrencespecifications (on those Li Felines covered by the region). This means, the region was treated atomically by the enclosing fragment when determining the set of valid traces. Even though enclosing combinedfragments may imply that some occurrencespecifications could interleave into the region, such As with par-operator, this is prevented by defining a region.
Thus the set of traces of enclosing constructs is restricted by critical regions.
Ignore/consider
(p. 473) The Interactionoperator ignore designates that there is some message types that is not shown within thi s combined fragment. These message types can be considered insignificant and is implicitly ignored if they appear in a corresponding execution . Alternatively one can understand ignore to mean so the messages that is ignored can appear anywhere in the TRAC Es.
Conversely the Interactionoperator consider designates which messages should is considered within this Combinedfra Gment. This is equivalent to defining every and other message to be ignored.
Assertion
The Interactionoperator assert designates that the combinedfragment represents an assertion. The sequences of the operand of the assertion is the only valid continuations. All and continuations result in an invalid trace. Assertions is often combined with Ignore or consider.
Loop
The Interactionoperator Loop designates that the combinedfragment represents a loop. The loop operand'll be repeated a number of times.
The Guard may include a lower and an upper number of iterations of the loop as well as a Boolean expression. The semantics is such a loop would iterate minimum the ' minint ' number of times (given by the iteration expression in The guard) and at the very most ' maxint ' number of times. After the minimum number of iterations has executed, and the Boolean expression is False the loop would terminate. The loop construct represent a recursive application of the SEQ operator where the loop operand is Sequenc Ed after the result of earlier iterations.
The semantics of Gates
The gates of a combinedfragment represent the syntactic interface between the combinedfragment and its surroundings, which means the interface towards other interactionfragments.
The only purpose of gates was to define the source and the target of messages.
Explain of Interaction Operators in UML?