Eclipse-PyUML/pyUml/custom-src/classDiagram.gmfmap

1979 lines
120 KiB
XML
Executable File

<?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/2006/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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"/>
<domainInitializer
xsi:type="gmfmap:FeatureSeqInitializer">
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"/>
<domainInitializer
xsi:type="gmfmap:FeatureSeqInitializer">
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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.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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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">
<compartment
href="classDiagram_packages.gmfgraph#classifiers"/>
</compartments>
<compartments
children="//@nodes.0/@ownedChild/@children.6">
<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"
body="let base : String = 'Class' in&#xD;&#xA;let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in &#xD;&#xA;let space : Namespace = self.namespace in&#xD;&#xA;let allMissed : Sequence(String) = suffixes->&#xD;&#xA; select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s))&#xD;&#xA; ) in&#xD;&#xA;let firstMissed : String = allMissed->first() in &#xD;&#xA;let noMisses : Boolean = firstMissed.oclIsUndefined() in&#xD;&#xA;let allNames : Set(String) = &#xD;&#xA; if noMisses &#xD;&#xA; then &#xD;&#xA; space.member->collect(e : NamedElement | &#xD;&#xA; if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base&#xD;&#xA; then '' &#xD;&#xA; else e.name &#xD;&#xA; endif)->asSet()->excluding('') else Set{'not in use'} &#xD;&#xA; endif in &#xD;&#xA;let longestName : String = &#xD;&#xA; if noMisses&#xD;&#xA; then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first() &#xD;&#xA; else 'not in use' &#xD;&#xA; endif in &#xD;&#xA;if noMisses then &#xD;&#xA; if longestName.oclIsUndefined() &#xD;&#xA; then base &#xD;&#xA; else longestName.concat('1') &#xD;&#xA; endif &#xD;&#xA;else &#xD;&#xA; base.concat(firstMissed) &#xD;&#xA;endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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)"/>
<domainInitializer
xsi:type="gmfmap:FeatureSeqInitializer">
<initializers
xsi:type="gmfmap:FeatureValueSpec"
body="AggregationKind::composite">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/>
</initializers>
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
body="AggregationKind::composite">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/>
</initializers>
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
body="AggregationKind::composite">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/>
</initializers>
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
body="AggregationKind::composite">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/>
</initializers>
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
body="AggregationKind::composite">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/>
</initializers>
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
body="AggregationKind::composite">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/>
</initializers>
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
body="'ValueSpecification'">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//LiteralString/value"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"/>
<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">
<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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</initializers>
</domainInitializer>
<labelMappings
xsi:type="gmfmap:FeatureLabelMapping">
<diagramLabel
href="classDiagram_dependencies.gmfgraph#Dependency_name"/>
<features
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</labelMappings>
<diagramNode
href="classDiagram_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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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>
<diagramNode
href="classDiagram_classifiers.gmfgraph#ClassNode"/>
<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"
body="AggregationKind::composite">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property/aggregation"/>
</initializers>
<initializers
xsi:type="gmfmap:FeatureValueSpec"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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_classifiers.gmfgraph#attributes"/>
</compartments>
<compartments
children="//@nodes.11/@ownedChild/@children.1">
<compartment
href="classDiagram_classifiers.gmfgraph#operations"/>
</compartments>
<compartments
children="//@nodes.11/@ownedChild/@children.2">
<compartment
href="classDiagram_classifiers.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"
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-> &#x9;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) = &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif else base.concat(firstMissed) endif ">
<feature
xsi:type="ecore:EAttribute"
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</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>
<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="classDiagram_dependencies.gmfgraph#Dependency_name"/>
<features
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement/name"/>
</labelMappings>
<labelMappings
xsi:type="gmfmap:FeatureLabelMapping">
<diagramLabel
href="classDiagram_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="classDiagram_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)&#xD;&#xA;"/>
</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>
<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="../../../plugin/org.eclipse.gmf.graphdef/models/basic.gmfgraph#Link"/>
<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="classDiagram_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="classDiagram_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="classDiagram_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="classDiagram_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>
<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>
<audits
id="pyUml-ac1"
name="PyUML Live Validation"
description="Python-specific UML validation results">
<audits
name="Protected Element Info"
description="Info when using &quot;protected&quot;"
id="PyUML-rule1"
severity="INFO"
useInLiveMode="true"
message="Protected Elements in Python starting with &quot;_&quot; are only convention">
<rule
body="self.visibility &lt;> VisibilityKind::protected"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
</target>
</audits>
<audits
name="PackageWarning"
description="Warning when using visibility &quot;Package&quot;"
id="PyUML-rule2"
severity="WARNING"
useInLiveMode="true"
message="&quot;Package&quot; visibility is not supported by Python">
<rule
body="self.visibility = VisibilityKind::private or self.visibility = VisibilityKind::public or self.visibility = VisibilityKind::protected"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
</target>
</audits>
<audits
name="privAttr"
description="private attributes must start with &quot;__&quot;"
id="PyUML-rule3"
severity="WARNING"
useInLiveMode="true"
message="Private attribute does not start with &quot;__&quot;">
<rule
body="self.visibility &lt;> VisibilityKind::private or self.name.substring(1,2) = '__'"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
</target>
</audits>
<audits
name="privMethod"
description="private methods must start with &quot;__&quot;"
id="PyUML-rule4"
severity="WARNING"
useInLiveMode="true"
message="Private method does not start with &quot;__&quot;">
<rule
body="self.visibility &lt;> VisibilityKind::private or self.name.substring(1,2) = '__'"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
</target>
</audits>
<audits
name="protectedAttribute"
description="private attributes must start with &quot;__&quot;"
id="PyUML-rule5"
severity="WARNING"
useInLiveMode="true"
message="Protected attribute does not start with &quot;_&quot;">
<rule
body="self.visibility &lt;> VisibilityKind::protected or self.name.substring(1,1) = '_'"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
</target>
</audits>
<audits
name="protectedMethod"
description="private method must start with &quot;__&quot;"
id="PyUML-rule6"
severity="WARNING"
useInLiveMode="true"
message="Protected method does not start with &quot;_&quot;">
<rule
body="self.visibility &lt;> VisibilityKind::protected or self.name.substring(1,1) = '_'"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
</target>
</audits>
<audits
name="abstract operator"
description="Abstract classes are not supported in Python."
id="PyUML-rule7"
severity="INFO"
useInLiveMode="true"
message="Abstract classes are not supported in Python.">
<rule
body="not self.isAbstract"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
</target>
</audits>
<audits
name="overloadedMethods"
description="Multiple Methods with same name are not supported in Python - use default values for Overloading!"
id="PyUML-rule8"
useInLiveMode="true"
message="Multiple methods with same name are not supported in Python - use default values for overloading!">
<rule
body="self.getOperations()->forAll(op1, op2 | op1&lt;>op2 implies op1.name &lt;> op2.name)"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
</target>
</audits>
<audits
name="interfaceInfo"
description="UML Interfaces are reproduced as classes in Python Code"
id="PyUML-rule9"
severity="INFO"
useInLiveMode="true"
message="UML interfaces are realized as classes in Python Code">
<rule
body="false"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
</target>
</audits>
<audits
name="objectMethodWithoutSelf"
description="This method will be realized as static unless you add &quot;self&quot; as first parameter!"
id="PyUML-rule10"
severity="WARNING"
useInLiveMode="true"
message="This method will be realized as static unless you add &quot;self&quot; as first parameter!">
<rule
body="self.isStatic or (not self.ownedParameter->forAll(param | param.name &lt;> 'self' ))"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
</target>
</audits>
<audits
name="staticMethodWithSelf"
description="This method will be realized as non-static unless you remove the &quot;self&quot; parameter!"
id="PyUML-rule11"
severity="WARNING"
useInLiveMode="true"
message="This method will be realized as non-static unless you remove the &quot;self&quot; parameter!">
<rule
body="(not self.isStatic) or self.ownedParameter->forAll(param | param.name &lt;> 'self' )"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
</target>
</audits>
<audits
name="TypedParameter"
description="Typed parameters are not supported in Python."
id="PyUML-rule12"
severity="WARNING"
useInLiveMode="true"
message="Typed parameters are not supported in Python.">
<rule
body="self.name = null or self.type = null"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
</target>
</audits>
<audits
name="TypedMethod"
description="Method return types are not supported in Python."
id="PyUML-rule13"
severity="WARNING"
useInLiveMode="true"
message="Method return types are not supported in Python.">
<rule
body="self.type = null"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
</target>
</audits>
<audits
name="TypedAttribute"
description="Typed attributes are not supported in Python."
id="PyUML-rule14"
severity="WARNING"
useInLiveMode="true"
message="Typed attributes are not supported in Python.">
<rule
body="self.name = null or self.type = null"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
</target>
</audits>
<audits
name="InOutParameter"
description="Only &quot;incoming Parameters are supported in Python."
id="PyUML-rule15"
severity="WARNING"
message="Only &quot;incoming Parameters are supported in Python.">
<rule
body="self.direction = null or (self.direction &lt;> ParameterDirectionKind::out and self.direction &lt;> ParameterDirectionKind::return and self.direction &lt;> ParameterDirectionKind::inout)"/>
<target
xsi:type="gmfmap:DomainElementTarget">
<element
href="../../../plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
</target>
</audits>
</audits>
</gmfmap:Mapping>