blob: f1e94601e17b133f65a593f7427b2dba7ba3bc3a [file] [log] [blame]
<?xml version="1.0" encoding="ASCII"?>
<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" xmi:id="EMOF" name="EMOF" nsURI="http://schema.omg.org/spec/QVT/20140401/EMOF"
nsPrefix="emof">
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Class" name="Class" eSuperTypes="#EMOF.Type">
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Class.isAbstract"
name="isAbstract" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Class.ownedAttribute"
name="ownedAttribute" upperBound="-1" eType="#EMOF.Property" containment="true"
resolveProxies="false" eOpposite="#EMOF.Property.class"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Class.ownedOperation"
name="ownedOperation" upperBound="-1" eType="#EMOF.Operation" containment="true"
resolveProxies="false" eOpposite="#EMOF.Operation.class"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Class.superClass"
name="superClass" ordered="false" upperBound="-1" eType="#EMOF.Class">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="class"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Comment" name="Comment" eSuperTypes="#EMOF.Element">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Comment.annotatedElement"
name="annotatedElement" ordered="false" upperBound="-1" eType="#EMOF.NamedElement">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="comment"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Comment.body" name="body"
eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.DataType" name="DataType" eSuperTypes="#EMOF.Type"/>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Element" name="Element" abstract="true"
eSuperTypes="#EMOF.Object">
<eOperations xmi:id="EMOF.Element.container" name="container" eType="#EMOF.Element"/>
<eOperations xmi:id="EMOF.Element.equals" name="equals" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean">
<eParameters xmi:id="EMOF.Element.equals.object" name="object" eType="#EMOF.Object"/>
</eOperations>
<eOperations xmi:id="EMOF.Element.get" name="get" eType="#EMOF.Object">
<eParameters xmi:id="EMOF.Element.get.property" name="property" eType="#EMOF.Property"/>
</eOperations>
<eOperations xmi:id="EMOF.Element.getMetaClass" name="getMetaClass" eType="#EMOF.Class"/>
<eOperations xmi:id="EMOF.Element.isSet" name="isSet" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean">
<eParameters xmi:id="EMOF.Element.isSet.property" name="property" eType="#EMOF.Property"/>
</eOperations>
<eOperations xmi:id="EMOF.Element.set" name="set">
<eParameters xmi:id="EMOF.Element.set.property" name="property" eType="#EMOF.Property"/>
<eParameters xmi:id="EMOF.Element.set.object" name="object" eType="#EMOF.Object"/>
</eOperations>
<eOperations xmi:id="EMOF.Element.unset" name="unset">
<eParameters xmi:id="EMOF.Element.unset.property" name="property" eType="#EMOF.Property"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Element.ownedComment"
name="ownedComment" ordered="false" upperBound="-1" eType="#EMOF.Comment"
containment="true" resolveProxies="false">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="owningElement"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Enumeration" name="Enumeration"
eSuperTypes="#EMOF.DataType">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Enumeration.ownedLiteral"
name="ownedLiteral" upperBound="-1" eType="#EMOF.EnumerationLiteral" containment="true"
resolveProxies="false" eOpposite="#EMOF.EnumerationLiteral.enumeration"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.EnumerationLiteral" name="EnumerationLiteral"
eSuperTypes="#EMOF.NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.EnumerationLiteral.enumeration"
name="enumeration" eType="#EMOF.Enumeration" transient="true" resolveProxies="false"
eOpposite="#EMOF.Enumeration.ownedLiteral"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Extent" name="Extent" eSuperTypes="#EMOF.Object">
<eOperations xmi:id="EMOF.Extent.elements" name="elements" eType="#EMOF.ReflectiveSequence"/>
<eOperations xmi:id="EMOF.Extent.useContainment" name="useContainment" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Factory" name="Factory" eSuperTypes="#EMOF.Element">
<eOperations xmi:id="EMOF.Factory.convertToString" name="convertToString" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String">
<eParameters xmi:id="EMOF.Factory.convertToString.dataType" name="dataType"
eType="#EMOF.DataType"/>
<eParameters xmi:id="EMOF.Factory.convertToString.object" name="object" eType="#EMOF.Object"/>
</eOperations>
<eOperations xmi:id="EMOF.Factory.create" name="create" eType="#EMOF.Element">
<eParameters xmi:id="EMOF.Factory.create.metaClass" name="metaClass" eType="#EMOF.Class"/>
</eOperations>
<eOperations xmi:id="EMOF.Factory.createFromString" name="createFromString" eType="#EMOF.Object">
<eParameters xmi:id="EMOF.Factory.createFromString.dataType" name="dataType"
eType="#EMOF.DataType"/>
<eParameters xmi:id="EMOF.Factory.createFromString.string" name="string" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Factory.package"
name="package" lowerBound="1" eType="#EMOF.Package">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="factory"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.MultiplicityElement" name="MultiplicityElement"
abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.MultiplicityElement.isOrdered"
name="isOrdered" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.MultiplicityElement.isUnique"
name="isUnique" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.MultiplicityElement.lower"
name="lower" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Integer"
defaultValueLiteral="1"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.MultiplicityElement.upper"
name="upper" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.UnlimitedNatural"
defaultValueLiteral="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.NamedElement" name="NamedElement"
abstract="true" eSuperTypes="#EMOF.Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.NamedElement.name"
name="name" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Object" name="Object"/>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Operation" name="Operation" eSuperTypes="#EMOF.TypedElement #EMOF.MultiplicityElement">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Operation.class"
name="class" eType="#EMOF.Class" transient="true" resolveProxies="false" eOpposite="#EMOF.Class.ownedOperation"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Operation.ownedParameter"
name="ownedParameter" upperBound="-1" eType="#EMOF.Parameter" containment="true"
resolveProxies="false" eOpposite="#EMOF.Parameter.operation"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Operation.raisedException"
name="raisedException" ordered="false" upperBound="-1" eType="#EMOF.Type">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="operation"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Package" name="Package" eSuperTypes="#EMOF.NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Package.nestedPackage"
name="nestedPackage" ordered="false" upperBound="-1" eType="#EMOF.Package"
containment="true" resolveProxies="false" eOpposite="#EMOF.Package.nestingPackage"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Package.nestingPackage"
name="nestingPackage" eType="#EMOF.Package" transient="true" resolveProxies="false"
eOpposite="#EMOF.Package.nestedPackage"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Package.ownedType"
name="ownedType" ordered="false" upperBound="-1" eType="#EMOF.Type" containment="true"
resolveProxies="false" eOpposite="#EMOF.Type.package"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Package.uri" name="uri"
eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Parameter" name="Parameter" eSuperTypes="#EMOF.TypedElement #EMOF.MultiplicityElement">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Parameter.operation"
name="operation" eType="#EMOF.Operation" transient="true" resolveProxies="false"
eOpposite="#EMOF.Operation.ownedParameter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.PrimitiveType" name="PrimitiveType"
eSuperTypes="#EMOF.DataType"/>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Property" name="Property" eSuperTypes="#EMOF.TypedElement #EMOF.MultiplicityElement">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Property.class"
name="class" eType="#EMOF.Class" transient="true" resolveProxies="false" eOpposite="#EMOF.Class.ownedAttribute"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Property.default"
name="default" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Property.isComposite"
name="isComposite" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Property.isDerived"
name="isDerived" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Property.isID" name="isID"
eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Property.isReadOnly"
name="isReadOnly" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Property.opposite"
name="opposite" eType="#EMOF.Property">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="property"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.ReflectiveCollection" name="ReflectiveCollection"
eSuperTypes="#EMOF.Object">
<eOperations xmi:id="EMOF.ReflectiveCollection.add" name="add" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean">
<eParameters xmi:id="EMOF.ReflectiveCollection.add.object" name="object" eType="#EMOF.Object"/>
</eOperations>
<eOperations xmi:id="EMOF.ReflectiveCollection.addAll" name="addAll" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean">
<eParameters xmi:id="EMOF.ReflectiveCollection.addAll.objects" name="objects"
eType="#EMOF.ReflectiveSequence"/>
</eOperations>
<eOperations xmi:id="EMOF.ReflectiveCollection.clear" name="clear"/>
<eOperations xmi:id="EMOF.ReflectiveCollection.remove" name="remove" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean">
<eParameters xmi:id="EMOF.ReflectiveCollection.remove.object" name="object"
eType="#EMOF.Object"/>
</eOperations>
<eOperations xmi:id="EMOF.ReflectiveCollection.size" name="size" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Integer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.ReflectiveSequence" name="ReflectiveSequence"
eSuperTypes="#EMOF.ReflectiveCollection">
<eOperations xmi:id="EMOF.ReflectiveSequence.add" name="add">
<eParameters xmi:id="EMOF.ReflectiveSequence.add.index" name="index" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Integer"/>
<eParameters xmi:id="EMOF.ReflectiveSequence.add.object" name="object" eType="#EMOF.Object"/>
</eOperations>
<eOperations xmi:id="EMOF.ReflectiveSequence.get" name="get" eType="#EMOF.Object">
<eParameters xmi:id="EMOF.ReflectiveSequence.get.index" name="index" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Integer"/>
</eOperations>
<eOperations xmi:id="EMOF.ReflectiveSequence.remove" name="remove" eType="#EMOF.Object">
<eParameters xmi:id="EMOF.ReflectiveSequence.remove.index" name="index" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Integer"/>
</eOperations>
<eOperations xmi:id="EMOF.ReflectiveSequence.set" name="set" eType="#EMOF.Object">
<eParameters xmi:id="EMOF.ReflectiveSequence.set.index" name="index" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Integer"/>
<eParameters xmi:id="EMOF.ReflectiveSequence.set.object" name="object" eType="#EMOF.Object"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Tag" name="Tag" eSuperTypes="#EMOF.Element">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Tag.element" name="element"
ordered="false" upperBound="-1" eType="#EMOF.Element">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="tag"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Tag.name" name="name"
eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EMOF.Tag.value" name="value"
eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.Type" name="Type" abstract="true"
eSuperTypes="#EMOF.NamedElement">
<eOperations xmi:id="EMOF.Type.isInstance" name="isInstance" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean">
<eParameters xmi:id="EMOF.Type.isInstance.object" name="object" eType="#EMOF.Object"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.Type.package" name="package"
eType="#EMOF.Package" transient="true" resolveProxies="false" eOpposite="#EMOF.Package.ownedType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.TypedElement" name="TypedElement"
abstract="true" eSuperTypes="#EMOF.NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EMOF.TypedElement.type"
name="type" eType="#EMOF.Type">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="typedElement"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="EMOF.URIExtent" name="URIExtent" eSuperTypes="#EMOF.Extent">
<eOperations xmi:id="EMOF.URIExtent.contextURI" name="contextURI" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
<eOperations xmi:id="EMOF.URIExtent.element" name="element" eType="#EMOF.Element">
<eParameters xmi:id="EMOF.URIExtent.element.uri" name="uri" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String"/>
</eOperations>
<eOperations xmi:id="EMOF.URIExtent.uri" name="uri" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.String">
<eParameters xmi:id="EMOF.URIExtent.uri.element" name="element" eType="#EMOF.Element"/>
</eOperations>
</eClassifiers>
</ecore:EPackage>