For adding other case in an Alternative, option , parallel , you have in the palette an element name operand.
This element appears as a second area to define your aletrenative , option …
Thanks for your quick answer. It worked !
But now I have a problem to enter the name of the choices. When I enter a name (see screenshot), it disappears as soon as I press Enter
in fact, you cannot add a guard on diagram.
You have to doubble click on operand and create an opaque expression ( click on button with a pen icon in the operand wizard or use the three dot button to reuse an opaque expression).
this expression allows you to linked you condition with element model ( auto completion is available with CTRL + SPACE)
Thanks again for your answer.
I was able to add the names, but I think I miss some basic notions : I don’t know what is a “guard”, nor an “opaque expression”. I searched the Capella documentation for them, and couldn’t find anything.
BTW, the link you provided in your message doesn’t work.
the documentation is not up to date about this concept.
A guard is a condition on your operand that must be filled to activate your sequence. this concept is UML one and it is used also in State machine.
An opaque expression is the content of a constraint. aim to create this element is to create a reusable element element in your model to apply same contraint on several element.
From the UML 2.5 doc.:
An OpaqueBehavior is a Behavior whose specification is given in a textual language other than UML. An OpaqueBehavior has a body that consists of a sequence of text Strings representing alternative means of specifying the required behavior. A corresponding sequence of language Strings may be used to specify the languages in which each of the body Strings is to be interpreted. Languages are matched to body Strings by order. The UML specification does not define how body Strings are interpreted relative to any language, though other specifications may define specific language Strings to be used to indicate interpretation with respect to those specifications (e.g., “OCL” for expressions to be interpreted according to the OCL specification). NOTE. It is not required to specify the languages. If they are unspecified, then the interpretation of any body Strings shall be determined implicitly from the form of the bodies or the context of use of the OpaqueBehavior. If an OpaqueBehavior has more than one body String, then any one of the bodies can be used to determine the behavior of the OpaqueBehavior. The UML specification does not determine how this choice is made.