Interface IPseudostate
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
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
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
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.