Software Disclaimer

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: NamedElement

Direct Subclasses: State, Pseudostate, ConnectionPointReference

Class Precedence List: Vertex, NamedElement, Element

Properties:

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 Element

Constraints:

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].