Interface IState
The public interface for State
[DefaultImplementationType(typeof(State))]
[XmlDefaultImplementationType(typeof(State))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//State")]
public interface IState : IVertex, IRedefinableElement, INamespace, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
Connection
The entry and exit connection points used in conjunction with this (submachine) State, i.e., as targets and sources, respectively, in the Region with the submachine State. A connection point reference references the corresponding definition of a connection point Pseudostate in the StateMachine referenced by the submachine State. <p>From package UML::StateMachines.</p>
[Browsable(false)]
[XmlElementName("connection")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("state")]
IOrderedSetExpression<IConnectionPointReference> Connection { get; }
Property Value
ConnectionPoint
The entry and exit Pseudostates of a composite State. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite States. <p>From package UML::StateMachines.</p>
[Browsable(false)]
[XmlElementName("connectionPoint")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("state")]
IOrderedSetExpression<IPseudostate> ConnectionPoint { get; }
Property Value
DeferrableTrigger
A list of Triggers that are candidates to be retained by the StateMachine if they trigger no Transitions out of the State (not consumed). A deferred Trigger is retained until the StateMachine reaches a State configuration where it is no longer deferred. <p>From package UML::StateMachines.</p>
[Browsable(false)]
[XmlElementName("deferrableTrigger")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<ITrigger> DeferrableTrigger { get; }
Property Value
DoActivity
An optional Behavior that is executed while being in the State. The execution starts when this State is entered, and ceases either by itself when done, or when the State is exited, whichever comes first. <p>From package UML::StateMachines.</p>
[Browsable(false)]
[XmlElementName("doActivity")]
[XmlAttribute(false)]
[Containment]
IBehavior DoActivity { get; set; }
Property Value
Entry
An optional Behavior that is executed whenever this State is entered regardless of the Transition taken to reach the State. If defined, entry Behaviors are always executed to completion prior to any internal Behavior or Transitions performed within the State. <p>From package UML::StateMachines.</p>
[Browsable(false)]
[XmlElementName("entry")]
[XmlAttribute(false)]
[Containment]
IBehavior Entry { get; set; }
Property Value
Exit
An optional Behavior that is executed whenever this State is exited regardless of which Transition was taken out of the State. If defined, exit Behaviors are always executed to completion only after all internal and transition Behaviors have completed execution. <p>From package UML::StateMachines.</p>
[Browsable(false)]
[XmlElementName("exit")]
[XmlAttribute(false)]
[Containment]
IBehavior Exit { get; set; }
Property Value
RedefinedState
The State of which this State is a redefinition. <p>From package UML::StateMachines.</p>
[XmlElementName("redefinedState")]
[XmlAttribute(true)]
IState RedefinedState { get; set; }
Property Value
Region
The Regions owned directly by the State. <p>From package UML::StateMachines.</p>
[Browsable(false)]
[XmlElementName("region")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("state")]
IOrderedSetExpression<IRegion> Region { get; }
Property Value
StateInvariant
Specifies conditions that are always true when this State is the current State. In ProtocolStateMachines state invariants are additional conditions to the preconditions of the outgoing Transitions, and to the postcondition of the incoming Transitions. <p>From package UML::StateMachines.</p>
[Browsable(false)]
[XmlElementName("stateInvariant")]
[XmlAttribute(false)]
[Containment]
IConstraint StateInvariant { get; set; }
Property Value
Submachine
The StateMachine that is to be inserted in place of the (submachine) State. <p>From package UML::StateMachines.</p>
[XmlElementName("submachine")]
[XmlAttribute(true)]
[XmlOpposite("submachineState")]
IStateMachine Submachine { get; set; }
Property Value
Methods
Composite_states(object, object)
Only composite States can have entry or exit Pseudostates defined. connectionPoint->notEmpty() implies isComposite
bool Composite_states(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
Destinations_or_sources_of_transitions(object, object)
The connection point references used as destinations/sources of Transitions associated with a submachine State must be defined as entry/exit points in the submachine StateMachine. self.isSubmachineState implies (self.connection->forAll (cp | cp.entry->forAll (ps | ps.stateMachine = self.submachine) and cp.exit->forAll (ps | ps.stateMachine = self.submachine)))
bool Destinations_or_sources_of_transitions(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
Entry_or_exit(object, object)
Only entry or exit Pseudostates can serve as connection points. connectionPoint->forAll(kind = PseudostateKind::entryPoint or kind = PseudostateKind::exitPoint)
bool Entry_or_exit(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
Submachine_or_regions(object, object)
A State is not allowed to have both a submachine and Regions. isComposite implies not isSubmachineState
bool Submachine_or_regions(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
Submachine_states(object, object)
Only submachine States can have connection point references. isSubmachineState implies connection->notEmpty( )
bool Submachine_states(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.