Table of Contents

Class MessageOccurrenceSpecification

Namespace
NMF.Interop.Uml
Assembly
NMF.UMLInterop.dll

A MessageOccurrenceSpecification specifies the occurrence of Message events, such as sending and receiving of Signals or invoking or receiving of Operation calls. A MessageOccurrenceSpecification is a kind of MessageEnd. Messages are generated either by synchronous Operation calls or asynchronous Signal sends. They are received by the execution of corresponding AcceptEventActions. <p>From package UML::Interactions.</p>

[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//MessageOccurrenceSpecification")]
public class MessageOccurrenceSpecification : OccurrenceSpecification, IMessageOccurrenceSpecification, IMessageEnd, IOccurrenceSpecification, IInteractionFragment, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inheritance
MessageOccurrenceSpecification
Implements
Derived
Inherited Members

Properties

Children

Gets the child model elements of this model element

public override IEnumerableExpression<IModelElement> Children { get; }

Property Value

IEnumerableExpression<IModelElement>

ClassInstance

Gets the Class model for this type

public static IClass ClassInstance { get; }

Property Value

IClass

Message

References a Message. <p>From package UML::Interactions.</p>

[XmlElementName("message")]
[XmlAttribute(true)]
public IMessage Message { get; set; }

Property Value

IMessage

Methods

EnclosingFragment()

This query returns a set including the enclosing InteractionFragment this MessageEnd is enclosed within. result = (if self->select(oclIsKindOf(Gate))->notEmpty() then -- it is a Gate let endGate : Gate = self->select(oclIsKindOf(Gate)).oclAsType(Gate)->asOrderedSet()->first() in if endGate.isOutsideCF() then endGate.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()-> union(endGate.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet()) else if endGate.isInsideCF() then endGate.combinedFragment.oclAsType(InteractionFragment)->asSet() else if endGate.isFormal() then endGate.interaction.oclAsType(InteractionFragment)->asSet() else if endGate.isActual() then endGate.interactionUse.enclosingInteraction.oclAsType(InteractionFragment)->asSet()-> union(endGate.interactionUse.enclosingOperand.oclAsType(InteractionFragment)->asSet()) else null endif endif endif endif else -- it is a MessageOccurrenceSpecification let endMOS : MessageOccurrenceSpecification = self->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() in if endMOS.enclosingInteraction->notEmpty() then endMOS.enclosingInteraction.oclAsType(InteractionFragment)->asSet() else endMOS.enclosingOperand.oclAsType(InteractionFragment)->asSet() endif endif) <p>From package UML::Interactions.</p>

public ISetExpression<IInteractionFragment> EnclosingFragment()

Returns

ISetExpression<IInteractionFragment>

GetClass()

Gets the Class for this model element

public override IClass GetClass()

Returns

IClass

GetExpressionForReference(string)

Gets the property expression for the given reference

protected override INotifyExpression<IModelElement> GetExpressionForReference(string reference)

Parameters

reference string

The requested reference in upper case

Returns

INotifyExpression<IModelElement>

An incremental property expression

GetModelElementForReference(string, int)

Resolves the given URI to a child model element

protected override IModelElement GetModelElementForReference(string reference, int index)

Parameters

reference string

The requested reference name

index int

The index of this reference

Returns

IModelElement

The model element or null if it could not be found

IsReceive()

This query returns value true if this MessageEnd is a receiveEvent. message->notEmpty() result = (message.receiveEvent->asSet()->includes(self)) <p>From package UML::Interactions.</p>

public bool IsReceive()

Returns

bool

IsSend()

This query returns value true if this MessageEnd is a sendEvent. message->notEmpty() result = (message.sendEvent->asSet()->includes(self)) <p>From package UML::Interactions.</p>

public bool IsSend()

Returns

bool

OppositeEnd()

This query returns a set including the MessageEnd (if exists) at the opposite end of the Message for this MessageEnd. message->notEmpty() result = (message->asSet().messageEnd->asSet()->excluding(self)) <p>From package UML::Interactions.</p>

public ISetExpression<IMessageEnd> OppositeEnd()

Returns

ISetExpression<IMessageEnd>

SetFeature(string, object)

Sets a value to the given feature

protected override void SetFeature(string feature, object value)

Parameters

feature string

The requested feature

value object

The value that should be set to that feature