blob: 4f259320415697107c18991e622050f5dc46b397 [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="basecs" nsURI="http://www.eclipse.org/ocl/3.1.0/BaseCST" nsPrefix="basecs">
<eAnnotations source="http://www.eclipse.org/OCL/Import">
<details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/>
<details key="pivot" value="../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#/"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
<details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
<details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="AnnotationCS" eSuperTypes="#//AnnotationElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedContent" upperBound="-1"
eType="#//ModelElementCS" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedReference" upperBound="-1"
eType="#//ModelElementRefCS" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AnnotationElementCS" abstract="true"
eSuperTypes="#//NamedElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedDetail" upperBound="-1"
eType="#//DetailCS" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttributeCS" eSuperTypes="#//StructuralFeatureCS"/>
<eClassifiers xsi:type="ecore:EClass" name="ClassCS" eSuperTypes="#//ClassifierCS #//NamespaceCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedSuperType" upperBound="-1"
eType="#//TypedRefCS" unsettable="true" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
eType="#//OperationCS" containment="true" resolveProxies="false" eOpposite="#//OperationCS/owningClass"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedProperty" upperBound="-1"
eType="#//StructuralFeatureCS" containment="true" resolveProxies="false" eOpposite="#//StructuralFeatureCS/owner"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedMetaType" eType="#//TypedRefCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierCS" abstract="true" eSuperTypes="#//NamedElementCS #//TypeCS #//TemplateableElementCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Type">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="body" value="pivot"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//PackageCS"
eOpposite="#//PackageCS/ownedType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClassName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedIsSetVisibility" value="true"/>
<details key="suppressedUnsetVisibility" value="true"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedConstraint" upperBound="-1"
eType="#//ConstraintCS" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifier" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstraintCS" eSuperTypes="#//NamedElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotype" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="specification" eType="#//SpecificationCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="messageSpecification" eType="#//SpecificationCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataTypeCS" eSuperTypes="#//ClassifierCS #//NamespaceCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
eType="#//EnumerationLiteralCS" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DetailCS" eSuperTypes="#//NamedElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DocumentationCS" eSuperTypes="#//AnnotationElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementCS" abstract="true" eSuperTypes="#//VisitableCS">
<eOperations name="getDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="logicalParent" eType="#//ElementCS"
changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementRefCS" abstract="true" eSuperTypes="#//PivotableElementCS"/>
<eClassifiers xsi:type="ecore:EClass" name="EnumerationCS" eSuperTypes="#//ClassifierCS #//NamespaceCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Enumeration">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="body" value="ocl::Enumeration {&#xA;&#x9;&#x9;&#x9;&#x9;name = name,&#xA;&#x9;&#x9;&#x9;&#x9;ownedLiteral = ownedLiterals.ast()&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedLiterals" upperBound="-1"
eType="#//EnumerationLiteralCS" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteralCS" eSuperTypes="#//NamedElementCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//EnumerationLiteral">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="body" value="ocl::EnumerationLiteral {&#xA;&#x9;&#x9;&#x9;&#x9;name = name&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FeatureCS" abstract="true" interface="true"
eSuperTypes="#//TypedElementCS"/>
<eClassifiers xsi:type="ecore:EClass" name="ImportCS" eSuperTypes="#//NamespaceCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="pathName" eType="#//PathNameCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="namespace" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Namespace"
changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="all" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
transient="true" defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LambdaTypeCS" eSuperTypes="#//TypedRefCS #//TemplateableElementCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Nameable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedContextType" eType="#//TypedRefCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameterType" upperBound="-1"
eType="#//TypedRefCS" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedResultType" eType="#//TypedRefCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LibraryCS" eSuperTypes="#//NamespaceCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="package" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Namespace"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModelElementCS" abstract="true" eSuperTypes="#//PivotableElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedAnnotation" upperBound="-1"
eType="#//AnnotationElementCS" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="originalXmiId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
transient="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="csi" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModelElementRefCS" eSuperTypes="#//ElementRefCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="pathName" eType="#//PathNameCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Element"
changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiplicityBoundsCS" eSuperTypes="#//MultiplicityCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="1"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiplicityCS" abstract="true" interface="true"
eSuperTypes="#//ElementCS">
<eOperations name="getLower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eOperations name="getUpper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiplicityStringCS" eSuperTypes="#//MultiplicityCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="stringBounds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedElementCS" abstract="true" eSuperTypes="#//ModelElementCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Nameable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamespaceCS" abstract="true" interface="true"
eSuperTypes="#//NamedElementCS"/>
<eClassifiers xsi:type="ecore:EClass" name="OperationCS" eSuperTypes="#//FeatureCS #//TemplateableElementCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Operation">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="body" value="ocl::Operation {&#xA;&#x9;&#x9;&#x9;&#x9;-- TODO&#xA;&#x9;&#x9;&#x9;&#x9;name = name&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningClass" eType="#//ClassCS"
eOpposite="#//ClassCS/ownedOperation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
eType="#//ParameterCS" containment="true" resolveProxies="false" eOpposite="#//ParameterCS/owner"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedException" upperBound="-1"
eType="#//TypedRefCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedPrecondition" upperBound="-1"
eType="#//ConstraintCS" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedPostcondition" upperBound="-1"
eType="#//ConstraintCS" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedBodyExpression" upperBound="-1"
eType="#//SpecificationCS" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PackageCS" eSuperTypes="#//PackageOwnerCS #//NamespaceCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Package">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="body" value="ocl::Package{&#xA;&#x9;&#x9;&#x9;&#x9;-- TODO&#xA;&#x9;&#x9;&#x9;&#x9;name = name,&#xA;&#x9;&#x9;&#x9;&#x9;nestedPackage = ownedNestedPackage.ast()&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eOperations name="getClassifier" eType="#//ClassifierCS">
<eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" upperBound="-1"
eType="#//ClassifierCS" containment="true" eOpposite="#//ClassifierCS/owner"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nsPrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nsURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PackageOwnerCS" abstract="true" eSuperTypes="#//ModelElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedNestedPackage" upperBound="-1"
eType="#//PackageCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParameterCS" eSuperTypes="#//TypedElementCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Parameter">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="body" value="ocl::Parameter {&#xA;&#x9;&#x9;&#x9;&#x9;-- TODO&#xA;&#x9;&#x9;&#x9;&#x9;name = name&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//OperationCS"
eOpposite="#//OperationCS/ownedParameter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PathElementCS" eSuperTypes="#//ElementCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Pivotable">
<eStructuralFeatures xsi:type="ecore:EReference" name="pathName" lowerBound="1"
eType="#//PathNameCS" eOpposite="#//PathNameCS/path"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Element"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="elementType" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClassifier"
transient="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PathElementWithURICS" eSuperTypes="#//PathElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PathNameCS" eSuperTypes="#//ElementCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Pivotable">
<eStructuralFeatures xsi:type="ecore:EReference" name="path" lowerBound="1" upperBound="-1"
eType="#//PathElementCS" containment="true" resolveProxies="false" eOpposite="#//PathElementCS/pathName"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Element"
changeable="false" volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="context" eType="#//ElementCS"
transient="true" unsettable="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scopeFilter" eType="#//ScopeFilter"
transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PivotableElementCS" abstract="true"
eSuperTypes="#//ElementCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Pivotable">
<eStructuralFeatures xsi:type="ecore:EReference" name="pivot" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Element"
transient="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveTypeRefCS" eSuperTypes="#//TypedRefCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Nameable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReferenceCS" eSuperTypes="#//StructuralFeatureCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Property"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="keys" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Property"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RootCS" abstract="true" interface="true"
eSuperTypes="#//ModelElementCS">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="TestConstraint"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="TestConstraint" value="true"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedImport" upperBound="-1"
eType="#//ImportCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedLibrary" upperBound="-1"
eType="#//LibraryCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RootPackageCS" eSuperTypes="#//PackageOwnerCS #//RootCS">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="TestConstraint"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="TestConstraint" value="true"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SpecificationCS" eSuperTypes="#//ModelElementCS">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="exprString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StructuralFeatureCS" abstract="true"
eSuperTypes="#//FeatureCS">
<eOperations name="ast" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Property">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
<details key="body" value="ocl::Property{&#xA;&#x9;&#x9;&#x9;&#x9;-- TODO&#xA;&#x9;&#x9;&#x9;&#x9;name = name&#xA;&#x9;&#x9;&#x9;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//ClassCS"
eOpposite="#//ClassCS/ownedProperty"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedDefaultExpression"
upperBound="-1" eType="#//SpecificationCS" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateBindingCS" eSuperTypes="#//ElementRefCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateBindableElement"
eType="#//TypedTypeRefCS" eOpposite="#//TypedTypeRefCS/ownedTemplateBinding"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameterSubstitution"
upperBound="-1" eType="#//TemplateParameterSubstitutionCS" containment="true"
eOpposite="#//TemplateParameterSubstitutionCS/owningTemplateBinding"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateParameterCS" abstract="true"
eSuperTypes="#//NamedElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateSignature"
lowerBound="1" eType="#//TemplateSignatureCS" eOpposite="#//TemplateSignatureCS/ownedTemplateParameter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitutionCS" eSuperTypes="#//ModelElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateBinding"
eType="#//TemplateBindingCS" eOpposite="#//TemplateBindingCS/ownedParameterSubstitution"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedActualParameter" eType="#//TypeRefCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateSignatureCS" eSuperTypes="#//ModelElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateElement"
eType="#//TemplateableElementCS" eOpposite="#//TemplateableElementCS/ownedTemplateSignature"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateParameter"
upperBound="-1" eType="#//TemplateParameterCS" containment="true" eOpposite="#//TemplateParameterCS/owningTemplateSignature"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateableElementCS" abstract="true"
interface="true" eSuperTypes="#//ElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateSignature"
eType="#//TemplateSignatureCS" containment="true" eOpposite="#//TemplateSignatureCS/owningTemplateElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TuplePartCS" eSuperTypes="#//TypedElementCS"/>
<eClassifiers xsi:type="ecore:EClass" name="TupleTypeCS" eSuperTypes="#//TypedRefCS ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Nameable">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedParts" upperBound="-1"
eType="#//TuplePartCS" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeCS" abstract="true" interface="true"
eSuperTypes="#//ModelElementCS"/>
<eClassifiers xsi:type="ecore:EClass" name="TypeParameterCS" eSuperTypes="#//TemplateParameterCS #//TypeCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedExtends" upperBound="-1"
eType="#//TypedRefCS" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedSuper" eType="#//TypedRefCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeRefCS" abstract="true" eSuperTypes="#//ElementRefCS"/>
<eClassifiers xsi:type="ecore:EClass" name="TypedElementCS" abstract="true" eSuperTypes="#//NamedElementCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" eType="#//TypedRefCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifier" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedRefCS" abstract="true" eSuperTypes="#//TypeRefCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//MultiplicityCS"
containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedTypeRefCS" eSuperTypes="#//TypedRefCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="pathName" eType="#//PathNameCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl.examples.pivot/model/Pivot.ecore#//Type"
changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateBinding" eType="#//TemplateBindingCS"
containment="true" eOpposite="#//TemplateBindingCS/owningTemplateBindableElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VisitableCS" instanceClassName="org.eclipse.ocl.examples.xtext.base.basecs.util.VisitableCS"
abstract="true" interface="true"/>
<eClassifiers xsi:type="ecore:EClass" name="WildcardTypeRefCS" eSuperTypes="#//TypeRefCS">
<eStructuralFeatures xsi:type="ecore:EReference" name="extends" eType="#//TypedRefCS"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="super" eType="#//TypedRefCS"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="IteratorKind">
<eLiterals name="Parameter"/>
<eLiterals name="Iterator"/>
<eLiterals name="Accumulator"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="ScopeFilter" instanceClassName="org.eclipse.ocl.examples.pivot.scoping.ScopeFilter"/>
</ecore:EPackage>