| <?xml version="1.0" encoding="UTF-8"?> |
| <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="FlatQVT" nsURI="http://www.omg.org/spec/QVT/20140401/FlatQVT" nsPrefix="qvt"> |
| <eClassifiers xmi:type="ecore:EClass" name="AltExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="body" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="altBodyOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="condition" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="altCondOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="AnyType" eSuperTypes="#//Type"/> |
| <eClassifiers xmi:type="ecore:EClass" name="Area" abstract="true"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="bottomPattern" lowerBound="1" eType="#//BottomPattern" containment="true" resolveProxies="false" |
| eOpposite="#//BottomPattern/area"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="guardPattern" lowerBound="1" eType="#//GuardPattern" containment="true" resolveProxies="false" |
| eOpposite="#//GuardPattern/area"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="AssertExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="assertion" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="assertOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="log" eType="#//LogExp" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="assertExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="severity" eType="#//SeverityKind" defaultValueLiteral="error"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="AssignExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="defaultValue" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="defaultOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isReset" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="left" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="leftOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="value" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="valueOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Assignment" abstract="true" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="bottomPattern" lowerBound="1" eType="#//BottomPattern" transient="true" resolveProxies="false" |
| eOpposite="#//BottomPattern/assignment"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isDefault" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="value" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="valueAssignment"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="BagType" eSuperTypes="#//CollectionType"/> |
| <eClassifiers xmi:type="ecore:EClass" name="BlockExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="body" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="blockOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EDataType" name="Boolean" instanceClassName="java.lang.Boolean"/> |
| <eClassifiers xmi:type="ecore:EClass" name="BooleanLiteralExp" eSuperTypes="#//PrimitiveLiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="booleanSymbol" eType="#//Boolean"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="BottomPattern" eSuperTypes="#//CorePattern"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="area" lowerBound="1" eType="#//Area" transient="true" resolveProxies="false" |
| eOpposite="#//Area/bottomPattern"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="assignment" ordered="false" upperBound="-1" eType="#//Assignment" containment="true" |
| resolveProxies="false" eOpposite="#//Assignment/bottomPattern"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="enforcementOperation" ordered="false" upperBound="-1" eType="#//EnforcementOperation" |
| containment="true" resolveProxies="false" eOpposite="#//EnforcementOperation/bottomPattern"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="realizedVariable" ordered="false" upperBound="-1" eType="#//RealizedVariable" |
| containment="true" resolveProxies="false" eOpposite="#//RealizedVariable/bottomPattern"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="bottomPattern"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="BreakExp" eSuperTypes="#//ImperativeExpression"/> |
| <eClassifiers xmi:type="ecore:EClass" name="CallExp" abstract="true" eSuperTypes="#//OclExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="source" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="appliedElement"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="CatchExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="body" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="catchExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="exception" lowerBound="1" upperBound="-1" eType="#//Type"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="catchExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="exceptionVariable" eType="#//Variable" containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="catchExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Class" eSuperTypes="#//Type"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isAbstract" eType="#//Boolean" defaultValueLiteral="false"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedAttribute" upperBound="-1" eType="#//Property" containment="true" resolveProxies="false" |
| eOpposite="#//Property/class"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedOperation" upperBound="-1" eType="#//Operation" containment="true" resolveProxies="false" |
| eOpposite="#//Operation/class"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="superClass" ordered="false" upperBound="-1" eType="#//Class"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="class"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="CollectionItem" eSuperTypes="#//CollectionLiteralPart"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="item" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="collectionItem"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EEnum" name="CollectionKind"> |
| <eLiterals name="Set"/> |
| <eLiterals name="OrderedSet" value="1"/> |
| <eLiterals name="Bag" value="2"/> |
| <eLiterals name="Sequence" value="3"/> |
| <eLiterals name="Collection" value="4"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="CollectionLiteralExp" eSuperTypes="#//LiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="kind" eType="#//CollectionKind"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="part" ordered="false" upperBound="-1" eType="#//CollectionLiteralPart" containment="true" |
| resolveProxies="false" eOpposite="#//CollectionLiteralPart/collectionLiteralExp"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="CollectionLiteralPart" abstract="true" eSuperTypes="#//TypedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="collectionLiteralExp" lowerBound="1" eType="#//CollectionLiteralExp" transient="true" |
| resolveProxies="false" eOpposite="#//CollectionLiteralExp/part"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="CollectionRange" eSuperTypes="#//CollectionLiteralPart"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="first" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="firstOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="last" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="lastOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="CollectionTemplateExp" eSuperTypes="#//TemplateExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="member" ordered="false" upperBound="-1" eType="#//OclExpression" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="listContainer"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredCollectionType" lowerBound="1" eType="#//CollectionType"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="collectionTemplateExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="rest" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="matchingExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="CollectionType" eSuperTypes="#//DataType"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="elementType" lowerBound="1" eType="#//Type"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="collectionType"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Comment" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="annotatedElement" ordered="false" upperBound="-1" eType="#//NamedElement"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="comment"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="body" eType="#//String"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ComputeExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="body" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="computeOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="returnedElement" lowerBound="1" eType="#//Variable" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="computeOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Constructor" eSuperTypes="#//ImperativeOperation"/> |
| <eClassifiers xmi:type="ecore:EClass" name="ConstructorBody" eSuperTypes="#//OperationBody"/> |
| <eClassifiers xmi:type="ecore:EClass" name="ContextualProperty" eSuperTypes="#//Property"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="context" lowerBound="1" eType="#//Class"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="contextualProperty"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="initExpression" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="ownerProperty"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="overridden" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="overriding"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ContinueExp" eSuperTypes="#//ImperativeExpression"/> |
| <eClassifiers xmi:type="ecore:EClass" name="CoreDomain" eSuperTypes="#//Domain #//Area"/> |
| <eClassifiers xmi:type="ecore:EClass" name="CorePattern" eSuperTypes="#//Pattern"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="variable" ordered="false" upperBound="-1" eType="#//Variable" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="corePattern"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="DataType" eSuperTypes="#//Type"/> |
| <eClassifiers xmi:type="ecore:EClass" name="DictLiteralExp" eSuperTypes="#//LiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="part" ordered="false" upperBound="-1" eType="#//DictLiteralPart" containment="true" |
| resolveProxies="false" eOpposite="#//DictLiteralPart/partOwner"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="DictLiteralPart" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="key" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="keyOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="value" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="valOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="partOwner" lowerBound="1" eType="#//DictLiteralExp" eOpposite="#//DictLiteralExp/part"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="DictionaryType" eSuperTypes="#//CollectionType"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="keyType" eType="#//Type"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="keyDict"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EEnum" name="DirectionKind"> |
| <eLiterals name="in"/> |
| <eLiterals name="inout" value="1"/> |
| <eLiterals name="out" value="2"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Domain" abstract="true" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isCheckable" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isEnforceable" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="rule" lowerBound="1" eType="#//Rule" transient="true" resolveProxies="false" |
| eOpposite="#//Rule/domain"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="typedModel" eType="#//TypedModel"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="domain"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="DomainPattern" eSuperTypes="#//Pattern"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="relationDomain" lowerBound="1" eType="#//RelationDomain" eOpposite="#//RelationDomain/pattern"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="templateExpression" eType="#//TemplateExp" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="domainPattern"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="#//Object"> |
| <eOperations name="container" eType="#//Element"/> |
| <eOperations name="equals" eType="#//Boolean"> |
| <eParameters name="object" eType="#//Object"/> |
| </eOperations> |
| <eOperations name="get" eType="#//Object"> |
| <eParameters name="property" eType="#//Property"/> |
| </eOperations> |
| <eOperations name="getMetaClass" eType="#//Class"/> |
| <eOperations name="isSet" eType="#//Boolean"> |
| <eParameters name="property" eType="#//Property"/> |
| </eOperations> |
| <eOperations name="set"> |
| <eParameters name="property" eType="#//Property"/> |
| <eParameters name="object" eType="#//Object"/> |
| </eOperations> |
| <eOperations name="unset"> |
| <eParameters name="property" eType="#//Property"/> |
| </eOperations> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedComment" ordered="false" upperBound="-1" eType="#//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 xmi:type="ecore:EEnum" name="EnforcementMode"> |
| <eLiterals name="Creation"/> |
| <eLiterals name="Deletion" value="1"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="EnforcementOperation" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="bottomPattern" lowerBound="1" eType="#//BottomPattern" transient="true" resolveProxies="false" |
| eOpposite="#//BottomPattern/enforcementOperation"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="enforcementMode" eType="#//EnforcementMode"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="operationCallExp" lowerBound="1" eType="#//OperationCallExp" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="enforcementOperation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="EntryOperation" eSuperTypes="#//ImperativeOperation"/> |
| <eClassifiers xmi:type="ecore:EClass" name="EnumLiteralExp" eSuperTypes="#//LiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredEnumLiteral" eType="#//EnumerationLiteral"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="literalExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//DataType"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedLiteral" upperBound="-1" eType="#//EnumerationLiteral" containment="true" |
| resolveProxies="false" eOpposite="#//EnumerationLiteral/enumeration"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="EnumerationLiteral" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="enumeration" eType="#//Enumeration" transient="true" resolveProxies="false" |
| eOpposite="#//Enumeration/ownedLiteral"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ExpressionInOcl" eSuperTypes="#//TypedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="bodyExpression" lowerBound="1" eType="#//OclExpression" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="topExpression"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="contextVariable" eType="#//Variable" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="selfOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="generatedType" ordered="false" upperBound="-1" eType="#//Type" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="owningExpression"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="parameterVariable" ordered="false" upperBound="-1" eType="#//Variable" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="varOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="resultVariable" eType="#//Variable" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="resultOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Extent" eSuperTypes="#//Object"> |
| <eOperations name="elements" eType="#//ReflectiveSequence"/> |
| <eOperations name="useContainment" eType="#//Boolean"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Factory" eSuperTypes="#//Element"> |
| <eOperations name="convertToString" eType="#//String"> |
| <eParameters name="dataType" eType="#//DataType"/> |
| <eParameters name="object" eType="#//Object"/> |
| </eOperations> |
| <eOperations name="create" eType="#//Element"> |
| <eParameters name="metaClass" eType="#//Class"/> |
| </eOperations> |
| <eOperations name="createFromString" eType="#//Object"> |
| <eParameters name="dataType" eType="#//DataType"/> |
| <eParameters name="string" eType="#//String"/> |
| </eOperations> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="package" lowerBound="1" eType="#//Package"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="factory"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="FeatureCallExp" abstract="true" eSuperTypes="#//CallExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="ForExp" eSuperTypes="#//ImperativeLoopExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="Function" eSuperTypes="#//Operation"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="queryExpression" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="function"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="FunctionParameter" eSuperTypes="#//Variable #//Parameter"/> |
| <eClassifiers xmi:type="ecore:EClass" name="GuardPattern" eSuperTypes="#//CorePattern"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="area" lowerBound="1" eType="#//Area" transient="true" resolveProxies="false" |
| eOpposite="#//Area/guardPattern"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Helper" eSuperTypes="#//ImperativeOperation"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isQuery" eType="#//Boolean"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="IfExp" eSuperTypes="#//OclExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="condition" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="ifOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="elseExpression" lowerBound="1" eType="#//OclExpression" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="elseOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="thenExpression" lowerBound="1" eType="#//OclExpression" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="thenOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ImperativeCallExp" eSuperTypes="#//OperationCallExp #//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isVirtual" eType="#//Boolean" defaultValueLiteral="true"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ImperativeExpression" abstract="true" eSuperTypes="#//OclExpression"/> |
| <eClassifiers xmi:type="ecore:EClass" name="ImperativeIterateExp" eSuperTypes="#//ImperativeLoopExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="target" eType="#//Variable" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="tgtOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ImperativeLoopExp" abstract="true" eSuperTypes="#//LoopExp #//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="condition" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="loopCondOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ImperativeOperation" eSuperTypes="#//Operation"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="body" eType="#//OperationBody" containment="true" resolveProxies="false" eOpposite="#//OperationBody/operation"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="context" eType="#//VarParameter" containment="true" resolveProxies="false" |
| eOpposite="#//VarParameter/ctxOwner"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isBlackbox" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="overridden" eType="#//ImperativeOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="overriding"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="result" upperBound="-1" eType="#//VarParameter" containment="true" resolveProxies="false" |
| eOpposite="#//VarParameter/resOwner"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EEnum" name="ImportKind"> |
| <eLiterals name="extension"/> |
| <eLiterals name="access" value="1"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="InstantiationExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="argument" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="argOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="extent" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="instantiationExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="instantiatedClass" lowerBound="1" eType="#//Class"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="instantiationExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="initializationOperation" eType="#//Operation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="instantiationExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EDataType" name="Integer" instanceClassName="java.lang.Integer"/> |
| <eClassifiers xmi:type="ecore:EClass" name="IntegerLiteralExp" eSuperTypes="#//NumericLiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="integerSymbol" eType="#//Integer"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="InvalidLiteralExp" eSuperTypes="#//LiteralExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="InvalidType" eSuperTypes="#//Type"/> |
| <eClassifiers xmi:type="ecore:EClass" name="IterateExp" eSuperTypes="#//LoopExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="result" eType="#//Variable" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="baseExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="IteratorExp" eSuperTypes="#//LoopExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="Key" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="identifies" lowerBound="1" eType="#//Class"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="key"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="oppositePart" ordered="false" upperBound="-1" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="oppKey"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="part" ordered="false" upperBound="-1" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="key"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="transformation" eType="#//RelationalTransformation" transient="true" resolveProxies="false" |
| eOpposite="#//RelationalTransformation/ownedKey"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="LetExp" eSuperTypes="#//OclExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="in" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="letExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="variable" lowerBound="1" eType="#//Variable" containment="true" resolveProxies="false" |
| eOpposite="#//Variable/letExp"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Library" eSuperTypes="#//Module"/> |
| <eClassifiers xmi:type="ecore:EClass" name="ListLiteralExp" eSuperTypes="#//LiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="part" upperBound="-1" eType="#//CollectionLiteralPart" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="listLiteralExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ListType" eSuperTypes="#//CollectionType"/> |
| <eClassifiers xmi:type="ecore:EClass" name="LiteralExp" abstract="true" eSuperTypes="#//OclExpression"/> |
| <eClassifiers xmi:type="ecore:EClass" name="LogExp" eSuperTypes="#//OperationCallExp #//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="condition" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="logOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="LoopExp" abstract="true" eSuperTypes="#//CallExp #//OclExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="body" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="loopBodyOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="iterator" upperBound="-1" eType="#//Variable" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="loopExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Mapping" eSuperTypes="#//Rule #//Area"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="context" eType="#//Mapping" transient="true" resolveProxies="false" eOpposite="#//Mapping/local"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="local" ordered="false" upperBound="-1" eType="#//Mapping" containment="true" |
| resolveProxies="false" eOpposite="#//Mapping/context"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="refinement" ordered="false" upperBound="-1" eType="#//Mapping" eOpposite="#//Mapping/specification"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="specification" ordered="false" upperBound="-1" eType="#//Mapping" eOpposite="#//Mapping/refinement"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="MappingBody" eSuperTypes="#//OperationBody"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="endSection" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="endOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="initSection" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="initOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="MappingCallExp" eSuperTypes="#//ImperativeCallExp"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isStrict" eType="#//Boolean"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="MappingOperation" eSuperTypes="#//ImperativeOperation"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="disjunct" upperBound="-1" eType="#//MappingOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="disjuncter"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="inherited" upperBound="-1" eType="#//MappingOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="inheriting"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="merged" upperBound="-1" eType="#//MappingOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="merging"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="refinedRelation" eType="#//Relation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="refiningOperation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="when" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="whenOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="where" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="whereOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="MappingParameter" eSuperTypes="#//VarParameter"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="extent" eType="#//ModelParameter"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="mappingParameter"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredDomain" eType="#//RelationDomain"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="referringParameter"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ModelParameter" eSuperTypes="#//VarParameter"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="module" lowerBound="1" eType="#//OperationalTransformation" eOpposite="#//OperationalTransformation/modelParameter"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ModelType" eSuperTypes="#//Class"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="additionalCondition" upperBound="-1" eType="#//OclExpression" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="condOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="conformanceKind" eType="#//String" defaultValueLiteral="effective"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="metamodel" lowerBound="1" upperBound="-1" eType="#//Package"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="modelType"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Module" eSuperTypes="#//Class #//Package"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="configProperty" upperBound="-1" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="module"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="entry" eType="#//EntryOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="entryContext"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isBlackbox" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="moduleImport" upperBound="-1" eType="#//ModuleImport" containment="true" resolveProxies="false" |
| eOpposite="#//ModuleImport/module"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedTag" upperBound="-1" eType="#//Tag" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="owner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedVariable" ordered="false" upperBound="-1" eType="#//Variable" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="variableOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="usedModelType" upperBound="-1" eType="#//ModelType"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="module"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ModuleImport" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="binding" upperBound="-1" eType="#//ModelType"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="moduleImport"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="importedModule" lowerBound="1" eType="#//Module"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="importingElement"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//ImportKind" defaultValueLiteral="access"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="module" eType="#//Module" transient="true" resolveProxies="false" eOpposite="#//Module/moduleImport"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="MultiplicityElement" abstract="true"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isOrdered" eType="#//Boolean" defaultValueLiteral="false"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isUnique" eType="#//Boolean" defaultValueLiteral="true"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="lower" eType="#//Integer" defaultValueLiteral="1"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="upper" eType="#//UnlimitedNatural" defaultValueLiteral="1"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="name" eType="#//String"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="NavigationCallExp" eSuperTypes="#//FeatureCallExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="NullLiteralExp" eSuperTypes="#//LiteralExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="NumericLiteralExp" abstract="true" eSuperTypes="#//PrimitiveLiteralExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="Object"/> |
| <eClassifiers xmi:type="ecore:EClass" name="ObjectExp" eSuperTypes="#//InstantiationExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="body" lowerBound="1" eType="#//ConstructorBody" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="objectExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredObject" lowerBound="1" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="objectExpression"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ObjectTemplateExp" eSuperTypes="#//TemplateExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="part" ordered="false" upperBound="-1" eType="#//PropertyTemplateItem" containment="true" |
| resolveProxies="false" eOpposite="#//PropertyTemplateItem/objContainer"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredClass" lowerBound="1" eType="#//Class"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="objectTemplateExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="OclExpression" abstract="true" eSuperTypes="#//TypedElement"/> |
| <eClassifiers xmi:type="ecore:EClass" name="Operation" eSuperTypes="#//TypedElement #//MultiplicityElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="class" eType="#//Class" transient="true" resolveProxies="false" eOpposite="#//Class/ownedOperation"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedParameter" upperBound="-1" eType="#//Parameter" containment="true" resolveProxies="false" |
| eOpposite="#//Parameter/operation"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="raisedException" ordered="false" upperBound="-1" eType="#//Type"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="operation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="OperationBody" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="content" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="contentOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="operation" eType="#//ImperativeOperation" transient="true" resolveProxies="false" |
| eOpposite="#//ImperativeOperation/body"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="variable" ordered="false" upperBound="-1" eType="#//Variable" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="opBody"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="OperationCallExp" eSuperTypes="#//FeatureCallExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="argument" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="parentCall"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredOperation" eType="#//Operation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="referringExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="OperationalTransformation" eSuperTypes="#//Module"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="intermediateClass" upperBound="-1" eType="#//Class"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="transfClient"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="intermediateProperty" upperBound="-1" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="transfClient"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="modelParameter" upperBound="-1" eType="#//ModelParameter" containment="true" |
| resolveProxies="false" eOpposite="#//ModelParameter/module"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="refined" eType="#//RelationalTransformation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="refinement"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="relation" upperBound="-1" eType="#//Relation" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="owner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="OppositePropertyCallExp" eSuperTypes="#//PropertyCallExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="OrderedSetType" eSuperTypes="#//CollectionType"/> |
| <eClassifiers xmi:type="ecore:EClass" name="Package" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="nestedPackage" ordered="false" upperBound="-1" eType="#//Package" containment="true" |
| resolveProxies="false" eOpposite="#//Package/nestingPackage"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="nestingPackage" eType="#//Package" transient="true" resolveProxies="false" |
| eOpposite="#//Package/nestedPackage"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedType" ordered="false" upperBound="-1" eType="#//Type" containment="true" |
| resolveProxies="false" eOpposite="#//Type/package"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="uri" eType="#//String"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Parameter" eSuperTypes="#//TypedElement #//MultiplicityElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="operation" eType="#//Operation" transient="true" resolveProxies="false" eOpposite="#//Operation/ownedParameter"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Pattern" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="bindsTo" ordered="false" upperBound="-1" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="pattern"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="predicate" ordered="false" upperBound="-1" eType="#//Predicate" containment="true" |
| resolveProxies="false" eOpposite="#//Predicate/pattern"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="conditionExpression" lowerBound="1" eType="#//OclExpression" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="predicate"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="pattern" lowerBound="1" eType="#//Pattern" transient="true" resolveProxies="false" |
| eOpposite="#//Pattern/predicate"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="PrimitiveLiteralExp" abstract="true" eSuperTypes="#//LiteralExp"/> |
| <eClassifiers xmi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//DataType"/> |
| <eClassifiers xmi:type="ecore:EClass" name="Property" eSuperTypes="#//TypedElement #//MultiplicityElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="class" eType="#//Class" transient="true" resolveProxies="false" eOpposite="#//Class/ownedAttribute"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="default" eType="#//String"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isComposite" eType="#//Boolean" defaultValueLiteral="false"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isDerived" eType="#//Boolean" defaultValueLiteral="false"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isID" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isReadOnly" eType="#//Boolean" defaultValueLiteral="false"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="opposite" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="property"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="PropertyAssignment" eSuperTypes="#//Assignment"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="slotExpression" lowerBound="1" eType="#//OclExpression" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="slotAssignment"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="targetProperty" lowerBound="1" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="assignment"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="PropertyCallExp" eSuperTypes="#//NavigationCallExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredProperty" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="referringExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="PropertyTemplateItem" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isOpposite" eType="#//Boolean" defaultValueLiteral="false"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="objContainer" lowerBound="1" eType="#//ObjectTemplateExp" transient="true" |
| resolveProxies="false" eOpposite="#//ObjectTemplateExp/part"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredProperty" lowerBound="1" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="propertyItem"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="value" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="propertyItem"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="RaiseExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="argument" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="raiseExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="exception" lowerBound="1" eType="#//Type"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="raiseExpression"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EDataType" name="Real" instanceClassName="java.lang.Float"/> |
| <eClassifiers xmi:type="ecore:EClass" name="RealLiteralExp" eSuperTypes="#//NumericLiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="realSymbol" eType="#//Real"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="RealizedVariable" eSuperTypes="#//Variable"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="bottomPattern" lowerBound="1" eType="#//BottomPattern" transient="true" resolveProxies="false" |
| eOpposite="#//BottomPattern/realizedVariable"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ReflectiveCollection" eSuperTypes="#//Object"> |
| <eOperations name="add" eType="#//Boolean"> |
| <eParameters name="object" eType="#//Object"/> |
| </eOperations> |
| <eOperations name="addAll" eType="#//Boolean"> |
| <eParameters name="objects" eType="#//ReflectiveSequence"/> |
| </eOperations> |
| <eOperations name="clear"/> |
| <eOperations name="remove" eType="#//Boolean"> |
| <eParameters name="object" eType="#//Object"/> |
| </eOperations> |
| <eOperations name="size" eType="#//Integer"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ReflectiveSequence" eSuperTypes="#//ReflectiveCollection"> |
| <eOperations name="add"> |
| <eParameters name="index" eType="#//Integer"/> |
| <eParameters name="object" eType="#//Object"/> |
| </eOperations> |
| <eOperations name="get" eType="#//Object"> |
| <eParameters name="index" eType="#//Integer"/> |
| </eOperations> |
| <eOperations name="remove" eType="#//Object"> |
| <eParameters name="index" eType="#//Integer"/> |
| </eOperations> |
| <eOperations name="set" eType="#//Object"> |
| <eParameters name="index" eType="#//Integer"/> |
| <eParameters name="object" eType="#//Object"/> |
| </eOperations> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Relation" eSuperTypes="#//Rule"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isTopLevel" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="operationalImpl" ordered="false" upperBound="-1" eType="#//RelationImplementation" |
| containment="true" resolveProxies="false" eOpposite="#//RelationImplementation/relation"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="variable" ordered="false" upperBound="-1" eType="#//Variable" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="relation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="when" eType="#//Pattern" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="whenOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="where" eType="#//Pattern" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="whereOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="RelationCallExp" eSuperTypes="#//OclExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="argument" lowerBound="2" upperBound="-1" eType="#//OclExpression" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="relationCallExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredRelation" lowerBound="1" eType="#//Relation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="relationCallExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="RelationDomain" eSuperTypes="#//Domain"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="defaultAssignment" ordered="false" upperBound="-1" eType="#//RelationDomainAssignment" |
| containment="true" resolveProxies="false" eOpposite="#//RelationDomainAssignment/owner"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="pattern" upperBound="-1" eType="#//DomainPattern" containment="true" resolveProxies="false" |
| eOpposite="#//DomainPattern/relationDomain"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="rootVariable" lowerBound="1" upperBound="-1" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="relationDomain"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="RelationDomainAssignment" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//RelationDomain" eOpposite="#//RelationDomain/defaultAssignment"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="valueExp" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="domainAssignment"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="variable" lowerBound="1" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="domainAssignment"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="RelationImplementation" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="impl" lowerBound="1" eType="#//Operation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="relationImplementation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="inDirectionOf" lowerBound="1" eType="#//TypedModel"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="relationImplementation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="relation" lowerBound="1" eType="#//Relation" transient="true" resolveProxies="false" |
| eOpposite="#//Relation/operationalImpl"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="RelationalTransformation" eSuperTypes="#//Transformation"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedKey" ordered="false" upperBound="-1" eType="#//Key" containment="true" |
| resolveProxies="false" eOpposite="#//Key/transformation"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ResolveExp" eSuperTypes="#//CallExp #//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="condition" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="resolveExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isDeferred" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isInverse" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="one" eType="#//Boolean"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="target" eType="#//Variable" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="resolveExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ResolveInExp" eSuperTypes="#//ResolveExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="inMapping" eType="#//MappingOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="resolveExpression"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="ReturnExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="value" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="returnExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Rule" abstract="true" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="domain" upperBound="-1" eType="#//Domain" containment="true" resolveProxies="false" |
| eOpposite="#//Domain/rule"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="isAbstract" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="overrides" eType="#//Rule"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="overridden"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="transformation" eType="#//Transformation" transient="true" resolveProxies="false" |
| eOpposite="#//Transformation/rule"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="SequenceType" eSuperTypes="#//CollectionType"/> |
| <eClassifiers xmi:type="ecore:EClass" name="SetType" eSuperTypes="#//CollectionType"/> |
| <eClassifiers xmi:type="ecore:EEnum" name="SeverityKind"> |
| <eLiterals name="error"/> |
| <eLiterals name="warning" value="1"/> |
| <eLiterals name="fatal" value="2"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EDataType" name="String" instanceClassName="java.lang.String"/> |
| <eClassifiers xmi:type="ecore:EClass" name="StringLiteralExp" eSuperTypes="#//PrimitiveLiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="stringSymbol" eType="#//String"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="SwitchExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="alternativePart" upperBound="-1" eType="#//AltExp" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="altOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="elsePart" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="elsePartOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Tag" eSuperTypes="#//Element"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="element" ordered="false" upperBound="-1" eType="#//Element"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="tag"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="name" eType="#//String"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="value" eType="#//String"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TemplateExp" abstract="true" eSuperTypes="#//LiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="bindsTo" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="templateExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="where" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="owner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TemplateParameterType" eSuperTypes="#//Type"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="specification" eType="#//String"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Transformation" eSuperTypes="#//Class #//Package"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="extends" eType="#//Transformation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="extendedBy"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="modelParameter" ordered="false" upperBound="-1" eType="#//TypedModel" containment="true" |
| resolveProxies="false" eOpposite="#//TypedModel/transformation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="transformation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ownedTag" ordered="false" upperBound="-1" eType="#//Tag" containment="true" |
| resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="transformation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="rule" ordered="false" upperBound="-1" eType="#//Rule" containment="true" resolveProxies="false" |
| eOpposite="#//Rule/transformation"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TryExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="exceptClause" upperBound="-1" eType="#//CatchExp" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="exceptOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="tryBody" upperBound="-1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="tryBodyOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TupleLiteralExp" eSuperTypes="#//LiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="part" ordered="false" upperBound="-1" eType="#//TupleLiteralPart" containment="true" |
| resolveProxies="false" eOpposite="#//TupleLiteralPart/tupleLiteralExp"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TupleLiteralPart" eSuperTypes="#//TypedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="attribute" eType="#//Property"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="tupleLiteralPart"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="tupleLiteralExp" eType="#//TupleLiteralExp" transient="true" resolveProxies="false" |
| eOpposite="#//TupleLiteralExp/part"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="value" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="tupleLiteralPart"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TupleType" eSuperTypes="#//Class #//DataType"/> |
| <eClassifiers xmi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//NamedElement"> |
| <eOperations name="isInstance" eType="#//Boolean"> |
| <eParameters name="object" eType="#//Object"/> |
| </eOperations> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="package" eType="#//Package" transient="true" resolveProxies="false" eOpposite="#//Package/ownedType"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TypeExp" eSuperTypes="#//OclExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredType" eType="#//Type"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="typeExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="type" eType="#//Type"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="typedElement"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="TypedModel" eSuperTypes="#//NamedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="dependsOn" ordered="false" upperBound="-1" eType="#//TypedModel"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="dependent"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="transformation" lowerBound="1" eType="#//Transformation" transient="true" resolveProxies="false" |
| eOpposite="#//Transformation/modelParameter"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="usedPackage" ordered="false" lowerBound="1" upperBound="-1" eType="#//Package"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="typedModel"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Typedef" eSuperTypes="#//Class"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="base" lowerBound="1" eType="#//Type"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="typedef"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="condition" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="typedef"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="URIExtent" eSuperTypes="#//Extent"> |
| <eOperations name="contextURI" eType="#//String"/> |
| <eOperations name="element" eType="#//Element"> |
| <eParameters name="uri" eType="#//String"/> |
| </eOperations> |
| <eOperations name="uri" eType="#//String"> |
| <eParameters name="element" eType="#//Element"/> |
| </eOperations> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EDataType" name="UnlimitedNatural" instanceClassName="java.lang.Integer"/> |
| <eClassifiers xmi:type="ecore:EClass" name="UnlimitedNaturalExp" eSuperTypes="#//NumericLiteralExp"> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="symbol" eType="#//UnlimitedNatural"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="UnlinkExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="item" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="itemUnlink"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="target" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="tgtUnlink"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="VarParameter" eSuperTypes="#//Variable #//Parameter"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="ctxOwner" eType="#//ImperativeOperation" transient="true" resolveProxies="false" |
| eOpposite="#//ImperativeOperation/context"/> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="kind" eType="#//DirectionKind"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="resOwner" eType="#//ImperativeOperation" transient="true" resolveProxies="false" |
| eOpposite="#//ImperativeOperation/result"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="Variable" eSuperTypes="#//TypedElement"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="initExpression" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="initializedElement"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="letExp" eType="#//LetExp" transient="true" resolveProxies="false" eOpposite="#//LetExp/variable"/> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="representedParameter" eType="#//Parameter"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="variable"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="VariableAssignment" eSuperTypes="#//Assignment"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="targetVariable" lowerBound="1" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="assignment"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="VariableExp" eSuperTypes="#//OclExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredVariable" eType="#//Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="referringExp"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="VariableInitExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="referredVariable" lowerBound="1" eType="#//Variable" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="declaration"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EAttribute" name="withResult" eType="#//Boolean" defaultValueLiteral="false"/> |
| </eClassifiers> |
| <eClassifiers xmi:type="ecore:EClass" name="VoidType" eSuperTypes="#//Type"/> |
| <eClassifiers xmi:type="ecore:EClass" name="WhileExp" eSuperTypes="#//ImperativeExpression"> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="body" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="whileOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xmi:type="ecore:EReference" name="condition" lowerBound="1" eType="#//OclExpression" containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="whileExpression"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| </ecore:EPackage> |