Abstract Class UML 2.5::Vertex
Description:
A Vertex is an abstraction of a node in a StateMachine graph. It can be
the source or destination of any number of Transitions.
Direct Superclasses: NamedElementDirect Subclasses: State,
Pseudostate,
ConnectionPointReferenceClass Precedence List: Vertex,
NamedElement,
ElementProperties:
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
ElementConstraints:
No additional constraints.
Operations:
Signature: outgoing.1() : Transition;
Description: Derivation for Vertex::/outgoing
Expression: result = (Transition.allInstances()->select(source=self))
Signature: isContainedInState(s : State; ) : Boolean;
Description: This utility operation returns true if the Vertex is contained in the State
s (input argument).
Expression: result = (if not s.isComposite() or container->isEmpty() then false else if container.state = s then true else container.state.isContainedInState(s) endif endif)
Signature: isContainedInRegion(r : Region; ) : Boolean;
Description: This utility query returns true if the Vertex is contained in the Region
r (input argument).
Expression: result = (if (container = r) then true else if (r.state->isEmpty()) then false else container.state.isContainedInRegion(r) endif endif)
Signature: incoming.1() : Transition;
Description: Derivation for Vertex::/incoming.
Expression: result = (Transition.allInstances()->select(target=self))
Signature: containingStateMachine() : StateMachine;
Description: The operation containingStateMachine() returns the StateMachine in which
this Vertex is defined.
Expression: result = (if container <> null then -- the container is a region container.containingStateMachine() else if (self.oclIsKindOf(Pseudostate)) and ((self.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint) or (self.oclAsType(Pseudostate).kind = PseudostateKind::exitPoint)) then self.oclAsType(Pseudostate).stateMachine else if (self.oclIsKindOf(ConnectionPointReference)) then self.oclAsType(ConnectionPointReference).state.containingStateMachine() -- no other valid cases possible else null endif endif endif )
Send questions or comments to
[email protected].