Class Pseudostate
A Pseudostate is an abstraction that encompasses different types of transient Vertices in the StateMachine graph. A StateMachine instance never comes to rest in a Pseudostate, instead, it will exit and enter the Pseudostate within a single run-to-completion step. <p>From package UML::StateMachines.</p>
[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Pseudostate")]
public class Pseudostate : Vertex, IPseudostate, IVertex, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inheritance
-
Pseudostate
- Implements
- Inherited Members
Properties
ClassInstance
Gets the Class model for this type
public static IClass ClassInstance { get; }
Property Value
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)]
public PseudostateKind Kind { get; set; }
Property Value
ReferencedElements
Gets the referenced model elements of this model element
public override IEnumerableExpression<IModelElement> ReferencedElements { get; }
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")]
public 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")]
public 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)
public 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)
public 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
GetAttributeValue(string, int)
Resolves the given attribute name
protected override object GetAttributeValue(string attribute, int index)
Parameters
Returns
- object
The attribute value or null if it could not be found
GetClass()
Gets the Class for this model element
public override IClass GetClass()
Returns
GetExpressionForAttribute(string)
Gets the property expression for the given attribute
protected override INotifyExpression<object> GetExpressionForAttribute(string attribute)
Parameters
attribute
stringThe requested attribute in upper case
Returns
- INotifyExpression<object>
An incremental property expression
GetExpressionForReference(string)
Gets the property expression for the given reference
protected override INotifyExpression<IModelElement> GetExpressionForReference(string reference)
Parameters
reference
stringThe requested reference in upper case
Returns
- INotifyExpression<IModelElement>
An incremental property expression
GetModelElementForReference(string, int)
Resolves the given URI to a child model element
protected override IModelElement GetModelElementForReference(string reference, int index)
Parameters
Returns
- IModelElement
The model element or null if it could not be found
History_vertices(object, object)
History Vertices can have at most one outgoing Transition. ((kind = PseudostateKind::deepHistory) or (kind = PseudostateKind::shallowHistory)) implies (outgoing->size() <= 1)
public 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)
public 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)
public 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)
public 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())
public 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
SetFeature(string, object)
Sets a value to the given feature
protected override void SetFeature(string feature, object value)
Parameters
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)))))
public 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)))))
public 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.