model.emf.UML_Standard_Profile.Validation_Profile.profile.uml Maven / Gradle / Ivy
Binary
com.nomagic.magicdraw.validation.rules.OpaqueExpressionRules.isBinaryExpressionValid
Binary
com.nomagic.magicdraw.validation.rules.OpaqueExpressionRules.isOCLExpressionValid
Binary
com.nomagic.magicdraw.validation.rules.OpaqueExpressionRules.isExpressionExecutable
Binary
com.nomagic.magicdraw.validation.rules.OpaqueExpressionRules.mustHaveExpression
Binary
com.nomagic.magicdraw.validation.rules.ConstraintRules.isConstraintValid
Binary
OCL2.0
isAbstract implies owner.oclAsType(Classifier).isAbstract
OCL2.0
ownedAttribute->forAll( f | f.visibility=VisibilityKind::public ) and ownedOperation->forAll(a |a.visibility=VisibilityKind::public )
Binary
Binary
OCL2.0
ownedParameter->forAll(n|n.direction <> ParameterDirectionKind::return implies not type.oclIsUndefined())
OCL2.0
name <> ''
OCL2.0
(not self.oclIsKindOf(EnumerationLiteral)) implies classifier->notEmpty()
OCL2.0
self.memberEnd ->forAll ( n | (not n.lowerValue.oclIsUndefined()) or (not n.upperValue.oclIsUndefined()))
OCL2.0
name <> ''
OCL2.0
((self.oclIsKindOf(State) and self.oclAsType(State).submachine.oclIsUndefined() and self.oclAsType(State).region->isEmpty()
or self.oclIsKindOf(Pseudostate) or self.oclIsKindOf(ConnectionPointReference))
and (not (self.oclIsKindOf(ConnectionPointReference) or self.oclIsKindOf(FinalState) or (self.oclIsKindOf(Pseudostate) and (self.oclAsType(Pseudostate).kind=PseudostateKind::exitPoint or self.oclAsType(Pseudostate).kind=PseudostateKind::entryPoint or self.oclAsType(Pseudostate).kind=PseudostateKind::terminate or self.oclAsType(Pseudostate).kind=PseudostateKind::deepHistory or self.oclAsType(Pseudostate).kind=PseudostateKind::shallowHistory)))))
implies outgoing->notEmpty()
OCL2.0
let k : PseudostateKind = self.oclAsType(Pseudostate).kind in
(((self.oclIsKindOf(State) and self.oclAsType(State).submachine.oclIsUndefined() and self.oclAsType(State).region->isEmpty()
or self.oclIsKindOf(Pseudostate) or self.oclIsKindOf(ConnectionPointReference)) and (not self.oclIsKindOf(ConnectionPointReference)) and (k.oclIsUndefined() or not (k=PseudostateKind::initial or k=PseudostateKind::entryPoint or k=PseudostateKind::exitPoint))))
implies incoming->notEmpty()
OCL2.0
name <> ''
OCL2.0
self.messageSort=MessageSort::synchCall implies (not self.signature.oclIsUndefined() and self.signature.oclIsKindOf(Operation))
OCL2.0
(association.oclIsUndefined() and (not owner.oclIsKindOf(Interaction))) implies name <> ''
OCL2.0
((not appliedStereotypeInstance.oclIsUndefined())
and (not appliedStereotypeInstance.classifier->exists(name='startEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='messageStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='ruleStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='multipleStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='timerStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='linkStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='intermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='multipleIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='cancelIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='compensationIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='compensationIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='messageIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='ruleIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='errorIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='timerIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='gateway'))
and (not appliedStereotypeInstance.classifier->exists(name='eventBasedXOR'))
and (not appliedStereotypeInstance.classifier->exists(name='aND'))
and (not appliedStereotypeInstance.classifier->exists(name='oR'))
and (not appliedStereotypeInstance.classifier->exists(name='complex'))
and (not appliedStereotypeInstance.classifier->exists(name='dataBasedXOR'))
and (not appliedStereotypeInstance.classifier->exists(name='endEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='cancelEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='linkEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='messageEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='compensationEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='terminateEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='errorEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='task'))
and (not appliedStereotypeInstance.classifier->exists(name='sendTask'))
and (not appliedStereotypeInstance.classifier->exists(name='scriptTask'))
and (not appliedStereotypeInstance.classifier->exists(name='userTask'))
and (not appliedStereotypeInstance.classifier->exists(name='referenceTask'))
and (not appliedStereotypeInstance.classifier->exists(name='receiveTask'))
and (not appliedStereotypeInstance.classifier->exists(name='serviceTask'))
and (not appliedStereotypeInstance.classifier->exists(name='manualTask'))
and (not appliedStereotypeInstance.classifier->exists(name='usddsderTask'))
and (not appliedStereotypeInstance.classifier->exists(name='multiInstanceLoop'))
and (not appliedStereotypeInstance.classifier->exists(name='standardLoop'))
and (not appliedStereotypeInstance.classifier->exists(name='subProcess'))
and (not appliedStereotypeInstance.classifier->exists(name='collapsedSubProcess'))
and (not appliedStereotypeInstance.classifier->exists(name='adHoc'))
and (not appliedStereotypeInstance.classifier->exists(name='compensation'))
and not (self.oclIsKindOf(FinalNode) or self.oclIsKindOf(ActivityParameterNode) or self.oclIsKindOf(InputPin) or self.oclIsKindOf(SendSignalAction) or self.oclIsKindOf(AcceptEventAction))) implies (outgoing->notEmpty() or self.oclAsType(ExecutableNode).handler->notEmpty() or self.oclAsType(Action).output->notEmpty())
OCL2.0
((not appliedStereotypeInstance.oclIsUndefined())
and (not appliedStereotypeInstance.classifier->exists(name='startEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='messageStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='ruleStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='multipleStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='timerStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='linkStartEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='intermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='multipleIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='cancelIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='compensationIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='compensationIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='messageIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='ruleIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='errorIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='timerIntermediateEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='gateway'))
and (not appliedStereotypeInstance.classifier->exists(name='eventBasedXOR'))
and (not appliedStereotypeInstance.classifier->exists(name='aND'))
and (not appliedStereotypeInstance.classifier->exists(name='oR'))
and (not appliedStereotypeInstance.classifier->exists(name='complex'))
and (not appliedStereotypeInstance.classifier->exists(name='dataBasedXOR'))
and (not appliedStereotypeInstance.classifier->exists(name='endEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='cancelEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='linkEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='messageEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='compensationEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='terminateEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='errorEndEvent'))
and (not appliedStereotypeInstance.classifier->exists(name='task'))
and (not appliedStereotypeInstance.classifier->exists(name='sendTask'))
and (not appliedStereotypeInstance.classifier->exists(name='scriptTask'))
and (not appliedStereotypeInstance.classifier->exists(name='userTask'))
and (not appliedStereotypeInstance.classifier->exists(name='referenceTask'))
and (not appliedStereotypeInstance.classifier->exists(name='receiveTask'))
and (not appliedStereotypeInstance.classifier->exists(name='serviceTask'))
and (not appliedStereotypeInstance.classifier->exists(name='manualTask'))
and (not appliedStereotypeInstance.classifier->exists(name='usddsderTask'))
and (not appliedStereotypeInstance.classifier->exists(name='multiInstanceLoop'))
and (not appliedStereotypeInstance.classifier->exists(name='standardLoop'))
and (not appliedStereotypeInstance.classifier->exists(name='subProcess'))
and (not appliedStereotypeInstance.classifier->exists(name='collapsedSubProcess'))
and (not appliedStereotypeInstance.classifier->exists(name='adHoc'))
and (not appliedStereotypeInstance.classifier->exists(name='compensation'))
and not (self.oclIsKindOf(InitialNode) or self.oclIsKindOf(ActivityParameterNode) or self.oclIsKindOf(AcceptEventAction) or self.oclIsKindOf(OutputPin) or self.oclIsKindOf(SendSignalAction))) implies (incoming->notEmpty() or self.oclAsType(Action).input->notEmpty() or self.oclAsType(ObjectNode).encoded5FexceptionHandlerOfExceptionInput->notEmpty())
OCL2.0
self.encoded5FextensionEndOfType->notEmpty() or
(self.generalization->notEmpty())
OCL2.0
source.oclIsKindOf(DecisionNode) implies not guard.oclIsUndefined()
OCL2.0
encoded5FgeneralizationOfGeneral->isEmpty()
implies
(self.oclAsType(Type).encoded5FtypedElementOfType->exists(a|a.oclIsKindOf(Property) implies a.oclAsType(Property).opposite.type.oclIsKindOf(UseCase)))
OCL2.0
not self.definingFeature.owner.oclIsTypeOf(Stereotype) implies
(self.definingFeature.upper=-1) or (self.definingFeature.lower <= self.value->size())
OCL2.0
self.definingFeature.owner.oclIsTypeOf(Stereotype) implies
(self.definingFeature.lower <= self.value->size())
Binary
OCL2.0
outgoing->size()>1
OCL2.0
(self.definingFeature.upper = 1) implies (self.value->size()<=1)
OCL2.0
(not self.appliedStereotypeInstance.oclIsUndefined()) implies
self.appliedStereotypeInstance.classifier->forAll(c|
c.feature->forAll(f|f.oclIsKindOf(Property) implies
(let sf:Property = f.oclAsType(Property) in
(sf.lower >= 1) and (sf.opposite.oclIsUndefined() or not sf.opposite.oclIsKindOf(ExtensionEnd)) implies
self.appliedStereotypeInstance.slot->exists(sl|sl.definingFeature=sf and sl.value->size()>=sf.lower)
)
)
)
OCL2.0
metamodelReference->size()>0
OCL2.0
let oppose:Property = association.memberEnd->any(p|p <> self) in
(not oppose.oclIsUndefined()
and oppose.isComposite
and not upperValue.oclIsUndefined())
implies (upper = 1)
OCL2.0
isAbstract implies method->isEmpty()
OCL2.0
ownedOperation->forAll(o|o.isQuery = true)
OCL2.0
isLeaf implies not isAbstract
OCL2.0
let atr: Set(Property) = attribute->select (a | not a.opposite.oclIsUndefined() and a.opposite.isComposite) in
atr -> exists( n | not n.lowerValue.oclIsUndefined() and n.lower = 1) implies
atr -> size() = 1
OCL2.0
generalization.general->asSet()->size() <= 1
OCL2.0
(language->exists(lng:String|lng='OCL2.0') and not owningConstraint.oclIsUndefined()) implies owningConstraint.constrainedElement->size()=1
OCL2.0
((not lowerValue.oclIsUndefined()) and (not upperValue.oclIsUndefined())) implies ((lower <= upper) or (upper = -1))
OCL2.0
let sourceLifeline:Lifeline = self.sendEvent.oclAsType(MessageOccurrenceSpecification).covered->any(true) in
let targetLifeline:Lifeline = self.receiveEvent.oclAsType(MessageOccurrenceSpecification).covered->any(true) in
(sourceLifeline <> targetLifeline) implies
(let sourceType:Type = sourceLifeline.represents.type in
let targetOperation:Operation = self.signature.oclAsType(Operation) in
(not sourceType.oclIsUndefined() and not targetOperation.oclIsUndefined()) implies
((targetOperation.visibility <> VisibilityKind::private) or (targetOperation.UMLClass = sourceType)))
OCL2.0
let lifelineType:Type = self.covered->any(true).represents.type in
let constraintBody:ValueSpecification = self.invariant.specification in
constraintBody.oclIsKindOf(ElementValue) implies
(let stateType:Classifier = constraintBody.oclAsType(ElementValue).element.oclAsType(State).redefinitionContext->any(true) in
stateType = lifelineType)
OCL2.0
self.covered->size()<=1
OCL2.0
(self.oclIsTypeOf(Property) and not type.oclIsUndefined() and type.oclIsKindOf(Stereotype)) implies (self.aggregation <> AggregationKind::composite)
OCL2.0
covered->size()=refersTo.lifeline->size()
OCL2.0
not self.profile.oclIsUndefined()
OCL2.0
not self.signal.oclIsUndefined()
severity
abbreviation
errorMessage
(self.definingFeature.upper=-1) or