isEmpty()]]>
isEmpty()]]>
forAll(inStructuredNode=self.owner)]]>
size() = 1]]>
forAll(oclIsKindOf(ActionInputPin))]]>
isEmpty() and self.fromAction.outgoing->isEmpty()
and self.fromAction.input->forAll(incoming->isEmpty() and outgoing->isEmpty())
and self.fromAction.output->forAll(incoming->isEmpty() and outgoing->isEmpty()))]]>
isEmpty()]]>
forAll(inStructuredNode=self.owner)]]>
size() > 0 and
self.incoming->size() > 0 and
self.incoming->size() <= 2]]>
reject(i | i = self.decisionInputFlow)->forAll(oclIsKindOf(ObjectFlow)) and
self.outgoing->forAll(oclIsKindOf(ObjectFlow)) ) or
(self.incoming->reject(i | i = self.decisionInputFlow)->forAll(oclIsKindOf(ControlFlow)) and
self.outgoing->forAll(oclIsKindOf(ControlFlow)) )]]>
includes(self.decisionInputFlow)]]>
select(
direction = ParameterDirectionKind::out or
direction = ParameterDirectionKind::inout)->size() = 0
and self.decisionInput.ownedParameter->select(
direction = ParameterDirectionKind::return)->size() = 1
)]]>
select(i | i.oclIsKindOf(ControlFlow))->size() = 1
) implies
self.decisionInput.ownedParameter->select(
direction = ParameterDirectionKind::_in)->size() = 0
)]]>
size() = 1]]>
exists(e | e.oclIsKindOf(ObjectFlow)) implies
self.incoming->forAll(e | e.oclIsKindOf(ObjectFlow))) and
(self.outgoing->exists(e | e.oclIsKindOf(ControlFlow)) implies
self.incoming->forAll(e | e.oclIsKindOf(ControlFlow)))]]>
size() = 1]]>
exists(e | e.oclIsKindOf(ObjectFlow)) implies
self.outgoing->forAll(e | e.oclIsKindOf(ObjectFlow))) and
(self.incoming->exists(e | e.oclIsKindOf(ControlFlow)) implies
self.outgoing->forAll(e | e.oclIsKindOf(ControlFlow)))]]>
size() = 1]]>
select(e | e.oclIsKindOf(ObjectFlow))->notEmpty() implies
self.outgoing->exists(e | e.oclIsKindOf(ObjectFlow))) and
(self.incoming->select(e | e.oclIsKindOf(ObjectFlow))->isEmpty() implies
self.outgoing->exists(e | e.oclIsKindOf(ControlFlow)))]]>
notEmpty() implies self.outgoing->isEmpty()) and
(self.outgoing->notEmpty() implies self.incoming->isEmpty())]]>
size() = 1]]>
notEmpty() implies self.value.type = self.structuralFeature.type]]>
notEmpty() implies self.result.type = self.object.type]]>
notEmpty()]]>
size() = 1]]>
size() = 0 endif]]>
includes(self.object.type) or
self.structuralFeature.oclAsType(Property).opposite.type = self.object.type]]>
size() = 1]]>
notEmpty()]]>
notEmpty() implies self.value.type = self.variable.type]]>
= self.variable.lowerBound())]]>
Activity parameter node must be synchronized with its parameter.