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 or isLeaf 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
Copy link