Table of Contents

Interface ITransition

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

The public interface for Transition

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

Properties

Container

Designates the Region that owns this Transition. <p>From package UML::StateMachines.</p>

[Browsable(false)]
[XmlElementName("container")]
[XmlAttribute(true)]
[XmlOpposite("transition")]
IRegion Container { get; set; }

Property Value

IRegion

Effect

Specifies an optional behavior to be performed when the Transition fires. <p>From package UML::StateMachines.</p>

[Browsable(false)]
[XmlElementName("effect")]
[XmlAttribute(false)]
[Containment]
IBehavior Effect { get; set; }

Property Value

IBehavior

Guard

A guard is a Constraint that provides a fine-grained control over the firing of the Transition. The guard is evaluated when an Event occurrence is dispatched by the StateMachine. If the guard is true at that time, the Transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed. <p>From package UML::StateMachines.</p>

[Browsable(false)]
[XmlElementName("guard")]
[XmlAttribute(false)]
[Containment]
IConstraint Guard { get; set; }

Property Value

IConstraint

Kind

Indicates the precise type of the Transition. <p>From package UML::StateMachines.</p>

[XmlElementName("kind")]
[XmlAttribute(true)]
TransitionKind Kind { get; set; }

Property Value

TransitionKind

RedefinedTransition

The Transition that is redefined by this Transition. <p>From package UML::StateMachines.</p>

[XmlElementName("redefinedTransition")]
[XmlAttribute(true)]
ITransition RedefinedTransition { get; set; }

Property Value

ITransition

Source

Designates the originating Vertex (State or Pseudostate) of the Transition. <p>From package UML::StateMachines.</p>

[XmlElementName("source")]
[XmlAttribute(true)]
IVertex Source { get; set; }

Property Value

IVertex

Target

Designates the target Vertex that is reached when the Transition is taken. <p>From package UML::StateMachines.</p>

[XmlElementName("target")]
[XmlAttribute(true)]
IVertex Target { get; set; }

Property Value

IVertex

Trigger

Specifies the Triggers that may fire the transition. <p>From package UML::StateMachines.</p>

[Browsable(false)]
[XmlElementName("trigger")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<ITrigger> Trigger { get; }

Property Value

IOrderedSetExpression<ITrigger>

Methods

ContainingStateMachine()

The query containingStateMachine() returns the StateMachine that contains the Transition either directly or transitively. result = (container.containingStateMachine()) <p>From package UML::StateMachines.</p>

IStateMachine ContainingStateMachine()

Returns

IStateMachine

Fork_segment_guards(object, object)

A fork segment must not have Guards or Triggers. (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::fork) implies (guard = null and trigger->isEmpty())

bool Fork_segment_guards(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

Fork_segment_state(object, object)

A fork segment must always target a State. (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::fork) implies (target.oclIsKindOf(State))

bool Fork_segment_state(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

Initial_transition(object, object)

An initial Transition at the topmost level Region of a StateMachine that has no Trigger. (source.oclIsKindOf(Pseudostate) and container.stateMachine->notEmpty()) implies trigger->isEmpty()

bool Initial_transition(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

Join_segment_guards(object, object)

A join segment must not have Guards or Triggers. (target.oclIsKindOf(Pseudostate) and target.oclAsType(Pseudostate).kind = PseudostateKind::join) implies (guard = null and trigger->isEmpty())

bool Join_segment_guards(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

Join_segment_state(object, object)

A join segment must always originate from a State. (target.oclIsKindOf(Pseudostate) and target.oclAsType(Pseudostate).kind = PseudostateKind::join) implies (source.oclIsKindOf(State))

bool Join_segment_state(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

Outgoing_pseudostates(object, object)

Transitions outgoing Pseudostates may not have a Trigger. source.oclIsKindOf(Pseudostate) and (source.oclAsType(Pseudostate).kind <> PseudostateKind::initial) implies trigger->isEmpty()

bool Outgoing_pseudostates(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

State_is_external(object, object)

A Transition with kind external can source any Vertex except entry points. (kind = TransitionKind::external) implies not (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint)

bool State_is_external(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

State_is_internal(object, object)

A Transition with kind internal must have a State as its source, and its source and target must be equal. (kind = TransitionKind::internal) implies (source.oclIsKindOf (State) and source = target)

bool State_is_internal(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

State_is_local(object, object)

A Transition with kind local must have a composite State or an entry point as its source. (kind = TransitionKind::local) implies ((source.oclIsKindOf (State) and source.oclAsType(State).isComposite) or (source.oclIsKindOf (Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint))

bool State_is_local(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