Interface ILifeline
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
DecomposedAs
References the Interaction that represents the decomposition. <p>From package UML::Interactions.</p>
[XmlElementName("decomposedAs")]
[XmlAttribute(true)]
IPartDecomposition DecomposedAs { get; set; }
Property Value
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
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
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
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.