result = if n.oclIsKindOf(BehavioralFeature) then if ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty() then Set{}->including(self)->including(n)->isUnique( bf | bf.parameter->collect(type)) else true endif else true endif OCL lowerBound()->notEmpty() implies lowerBound() >= 0 OCL (upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound() OCL result = (lowerBound() <= C) and (upperBound() >= C) OCL upperBound()->notEmpty() and lowerBound()->notEmpty() includesCardinality = (lowerBound() <= C) and (upperBound() >= C) OCL self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty() OCL result = (self.lowerBound() <= M.lowerBound()) and (self.upperBound() >= M.upperBound()) OCL upperBound()->notEmpty() OCL result = upperBound() > 1 OCL result = if lower->notEmpty() then lower else 1 endif OCL result = if upper->notEmpty() then upper else 1 endif OCL result = lowerBound() OCL result = if lowerValue->isEmpty() then 1 else lowerValue.integerValue() endif OCL result = upperBound() OCL result = if upperValue->isEmpty() then 1 else upperValue.unlimitedValue() endif OCL self.mustBeOwned() implies owner->notEmpty() OCL not self.allOwnedElements()->includes(self) OCL result = ownedElement->union(ownedElement->collect(e | e.allOwnedElements())) OCL result = true OCL self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e)) OCL self.redefinedElement->forAll(re | re.isConsistentWith(self)) OCL redefinee.isRedefinitionContextValid(self) OCL result = false OCL result = redefinitionContext->exists(c | c.allParents()->includes (redefined.redefinitionContext))) OCL result = false OCL result = true OCL result = value OCL result = value OCL result = true OCL result = true OCL result = value OCL result = value OCL result = true OCL result = true OCL result = value OCL result = true OCL result = true OCL membersAreDistinguishable() OCL result = if member->includes(element) then Set{}->including(element.name) else Set{} endif OCL result = self.member->forAll( memb | self.member->excluding(memb)->forAll(other | memb.isDistinguishableFrom(other, self))) OCL (self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies self.qualifiedName = self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result)) OCL (self.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty()) implies self.qualifiedName->isEmpty() OCL result = if self.namespace->isEmpty() then Sequence{} else self.namespace.allNamespaces()->prepend(self.namespace) endif OCL result = if self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType) then ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty() else true endif OCL result = if self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty() then self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result)) else Set{} endif OCL result = '::' OCL result = Set{} OCL result = Set{} OCL result = false OCL result = false OCL result = Set{} OCL result = Set{} OCL result = Set{} OCL self.parents()->forAll(c | self.maySpecializeType(c)) OCL not self.allParents()->includes(self) OCL result = self.parents()->union(self.parents()->collect(p | p.allParents()) OCL self.allParents()->collect(c | c.member)->includes(n) OCL result = if (self.inheritedMember->includes (n)) then (n.visibility <> #private) else true OCL result = inhs OCL c.allParents()->includes(self) OCL result = member->select(m | c.hasVisibilityOf(m)) OCL result = self.inherit(self.parents()->collect(p | p.inheritableMembers(self)) OCL result = self.oclIsKindOf(c.oclType) OCL result = general OCL self.specification().booleanValue().isOclKindOf(Boolean) OCL not constrainedElement->includes(self) OCL result = (self=other) or (self.allParents()->includes(other)) OCL result = self.parents() OCL result = generalization.general OCL namespace->isEmpty() implies visibility->isEmpty() OCL result = member->select(oclIsKindOf(Feature)) OCL slot->forAll(s | classifier->exists(c | c.allFeatures()->includes(s.definingFeature)) ) OCL classifier->forAll(c | (c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() <= 1) ) OCL (upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound() OCL lowerBound()->notEmpty() implies lowerBound() >= 0 OCL upperBound()->notEmpty() and lowerBound()->notEmpty() OCL result = (lowerBound() <= C) and (upperBound() >= C) OCL self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty() OCL result = (self.lowerBound() <= M.lowerBound()) and (self.upperBound() >= M.upperBound()) OCL result = upperBound() > 1 OCL upperBound()->notEmpty() OCL result = if lower->notEmpty() then lower else 1 endif OCL result = if upper->notEmpty() then upper else 1 endif OCL self.ownedElements->forAll(e | e.visibility->notEmpty() implies e.visbility = #public or e.visibility = #private) OCL result = (ownedMember->includes(el)) or (elementImport-> select(ei|ei.visibility = #public)-> collect(ei|ei.importedElement)->includes(el)) or (packageImport-> select(pi|pi.visibility = #public)-> collect(pi| pi.importedPackage.member->includes(el))->notEmpty()) OCL self.member->includes(el) OCL result = false OCL true OCL true OCL result = member->select( m | self.makesVisible(m)) OCL result = Set{} OCL result = Set{} OCL result = false OCL result = false OCL result = Set{} OCL result = Set{} OCL result = Set{} OCL if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd) OCL Sequence{1..self.memberEnd->size()}-> forAll(i | self.general->select(oclIsKindOf(Association)).oclAsType(Association)-> forAll(ga |self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type))) OCL self.memberEnd->exists(isComposite) implies self.memberEnd->size() = 2 OCL parents()->select(oclIsKindOf(Association)).oclAsType(Association)->forAll(p | p.memberEnd->size() = self.memberEnd->size()) OCL result = self.memberEnd->collect(e | e.type) OCL (upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound() OCL lowerBound()->notEmpty() implies lowerBound() >= 0 OCL result = (lowerBound() <= C) and (upperBound() >= C) OCL upperBound()->notEmpty() and lowerBound()->notEmpty() OCL self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty() OCL result = (self.lowerBound() <= M.lowerBound()) and (self.upperBound() >= M.upperBound()) OCL result = upperBound() > 1 OCL upperBound()->notEmpty() OCL result = if lower->notEmpty() then lower else 1 endif OCL result = if upper->notEmpty() then upper else 1 endif OCL self.ownedParameter->select(par | par.direction = #return)->size() <= 1 OCL bodyCondition->notEmpty() implies isQuery OCL redefinee.isRedefinitionContextValid(self) OCL result = (redefinee.oclIsKindOf(Operation) and let op: Operation = redefinee.oclAsType(Operation) in self.ownedParameter.size() = op.ownedParameter.size() and forAll(i | op.ownedParameter[i].type.conformsTo(self.ownedParameter[i].type)) ) OCL result = if returnResult->size() = 1 then returnResult->any().isOrdered else false endif OCL result = if returnResult->size() = 1 then returnResult->any().isUnique else true endif OCL result = if returnResult->size() = 1 then returnResult->any().lower else Set{} endif OCL result = ownedParameter->select (par | par.direction = #return) OCL result = if returnResult->size() = 1 then returnResult->any().type else Set{} endif OCL result = if returnResult->size() = 1 then returnResult->any().upper else Set{} endif OCL namespace->isEmpty() implies visibility->isEmpty() OCL (self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies self.qualifiedName = self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result)) OCL (self.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty()) implies self.qualifiedName->isEmpty() OCL result = if self.namespace->isEmpty() then Sequence{} else self.namespace.allNamespaces()->prepend(self.namespace) endif OCL result = if self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType) then ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty() else true endif OCL result = if self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty() then self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result)) else Set{} endif OCL result = '::' OCL self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public OCL self.visibility = #public or self.visibility = #private OCL result = if self.alias->notEmpty() then self.alias else self.importedElement.name endif OCL result = false OCL self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e)) OCL self.redefinedElement->forAll(re | re.isConsistentWith(self)) OCL self.redefinedElement->forAll(not isLeaf) OCL redefinee.isRedefinitionContextValid(self) OCL result = false OCL result = redefinitionContext->exists(c | c.allParents()->includes(redefined.redefinitionContext))) OCL language->notEmpty() implies (body->size() = language->size()) OCL self.mustBeOwned() implies owner->notEmpty() OCL not self.allOwnedElements()->includes(self) OCL result = ownedElement->union(ownedElement->collect(e | e.allOwnedElements())) OCL result = true OCL membersAreDistinguishable() OCL result = imps->reject(imp1 | imps.exists(imp2 | not imp1.isDistinguishableFrom(imp2, self))) OCL result = if self.ownedMember->includes(element) then Set{}->include(element.name) else let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in if elementImports->notEmpty() then elementImports->collect(el | el.getName()) else self.packageImport->select(pi | pi.importedPackage.visibleMembers()->includes(element))->collect(pi | pi.importedPackage.getNamesOfMember(element)) endif endif OCL result = self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem | mem.imp.isDistinguishableFrom(mem, self))) OCL result = self.importMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers()))) OCL result = self.member->forAll( memb | self.member->excluding(memb)->forAll(other | memb.isDistinguishableFrom(other, self))) OCL result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh))) OCL self.visibility = #public or self.visibility = #private OCL result = if n.oclIsKindOf(BehavioralFeature) then if ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty() then Set{}->include(self)->include(n)->isUnique( bf | bf.parameter->collect(type)) else true endif else true endif OCL result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh))) OCL not self.allParents()->includes(self) OCL self.parents()->forAll(c | self.maySpecializeType(c)) OCL result = member->select(oclIsKindOf(Feature)) OCL result = self.parents()->union(self.parents()->collect(p | p.allParents()) OCL result = (self=other) or (self.allParents()->includes(other)) OCL result = self.parents() OCL result = (n.visibility <> VisibilityKind::private) OCL self.allParents()->including(self)->collect(c | c.member)->includes(n) OCL result = inhs OCL result = member->select(m | c.hasVisibilityOf(m)) OCL c.allParents()->includes(self) OCL result = self.inherit(self.parents()->collect(p|p.inheritableMembers(self))->asSet()) OCL result = self.oclIsKindOf(c.oclType) OCL result = generalization.general OCL isComposite implies (upperBound()->isEmpty() or upperBound() <= 1) OCL true OCL self.subsettedProperty->notEmpty() implies (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc | self.subsettedProperty->forAll(sp | sp.subsettingContext()->exists(c | sc.conformsTo(c))))) OCL if (redefinedProperty->notEmpty()) then (redefinitionContext->notEmpty() and redefinedProperty->forAll(rp| ((redefinitionContext->collect(fc| fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp)) OCL isDerivedUnion implies isDerived OCL self.subsettedProperty->forAll(sp | self.type.conformsTo(sp.type) and ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies self.upperBound()<=sp.upperBound() )) OCL result = Classifier->allInstances->exists(c | c.attribute->includes(p)) OCL redefinee.isRedefinitionContextValid(self) OCL result = redefinee.oclIsKindOf(Property) and let prop : Property = redefinee.oclAsType(Property) in (prop.type.conformsTo(self.type) and ((prop.lowerBound()->notEmpty() and self.lowerBound()->notEmpty()) implies prop.lowerBound() >= self.lowerBound()) and ((prop.upperBound()->notEmpty() and self.upperBound()->notEmpty()) implies prop.lowerBound() <= self.lowerBound()) and (self.isComposite implies prop.isComposite)) OCL result = not classifier->isEmpty() or association.owningAssociation.navigableOwnedEnd->includes(self) OCL result = if owningAssociation->isEmpty() and association.memberEnd->size() = 2 then let otherEnd = (association.memberEnd - self)->any() in if otherEnd.owningAssociation->isEmpty() then otherEnd else Set{} endif else Set {} endif OCL result = if association->notEmpty() then association.endType-type else if classifier->notEmpty then Set{classifier} else Set{} endif endif OCL not constrainedElement->includes(self) OCL self.specification().booleanValue().isOclKindOf(Boolean) OCL self.metamodelReference.importedPackage.elementImport.importedElement.allOwningPackages()-> union(self.metaclassReference.importedElement.allOwningPackages() )->notEmpty() OCL self.metaclassReference.importedElement-> select(c | c.oclIsKindOf(Classifier) and (c.generalization.namespace = self or c.specialization.namespace = self))->isEmpty() OCL true OCL generalization.general->forAll(e |e.oclIsKindOf(Stereotype)) and generalization.specific->forAll(e | e.oclIsKindOf(Stereotype)) OCL ownedAttribute ->select(association->notEmpty() and not association.oclIsKindOf(Extension) and not type.oclIsKindOf(Stereotype)) ->forAll(opposite.owner = association) OCL ownedAttribute.association->forAll(memberEnd->size()=2) OCL result = self.namespace.oclAsType(Package).containingProfile() OCL result = self.containingProfile() OCL memberEnd->size() = 2 OCL metaclassEnd()->notEmpty() and metaclass()->oclIsKindOf(Class) OCL result = (ownedEnd->lowerBound() = 1) OCL result = metaclassEnd().type OCL result = memberEnd->reject(ownedEnd) OCL true OCL result = self.ownedStereotype->union(self.ownedMember-> select(oclIsKindOf(Package)).oclAsType(Package).allApplicableStereotypes()->flatten())->asSet() OCL result = if self.oclIsKindOf(Profile) then self.oclAsType(Profile) else self.namespace.oclAsType(Package).containingProfile() endif OCL true OCL (self->lowerBound() = 0 or self->lowerBound() = 1) and self->upperBound() = 1 OCL self.aggregation = #composite OCL result = lowerBound = if lowerValue->isEmpty() then 0 else lowerValue->IntegerValue() endif OCL result = self.namespace->select(p | p.oclIsKindOf(Package))->union(p.allOwningPackages()) OCL STYLE_MODEL_ELEMENT_DEFAULTS STYLE_USER_PROPERTIES PROJECT_GENERAL_PROPERTIES _16_8_ff3038a_1290380171797_592477_11056 MODULES_DIRS MODULES_DIRS_DESCRIPTION <project.dir> FILE_TYPE_ANY <install.root>/profiles FILE_TYPE_ANY <install.root>/modelLibraries FILE_TYPE_ANY SHOW_DOT_NOTATION_FOR_ASSOCIATIONS SHOW_DOT_NOTATION_FOR_ASSOCIATIONS_DESCRIPTION CHANGE_OWNERSHIP_FOR_NAVIGABILITY CHANGE_OWNERSHIP_FOR_NAVIGABILITY_DESCRIPTION QNAME_DISPLAY_STYLE QNAME_DISPLAY_STYLE_DESCRIPTION QNAME_DISPLAY_STYLE_RELATIVE AUTO_SYNCHRONIZE_PARAMETERS_AND_ARGUMENTS AUTO_SYNCHRONIZE_PARAMETERS_AND_ARGUMENTS_DESCRIPTION ACTIVE_VALIDATION_SCOPE ACTIVE_VALIDATION eee_1045467100313_135436_1 IGNORED_ACTIVE_VALIDATION_SUITES ACTIVE_VALIDATION ACTIVE_VALIDATION_EXCLUDE_ELEMENTS_FROM_READONLY_MODULES ACTIVE_VALIDATION CHECK_FOR_CYCLIC_DEPENDENCIES DEPENDENCY_CHECKER_GROUP CHECK_FOR_CYCLIC_DEPENDENCIES_DESCRIPTION DEPENDENCY_SEVERITY_LEVEL DEPENDENCY_CHECKER_GROUP DEPENDENCY_SEVERITY_LEVEL_DESCRIPTION INFO IGNORE_STANDARD_PROFILES DEPENDENCY_CHECKER_GROUP IGNORE_STANDARD_PROFILES_DESCRIPTION ACTIVE_VALIDATION_SEVERITY ACTIVE_VALIDATION ACTIVE_VALIDATION_MARK_IN_MODEL ACTIVE_VALIDATION EMF_UML2_OUTPUT_LOCATION General EMF_UML2_OUTPUT_LOCATION_DESCRIPTION FILE_TYPE_ANY PROPAGATE_SYSML_VALUES SysML PROPAGATE_SYSML_VALUES_DESCRIPTION ENABLE_SYSML_AUTO_REQUIREMENT_ID SysML ENABLE_SYSML_AUTO_REQUIREMENT_ID_DESCRIPTION PROJECT_INVISIBLE_PROPERTIES _16_8_ff3038a_1290380171797_937010_11057 TOOL_TIP_STYLE TOOL_TIP_STYLE_DESCRIPTION LAST_INTERFACE_STYLE LAST_INTERFACE_STYLE_DESCRIPTION IS_BROWSER_VISIBLE IS_BROWSER_VISIBLE_DESCRIPTION BROWSER_ITEM_TYPES BROWSER_ITEM_TYPES_DESCRIPTION BROWSER_DIVIDER_LOCATION BROWSER_DIVIDER_LOCATION_DESCRIPTION BROWSER_BOUNDS BROWSER_BOUNDS_DESCRIPTION IS_DOCS_TAB_VISIBLE IS_DOCS_TAB_VISIBLE_DESCRIPTION BROWSER_LAYOUT BROWSER_LAYOUT_DESCRIPTION LAYOUT_BEFORE_FULL_SCREEN LAYOUT_BEFORE_FULL_SCREEN_DESCRIPTION LAYOUT_BEFORE_EXIT_FULL_SCREEN LAYOUT_BEFORE_EXIT_FULL_SCREEN_DESCRIPTION DIAGRAMS_LAYOUT DIAGRAMS_LAYOUT_DESCRIPTION MT_LAST_SELECTED_TRANSFORMATION MT_LAST_SELECTED_TRANSFORMATION_DESCRIPTION MT_TRANSFORMATION_IN_PLACE MT_TRANSFORMATION_IN_PLACE_DESCRIPTION MT_DESTINATION_PACKAGE MT_LAST_SELECTED_TYPE_MAP_PROFILE MT_LAST_SELECTED_TYPE_MAP_PROFILE_DESCRIPTION MT_LAST_SELECTED_TYPE_MAP_PROFILE_DIRECTION MT_LAST_SELECTED_TYPE_MAP_PROFILE_DIRECTION_DESCRIPTION INDEX_MODE INDEX_MODE_DESCRIPTION INDEX_SCOPE_ALL INDEX_SCOPE_ALL_DESCRIPTION INDEX_SCOPE INDEX_TYPES LAST_SELECTED_MODULE_PATH LAST_SELECTED_MODULE_PATH_DESCRIPTION DIAGRAM_INFO_CUSTOM_MODE DIAGRAM_INFO_CUSTOM_MODE_DESCRIPTION DIAGRAM_INFO_SELECTED_KEYWORDS DIAGRAM_INFO_SELECTED_KEYWORDS_DESCRIPTION Diagram name Author Creation date Modification date Last modified by DIAGRAM_INFO_CUSTOM_HTML DIAGRAM_INFO_CUSTOM_HTML_DESCRIPTION INFO_PROPERTY INFO_PROPERTY_DESCRIPTION 30 70 57 6f 6d 55 2f 46 2e 49 1e 83 4a 8a 32 14 6c 1c dc 20 64 aa ee 67 7f fe fe 2a 63 55 ae 9d e4 8d bf d9 5b c5 aa e4 ADDITIONAL_CONTAINMENT_TREES ADDITIONAL_CONTAINMENT_TREES_DESCRIPTION LAST_DIRECTORY LAST_DIRECTORY_DESCRIPTION OutputTypeSelectionPanel.value OutputTypeSelectionPanel.value_DESCRIPTION PROJECT_VERSIONCHANGED PROJECT_VERSIONCHANGED_DESCRIPTION IGNORED_CONSTRAINT_PROPERTY ACTIVE_VALIDATION_IGNORED_OPTION ACTIVE_VALIDATION ACTIVE_VALIDATION_IGNORED_OPTION_DESCRIPTION SPELL_IGNORE_LIST SPELL_IGNORE_LIST_DESCRIPTION MagicDrawUML IGNORED_DUPLICATED_MODULES IGNORED_DUPLICATED_MODULES_DESCRIPTION STRUCTURE_BROWSER_ITEM_TYPES STRUCTURE_BROWSER_ITEM_TYPES_DESCRIPTION REQUIREMENT_BROWSER_ITEM_TYPES REQUIREMENT_BROWSER_ITEM_TYPES_DESCRIPTION InfrastructureLibrary.mdxml Default Abstraction _16_8_ff3038a_1290380114378_181111_10922 _16_8_ff3038a_1290380114378_466681_10923 STEREOTYPE_COLOR STEREOTYPE_COLOR_DESCRIPTION STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial