Software Disclaimer

Class UML 2.3::Message

Description:

A message defines a particular communication between lifelines of an interaction.

Direct Superclasses: NamedElement

Direct Subclasses:

Class Precedence List: Message, NamedElement, Element

Properties:

argument : ValueSpecification (0 *); -- source Message
connector : Connector (0 1); -- source Message
interaction : Interaction (1 1); -- source Message
messageKind : MessageKind (1 1); -- source Message
messageSort : MessageSort (1 1); -- source Message
receiveEvent : MessageEnd (0 1); -- source Message
sendEvent : MessageEnd (0 1); -- source Message
signature : NamedElement (0 1); -- source Message

The definition of the type or signature of the Message (depending on its kind). The associated named element is derived from the message end that constitutes the sending or receiving message event. If both a sending event and a receiving message event are present, the signature is obtained from the sending event.
{readonly, derived}
The spec does not provide a function to compute this derived property!

clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement
visibility : VisibilityKind (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: signature_refer_to() : Boolean;
Description: The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall) or a Signal (in which case messageSort is asynchSignal). The name of the NamedElement referenced by signature must be the same as that of the Message.
Expression: true

Signature: signature_is_signal() : Boolean;
Description: In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Arguement is of the same Class or a specialization of that of the Attribute.
Expression: true

Signature: signature_is_operation() : Boolean;
Description: In the case when the Message signature is an Operation, the arguments of the Message must correspond to the parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.
Expression: true

Signature: sending_receiving_message_event() : Boolean;
Description: If the sending MessageEvent and the receiving MessageEvent of the same Message are on the same Lifeline, the sending MessageEvent must be ordered before the receiving MessageEvent.
Expression: true

Signature: occurrence_specifications() : Boolean;
Description: If the MessageEnds are both OccurrenceSpecifications then the connector must go between the Parts represented by the Lifelines of the two MessageEnds.
Expression: true

Signature: cannot_cross_boundaries() : Boolean;
Description: Messages cannot cross bounderies of CombinedFragments or their operands.
Expression: true

Signature: arguments() : Boolean;
Description: Arguments of a Message must only be: i) attributes of the sending lifeline ii) constants iii) symbolic values (which are wildcard values representing any legal value) iv) explicit parameters of the enclosing Interaction v) attributes of the class owning the Interaction
Expression: true

Operations:

No additional operations.



Send questions or comments to [email protected].