blob: 11929cc0dd8b30f0f3cbf9cd71b9f6f024eb7f3f [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage 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" name="umldi" nsURI="http://www.omg.org/spec/UML/20131001/UMLDI" nsPrefix="umldi">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="UMLDI"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="UmlDiagram" abstract="true" eSuperTypes="#//UmlDiagramElement ../../org.eclipse.papyrus.dd/model/DI.ecore#//Diagram">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The most general class for UML diagrams."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="topUmlDiagramElement" upperBound="-1"
eType="#//TopUmlDiagramElement" containment="true" eOpposite="#//TopUmlDiagramElement/umlDiagram">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UmlDiagramElement" abstract="true" eSuperTypes="../../org.eclipse.papyrus.dd/model/DI.ecore#//DiagramElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The most general class for UML diagram interchange."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="umlModelElement" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Restricts UMLDiagramElements to show UML Elements, rather than other language elements. "/>
</eAnnotations>
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//DiagramElement/modelElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="sharedUmlStyle" ordered="false"
eType="#//UmlStyle">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Restricts shared styles to UMLStyles."/>
</eAnnotations>
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//DiagramElement/sharedStyle"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="localUmlStyle" ordered="false"
eType="#//UmlStyle" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Restricts owned styles to UMLStyles."/>
</eAnnotations>
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//DiagramElement/localStyle"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedUmlDiagramElement"
upperBound="-1" eType="#//UmlDiagramElement" changeable="false" volatile="true"
transient="true" derived="true" eOpposite="#//UmlDiagramElement/owningUmlDiagramElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Restricts UMLDiagramElements to own only UMLDiagramElements."/>
</eAnnotations>
<eAnnotations source="union"/>
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//DiagramElement/ownedDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningUmlDiagramElement"
ordered="false" eType="#//UmlDiagramElement" changeable="false" volatile="true"
transient="true" derived="true" eOpposite="#//UmlDiagramElement/ownedUmlDiagramElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Restricts UMLDiagramElements to be owned by only UMLDiagramElements."/>
</eAnnotations>
<eAnnotations source="union"/>
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//DiagramElement/owningDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="targetUmlEdge" upperBound="-1"
eType="#//UmlEdge" eOpposite="#//UmlEdge/targetUmlDiagramElement">
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//DiagramElement/targetEdge"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="sourceUmlEdge" upperBound="-1"
eType="#//UmlEdge" eOpposite="#//UmlEdge/sourceUmlDiagramElement">
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//DiagramElement/sourceEdge"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UmlStyle" eSuperTypes="../../org.eclipse.papyrus.dd/model/DI.ecore#//Style">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The most general class for Styles in UML."/>
</eAnnotations>
<eOperations name="fontsizePositive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="fontsize_positive"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="body" value="fontSize > 0"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="fontSize must be greater than zero."/>
</eAnnotations>
<eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
</eAnnotations>
</eParameters>
<eParameters name="context">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The cache of context-specific information."/>
</eAnnotations>
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eGenericType>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fontName" ordered="false"
eType="ecore:EDataType ../../org.eclipse.papyrus.dd/model/DC.ecore#//String">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Name of a font used to render strings."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fontSize" ordered="false"
eType="ecore:EDataType ../../org.eclipse.papyrus.dd/model/DC.ecore#//Real">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Size of a font for rendering strings, given in typographical points."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UmlEdge" abstract="true" eSuperTypes="#//TopUmlDiagramElement ../../org.eclipse.papyrus.dd/model/DI.ecore#//Edge">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The most general class for UML diagram elements that are rendered as lines."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="sourceUmlDiagramElement"
ordered="false" lowerBound="1" eType="#//UmlDiagramElement" eOpposite="#//UmlDiagramElement/sourceUmlEdge">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Restricts the sources of UMLEdges to UMLDiagramElements."/>
</eAnnotations>
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//Edge/sourceDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="targetUmlDiagramElement"
ordered="false" lowerBound="1" eType="#//UmlDiagramElement" eOpposite="#//UmlDiagramElement/targetUmlEdge">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Restricts the targets of UMLEdges to UMLDiagramElements."/>
</eAnnotations>
<eAnnotations source="subsets" references="../../org.eclipse.papyrus.dd/model/DI.ecore#//Edge/targetDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TopUmlDiagramElement" abstract="true"
eSuperTypes="#//StereotypedDiagramElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="umlDiagram" ordered="false"
eType="#//UmlDiagram" eOpposite="#//UmlDiagram/topUmlDiagramElement">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="diagramCompartment" ordered="false"
eType="#//DiagramCompartment" eOpposite="#//DiagramCompartment/topUmlDiagramElement">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="mainLabel" ordered="false"
eType="#//MainLabel" containment="true" eOpposite="#//MainLabel/topUmlDiagramElement">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StereotypedDiagramElement" abstract="true"
eSuperTypes="#//UmlDiagramElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="showStereotypeAttributes"
ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.papyrus.dd/model/DC.ecore#//Boolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stereotypeLabel" ordered="false"
eType="#//StereotypeLabel" containment="true" eOpposite="#//StereotypeLabel/stereotypedDiagramElement">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StereotypeLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="stereotypedDiagramElement"
ordered="false" eType="#//StereotypedDiagramElement" eOpposite="#//StereotypedDiagramElement/stereotypeLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UmlLabel" abstract="true" eSuperTypes="#//UmlDiagramElement ../../org.eclipse.papyrus.dd/model/DI.ecore#//Shape"/>
<eClassifiers xsi:type="ecore:EClass" name="DiagramCompartment" abstract="true"
eSuperTypes="#//UmlCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="topUmlDiagramElement" upperBound="-1"
eType="#//TopUmlDiagramElement" containment="true" eOpposite="#//TopUmlDiagramElement/diagramCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UmlCompartment" abstract="true" eSuperTypes="#//UmlDiagramElement ../../org.eclipse.papyrus.dd/model/DI.ecore#//Shape"/>
<eClassifiers xsi:type="ecore:EClass" name="MainLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="topUmlDiagramElement" ordered="false"
eType="#//TopUmlDiagramElement" eOpposite="#//TopUmlDiagramElement/mainLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UmlShape" abstract="true" eSuperTypes="#//TopUmlDiagramElement ../../org.eclipse.papyrus.dd/model/DI.ecore#//Shape">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The most general class for UML diagram elements that are not rendered as lines."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="stereotypeCompartment"
upperBound="-1" eType="#//StereotypeCompartment" containment="true" eOpposite="#//StereotypeCompartment/umlShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StereotypeCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="umlShape" ordered="false"
eType="#//UmlShape" eOpposite="#//UmlShape/stereotypeCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ListCompartment" abstract="true" eSuperTypes="#//UmlCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="listItemLabel" upperBound="-1"
eType="#//ListItemLabel" containment="true" eOpposite="#//ListItemLabel/listCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ListItemLabel" eSuperTypes="#//StereotypedDiagramElement #//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="listCompartment" ordered="false"
eType="#//ListCompartment" eOpposite="#//ListCompartment/listItemLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassDiagram" eSuperTypes="#//StructureDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="StructureDiagram" abstract="true" eSuperTypes="#//UmlDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierShape" abstract="true" eSuperTypes="#//TemplateableElementShape">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="useClassifierNotation"
ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.papyrus.dd/model/DC.ecore#//Boolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedUseCaseCompartment"
ordered="false" eType="#//OwnedUseCaseCompartment" containment="true" eOpposite="#//OwnedUseCaseCompartment/classifierShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="useCaseCompartment" ordered="false"
eType="#//UseCaseCompartment" containment="true" eOpposite="#//UseCaseCompartment/classifierShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateableElementShape" abstract="true"
eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="templateParameterCompartment"
ordered="false" eType="#//TemplateParameterCompartment" containment="true"
eOpposite="#//TemplateParameterCompartment/templateableElementShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementShape" abstract="true" eSuperTypes="#//UmlShape"/>
<eClassifiers xsi:type="ecore:EClass" name="TemplateParameterCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="templateableElementShape"
ordered="false" eType="#//TemplateableElementShape" eOpposite="#//TemplateableElementShape/templateParameterCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OwnedUseCaseCompartment" eSuperTypes="#//ClassifierCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="classifierShape" ordered="false"
eType="#//ClassifierShape" eOpposite="#//ClassifierShape/ownedUseCaseCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierCompartment" abstract="true"
eSuperTypes="#//DiagramCompartment #//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="layout" ordered="false"
lowerBound="1" eType="#//CompartmentLayout" defaultValueLiteral="list"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CompartmentLayout">
<eLiterals name="list"/>
<eLiterals name="diagram" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UseCaseCompartment" eSuperTypes="#//DiagramCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="classifierShape" ordered="false"
eType="#//ClassifierShape" eOpposite="#//ClassifierShape/useCaseCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PackageShape" eSuperTypes="#//ElementWithPackagedElementsShape #//TemplateableElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ElementWithPackagedElementsShape" abstract="true"
eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="packagedElementCompartment"
ordered="false" eType="#//PackagedElementCompartment" containment="true" eOpposite="#//PackagedElementCompartment/elementWithPackagedElementsShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PackagedElementCompartment" eSuperTypes="#//DiagramCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="elementWithPackagedElementsShape"
ordered="false" eType="#//ElementWithPackagedElementsShape" eOpposite="#//ElementWithPackagedElementsShape/packagedElementCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstraintShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="AttributeCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="classifierWithAttributesShape"
ordered="false" eType="#//ClassifierWithAttributesShape" eOpposite="#//ClassifierWithAttributesShape/attributeCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierWithAttributesShape" abstract="true"
eSuperTypes="#//ClassifierShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="attributeCompartment" ordered="false"
eType="#//AttributeCompartment" containment="true" eOpposite="#//AttributeCompartment/classifierWithAttributesShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OperationCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="classifierWithOperationsShape"
ordered="false" eType="#//ClassifierWithOperationsShape" eOpposite="#//ClassifierWithOperationsShape/operationCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierWithOperationsShape" abstract="true"
eSuperTypes="#//ClassifierWithAttributesShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="operationCompartment" ordered="false"
eType="#//OperationCompartment" containment="true" eOpposite="#//OperationCompartment/classifierWithOperationsShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReceptionCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="classifierWithReceptionShape"
ordered="false" eType="#//ClassifierWithReceptionsShape" eOpposite="#//ClassifierWithReceptionsShape/receptionCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierWithReceptionsShape" abstract="true"
eSuperTypes="#//ClassifierWithOperationsShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="receptionCompartment" ordered="false"
eType="#//ReceptionCompartment" containment="true" eOpposite="#//ReceptionCompartment/classifierWithReceptionShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LiteralCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="enumerationShape" ordered="false"
eType="#//EnumerationShape" eOpposite="#//EnumerationShape/literalCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EnumerationShape" eSuperTypes="#//ClassifierShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="literalCompartment" ordered="false"
eType="#//LiteralCompartment" containment="true" eOpposite="#//LiteralCompartment/enumerationShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoleLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="associationEdge" ordered="false"
eType="#//AssociationEdge" eOpposite="#//AssociationEdge/endRoleLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="instanceSpecificationEdge"
ordered="false" eType="#//InstanceSpecificationEdge" eOpposite="#//InstanceSpecificationEdge/endRoleLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="roleBindingEdge" ordered="false"
eType="#//DependencyEdge" eOpposite="#//DependencyEdge/roleLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AssociationEdge" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="endMultiplicityLabel" upperBound="2"
eType="#//MultiplicityLabel" containment="true" eOpposite="#//MultiplicityLabel/associationEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="endConstraintLabel" upperBound="2"
eType="#//ConstraintLabel" containment="true" eOpposite="#//ConstraintLabel/associationEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="endRoleLabel" upperBound="2"
eType="#//RoleLabel" containment="true" eOpposite="#//RoleLabel/associationEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementEdge" abstract="true" eSuperTypes="#//UmlEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="MultiplicityLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="propertyEdge" ordered="false"
eType="#//PropertyEdge" eOpposite="#//PropertyEdge/multiplicityLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="connectorEdge" ordered="false"
eType="#//ConnectorEdge" eOpposite="#//ConnectorEdge/endMultiplicityLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="associationEdge" ordered="false"
eType="#//AssociationEdge" eOpposite="#//AssociationEdge/endMultiplicityLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PropertyEdge" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="constraintLabel" ordered="false"
eType="#//ConstraintLabel" containment="true" eOpposite="#//ConstraintLabel/propertyEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiplicityLabel" ordered="false"
eType="#//MultiplicityLabel" containment="true" eOpposite="#//MultiplicityLabel/propertyEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstraintLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="associationEdge" ordered="false"
eType="#//AssociationEdge" eOpposite="#//AssociationEdge/endConstraintLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="generalizationSetEdge"
ordered="false" eType="#//GeneralizationSetEdge" eOpposite="#//GeneralizationSetEdge/constraintLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="objectNodeShape" ordered="false"
eType="#//ObjectNodeShape" eOpposite="#//ObjectNodeShape/constraintLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="lifelineShape" ordered="false"
eType="#//LifelineShape" eOpposite="#//LifelineShape/constraintLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="actionShape" ordered="false"
eType="#//ActionShape" eOpposite="#//ActionShape/conditionLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="propertyEdge" ordered="false"
eType="#//PropertyEdge" eOpposite="#//PropertyEdge/constraintLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GeneralizationSetEdge" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="powerLabel" ordered="false"
eType="#//PowerLabel" containment="true" eOpposite="#//PowerLabel/generalizationSetEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="constraintLabel" ordered="false"
eType="#//ConstraintLabel" containment="true" eOpposite="#//ConstraintLabel/generalizationSetEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PowerLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="generalizationSetEdge"
ordered="false" eType="#//GeneralizationSetEdge" eOpposite="#//GeneralizationSetEdge/powerLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObjectNodeShape" eSuperTypes="#//ActivityNodeShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="selectionLabel" ordered="false"
eType="#//SelectionLabel" containment="true" eOpposite="#//SelectionLabel/objectNodeShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="constraintLabel" ordered="false"
eType="#//ConstraintLabel" containment="true" eOpposite="#//ConstraintLabel/objectNodeShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivityNodeShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="SelectionLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="objectFlowEdge" ordered="false"
eType="#//ObjectFlowEdge" eOpposite="#//ObjectFlowEdge/selectionLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="objectNodeShape" ordered="false"
eType="#//ObjectNodeShape" eOpposite="#//ObjectNodeShape/selectionLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObjectFlowEdge" eSuperTypes="#//ActivityEdgeEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="transformationLabel" ordered="false"
eType="#//TransformationLabel" containment="true" eOpposite="#//TransformationLabel/objectFlowEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="selectionLabel" ordered="false"
eType="#//SelectionLabel" containment="true" eOpposite="#//SelectionLabel/objectFlowEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivityEdgeEdge" abstract="true" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="guardLabel" ordered="false"
eType="#//GuardLabel" containment="true" eOpposite="#//GuardLabel/activityEdgeEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="weightLabel" ordered="false"
eType="#//WeightLabel" containment="true" eOpposite="#//WeightLabel/activityEdgeEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GuardLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="activityEdgeEdge" ordered="false"
eType="#//ActivityEdgeEdge" eOpposite="#//ActivityEdgeEdge/guardLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WeightLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="activityEdgeEdge" ordered="false"
eType="#//ActivityEdgeEdge" eOpposite="#//ActivityEdgeEdge/weightLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TransformationLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="objectFlowEdge" ordered="false"
eType="#//ObjectFlowEdge" eOpposite="#//ObjectFlowEdge/transformationLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LifelineShape" eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="subfragmentShape" upperBound="-1"
eType="#//InteractionFragmentShape" containment="true" eOpposite="#//InteractionFragmentShape/lifelineShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nestingLifelineShape" ordered="false"
eType="#//LifelineShape" eOpposite="#//LifelineShape/nestedLifelineShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nestedLifelineShape" upperBound="-1"
eType="#//LifelineShape" containment="true" eOpposite="#//LifelineShape/nestingLifelineShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="constraintLabel" upperBound="-1"
eType="#//ConstraintLabel" containment="true" eOpposite="#//ConstraintLabel/lifelineShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InteractionFragmentShape" eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="lifelineShape" ordered="false"
eType="#//LifelineShape" eOpposite="#//LifelineShape/subfragmentShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActionShape" eSuperTypes="#//ActivityNodeShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="pinShape" upperBound="-1"
eType="#//PinShape" containment="true" eOpposite="#//PinShape/actionShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="conditionLabel" upperBound="-1"
eType="#//ConstraintLabel" containment="true" eOpposite="#//ConstraintLabel/actionShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PinShape" eSuperTypes="#//ObjectNodeShape #//ActivityNodeShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="actionShape" ordered="false"
eType="#//ActionShape" eOpposite="#//ActionShape/pinShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConnectorEdge" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="endMultiplicityLabel" upperBound="2"
eType="#//MultiplicityLabel" containment="true" eOpposite="#//MultiplicityLabel/connectorEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InstanceSpecificationEdge" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="endRoleLabel" upperBound="2"
eType="#//RoleLabel" containment="true" eOpposite="#//RoleLabel/instanceSpecificationEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DependencyEdge" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="roleLabel" ordered="false"
eType="#//RoleLabel" containment="true" eOpposite="#//RoleLabel/roleBindingEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InstanceSpecificationShape" eSuperTypes="#//DeploymentTargetShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="slotCompartment" ordered="false"
eType="#//SlotCompartment" containment="true" eOpposite="#//SlotCompartment/instanceSpecificationShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DeploymentTargetShape" abstract="true"
eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="deployedArtifactCompartment"
ordered="false" eType="#//DeployedArtifactCompartment" containment="true"
eOpposite="#//DeployedArtifactCompartment/deploymentTargetShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DeployedArtifactCompartment" eSuperTypes="#//ClassifierCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="deploymentTargetShape"
ordered="false" eType="#//DeploymentTargetShape" eOpposite="#//DeploymentTargetShape/deployedArtifactCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SlotCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="instanceSpecificationShape"
ordered="false" eType="#//InstanceSpecificationShape" eOpposite="#//InstanceSpecificationShape/slotCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassShape" eSuperTypes="#//ClassifierWithNestedClassifiersShape #//BehavioredClassifierShape #//ElementWithPortsShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ElementWithPortsShape" abstract="true"
eSuperTypes="#//ElementWithStructureShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="portShape" upperBound="-1"
eType="#//PortShape" containment="true" eOpposite="#//PortShape/elementWithPortsShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementWithStructureShape" abstract="true"
eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="structureCompartment" ordered="false"
eType="#//StructureCompartment" containment="true" eOpposite="#//StructureCompartment/elementWithStructureShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StructureCompartment" eSuperTypes="#//DiagramCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="elementWithStructureShape"
ordered="false" eType="#//ElementWithStructureShape" eOpposite="#//ElementWithStructureShape/structureCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PortShape" eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="elementWithPortsShape"
ordered="false" eType="#//ElementWithPortsShape" eOpposite="#//ElementWithPortsShape/portShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierWithNestedClassifiersShape"
abstract="true" eSuperTypes="#//ClassifierWithReceptionsShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifierCompartment"
ordered="false" eType="#//NestedClassifierCompartment" containment="true"
eOpposite="#//NestedClassifierCompartment/classifierWithNestedClassifiersShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NestedClassifierCompartment" eSuperTypes="#//ClassifierCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="classifierWithNestedClassifiersShape"
ordered="false" eType="#//ClassifierWithNestedClassifiersShape" eOpposite="#//ClassifierWithNestedClassifiersShape/nestedClassifierCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BehavioredClassifierShape" abstract="true"
eSuperTypes="#//ClassifierShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedBehaviorCompartment"
ordered="false" eType="#//OwnedBehaviorCompartment" containment="true" eOpposite="#//OwnedBehaviorCompartment/behavioredClassifierShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OwnedBehaviorCompartment" eSuperTypes="#//ClassifierCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="behavioredClassifierShape"
ordered="false" eType="#//BehavioredClassifierShape" eOpposite="#//BehavioredClassifierShape/ownedBehaviorCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InterfaceShape" eSuperTypes="#//ClassifierWithNestedClassifiersShape"/>
<eClassifiers xsi:type="ecore:EClass" name="DataTypeShape" eSuperTypes="#//ClassifierWithOperationsShape"/>
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveTypeShape" eSuperTypes="#//DataTypeShape"/>
<eClassifiers xsi:type="ecore:EClass" name="SignalShape" eSuperTypes="#//ClassifierWithAttributesShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ModelShape" eSuperTypes="#//PackageShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ContainmentEdge" eSuperTypes="#//UmlEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="GeneralizationEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="RealizationEdge" eSuperTypes="#//AbstractionEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="AbstractionEdge" eSuperTypes="#//DependencyEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="InterfaceRealizationEdge" eSuperTypes="#//RealizationEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="UsageEdge" eSuperTypes="#//DependencyEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="ElementImportEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="PackageImportEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="PackageMergeEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="SubstitutionEdge" eSuperTypes="#//RealizationEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="InformationFlowEdge" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="conveyedLabel" ordered="false"
eType="#//ConveyedLabel" containment="true" eOpposite="#//ConveyedLabel/informationFlowEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConveyedLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="informationFlowEdge" ordered="false"
eType="#//InformationFlowEdge" eOpposite="#//InformationFlowEdge/conveyedLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AssociationClassEdge" eSuperTypes="#//AssociationEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="CommentShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="AttachmentEdge" eSuperTypes="#//UmlEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="AssociationClassShape" eSuperTypes="#//ClassShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ComponentShape" eSuperTypes="#//ClassShape #//ElementWithPackagedElementsShape"/>
<eClassifiers xsi:type="ecore:EClass" name="InformationItemShape" eSuperTypes="#//ClassifierShape"/>
<eClassifiers xsi:type="ecore:EClass" name="RepresentationEdge" eSuperTypes="#//UmlEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="AssociationShape" eSuperTypes="#//ClassifierShape"/>
<eClassifiers xsi:type="ecore:EClass" name="DependencyShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="TimeObservationShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="TimeObservationShape_TimeObservationShape"
eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="DurationObservationShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="PackageDiagram" eSuperTypes="#//StructureDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="ProfileDiagram" eSuperTypes="#//StructureDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="CompositeStructureDiagram" eSuperTypes="#//StructureDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="DeploymentDiagram" eSuperTypes="#//StructureDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="ComponentDiagram" eSuperTypes="#//StructureDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="ObjectDiagram" eSuperTypes="#//StructureDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="ProfileShape" eSuperTypes="#//PackageShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ProfileApplicationEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="ExtensionEdge" eSuperTypes="#//AssociationEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="BehaviorDiagram" abstract="true" eSuperTypes="#//UmlDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="UseCaseDiagram" eSuperTypes="#//BehaviorDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="ArtifactShape" eSuperTypes="#//ClassifierWithOperationsShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="nestedArtifactCompartment"
ordered="false" eType="#//NestedArtifactCompartment" containment="true" eOpposite="#//NestedArtifactCompartment/artifactShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NestedArtifactCompartment" eSuperTypes="#//ClassifierCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="artifactShape" ordered="false"
eType="#//ArtifactShape" eOpposite="#//ArtifactShape/nestedArtifactCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ComponentRealizationEdge" eSuperTypes="#//RealizationEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="ManifestationEdge" eSuperTypes="#//AbstractionEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="PropertyShape" eSuperTypes="#//ElementWithPortsShape #//DeploymentTargetShape"/>
<eClassifiers xsi:type="ecore:EClass" name="CollaborationShape" eSuperTypes="#//ClassifierWithOperationsShape #//BehavioredClassifierShape #//ElementWithStructureShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="receptionCompartment" ordered="false"
eType="#//ReceptionCompartment" containment="true">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollaborationUseShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="TemplateBindingEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="StereotypeShape" eSuperTypes="#//ClassShape"/>
<eClassifiers xsi:type="ecore:EClass" name="NodeShape" eSuperTypes="#//ClassShape #//DeploymentTargetShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="nestedNodeCompartment"
ordered="false" eType="#//NestedNodeCompartment" containment="true" eOpposite="#//NestedNodeCompartment/nodeShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NestedNodeCompartment" eSuperTypes="#//ClassifierCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="nodeShape" ordered="false"
eType="#//NodeShape" eOpposite="#//NodeShape/nestedNodeCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DeviceShape" eSuperTypes="#//NodeShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ExecutionEnvironmentShape" eSuperTypes="#//NodeShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ActivityShape" eSuperTypes="#//ClassShape #//ElementWithActivityNodesShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameterCompartment" ordered="false"
eType="#//ParameterCompartment" containment="true" eOpposite="#//ParameterCompartment/activityShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="postConditionCompartment"
ordered="false" eType="#//PostConditionCompartment" containment="true" eOpposite="#//PostConditionCompartment/activityShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="preConditionCompartment"
ordered="false" eType="#//PreConditionCompartment" containment="true" eOpposite="#//PreConditionCompartment/activityShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="activityParameterNodeShape"
upperBound="-1" eType="#//ActivityParameterNodeShape" containment="true" eOpposite="#//ActivityParameterNodeShape/activityShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementWithActivityNodesShape" abstract="true"
eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="activityNodeCompartment"
ordered="false" eType="#//ActivityNodeCompartment" containment="true" eOpposite="#//ActivityNodeCompartment/elementWithActivityNodesShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivityNodeCompartment" eSuperTypes="#//DiagramCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="elementWithActivityNodesShape"
ordered="false" eType="#//ElementWithActivityNodesShape" eOpposite="#//ElementWithActivityNodesShape/activityNodeCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParameterCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="activityShape" ordered="false"
eType="#//ActivityShape" eOpposite="#//ActivityShape/parameterCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PostConditionCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="activityShape" ordered="false"
eType="#//ActivityShape" eOpposite="#//ActivityShape/postConditionCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PreConditionCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="activityShape" ordered="false"
eType="#//ActivityShape" eOpposite="#//ActivityShape/preConditionCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivityParameterNodeShape" eSuperTypes="#//ObjectNodeShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="activityShape" ordered="false"
eType="#//ActivityShape" eOpposite="#//ActivityShape/activityParameterNodeShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InteractionShape" eSuperTypes="#//ClassShape #//InteractionFragmentWithGatesShape #//InteractionFragmentWithSubfragmentsShape"/>
<eClassifiers xsi:type="ecore:EClass" name="InteractionFragmentWithSubfragmentsShape"
abstract="true" eSuperTypes="#//InteractionFragmentShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="subfragmentCompartment"
ordered="false" eType="#//SubfragmentCompartment" containment="true" eOpposite="#//SubfragmentCompartment/interactionFragmentWithSubfragmentsShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SubfragmentCompartment" eSuperTypes="#//DiagramCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="interactionFragmentWithSubfragmentsShape"
ordered="false" eType="#//InteractionFragmentWithSubfragmentsShape" eOpposite="#//InteractionFragmentWithSubfragmentsShape/subfragmentCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InteractionFragmentWithGatesShape" abstract="true"
eSuperTypes="#//InteractionFragmentShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="gateShape" upperBound="-1"
eType="#//GateShape" containment="true" eOpposite="#//GateShape/interactionFragmentWithGatesShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GateShape" eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="interactionFragmentWithGatesShape"
ordered="false" eType="#//InteractionFragmentWithGatesShape" eOpposite="#//InteractionFragmentWithGatesShape/gateShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OpaqueBehaviorShape" eSuperTypes="#//ClassShape"/>
<eClassifiers xsi:type="ecore:EClass" name="FunctionBehaviorShape" eSuperTypes="#//OpaqueBehaviorShape"/>
<eClassifiers xsi:type="ecore:EClass" name="StateMachineShape" eSuperTypes="#//ClassShape #//BaseStateShape"/>
<eClassifiers xsi:type="ecore:EClass" name="BaseStateShape" abstract="true" eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="connectionPointShape" upperBound="-1"
eType="#//PseudostateShape" containment="true" eOpposite="#//PseudostateShape/baseStateShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="regionCompartment" ordered="false"
eType="#//RegionCompartment" containment="true" eOpposite="#//RegionCompartment/baseStateShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PseudostateShape" eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="baseStateShape" ordered="false"
eType="#//BaseStateShape" eOpposite="#//BaseStateShape/connectionPointShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RegionCompartment" eSuperTypes="#//DiagramCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="baseStateShape" ordered="false"
eType="#//BaseStateShape" eOpposite="#//BaseStateShape/regionCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ProtocolStateMachineShape" eSuperTypes="#//StateMachineShape"/>
<eClassifiers xsi:type="ecore:EClass" name="DeploymentSpecificationShape" eSuperTypes="#//ArtifactShape"/>
<eClassifiers xsi:type="ecore:EClass" name="CommunicationPathEdge" eSuperTypes="#//AssociationEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="DeploymentEdge" eSuperTypes="#//DependencyEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="ActorShape" eSuperTypes="#//BehavioredClassifierShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ExtensionPointCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="useCaseShape" ordered="false"
eType="#//UseCaseShape" eOpposite="#//UseCaseShape/extensionPointCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UseCaseShape" eSuperTypes="#//BehavioredClassifierShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="extensionPointCompartment"
ordered="false" eType="#//ExtensionPointCompartment" containment="true" eOpposite="#//ExtensionPointCompartment/useCaseShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IncludeEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="ExtendEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="StateMachineDiagram" eSuperTypes="#//BehaviorDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="ActivityDiagram" eSuperTypes="#//BehaviorDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="SequenceDiagram" eSuperTypes="#//InteractionDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="InteractionDiagram" abstract="true"
eSuperTypes="#//BehaviorDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="CommunicationDiagram" eSuperTypes="#//InteractionDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="TimingDiagram" eSuperTypes="#//InteractionDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="InteractionOverviewDiagram" eSuperTypes="#//InteractionDiagram"/>
<eClassifiers xsi:type="ecore:EClass" name="InternalBehaviorCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="stateShape" ordered="false"
eType="#//StateShape" eOpposite="#//StateShape/internalBehaviorCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StateShape" eSuperTypes="#//BaseStateShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="connectionPointReferenceShape"
upperBound="-1" eType="#//ConnectionPointReferenceShape" containment="true"
eOpposite="#//ConnectionPointReferenceShape/stateShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="internalTransitionCompartment"
ordered="false" eType="#//InternalTransitionCompartment" containment="true"
eOpposite="#//InternalTransitionCompartment/stateShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="deferrableTriggerCompartment"
ordered="false" eType="#//DeferrableTriggerCompartment" containment="true"
eOpposite="#//DeferrableTriggerCompartment/stateShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="internalBehaviorCompartment"
ordered="false" eType="#//InternalBehaviorCompartment" containment="true"
eOpposite="#//InternalBehaviorCompartment/stateShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConnectionPointReferenceShape" eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="stateShape" ordered="false"
eType="#//StateShape" eOpposite="#//StateShape/connectionPointReferenceShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InternalTransitionCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="stateShape" ordered="false"
eType="#//StateShape" eOpposite="#//StateShape/internalTransitionCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DeferrableTriggerCompartment" eSuperTypes="#//ListCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="stateShape" ordered="false"
eType="#//StateShape" eOpposite="#//StateShape/deferrableTriggerCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RegionShape" eSuperTypes="#//ElementShape">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="placement" unique="false"
upperBound="-1" eType="#//Placement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subvertexCompartment" ordered="false"
eType="#//SubvertexCompartment" containment="true" eOpposite="#//SubvertexCompartment/regionShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Placement">
<eLiterals name="top"/>
<eLiterals name="right" value="1"/>
<eLiterals name="bottom" value="2"/>
<eLiterals name="left" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SubvertexCompartment" eSuperTypes="#//DiagramCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="regionShape" ordered="false"
eType="#//RegionShape" eOpposite="#//RegionShape/subvertexCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TransitionEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="ControlFlowEdge" eSuperTypes="#//ActivityEdgeEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="ActivityGroupShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ExceptionHandlerEdge" eSuperTypes="#//ElementEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeLabel" ordered="false"
eType="#//TypeLabel" containment="true" eOpposite="#//TypeLabel/exceptionHandlerEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="iconLabel" ordered="false"
eType="#//IconLabel" containment="true" eOpposite="#//IconLabel/exceptionHandlerEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="interactionUseShape" ordered="false"
eType="#//InteractionUseShape" eOpposite="#//InteractionUseShape/typeLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="exceptionHandlerEdge" ordered="false"
eType="#//ExceptionHandlerEdge" eOpposite="#//ExceptionHandlerEdge/typeLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InteractionUseShape" eSuperTypes="#//InteractionFragmentWithGatesShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="typeLabel" ordered="false"
eType="#//TypeLabel" containment="true" eOpposite="#//TypeLabel/interactionUseShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IconLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="exceptionHandlerEdge" ordered="false"
eType="#//ExceptionHandlerEdge" eOpposite="#//ExceptionHandlerEdge/iconLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SubpartitionCompartment" eSuperTypes="#//DiagramCompartment">
<eStructuralFeatures xsi:type="ecore:EReference" name="activityPartitionShape"
ordered="false" eType="#//ActivityPartitionShape" eOpposite="#//ActivityPartitionShape/subpartitionCompartment">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivityPartitionShape" eSuperTypes="#//ActivityGroupShape">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isVertical" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.papyrus.dd/model/DC.ecore#//Boolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subpartitionCompartment"
ordered="false" eType="#//SubpartitionCompartment" containment="true" eOpposite="#//SubpartitionCompartment/activityPartitionShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StructuredActivityNodeShape" eSuperTypes="#//ActionShape #//ElementWithActivityNodesShape #//ActivityGroupShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ExpansionRegionShape" eSuperTypes="#//StructuredActivityNodeShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="expansionNodeShape" upperBound="-1"
eType="#//ExpansionNodeShape" containment="true" eOpposite="#//ExpansionNodeShape/expansionRegionShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExpansionNodeShape" eSuperTypes="#//ObjectNodeShape">
<eStructuralFeatures xsi:type="ecore:EReference" name="expansionRegionShape" ordered="false"
eType="#//ExpansionRegionShape" eOpposite="#//ExpansionRegionShape/expansionNodeShape">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MessageEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="GeneralOrderingEdge" eSuperTypes="#//ElementEdge"/>
<eClassifiers xsi:type="ecore:EClass" name="CombinedFragmentShape" eSuperTypes="#//InteractionFragmentWithGatesShape #//InteractionFragmentWithSubfragmentsShape"/>
<eClassifiers xsi:type="ecore:EClass" name="InteractionOperandShape" eSuperTypes="#//InteractionFragmentWithSubfragmentsShape"/>
<eClassifiers xsi:type="ecore:EClass" name="ExecutionSpecificationShape" eSuperTypes="#//InteractionFragmentShape"/>
<eClassifiers xsi:type="ecore:EClass" name="DurationConstraintShape" eSuperTypes="#//ConstraintShape"/>
<eClassifiers xsi:type="ecore:EClass" name="TimeConstraintShape" eSuperTypes="#//ConstraintShape"/>
<eClassifiers xsi:type="ecore:EClass" name="TimeExpressionShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="DurationShape" eSuperTypes="#//ElementShape"/>
<eClassifiers xsi:type="ecore:EClass" name="PathEdge" eSuperTypes="#//UmlEdge">
<eStructuralFeatures xsi:type="ecore:EReference" name="messageLabel" upperBound="-1"
eType="#//MessageLabel" containment="true" eOpposite="#//MessageLabel/pathEdge">
<eAnnotations source="subsets" references="#//UmlDiagramElement/ownedUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MessageLabel" eSuperTypes="#//UmlLabel">
<eStructuralFeatures xsi:type="ecore:EReference" name="pathEdge" ordered="false"
eType="#//PathEdge" eOpposite="#//PathEdge/messageLabel">
<eAnnotations source="subsets" references="#//UmlDiagramElement/owningUmlDiagramElement"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StateInvariantShape" eSuperTypes="#//InteractionFragmentShape">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="useStateShape" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.papyrus.dd/model/DC.ecore#//Boolean"
defaultValueLiteral="false"/>
</eClassifiers>
</ecore:EPackage>