Table of Contents

Interface IPseudostate

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

The public interface for Pseudostate

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

Properties

Kind

Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice. <p>From package UML::StateMachines.</p>

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

Property Value

PseudostateKind

State

The State that owns this Pseudostate and in which it appears. <p>From package UML::StateMachines.</p>

[Browsable(false)]
[XmlElementName("state")]
[XmlAttribute(true)]
[XmlOpposite("connectionPoint")]
IState State { get; set; }

Property Value

IState

StateMachine

The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint. <p>From package UML::StateMachines.</p>

[Browsable(false)]
[XmlElementName("stateMachine")]
[XmlAttribute(true)]
[XmlOpposite("connectionPoint")]
IStateMachine StateMachine { get; set; }

Property Value

IStateMachine

Methods

Choice_vertex(object, object)

In a complete statemachine, a choice Vertex must have at least one incoming and one outgoing Transition. (kind = PseudostateKind::choice) implies (incoming->size() >= 1 and outgoing->size() >= 1)

bool Choice_vertex(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_vertex(object, object)

In a complete StateMachine, a fork Vertex must have at least two outgoing Transitions and exactly one incoming Transition. (kind = PseudostateKind::fork) implies (incoming->size() = 1 and outgoing->size() >= 2)

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

History_vertices(object, object)

History Vertices can have at most one outgoing Transition. ((kind = PseudostateKind::deepHistory) or (kind = PseudostateKind::shallowHistory)) implies (outgoing->size() <= 1)

bool History_vertices(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_vertex(object, object)

An initial Vertex can have at most one outgoing Transition. (kind = PseudostateKind::initial) implies (outgoing->size() <= 1)

bool Initial_vertex(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_vertex(object, object)

In a complete StateMachine, a join Vertex must have at least two incoming Transitions and exactly one outgoing Transition. (kind = PseudostateKind::join) implies (outgoing->size() = 1 and incoming->size() >= 2)

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

Junction_vertex(object, object)

In a complete StateMachine, a junction Vertex must have at least one incoming and one outgoing Transition. (kind = PseudostateKind::junction) implies (incoming->size() >= 1 and outgoing->size() >= 1)

bool Junction_vertex(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_from_initial(object, object)

The outgoing Transition from an initial vertex may have a behavior, but not a trigger or a guard. (kind = PseudostateKind::initial) implies (outgoing.guard = null and outgoing.trigger->isEmpty())

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

Transitions_incoming(object, object)

All Transitions incoming a join Vertex must originate in different Regions of an orthogonal State. (kind = PseudostateKind::join) implies

-- for any pair of incoming transitions there exists an orthogonal state which contains the source vetices of these transitions -- such that these source vertices belong to different regions of that orthogonal state

incoming->forAll(t1:Transition, t2:Transition | let contState:State = containingStateMachine().LCAState(t1.source, t2.source) in ((contState <> null) and (contState.region ->exists(r1:Region, r2: Region | (r1 <> r2) and t1.source.isContainedInRegion(r1) and t2.source.isContainedInRegion(r2)))))

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

Transitions_outgoing(object, object)

All transitions outgoing a fork vertex must target states in different regions of an orthogonal state. (kind = PseudostateKind::fork) implies

-- for any pair of outgoing transitions there exists an orthogonal state which contains the targets of these transitions -- such that these targets belong to different regions of that orthogonal state

outgoing->forAll(t1:Transition, t2:Transition | let contState:State = containingStateMachine().LCAState(t1.target, t2.target) in ((contState <> null) and (contState.region ->exists(r1:Region, r2: Region | (r1 <> r2) and t1.target.isContainedInRegion(r1) and t2.target.isContainedInRegion(r2)))))

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