Abstract Class UML 2.3::Vertex
Description:
A vertex is an abstraction of a node in a state machine graph. In general,
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 A name which allows the NamedElement to be identified within a hierarchy
of nested Namespaces. It is constructed from the names of the containing
namespaces starting at the root of the hierarchy and ending with the name
of the NamedElement itself.
{
readonly,
derived}
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: Expression: result = Transition.allInstances()->select(t | t.source=self)
Signature: incoming.1() : Transition;
Description: Expression: result = Transition.allInstances()->select(t | t.target=self)
Signature: containingStateMachine() : NIL;
Description: The operation containingStateMachine() returns the state machine in which this Vertex is defined
Editor's notes: added 2 'else false' and endif
Expression: result =
if not container->isEmpty()
then container.containingStateMachine()
else if (oclIsKindOf(Pseudostate))
then if (kind = #entryPoint) or (kind = #exitPoint)
then stateMachine
else if (oclIsKindOf(ConnectionPointReference))
then state.containingStateMachine() -- no other valid cases possible
else false
endif
endif
else false
endif
endif
Send questions or comments to
[email protected].