Class UML 2.4.1::FinalState
Description:
A special kind of state signifying that the enclosing region is completed.
If the enclosing region is directly contained in a state machine and all
other regions in the state machine also are completed, then it means that
the entire state machine is completed.
Direct Superclasses: StateDirect Subclasses: Class Precedence List: FinalState,
State,
Namespace,
RedefinableElement,
Vertex,
NamedElement,
ElementProperties:
connection :
ConnectionPointReference (0 *); -- source
State connectionPoint :
Pseudostate (0 *); -- source
State deferrableTrigger :
Trigger (0 *); -- source
StateA list of triggers that are candidates to be retained by the state machine
if they trigger no transitions out of the state (not consumed). A deferred
trigger is retained until the state machine reaches a state configuration
where it is no longer deferred.
{
composite}
Subsets: Element.ownedElement
doActivity :
Behavior (0 1); -- source
State entry :
Behavior (0 1); -- source
State exit :
Behavior (0 1); -- source
State isComposite : Boolean (1 1); -- source
State isOrthogonal : Boolean (1 1); -- source
State isSimple : Boolean (1 1); -- source
State isSubmachineState : Boolean (1 1); -- source
State redefinedState :
State (0 1); -- source
State redefinitionContext :
Classifier (1 1); -- source
State region :
Region (0 *); -- source
State stateInvariant :
Constraint (0 1); -- source
StateSpecifies conditions that are always true when this state is the current
state. In protocol state machines, state invariants are additional conditions
to the preconditions of the outgoing transitions, and to the postcondition
of the incoming transitions.
{
composite}
Subsets: Namespace.ownedRule
submachine :
StateMachine (0 1); -- source
State elementImport :
ElementImport (0 *); -- source
Namespace importedMember :
PackageableElement (0 *); -- source
NamespaceReferences the PackageableElements that are members of this Namespace as
a result of either PackageImports or ElementImports.
{
readonly,
derived}
Subsets: Namespace.member
member :
NamedElement (0 *); -- source
Namespace ownedMember :
NamedElement (0 *); -- source
Namespace ownedRule :
Constraint (0 *); -- source
Namespace packageImport :
PackageImport (0 *); -- source
Namespace isLeaf : Boolean (1 1); -- source
RedefinableElement redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement container :
Region (0 1); -- source
Vertex incoming :
Transition (0 *); -- source
Vertex outgoing :
Transition (0 *); -- source
Vertex clientDependency :
Dependency (0 *); -- source
NamedElement name : String (0 1); -- source
NamedElement nameExpression :
StringExpression (0 1); -- source
NamedElement namespace :
Namespace (0 1); -- source
NamedElement qualifiedName : String (0 1); -- source
NamedElement visibility :
VisibilityKind (0 1); -- source
NamedElement ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementThe Element that owns this element.
{
readonly}
Derived union with sources: (namespace, container)
Opposite: Element.ownedElement
Constraints:
Signature: no_state_behavior() : Boolean;
Description: A final state has no state (doActivity) behavior.
Expression: self.doActivity->isEmpty()
Signature: no_regions() : Boolean;
Description: A final state cannot have regions.
Expression: self.region->size() = 0
Signature: no_outgoing_transitions() : Boolean;
Description: A final state cannot have any outgoing transitions.
Expression: self.outgoing->size() = 0
Signature: no_exit_behavior() : Boolean;
Description: A final state has no exit behavior.
Expression: self.exit->isEmpty()
Signature: no_entry_behavior() : Boolean;
Description: A final state has no entry behavior.
Expression: self.entry->isEmpty()
Signature: cannot_reference_submachine() : Boolean;
Description: A final state cannot reference a submachine.
Expression: self.submachine->isEmpty()
Operations:
No additional operations.
Send questions or comments to
[email protected].