Table of Contents

Interface ILifeline

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

The public interface for Lifeline

[DefaultImplementationType(typeof(Lifeline))]
[XmlDefaultImplementationType(typeof(Lifeline))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Lifeline")]
public interface ILifeline : INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

CoveredBy

References the InteractionFragments in which this Lifeline takes part. <p>From package UML::Interactions.</p>

[XmlElementName("coveredBy")]
[XmlAttribute(true)]
[XmlOpposite("covered")]
ISetExpression<IInteractionFragment> CoveredBy { get; }

Property Value

ISetExpression<IInteractionFragment>

DecomposedAs

References the Interaction that represents the decomposition. <p>From package UML::Interactions.</p>

[XmlElementName("decomposedAs")]
[XmlAttribute(true)]
IPartDecomposition DecomposedAs { get; set; }

Property Value

IPartDecomposition

Interaction

References the Interaction enclosing this Lifeline. <p>From package UML::Interactions.</p>

[Browsable(false)]
[XmlElementName("interaction")]
[XmlAttribute(true)]
[XmlOpposite("lifeline")]
IInteraction Interaction { get; set; }

Property Value

IInteraction

Represents

References the ConnectableElement within the classifier that contains the enclosing interaction. <p>From package UML::Interactions.</p>

[XmlElementName("represents")]
[XmlAttribute(true)]
IConnectableElement Represents { get; set; }

Property Value

IConnectableElement

Selector

If the referenced ConnectableElement is multivalued, then this specifies the specific individual part within that set. <p>From package UML::Interactions.</p>

[Browsable(false)]
[XmlElementName("selector")]
[XmlAttribute(false)]
[Containment]
IValueSpecification Selector { get; set; }

Property Value

IValueSpecification

Methods

Interaction_uses_share_lifeline(object, object)

If a lifeline is in an Interaction referred to by an InteractionUse in an enclosing Interaction, and that lifeline is common with another lifeline in an Interaction referred to by another InteractonUse within that same enclosing Interaction, it must be common to a lifeline within that enclosing Interaction. By common Lifelines we mean Lifelines with the same selector and represents associations. let intUses : Set(InteractionUse) = interaction.interactionUse in intUses->forAll ( iuse : InteractionUse | let usingInteraction : Set(Interaction) = iuse.enclosingInteraction->asSet() ->union( iuse.enclosingOperand.combinedFragment->asSet()->closure(enclosingOperand.combinedFragment).enclosingInteraction->asSet() ) in let peerUses : Set(InteractionUse) = usingInteraction.fragment->select(oclIsKindOf(InteractionUse)).oclAsType(InteractionUse)->asSet() ->union( usingInteraction.fragment->select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)->asSet() ->closure(operand.fragment->select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)).operand.fragment-> select(oclIsKindOf(InteractionUse)).oclAsType(InteractionUse)->asSet() )->excluding(iuse) in peerUses->forAll( peerUse : InteractionUse | peerUse.refersTo.lifeline->forAll( l : Lifeline | (l.represents = self.represents and ( self.selector.oclIsKindOf(LiteralString) implies l.selector.oclIsKindOf(LiteralString) and self.selector.oclAsType(LiteralString).value = l.selector.oclAsType(LiteralString).value ) and ( self.selector.oclIsKindOf(LiteralInteger) implies l.selector.oclIsKindOf(LiteralInteger) and self.selector.oclAsType(LiteralInteger).value = l.selector.oclAsType(LiteralInteger).value ) )
implies usingInteraction.lifeline->exists(represents = self.represents and ( self.selector.oclIsKindOf(LiteralString) implies l.selector.oclIsKindOf(LiteralString) and self.selector.oclAsType(LiteralString).value = l.selector.oclAsType(LiteralString).value ) and ( self.selector.oclIsKindOf(LiteralInteger) implies l.selector.oclIsKindOf(LiteralInteger) and self.selector.oclAsType(LiteralInteger).value = l.selector.oclAsType(LiteralInteger).value ) ) ) ) )

bool Interaction_uses_share_lifeline(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Same_classifier(object, object)

The classifier containing the referenced ConnectableElement must be the same classifier, or an ancestor, of the classifier that contains the interaction enclosing this lifeline. represents.namespace->closure(namespace)->includes(interaction._'context')

bool Same_classifier(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Selector_int_or_string(object, object)

The selector value, if present, must be a LiteralString or a LiteralInteger self.selector->notEmpty() implies self.selector.oclIsKindOf(LiteralInteger) or self.selector.oclIsKindOf(LiteralString)

bool Selector_int_or_string(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Selector_specified(object, object)

The selector for a Lifeline must only be specified if the referenced Part is multivalued. self.selector->notEmpty() = (self.represents.oclIsKindOf(MultiplicityElement) and self.represents.oclAsType(MultiplicityElement).isMultivalued())

bool Selector_specified(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool