Validation Rules
(UML001) Name expected.
Element should have a name.
Applies to:
UMLModelElement
.Exceptions:
UMLParameter (only if direction === 'return')
,UMLDirectedRelationship
,UMLRelationshipEnd
,UMLUndirectedRelationship
,UMLAssociationClassLink
,UMLRegion
,UMLPseudostate
,UMLFinalState
,UMLControlNode
,UMLEndpoint
,UMLGate
,UMLImage
.
(UML002) Name is already defined.
If element has a name, then it should be unique in the namespace.
Applies to:
UMLModelElement
.Exceptions:
UMLOperation
.
(UML003) Conflict with inherited attributes.
Applies to:
UMLAttribute
.
(UML004) Signature conflict.
Same signature is not allowed in a classifier.
Applies To:
UMLOperation
.
(UML006) Final and leaf element must not have child.
If
isFinalSpecifiction
orisLeaf
is true, then it should not have child.Applies to:
UMLClassifier
.
(UML007) Duplicated generalizations.
Do not make duplicated generalizations from the same element.
Applies to:
UMLClassifier
.
(UML008) Circular generalizations.
Do not generalize from one of the children.
Applies to:
UMLClassifier
.
(UML009) Duplicated realizations.
Applies to:
UMLClassifier
.
(UML010) Duplicated role names of associated classifiers.
Applies to:
UMLClassifier
.
(UML011) All attributes and operations of interface must be public.
All attributes and operations of an interface should have public visibility.
Applies to:
UMLInterface
.
(UML012) Aggregation must be one in an association.
Applies to:
UMLAssociation
.
(UML013) Type of an artifact instance must be an artifact.
Applies to:
UMLArtifactInstance
.
(UML014) Type of a component instance must be a component.
Applies to:
UMLComponentInstance
.
(UML015) Type of a node instance must be a node.
Applies to:
UMLNodeInstance
.
(UML016) A metaclass must have name defined in metamodel.
Applies to:
UMLMetaClass
(UML017) A stereotype must inherits from stereotype.
Applies To:
UMLStereotype
(UML018) A stereotype must contained by a profile.
Applies To:
UMLStereotype
(UML019) An actor only can associate with use cases, components, and classes.
Applies To:
UMLActor
(UML020) A use case cannot include use cases that directly or indirectly include it.
Applies To:
UMLUseCase
(UML021) An initial vertex can have at most one outgoing transition.
Applies To:
UMLPseudostate (kind = 'initial')
(UML022) The outgoing transition from an initial vertex must not have a trigger or guard.
Applies To:
UMLPseudostate (kind = 'initial')
(UML023) History vertices can have at most one outgoing transition.
Applies To:
UMLPseudostate (kind = 'deepHistory' | 'shallowHistory'
(UML024) A join vertex must have at least two incoming transitions and exactly one outgoing transition.
Applies To:
UMLPseudostate (kind = 'join')
(UML025) A fork vertex must have at least two outgoing transitions and exactly one incoming transition.
Applies To:
UMLPseudostate (kind = 'fork')
(UML026) A junction vertex must have at least one incoming and one outgoing transition.
Applies To:
UMLPseudostate (kind = 'junction')
(UML027) A choice vertex must have at least one incoming and one outgoing transition.
Applies To:
UMLPseudostate (kind = 'choice')
(UML028) Only submachine states can have connection point references.
Applies To:
UMLState
(UML029) A state is not allowed to have both a submachine and regions.
Applies To:
UMLState
(UML030) A region can have at most one initial vertex.
Applies To:
UMLRegion
(UML031) A region can have at most one deep history vertex.
Applies To:
UMLRegion
(UML032) A region can have at most one shallow history vertex.
Applies To:
UMLRegion
(UML033) A final state cannot have any outgoing transitions.
Applies To:
UMLFinalState
(UML034) A final state cannot have regions.
Applies To:
UMLFinalState
(UML035) A final state cannot reference a submachine.
Applies To:
UMLFinalState
(UML036) A final state has no entry behavior.
Applies To:
UMLFinalState
(UML037) A final state has no exit behavior.
Applies To:
UMLFinalState
(UML038) A final state has no state (doActivity) behavior.
Applies To:
UMLFinalState
(UML039) A fork segment must not have guards or triggers.
Applies To:
UMLTransition
(UML040) A join segment must not have guards or triggers.
Applies To:
UMLTransition
(UML041) A fork segment must always target a state.
Applies To:
UMLTransition
(UML042) A join segment must always originate from a state.
Applies To:
UMLTransition
(UML043) Transitions outgoing pseudostates may not have a trigger (except for those coming out of the initial pseudostate).
Applies To:
UMLTransition
(UML044) The classifier context of a state machine cannot be an interface.
Applies To:
UMLStateMachine
(UML045) A decision node has one or two incoming edges and at least one outgoing edge.
_ Applies To: UMLDecisionNode
(UML046) A merge node has one outgoing edge.
Applies To:
UMLMergeNode
(UML047) The edges coming into and out of a merge node must be either all object flows or all control flows.
Applies To:
UMLMergeNode
(UML048) An initial node has no incoming edges.
Applies To:
UMLInitialNode
(UML049) Only control edges can have initial nodes as source.
Applies To:
UMLInitialNode
(UML050) A final node has no outgoing edges.
Applies To:
UMLFinalNode
(UML051) A fork node has one incoming edge.
Applies To:
UMLForkNode
(UML052) The edges coming into and out of a fork node must be either all object flows or all control flows.
Applies To:
UMLForkNode
(UML053) A join node has one outgoing edge.
Applies To:
UMLJoinNode
(UML054) The edges coming into and out of a join node must be either all object flows or all control flows.
Applies To:
UMLJoinNode
(UML055) All edges coming into or going out of object nodes must be object flow edges.
Applies To:
UMLObjectNode
(UML056) Control flows may not have object nodes at either end, except for object nodes with control type.
Applies To:
UMLControlFlow
(UML057) Object flows may not have actions at either end.
Applies To:
UMLObjectFlow
Last updated