| <?xml version="1.0" encoding="UTF-8"?> |
| <gmfmap:Mapping xmi:version="2.0" |
| xmlns:xmi="http://www.omg.org/XMI" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" |
| xmlns:gmfmap="http://www.eclipse.org/gmf/2008/mappings" |
| xmlns:gmftool="http://www.eclipse.org/gmf/2005/ToolDefinition"> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/nestedPackage"/> |
| <ownedChild |
| relatedDiagrams="//@diagram"> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'package' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_packages.gmfgraph#PackageNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.1"/> |
| <diagramNode |
| href="classDiagram_packages.gmfgraph#PackageNode"/> |
| <children |
| compartment="//@nodes.0/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/nestedPackage"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'package' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.1"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.0/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/> |
| <domainSpecialization |
| body="not oclIsKindOf(uml::AssociationClass) and not oclIsKindOf(uml::StateMachine)"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'Class' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.0"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.0/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/> |
| <domainSpecialization |
| body="not oclIsKindOf(uml::PrimitiveType) and not oclIsKindOf(uml::Enumeration)"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'DataType' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.3"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.0/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//PrimitiveType"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'PrimitiveType' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.4"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.0/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Enumeration"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'Enumeration' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.2"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.0/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//AssociationClass"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'AssociationClass' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.6"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.0/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'Interface' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.7"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.0/@ownedChild/@compartments.2"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'instanceSpecification' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.3/@tools.0"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <compartments |
| children="//@nodes.0/@ownedChild/@children.0"> |
| <compartment |
| href="classDiagram_packages.gmfgraph#packages"/> |
| </compartments> |
| <compartments |
| children="//@nodes.0/@ownedChild/@children.1 //@nodes.0/@ownedChild/@children.2 //@nodes.0/@ownedChild/@children.3 //@nodes.0/@ownedChild/@children.4 //@nodes.0/@ownedChild/@children.5 //@nodes.0/@ownedChild/@children.6"> |
| <compartment |
| href="classDiagram_packages.gmfgraph#classifiers"/> |
| </compartments> |
| <compartments |
| children="//@nodes.0/@ownedChild/@children.7"> |
| <compartment |
| href="classDiagram_packages.gmfgraph#other"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/> |
| <domainSpecialization |
| body="not oclIsKindOf(uml::AssociationClass) and not oclIsKindOf(uml::StateMachine)"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body="let base : String = 'Class' in
let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in 
let space : Namespace = self.namespace in
let allMissed : Sequence(String) = suffixes->
 select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s))
 ) in
let firstMissed : String = allMissed->first() in 
let noMisses : Boolean = firstMissed.oclIsUndefined() in
let allNames : Set(String) = 
 if noMisses 
 then 
 space.member->collect(e : NamedElement | 
 if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base
 then '' 
 else e.name 
 endif)->asSet()->excluding('') else Set{'not in use'} 
 endif in 
let longestName : String = 
 if noMisses
 then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first() 
 else 'not in use' 
 endif in 
if noMisses then 
 if longestName.oclIsUndefined() 
 then base 
 else longestName.concat('1') 
 endif 
else 
 base.concat(firstMissed) 
endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_classifiers.gmfgraph#ClassNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_classifiers.gmfgraph#ClassNode_stereo"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/qualifiedName"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.0"/> |
| <diagramNode |
| href="classDiagram_classifiers.gmfgraph#ClassNode"/> |
| <children |
| compartment="//@nodes.1/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//StructuredClassifier/ownedAttribute"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| <domainSpecialization |
| body="not oclIsKindOf(uml::Port) and self.association = null"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/> |
| <value |
| body="AggregationKind::composite"/> |
| </initializers> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'property' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.0"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.1/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class/ownedOperation"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'operation' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.1"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.1/@ownedChild/@compartments.2" |
| referencedChild="//@nodes.0/@ownedChild/@children.1/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class/nestedClassifier"/> |
| </children> |
| <children> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//StructuredClassifier/ownedAttribute"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/> |
| <value |
| body="AggregationKind::composite"/> |
| </initializers> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'port' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_ports.gmfgraph#PortNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.3"/> |
| <diagramNode |
| href="classDiagram_ports.gmfgraph#PortNode"/> |
| </ownedChild> |
| </children> |
| <children> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateableElement/ownedTemplateSignature"/> |
| <referencedChild |
| href="classDiagram_SharedTemplates.gmfmap#//@nodes.0/@ownedChild"/> |
| </children> |
| <compartments |
| children="//@nodes.1/@ownedChild/@children.0"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#attributes"/> |
| </compartments> |
| <compartments |
| children="//@nodes.1/@ownedChild/@children.1"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#operations"/> |
| </compartments> |
| <compartments |
| children="//@nodes.1/@ownedChild/@children.2"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#classes"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//AssociationClass"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'AssociationClass' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_classifiers.gmfgraph#ClassNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.6"/> |
| <diagramNode |
| href="classDiagram_classifiers.gmfgraph#ClassNode"/> |
| <children |
| compartment="//@nodes.2/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//StructuredClassifier/ownedAttribute"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/> |
| <value |
| body="AggregationKind::composite"/> |
| </initializers> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'property' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.0"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.2/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class/ownedOperation"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'operation' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.1"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.2/@ownedChild/@compartments.2" |
| referencedChild="//@nodes.0/@ownedChild/@children.1/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class/nestedClassifier"/> |
| </children> |
| <children> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateableElement/ownedTemplateSignature"/> |
| <referencedChild |
| href="classDiagram_SharedTemplates.gmfmap#//@nodes.0/@ownedChild"/> |
| </children> |
| <compartments |
| children="//@nodes.2/@ownedChild/@children.0"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#attributes"/> |
| </compartments> |
| <compartments |
| children="//@nodes.2/@ownedChild/@children.1"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#operations"/> |
| </compartments> |
| <compartments |
| children="//@nodes.2/@ownedChild/@children.2"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#classes"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/> |
| <domainSpecialization |
| body="not oclIsKindOf(uml::PrimitiveType) and not oclIsKindOf(uml::Enumeration)"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'DataType' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_classifiers.gmfgraph#ClassNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.3"/> |
| <diagramNode |
| href="classDiagram_classifiers.gmfgraph#ClassNode"/> |
| <children |
| compartment="//@nodes.3/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType/ownedAttribute"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/> |
| <value |
| body="AggregationKind::composite"/> |
| </initializers> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'property' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.0"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.3/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType/ownedOperation"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'operation' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.1"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateableElement/ownedTemplateSignature"/> |
| <referencedChild |
| href="classDiagram_SharedTemplates.gmfmap#//@nodes.0/@ownedChild"/> |
| </children> |
| <compartments |
| children="//@nodes.3/@ownedChild/@children.0"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#attributes"/> |
| </compartments> |
| <compartments |
| children="//@nodes.3/@ownedChild/@children.1"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#operations"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//PrimitiveType"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'PrimitiveType' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_classifiers.gmfgraph#ClassNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.4"/> |
| <diagramNode |
| href="classDiagram_classifiers.gmfgraph#ClassNode"/> |
| <children |
| compartment="//@nodes.4/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType/ownedAttribute"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/> |
| <value |
| body="AggregationKind::composite"/> |
| </initializers> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'property' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.0"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.4/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType/ownedOperation"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'operation' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.1"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateableElement/ownedTemplateSignature"/> |
| <referencedChild |
| href="classDiagram_SharedTemplates.gmfmap#//@nodes.0/@ownedChild"/> |
| </children> |
| <compartments |
| children="//@nodes.4/@ownedChild/@children.0"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#attributes"/> |
| </compartments> |
| <compartments |
| children="//@nodes.4/@ownedChild/@children.1"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#operations"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Enumeration"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'Enumeration' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_classifiers.gmfgraph#ClassNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.2"/> |
| <diagramNode |
| href="classDiagram_classifiers.gmfgraph#ClassNode"/> |
| <children |
| compartment="//@nodes.5/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Enumeration/ownedLiteral"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//EnumerationLiteral"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'enumerationLiteral' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.2"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.5/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType/ownedAttribute"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/> |
| <value |
| body="AggregationKind::composite"/> |
| </initializers> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'property' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.0"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.5/@ownedChild/@compartments.2"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType/ownedOperation"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'operation' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.1"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateableElement/ownedTemplateSignature"/> |
| <referencedChild |
| href="classDiagram_SharedTemplates.gmfmap#//@nodes.0/@ownedChild"/> |
| </children> |
| <compartments |
| children="//@nodes.5/@ownedChild/@children.0"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#literals"/> |
| </compartments> |
| <compartments |
| children="//@nodes.5/@ownedChild/@children.1"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#attributes"/> |
| </compartments> |
| <compartments |
| children="//@nodes.5/@ownedChild/@children.2"> |
| <compartment |
| href="classDiagram_classifiers.gmfgraph#operations"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'Interface' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_interfaces.gmfgraph#Interface_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.7"/> |
| <diagramNode |
| href="classDiagram_interfaces.gmfgraph#ProvidedInterfaceCircleNode"/> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:ReferenceNewElementSpec"> |
| <feature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint/specification"/> |
| <newElementInitializers> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//LiteralString/value"/> |
| <value |
| body="'ValueSpecification'"/> |
| </initializers> |
| <elementClass |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//LiteralString"/> |
| </newElementInitializers> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_constraints.gmfgraph#Constraint_ValueSpecification"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.0/@tools.5"/> |
| <diagramNode |
| href="classDiagram_constraints.gmfgraph#ConstraintNode"/> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'InstanceSpecification' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| viewPattern=""> |
| <diagramLabel |
| href="classDiagram_instances.gmfgraph#InstanceNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.3/@tools.0"/> |
| <diagramNode |
| href="classDiagram_instances.gmfgraph#InstanceNode"/> |
| <children |
| compartment="//@nodes.8/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification/slot"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot"/> |
| <domainSpecialization |
| body="self.value->size() = 0 or not self.value->exists(v : ValueSpecification | v.oclIsKindOf(InstanceValue) and not v.oclAsType(InstanceValue).oclIsUndefined())"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_instances.gmfgraph#Slot_inplace"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.3/@tools.1"/> |
| <diagramNode |
| href="classDiagram_instances.gmfgraph#Slot_inplace"/> |
| </ownedChild> |
| </children> |
| <compartments |
| children="//@nodes.8/@ownedChild/@children.0 //@nodes.15/@ownedChild/@children.1"> |
| <compartment |
| href="classDiagram_instances.gmfgraph#slots"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/> |
| <domainSpecialization |
| body="self.supplier->size() > 1 or self.client->size() > 1"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'dependency' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="common_dependencies.gmfgraph#Dependency_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <diagramNode |
| href="common_dependencies.gmfgraph#NAryDependencyNode"/> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//GeneralizationSet"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| viewPattern="{0}, {1}" |
| editPattern="{0}, {1}"> |
| <diagramLabel |
| href="classDiagram_generalizationSet.gmfgraph#GeneralizationSetConstraint"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//GeneralizationSet/isCovering"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//GeneralizationSet/isDisjoint"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| readOnly="true" |
| viewPattern=":{0}"> |
| <diagramLabel |
| href="classDiagram_generalizationSet.gmfgraph#GeneralizationSetPowerType"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <diagramNode |
| href="classDiagram_generalizationSet.gmfgraph#GeneralizationSetNode"/> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'Interface' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_interfaces.gmfgraph#RectangleInterface_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <diagramNode |
| href="classDiagram_interfaces.gmfgraph#RectangleInterfaceNode"/> |
| <children |
| compartment="//@nodes.11/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface/ownedAttribute"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| <domainSpecialization |
| body="not oclIsKindOf(uml::Port)"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/> |
| <value |
| body="AggregationKind::composite"/> |
| </initializers> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'property' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.0"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.11/@ownedChild/@compartments.1"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface/ownedOperation"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'operation' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.1"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.11/@ownedChild/@compartments.2" |
| referencedChild="//@nodes.0/@ownedChild/@children.1/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface/nestedClassifier"/> |
| </children> |
| <compartments |
| children="//@nodes.11/@ownedChild/@children.0"> |
| <compartment |
| href="classDiagram_interfaces.gmfgraph#attributes"/> |
| </compartments> |
| <compartments |
| children="//@nodes.11/@ownedChild/@children.1"> |
| <compartment |
| href="classDiagram_interfaces.gmfgraph#operations"/> |
| </compartments> |
| <compartments |
| children="//@nodes.11/@ownedChild/@children.2"> |
| <compartment |
| href="classDiagram_interfaces.gmfgraph#classes"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Component/packagedElement"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#SecondaryPackage_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#SecondaryPackageNode"/> |
| <children |
| compartment="//@nodes.12/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Namespace/elementImport"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//ElementImport"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//ElementImport/alias"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.1/@tools.5"/> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#AuxiliaryPureLabel"/> |
| </ownedChild> |
| </children> |
| <compartments |
| children="//@nodes.12/@ownedChild/@children.0"> |
| <compartment |
| href="classDiagram_packages.gmfgraph#imports"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//AssociationClass"/> |
| <diagramNode |
| href="classDiagram_classifiers.gmfgraph#AssociationClassRhombNode"/> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/nestedPackage"/> |
| <ownedChild |
| relatedDiagrams="//@diagram"> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'package' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_auxiliary.gmfgraph#PackageAsFrameNode_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <diagramNode |
| href="classDiagram_auxiliary.gmfgraph#PackageAsFrameNode"/> |
| <children |
| compartment="//@nodes.14/@ownedChild/@compartments.0" |
| referencedChild="//@nodes.14/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/nestedPackage"/> |
| </children> |
| <children |
| compartment="//@nodes.14/@ownedChild/@compartments.0" |
| referencedChild="//@nodes.1/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| </children> |
| <children |
| compartment="//@nodes.14/@ownedChild/@compartments.0" |
| referencedChild="//@nodes.5/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| </children> |
| <children |
| compartment="//@nodes.14/@ownedChild/@compartments.0" |
| referencedChild="//@nodes.8/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| </children> |
| <children |
| compartment="//@nodes.14/@ownedChild/@compartments.0" |
| referencedChild="//@nodes.3/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| </children> |
| <children |
| compartment="//@nodes.14/@ownedChild/@compartments.0" |
| referencedChild="//@nodes.4/@ownedChild"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <childrenFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/ownedType"/> |
| </children> |
| <compartments |
| children="//@nodes.14/@ownedChild/@children.3 //@nodes.14/@ownedChild/@children.0 //@nodes.14/@ownedChild/@children.1 //@nodes.14/@ownedChild/@children.2 //@nodes.14/@ownedChild/@children.4 //@nodes.14/@ownedChild/@children.5"> |
| <compartment |
| href="classDiagram_auxiliary.gmfgraph#frame contents"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <nodes> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/> |
| <domainInitializer |
| xsi:type="gmfmap:FeatureSeqInitializer"> |
| <initializers |
| xsi:type="gmfmap:FeatureValueSpec"> |
| <feature |
| xsi:type="ecore:EAttribute" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| <value |
| body=" let base : String = 'InstanceSpecification' in let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in let space : Namespace = self.namespace in let allMissed : Sequence(String) = suffixes-> 	select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in let firstMissed : String = allMissed->first() in let noMisses : Boolean = firstMissed.oclIsUndefined() in let allNames : Set(String) = 	if noMisses 		then 		space.member->collect(e : NamedElement | 			if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) <> base 			then '' else e.name 			endif 		)->asSet()->excluding('') 		else Set{'not in use'} 		endif in let longestName : String = 		if noMisses 		then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()		else 'not in use' 		endif 	in if noMisses then 		if longestName.oclIsUndefined() 		then base 		else longestName.concat('1') 		endif else base.concat(firstMissed) endif "/> |
| </initializers> |
| </domainInitializer> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| viewPattern=""> |
| <diagramLabel |
| href="classDiagram_instances.gmfgraph#RectangleInstance_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <diagramNode |
| href="classDiagram_instances.gmfgraph#RectangleInstanceNode"/> |
| <children |
| compartment="//@nodes.15/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification/specification"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//LiteralString"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| viewPattern=""> |
| <diagramLabel |
| href="classDiagram_instances.gmfgraph#ValueSpecification_inplace"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//LiteralInteger/value"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.3/@tools.2/@tools.0"/> |
| <diagramNode |
| href="classDiagram_instances.gmfgraph#ValueSpecification_inplace"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.8/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification/specification"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//LiteralInteger"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| viewPattern=""> |
| <diagramLabel |
| href="classDiagram_instances.gmfgraph#ValueSpecification_inplace"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//LiteralInteger/value"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.3/@tools.2/@tools.1"/> |
| <diagramNode |
| href="classDiagram_instances.gmfgraph#ValueSpecification_inplace"/> |
| </ownedChild> |
| </children> |
| <children |
| compartment="//@nodes.15/@ownedChild/@compartments.0"> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification/specification"/> |
| <ownedChild> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Expression"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| viewPattern=""> |
| <diagramLabel |
| href="classDiagram_instances.gmfgraph#ValueSpecification_inplace"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Expression/symbol"/> |
| </labelMappings> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.3/@tools.2/@tools.2"/> |
| <diagramNode |
| href="classDiagram_instances.gmfgraph#ValueSpecification_inplace"/> |
| </ownedChild> |
| </children> |
| <compartments |
| children="//@nodes.15/@ownedChild/@children.0 //@nodes.15/@ownedChild/@children.2"> |
| <compartment |
| href="classDiagram_instances.gmfgraph#value"/> |
| </compartments> |
| </ownedChild> |
| </nodes> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Generalization"/> |
| <domainSpecialization |
| body="self.generalizationSet ->size() = 0"/> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/generalization"/> |
| <tool |
| xsi:type="gmftool:GenericTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.2"/> |
| <diagramLink |
| href="../../../plugin/org.eclipse.gmf.graphdef/models/classDiagram.gmfgraph#SolidConnectionWDstClosedArrow"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Generalization/general"/> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/> |
| <domainSpecialization |
| body="(self.oclIsTypeOf(uml::Dependency) or self.oclIsTypeOf(uml::Abstraction) or self.oclIsTypeOf(uml::Substitution) or self.oclIsTypeOf(uml::Usage)) and self.supplier->size() = 1 and self.client->size() = 1 and self.supplier->forAll(e|not e.oclIsKindOf(uml::Interface))"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="common_dependencies.gmfgraph#Dependency_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="common_dependencies.gmfgraph#Dependency_type"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <tool |
| xsi:type="gmftool:GenericTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.1/@tools.0"/> |
| <diagramLink |
| href="common_dependencies.gmfgraph#BinaryDependencyLink"/> |
| <sourceMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency/client"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency/supplier"/> |
| <creationConstraints> |
| <targetEnd |
| body="not self.oclIsKindOf(uml::Interface)
"/> |
| </creationConstraints> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| <domainSpecialization |
| body="self.association.oclIsTypeOf(uml::AssociationClass)"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_targetRole"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_targetMultiplicity"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_targetOptions"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Association/ownedEnd"/> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.8"/> |
| <diagramLink |
| href="classDiagram_associations.gmfgraph#AssociationLink"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement/type"/> |
| </links> |
| <links> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.5"/> |
| <diagramLink |
| href="../../../plugin/org.eclipse.gmf.graphdef/models/classDiagram.gmfgraph#DashedConnection"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint/constrainedElement"/> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Association"/> |
| <domainSpecialization |
| body="not self.oclIsTypeOf(uml::AssociationClass)"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_sourceRole"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_targetRole"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping" |
| editPattern=""> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_sourceOptions"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_targetOptions"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_sourceMultiplicity"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_targetMultiplicity"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <tool |
| xsi:type="gmftool:GenericTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.0/@tools.0"/> |
| <diagramLink |
| href="classDiagram_associations.gmfgraph#AssociationLink"/> |
| <sourceMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement/type"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement/type"/> |
| </links> |
| <links> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.6"/> |
| <diagramLink |
| href="common_dependencies.gmfgraph#BinaryDependencyLink"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency/supplier"/> |
| </links> |
| <links> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.7"/> |
| <diagramLink |
| href="common_dependencies.gmfgraph#NAryDependencyBeginningLink"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency/client"/> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InterfaceRealization"/> |
| <domainSpecialization |
| body="self.supplier->forAll(e|e.oclIsKindOf(uml::Interface))"/> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioredClassifier/interfaceRealization"/> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.3"/> |
| <diagramLink |
| href="classDiagram_interfaces.gmfgraph#ProvidedInterfaceLink"/> |
| <sourceMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InterfaceRealization/implementingClassifier"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InterfaceRealization/contract"/> |
| <creationConstraints> |
| <targetEnd |
| body="self.oclIsKindOf(uml::Interface)"/> |
| </creationConstraints> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Realization"/> |
| <domainSpecialization |
| body="self.oclIsTypeOf(uml::Realization)"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="common_dependencies.gmfgraph#Dependency_name"/> |
| <features |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/> |
| </labelMappings> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.9"/> |
| <diagramLink |
| href="common_dependencies.gmfgraph#RealizationDependencyLink"/> |
| <sourceMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency/client"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency/supplier"/> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Generalization"/> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/generalization"/> |
| <tool |
| xsi:type="gmftool:GenericTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.2"/> |
| <diagramLink |
| href="../../../plugin/org.eclipse.gmf.graphdef/models/basic.gmfgraph#Link"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Generalization/generalizationSet"/> |
| </links> |
| <links> |
| <diagramLink |
| href="../../../plugin/org.eclipse.gmf.graphdef/models/classDiagram.gmfgraph#SolidConnectionWDstClosedArrow"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Generalization/general"/> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Usage"/> |
| <domainSpecialization |
| body="self.supplier->forAll(e|e.oclIsKindOf(uml::Interface))"/> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.4"/> |
| <diagramLink |
| href="classDiagram_interfaces.gmfgraph#RequiredInterfaceLink"/> |
| <sourceMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency/client"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency/supplier"/> |
| <creationConstraints> |
| <sourceEnd |
| body="self.oclIsKindOf(uml::Classifier)"/> |
| <targetEnd |
| body="self.oclIsKindOf(uml::Interface)"/> |
| </creationConstraints> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//AssociationClass"/> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package/packagedElement"/> |
| <diagramLink |
| href="classDiagram_associations.gmfgraph#AssociationClass2RhombConnector"/> |
| <sourceMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/collaborationUse"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/collaborationUse"/> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot"/> |
| <domainSpecialization |
| body="self.value->exists(v : ValueSpecification | v.oclIsKindOf(InstanceValue) and not v.oclAsType(InstanceValue).oclIsUndefined())"/> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_name"/> |
| </labelMappings> |
| <labelMappings |
| xsi:type="gmfmap:FeatureLabelMapping"> |
| <diagramLabel |
| href="classDiagram_associations.gmfgraph#AssociationLink_sourceRole"/> |
| </labelMappings> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification/slot"/> |
| <tool |
| xsi:type="gmftool:GenericTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.0/@tools.0"/> |
| <diagramLink |
| href="classDiagram_associations.gmfgraph#AssociationLink"/> |
| <sourceMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot/owningInstance"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Slot/owningInstance"/> |
| </links> |
| <links> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateBinding"/> |
| <labelMappings |
| xsi:type="gmfmap:DesignLabelMapping" |
| readOnly="true"> |
| <diagramLabel |
| href="classDiagram_templates.gmfgraph#TemplateBinding_binding"/> |
| </labelMappings> |
| <labelMappings> |
| <diagramLabel |
| href="classDiagram_templates.gmfgraph#TemplateBinding_templateParameterSubstitution"/> |
| </labelMappings> |
| <containmentFeature |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateableElement/templateBinding"/> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.10"/> |
| <diagramLink |
| href="classDiagram_templates.gmfgraph#TemplateBindingLink"/> |
| <sourceMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateBinding/boundElement"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//TemplateSignature/template"/> |
| <creationConstraints> |
| <targetEnd |
| body="self.ownedTemplateSignature <> null"/> |
| </creationConstraints> |
| </links> |
| <links> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.3"/> |
| <diagramLink |
| href="classDiagram_interfaces.gmfgraph#ProvidedInterfaceLink"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port/provided"/> |
| <creationConstraints> |
| <sourceEnd |
| body="self.oclIsKindOf(uml::Port) and (self.oclAsType(uml::Port).type.oclIsUndefined() or self.oclAsType(uml::Port).type.oclIsKindOf(uml::Classifier))"/> |
| </creationConstraints> |
| </links> |
| <links> |
| <tool |
| xsi:type="gmftool:CreationTool" |
| href="classDiagram.gmftool#//@palette/@tools.2/@tools.4"/> |
| <diagramLink |
| href="classDiagram_interfaces.gmfgraph#RequiredInterfaceLink"/> |
| <linkMetaFeature |
| xsi:type="ecore:EReference" |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port/required"/> |
| <creationConstraints> |
| <sourceEnd |
| body="self.oclIsKindOf(uml::Port)"/> |
| </creationConstraints> |
| </links> |
| <diagram> |
| <diagramCanvas |
| href="../../../plugin/org.eclipse.gmf.graphdef/models/basic.gmfgraph#Surface"/> |
| <domainModel |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#/"/> |
| <domainMetaElement |
| href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/> |
| <palette |
| href="classDiagram.gmftool#//@palette"/> |
| </diagram> |
| </gmfmap:Mapping> |