Newer
Older
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
name="nsd" nsURI="http://www.iec.ch/61850/2016/NSD" nsPrefix="nsd">
<eAnnotations source="http://www.eclipse.org/OCL/Import">
<details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/>
<details key="ecore.xml.type" value="http://www.eclipse.org/emf/2003/XMLType"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="AppliesToType" eSuperTypes="#//NsdObject #//AgNSIdentification">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="AppliesTo_._type"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNsUsage" ordered="false"
eType="#//ServiceNsUsage" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceNsUsage/appliesTo"/>
<eClassifiers xsi:type="ecore:EClass" name="DependsOn" eSuperTypes="#//NsdObject #//AgNSIdentification">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="DependsOn_._type"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/dependsOn"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToNS" ordered="false"
eType="#//NS" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/referredByDependsOn"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value=""/>
<details key="kind" value="mixed"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="name" value=":mixed"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
transient="true" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="xmlns:prefix"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" upperBound="-1"
eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
transient="true" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="xsi:schemaLocation"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="applicableServiceNS" eType="#//ApplicableServiceNS"
volatile="true" transient="true" unsettable="true" derived="true" containment="true"
resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ApplicableServiceNS"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" eType="#//NS" volatile="true"
transient="true" unsettable="true" derived="true" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="NS"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nSDoc" eType="#//NSDoc"
volatile="true" transient="true" unsettable="true" derived="true" containment="true"
resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="NSDoc"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" eType="#//ServiceNS"
volatile="true" transient="true" unsettable="true" derived="true" containment="true"
resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceNS"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServiceType" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="Service_._type"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//ACSIServicesKind"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="applicableServices" ordered="false"
eType="#//ApplicableServices" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ApplicableServices/service"/>
<eClassifiers xsi:type="ecore:EClass" name="Abbreviation" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tAbbreviation"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="descID"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="abbreviations" ordered="false"
eType="#//Abbreviations" unsettable="true" resolveProxies="false" eOpposite="#//Abbreviations/abbreviation"/>
<eClassifiers xsi:type="ecore:EClass" name="Abbreviations" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tAbbreviations"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueAbbreviation"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueAbbreviation" value="Tuple {
	message : String = 'There shall not be two Abbreviations elements with same name.',
	status : Boolean = 
			self.abbreviation->isUnique( a : Abbreviation | a.name )
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="abbreviation" ordered="false"
upperBound="-1" eType="#//Abbreviation" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//Abbreviation/abbreviations">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Abbreviation"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/abbreviations"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false"
eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceNS/abbreviations"/>
<eClassifiers xsi:type="ecore:EClass" name="AbstractLNClass" eSuperTypes="#//AnyLNClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tAbstractLNClass"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="lNClasses" ordered="false"
eType="#//LNClasses" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//LNClasses/abstractLNClass"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByAnyLNClass" ordered="false"
upperBound="-1" eType="#//AnyLNClass" transient="true" unsettable="true" eOpposite="#//AnyLNClass/refersToAbstractLNClass"/>
<eClassifiers xsi:type="ecore:EEnum" name="ACSIServicesKind">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tACSIServicesKind"/>
</eAnnotations>
<eLiterals name="Associate"/>
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<eLiterals name="Abort" value="1"/>
<eLiterals name="Release" value="2"/>
<eLiterals name="GetServerDirectory" value="3"/>
<eLiterals name="GetLogicalDeviceDirectory" value="4"/>
<eLiterals name="GetAllDataValues" value="5"/>
<eLiterals name="GetDataValues" value="6"/>
<eLiterals name="SetDataValues" value="7"/>
<eLiterals name="GetDataDirectory" value="8"/>
<eLiterals name="GetDataDefinition" value="9"/>
<eLiterals name="GetDataSetValues" value="10"/>
<eLiterals name="SetDataSetValues" value="11"/>
<eLiterals name="CreateDataSet" value="12"/>
<eLiterals name="DeleteDataSet" value="13"/>
<eLiterals name="GetDataSetDirectory" value="14"/>
<eLiterals name="SelectActiveSG" value="15"/>
<eLiterals name="SelectEditSG" value="16"/>
<eLiterals name="SetEditSGValue" value="17"/>
<eLiterals name="ConfirmEditSGValues" value="18"/>
<eLiterals name="GetEditSGValue" value="19"/>
<eLiterals name="GetSGCBValues" value="20"/>
<eLiterals name="Report" value="21"/>
<eLiterals name="GetBRCBValues" value="22"/>
<eLiterals name="SetBRCBValues" value="23"/>
<eLiterals name="GetURCBValues" value="24"/>
<eLiterals name="SetURCBValues" value="25"/>
<eLiterals name="GetLCBValues" value="26"/>
<eLiterals name="SetLCBValues" value="27"/>
<eLiterals name="QueryLogByTime" value="28"/>
<eLiterals name="QueryLogAfter" value="29"/>
<eLiterals name="GetLogStatusValues" value="30"/>
<eLiterals name="SendGOOSEMessage" value="31"/>
<eLiterals name="GetGoCBValues" value="32"/>
<eLiterals name="SetGoCBValues" value="33"/>
<eLiterals name="GetGoReference" value="34"/>
<eLiterals name="GetGOOSEElementNumber" value="35"/>
<eLiterals name="SendMSVMessage" value="36"/>
<eLiterals name="GetMSVCBValues" value="37"/>
<eLiterals name="SetMSVCBValues" value="38"/>
<eLiterals name="SendUSVMessage" value="39"/>
<eLiterals name="GetUSVCBValues" value="40"/>
<eLiterals name="SetUSVCBValues" value="41"/>
<eLiterals name="Select" value="42"/>
<eLiterals name="SelectWithValue" value="43"/>
<eLiterals name="Cancel" value="44"/>
<eLiterals name="Operate" value="45"/>
<eLiterals name="CommandTermination" value="46"/>
<eLiterals name="TimeActivatedOperate" value="47"/>
<eLiterals name="GetFile" value="48"/>
<eLiterals name="SetFile" value="49"/>
<eLiterals name="DeleteFile" value="50"/>
<eLiterals name="GetFileAttributeValues" value="51"/>
<eLiterals name="TimeSynchronization" value="52"/>
<eLiterals name="InternalChange" value="53"/>
<eLiterals name="GetLogicalNodeDirectory" value="54"/>
<eLiterals name="GetMsvReference" value="55"/>
<eLiterals name="GetMSVElementNumber" value="56"/>
<eLiterals name="GetUsvReference" value="57"/>
<eLiterals name="GetUSVElementNumber" value="58"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="ACSIServicesKindObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tACSIServicesKind:Object"/>
<details key="baseType" value="tACSIServicesKind"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AnyLNClass" abstract="true" eSuperTypes="#//TitledClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tAnyLNClass"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueDataObject"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueDataObject" value="Tuple {
	message : String = 'For an AnyLNClass, there shall not be two DataObject sub-elements with same name.',
	status : Boolean = 
			-- TODO: base AbstractLNClass should be taken into account
			-- For this, explicit links have to be created first
			self.dataObject->isUnique( d : DataObject | d.name )
}.status"/>
<eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
<eOperations name="getLNClasses" eType="#//LNClasses"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dataObject" ordered="false"
upperBound="-1" eType="#//DataObject" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//DataObject/anyLNClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="DataObject"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="base" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="base"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToAbstractLNClass"
ordered="false" eType="#//AbstractLNClass" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//AbstractLNClass/referredByAnyLNClass"/>
<eClassifiers xsi:type="ecore:EClass" name="ApplicableServiceNS" eSuperTypes="#//Copyrighted">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tApplicableServiceNS"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="versionAttributeRequired dateAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="versionAttributeRequired" value="Tuple {
	message : String = 'The version attribute is required',
	status : Boolean = 
			self.version <> null
}.status"/>
<details key="dateAttributeRequired" value="Tuple {
	message : String = 'The date attribute is required',
	status : Boolean = 
			self.date <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNsUsage" ordered="false"
upperBound="-1" eType="#//ServiceNsUsage" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//ServiceNsUsage/applicableServiceNS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceNsUsage"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="date" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="date"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//UnsignedInt"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="version"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ApplicableServices" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tApplicableServices"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueDataSetMemberOf uniqueService"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueDataSetMemberOf" value="Tuple {
	message : String = 'For an ApplicableServices, there shall not be two DataSetMemberOf sub-elements with same cb.',
	status : Boolean = 
			self.dataSetMemberOf->isUnique( d : DataSetMemberOf | d.cb )
}.status"/>
<details key="uniqueService" value="Tuple {
	message : String = 'For an ApplicableServices, there shall not be two ServiceType sub-elements with same name.',
	status : Boolean = 
			self.service->isUnique( s : ServiceType | s.name )
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="service" ordered="false"
upperBound="-1" eType="#//ServiceType" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//ServiceType/applicableServices">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Service"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="dataSetMemberOf" ordered="false"
upperBound="-1" eType="#//DataSetMemberOf" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//DataSetMemberOf/applicableServices">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="DataSetMemberOf"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraint" ordered="false"
eType="#//FunctionalConstraint" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//FunctionalConstraint/applicableServices"/>
<eClassifiers xsi:type="ecore:EDataType" name="AttributeTypeKind" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tAttributeTypeKind"/>
<details key="memberTypes" value="tDefinedAttributeTypeKind tUndefinedAttributeTypeKind"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BasicType" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tBasicType"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="descID"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="basicTypes" ordered="false"
eType="#//BasicTypes" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//BasicTypes/basicType"/>
<eClassifiers xsi:type="ecore:EClass" name="BasicTypes" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tBasicTypes"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="basicType" ordered="false"
upperBound="-1" eType="#//BasicType" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//BasicType/basicTypes">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="BasicType"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/basicTypes"/>
<eClassifiers xsi:type="ecore:EEnum" name="CBKind">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tCBKind"/>
</eAnnotations>
<eLiterals name="RCB"/>
<eLiterals name="LCB" value="1"/>
<eLiterals name="GoCB" value="2"/>
<eLiterals name="SVCB" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="CBKindObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tCBKind:Object"/>
<details key="baseType" value="tCBKind"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CDC" eSuperTypes="#//TitledClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tCDC"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueCDCChild nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueCDCChild" value="Tuple {
	message : String = 'For a CDC, there shall not be two sub-elements (SubDataObject or DataAttribute) with same name.',
	status : Boolean = 
			let names : Bag(String) = self.subDataObject.name->union(self.dataAttribute.name) in names->size() = names->asSet()->size()
}.status"/>
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subDataObject" ordered="false"
upperBound="-1" eType="#//SubDataObject" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//SubDataObject/cDC">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="SubDataObject"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="dataAttribute" ordered="false"
upperBound="-1" eType="#//DataAttribute" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//DataAttribute/cDC">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="DataAttribute"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceParameter" ordered="false"
eType="#//ServiceParameter" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//ServiceParameter/cDC">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceParameter"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="enumParameterized" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="enumParameterized"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="statistics" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="statistics"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKindParameterized"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="typeKindParameterized"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="variant" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="variant"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="cDCs" ordered="false" eType="#//CDCs"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDCs/cDC"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataObject" ordered="false"
upperBound="-1" eType="#//DataObject" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//DataObject/refersToCDC"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObject"
ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToCDC"/>
<eClassifiers xsi:type="ecore:EClass" name="CDCs" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tCDCs"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueCDC"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueCDC" value="Tuple {
	message : String = 'Within an NS, there shall not be two CDC sub-elements with same name and (if defined) variant.',
	status : Boolean = 
			-- TODO: DependsOn NS should be taken into account ?
			-- For this, explicit links have to be created first
			-- Then, may be this constraint should be in NS and not in Enumerations ?
			self.cDC->select( c : CDC | c.variant = null )->isUnique( c : CDC | c.name )
	 or self.cDC->select( c : CDC | c.variant <> null )->forAll( c1, c2 : CDC | c1 <> c2 implies c1.name <> c2.name or c1.variant <> c2.variant )
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" upperBound="-1"
eType="#//CDC" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//CDC/cDCs">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="CDC"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/cDCs"/>
<eClassifiers xsi:type="ecore:EClass" name="Changes" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tChanges"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="versionAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="versionAttributeRequired" value="Tuple {
	message : String = 'The version attribute is required',
	status : Boolean = 
			self.version <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="changesID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="changesID"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="date" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Date"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="date"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="A" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="revision"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tissues" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="tissues"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/changes"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false"
eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceNS/changes"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
defaultValueLiteral="1" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="release"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="version"/>
</eAnnotations>
</eStructuralFeatures>
<eClassifiers xsi:type="ecore:EClass" name="ConstructedAttribute" eSuperTypes="#//TitledClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tConstructedAttribute"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueSubDataAttribute nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueSubDataAttribute" value="Tuple {
	message : String = 'For a ConstructedAttribute, there shall not be two SubDataAttribute sub-elements with same name.',
	status : Boolean = 
			self.subDataAttribute->isUnique( s : SubDataAttribute | s.name )
}.status"/>
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subDataAttribute" ordered="false"
upperBound="-1" eType="#//SubDataAttribute" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//SubDataAttribute/constructedAttribute">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="SubDataAttribute"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttributes"
ordered="false" eType="#//ConstructedAttributes" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//ConstructedAttributes/constructedAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceTypeRealizations"
ordered="false" eType="#//ServiceTypeRealizations" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//ServiceTypeRealizations/serviceTypeRealization"/>
<eClassifiers xsi:type="ecore:EClass" name="ConstructedAttributes" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tConstructedAttributes"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueConstructedAttribute"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueConstructedAttribute" value="Tuple {
	message : String = 'Within an NS, there shall not be two ConstructedAttribute sub-elements with same name.',
	status : Boolean = 
			-- TODO: DependsOn NS should be taken into account ?
			-- For this, explicit links have to be created first
			-- Then, may be this constraint should be in NS and not in Enumerations ?
			self.constructedAttribute->isUnique( c : ConstructedAttribute | c.name )
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttribute" ordered="false"
upperBound="-1" eType="#//ConstructedAttribute" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//ConstructedAttribute/constructedAttributes">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ConstructedAttribute"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/constructedAttributes"/>
<eClassifiers xsi:type="ecore:EClass" name="Copyrighted" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tCopyrighted"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="copyright" ordered="false"
eType="#//CopyrightNotice" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//CopyrightNotice/copyrighted">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Copyright"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CopyrightNotice" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tCopyrightNotice"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="notice" ordered="false"
eType="#//Notice" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Notice/copyrightNotice">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Notice"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="license" ordered="false"
eType="#//License" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//License/copyrightNotice">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="License"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="copyrighted" ordered="false"
eType="#//Copyrighted" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//Copyrighted/copyright"/>
<eClassifiers xsi:type="ecore:EClass" name="DataAttribute" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgArray #//AgTrgOp #//AgAttributeTypeAndValues">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tDataAttribute"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired fcAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
<details key="fcAttributeRequired" value="Tuple {
	message : String = 'The fc attribute is required',
	status : Boolean = 
			self.fc <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="fc"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" eType="#//CDC"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/dataAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObjectAsSizeAttribute"
ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToSizeAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObjectAsMaxIndexAttribute"
ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToMaxIndexAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToFunctionalConstraint"
ordered="false" eType="#//FunctionalConstraint" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//FunctionalConstraint/referredByDataAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceCondition"
ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//PresenceCondition/referredByDataAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToSizeAttribute"
ordered="false" eType="#//DataAttribute" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//DataAttribute/referredByDataAttributeAsSizeAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToMaxIndexAttribute"
ordered="false" eType="#//DataAttribute" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//DataAttribute/referredByDataAttributeAsMaxIndexAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttributeAsSizeAttribute"
ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToSizeAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttributeAsMaxIndexAttribute"
ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToMaxIndexAttribute"/>
<eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgPresenceConditionDerivedStatistics #//AgUnderlyingType">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tDataObject"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired typeAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
<details key="typeAttributeRequired" value="Tuple {
	message : String = 'The type attribute is required',
	status : Boolean = 
			self.type <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="transient"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="type"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="anyLNClass" ordered="false"
eType="#//AnyLNClass" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//AnyLNClass/dataObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToCDC" ordered="false"
eType="#//CDC" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/referredByDataObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceCondition"
ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//PresenceCondition/referredByDataObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceConditionDerivedStatistics"
ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//PresenceCondition/referredByDataObjectForDerivedStatistics"/>
<eClassifiers xsi:type="ecore:EClass" name="DataSetMemberOf" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tDataSetMemberOf"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="cbAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="cbAttributeRequired" value="Tuple {
	message : String = 'The cb attribute is required',
	status : Boolean = 
			self.cb <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="cb" eType="#//CBKind" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="cb"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="applicableServices" ordered="false"
eType="#//ApplicableServices" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ApplicableServices/dataSetMemberOf"/>
<eClassifiers xsi:type="ecore:EEnum" name="DefinedAttributeTypeKind">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tDefinedAttributeTypeKind"/>
</eAnnotations>
<eLiterals name="BASIC">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The type of the data attribute is a basic one (e.g., BOOLEAN, INT32), including CODED ENUMs (e.g., Dbpos, Tcmd) and PACKED LISTs (Timestamp, Quality, OptFlds)."/>
</eAnnotations>
</eLiterals>
<eLiterals name="ENUMERATED" value="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The type of the data attribute is an enumeration."/>
</eAnnotations>
</eLiterals>
<eLiterals name="CONSTRUCTED" value="2">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The type of the data attribute is a constructed (composed) one."/>
</eAnnotations>
</eLiterals>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="DefinedAttributeTypeKindObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tDefinedAttributeTypeKind:Object"/>
<details key="baseType" value="tDefinedAttributeTypeKind"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Doc" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tDoc"/>
<details key="kind" value="mixed"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="idAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="idAttributeRequired" value="Tuple {
	message : String = 'The id attribute is required',
	status : Boolean = 
			self.id <> null
}.status"/>
</eAnnotations>
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="name" value=":mixed"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"
volatile="true" transient="true" derived="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="group"/>
<details key="name" value="group:1"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="any" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"
volatile="true" transient="true" derived="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="wildcards" value="##any"/>
<details key="name" value=":2"/>
<details key="processing" value="lax"/>
<details key="group" value="#group:1"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nSDoc" ordered="false"
eType="#//NSDoc" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//NSDoc/doc"/>
<eClassifiers xsi:type="ecore:EClass" name="DocumentedClass" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tDocumentedClass"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecated" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="deprecated"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="descID"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="informative" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="informative"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//TitledClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tEnumeration"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueLiteralName uniqueLiteralVal nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueLiteralName" value="Tuple {
	message : String = 'For an Enumeration, there shall not be two Literal sub-elements with same name.',
	status : Boolean = 
			-- TODO: inherited literals should be taken into account
			-- For this, explicit links have to be created first
			self.literal->isUnique( l : Literal | l.name )
}.status"/>
<details key="uniqueLiteralVal" value="Tuple {
	message : String = 'For an Enumeration, there shall not be two Literal sub-elements with same literalVal.',
	status : Boolean = 
			self.literal->isUnique( l : Literal | l.literalVal )
}.status"/>
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="literal" ordered="false"
upperBound="-1" eType="#//Literal" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Literal/enumeration">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Literal"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="inheritedFrom" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="inheritedFrom"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="enumerations" ordered="false"
eType="#//Enumerations" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//Enumerations/enumeration"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToBaseEnumeration"
ordered="false" eType="#//Enumeration" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//Enumeration/referredByEnumerationAsBase"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByEnumerationAsBase"
ordered="false" upperBound="-1" eType="#//Enumeration" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//Enumeration/refersToBaseEnumeration"/>
<eClassifiers xsi:type="ecore:EClass" name="Enumerations" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tEnumerations"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueEnumeration"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueEnumeration" value="Tuple {
	message : String = 'Within an NS, there shall not be two Enumeration sub-elements with same name.',
	status : Boolean = 
			-- TODO: DependsOn NS should be taken into account ?
			-- For this, explicit links have to be created first
			-- Then, may be this constraint should be in NS and not in Enumerations ?
			self.enumeration->isUnique( e : Enumeration | e.name )
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" upperBound="-1"
eType="#//Enumeration" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Enumeration/enumerations">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Enumeration"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/enumerations"/>
<eClassifiers xsi:type="ecore:EClass" name="FunctionalConstraint" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tFunctionalConstraint"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="abbreviationAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="abbreviationAttributeRequired" value="Tuple {
	message : String = 'The abbreviation attribute is required',
	status : Boolean = 
			self.abbreviation <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="applicableServices" ordered="false"
eType="#//ApplicableServices" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//ApplicableServices/functionalConstraint">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ApplicableServices"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="abbreviation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="abbreviation"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="descID"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="titleID"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraints"
ordered="false" eType="#//FunctionalConstraints" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//FunctionalConstraints/functionalConstraint"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttribute"
ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToFunctionalConstraint"/>
<eClassifiers xsi:type="ecore:EClass" name="FunctionalConstraints" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tFunctionalConstraints"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueFunctionalConstraint"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueFunctionalConstraint" value="Tuple {
	message : String = 'There shall not be two FunctionalConstraint elements with same abbreviation.',
	status : Boolean = 
			self.functionalConstraint->isUnique( f : FunctionalConstraint | f.abbreviation )
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraint" ordered="false"
upperBound="-1" eType="#//FunctionalConstraint" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//FunctionalConstraint/functionalConstraints">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="FunctionalConstraint"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/functionalConstraints"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false"
eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceNS/functionalConstraints"/>
<eClassifiers xsi:type="ecore:EClass" name="License" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tLicense"/>
<details key="kind" value="mixed"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="name" value=":mixed"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//LicenseKind"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="kind"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="uri"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="copyrightNotice" ordered="false"
eType="#//CopyrightNotice" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//CopyrightNotice/license"/>
<eClassifiers xsi:type="ecore:EEnum" name="LicenseKind">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tLicenseKind"/>
</eAnnotations>
<eLiterals name="Standard"/>
<eLiterals name="Private" value="1"/>
<eLiterals name="None" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="LicenseKindObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tLicenseKind:Object"/>
<details key="baseType" value="tLicenseKind"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//DocumentedClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tLiteral"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired literalValAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
<details key="literalValAttributeRequired" value="Tuple {
	message : String = 'The literalVal attribute is required',
	status : Boolean = 
			self.literalVal <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="literalVal" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="literalVal"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" ordered="false"
eType="#//Enumeration" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//Enumeration/literal"/>
<eClassifiers xsi:type="ecore:EClass" name="LNClass" eSuperTypes="#//AnyLNClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tLNClass"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="canHaveLOG" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="canHaveLOG"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isExtension" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="isExtension"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="lNClasses" ordered="false"
eType="#//LNClasses" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//LNClasses/lNClass"/>
<eClassifiers xsi:type="ecore:EClass" name="LNClasses" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tLNClasses"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueAbstractLNClass uniqueLNClass"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueAbstractLNClass" value="Tuple {
	message : String = 'Within an NS, there shall not be two AbstractLNClass sub-elements with same name.',
	status : Boolean = 
			self.abstractLNClass->isUnique( c : AbstractLNClass | c.name )
}.status"/>
<details key="uniqueLNClass" value="Tuple {
	message : String = 'Within an NS, there shall not be two LNClass sub-elements with same name.',
	status : Boolean = 
			self.lNClass->isUnique( c : LNClass | c.name )
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="abstractLNClass" ordered="false"
upperBound="-1" eType="#//AbstractLNClass" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//AbstractLNClass/lNClasses">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="AbstractLNClass"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="lNClass" ordered="false"
upperBound="-1" eType="#//LNClass" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//LNClass/lNClasses">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="LNClass"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/lNClasses"/>
<eClassifiers xsi:type="ecore:EClass" name="Notice" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tNotice"/>
<details key="kind" value="mixed"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="elementWildcard"/>
<details key="name" value=":mixed"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="copyrightNotice" ordered="false"
eType="#//CopyrightNotice" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//CopyrightNotice/notice"/>
<eClassifiers xsi:type="ecore:EClass" name="NS" eSuperTypes="#//Copyrighted #//AgNSIdentification #//AgUML #//AgNSdesc">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tNS"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eOperations name="findCDC" eType="#//CDC">
<eParameters name="cDCName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="console" eType="#//IRiseClipseConsole"/>
</eOperations>
<eOperations name="findPresenceCondition" eType="#//PresenceCondition">
<eParameters name="presenceConditionName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="console" eType="#//IRiseClipseConsole"/>
</eOperations>
<eOperations name="findFunctionalConstraint" eType="#//FunctionalConstraint">
<eParameters name="functionalConstraintAbbreviation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="console" eType="#//IRiseClipseConsole"/>
</eOperations>
<eOperations name="findEnumeration" eType="#//Enumeration">
<eParameters name="enumerationName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="console" eType="#//IRiseClipseConsole"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="changes" ordered="false"
eType="#//Changes" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Changes/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Changes"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="dependsOn" ordered="false"
eType="#//DependsOn" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//DependsOn/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="DependsOn"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="basicTypes" ordered="false"
eType="#//BasicTypes" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//BasicTypes/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="BasicTypes"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraints"
ordered="false" eType="#//FunctionalConstraints" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//FunctionalConstraints/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="FunctionalConstraints"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" ordered="false"
eType="#//PresenceConditions" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//PresenceConditions/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="PresenceConditions"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="abbreviations" ordered="false"
eType="#//Abbreviations" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Abbreviations/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Abbreviations"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="enumerations" ordered="false"
eType="#//Enumerations" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Enumerations/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Enumerations"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttributes"
ordered="false" eType="#//ConstructedAttributes" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//ConstructedAttributes/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ConstructedAttributes"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="cDCs" ordered="false" eType="#//CDCs"
unsettable="true" containment="true" resolveProxies="false" eOpposite="#//CDCs/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="CDCs"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="lNClasses" ordered="false"
eType="#//LNClasses" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//LNClasses/nS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="LNClasses"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDependsOn" ordered="false"
upperBound="-1" eType="#//DependsOn" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//DependsOn/refersToNS"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NSDoc" eSuperTypes="#//Copyrighted #//AgNSIdentification #//AgUML">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tNSDoc"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="langAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="langAttributeRequired" value="Tuple {
	message : String = 'The lang attribute is required',
	status : Boolean = 
			self.lang <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="doc" ordered="false" upperBound="-1"
eType="#//Doc" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Doc/nSDoc">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Doc"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Language"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="lang"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PresenceCondition" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tPresenceCondition"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="argument" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="argument"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="descID"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="titleID"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" ordered="false"
eType="#//PresenceConditions" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//PresenceConditions/presenceCondition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataObject" ordered="false"
upperBound="-1" eType="#//DataObject" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//DataObject/refersToPresenceCondition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataObjectForDerivedStatistics"
ordered="false" upperBound="-1" eType="#//DataObject" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//DataObject/refersToPresenceConditionDerivedStatistics"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObject"
ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToPresenceCondition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttribute"
ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToPresenceCondition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataAttribute"
ordered="false" upperBound="-1" eType="#//SubDataAttribute" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//SubDataAttribute/refersToPresenceCondition"/>
<eClassifiers xsi:type="ecore:EClass" name="PresenceConditions" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tPresenceConditions"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniquePresenceCondition"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniquePresenceCondition" value="Tuple {
	message : String = 'There shall not be two PresenceCondition elements with same name.',
	status : Boolean = 
			self.presenceCondition->isUnique( p : PresenceCondition | p.name )
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="presenceCondition" ordered="false"
upperBound="-1" eType="#//PresenceCondition" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//PresenceCondition/presenceConditions">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="PresenceCondition"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/presenceConditions"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false"
eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceNS/presenceConditions"/>
<eClassifiers xsi:type="ecore:EEnum" name="PubStage">
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tPubStage"/>
</eAnnotations>
<eLiterals name="WD">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Working Draft"/>
</eAnnotations>
</eLiterals>
<eLiterals name="CD" value="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Committee Draft"/>
</eAnnotations>
</eLiterals>
<eLiterals name="CDV" value="2">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Committee Draft for Vote"/>
</eAnnotations>
</eLiterals>
<eLiterals name="DTS" value="3">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Draft Technical Specification"/>
</eAnnotations>
</eLiterals>
<eLiterals name="DTR" value="4">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Draft Technical Report"/>
</eAnnotations>
</eLiterals>
<eLiterals name="FDIS" value="5">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Final Draft International Standard"/>
</eAnnotations>
</eLiterals>
<eLiterals name="TS" value="6">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Technical Specification"/>
</eAnnotations>
</eLiterals>
<eLiterals name="TR" value="7">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Technical Report"/>
</eAnnotations>
</eLiterals>
<eLiterals name="IS" value="8">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="International Standard"/>
</eAnnotations>
</eLiterals>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="PubStageObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tPubStage:Object"/>
<details key="baseType" value="tPubStage"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServiceCDC" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceCDC"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="cdcAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="cdcAttributeRequired" value="Tuple {
	message : String = 'The cdc attribute is required',
	status : Boolean = 
			self.cdc <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceDataAttribute" ordered="false"
upperBound="-1" eType="#//ServiceDataAttribute" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//ServiceDataAttribute/serviceCDC">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceDataAttribute"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="cdc" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="cdc"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="variant" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="variant"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDCs" ordered="false"
eType="#//ServiceCDCs" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceCDCs/serviceCDC"/>
<eClassifiers xsi:type="ecore:EClass" name="ServiceCDCs" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceCDCs"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDC" ordered="false"
upperBound="-1" eType="#//ServiceCDC" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//ServiceCDC/serviceCDCs">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceCDC"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false"
eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceNS/serviceCDCs"/>
<eClassifiers xsi:type="ecore:EClass" name="ServiceConstructedAttribute" eSuperTypes="#//ConstructedAttribute">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceConstructedAttribute"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKindParameterized"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="typeKindParameterized"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceConstructedAttribute"
ordered="false" eType="#//ServiceConstructedAttributes" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//ServiceConstructedAttributes/serviceConstructedAttribute"/>
<eClassifiers xsi:type="ecore:EClass" name="ServiceConstructedAttributes" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceConstructedAttributes"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceConstructedAttribute"
ordered="false" upperBound="-1" eType="#//ServiceConstructedAttribute" unsettable="true"
containment="true" resolveProxies="false" eOpposite="#//ServiceConstructedAttribute/serviceConstructedAttribute">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceConstructedAttribute"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false"
eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceNS/serviceConstructedAttributes"/>
<eClassifiers xsi:type="ecore:EClass" name="ServiceDataAttribute" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgAttributeType #//AgUnderlyingType">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceDataAttribute"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired fcAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
<details key="fcAttributeRequired" value="Tuple {
	message : String = 'The fc attribute is required',
	status : Boolean = 
			self.fc <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="fc"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDC" ordered="false"
eType="#//ServiceCDC" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceCDC/serviceDataAttribute"/>
<eClassifiers xsi:type="ecore:EClass" name="ServiceNS" eSuperTypes="#//Copyrighted #//AgNSIdentification #//AgUML #//AgNSdesc">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceNS"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="changes" ordered="false"
eType="#//Changes" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Changes/serviceNS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Changes"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraints"
ordered="false" eType="#//FunctionalConstraints" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//FunctionalConstraints/serviceNS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="FunctionalConstraints"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" ordered="false"
eType="#//PresenceConditions" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//PresenceConditions/serviceNS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="PresenceConditions"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="abbreviations" ordered="false"
eType="#//Abbreviations" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//Abbreviations/serviceNS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Abbreviations"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceTypeRealizations"
ordered="false" eType="#//ServiceTypeRealizations" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//ServiceTypeRealizations/serviceNS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceTypeRealizations"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceConstructedAttributes"
ordered="false" eType="#//ServiceConstructedAttributes" unsettable="true"
containment="true" resolveProxies="false" eOpposite="#//ServiceConstructedAttributes/serviceNS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceConstructedAttributes"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDCs" ordered="false"
eType="#//ServiceCDCs" unsettable="true" containment="true" resolveProxies="false"
eOpposite="#//ServiceCDCs/serviceNS">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceCDCs"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServiceNsUsage" eSuperTypes="#//NsdObject #//AgNSIdentification">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceNsUsage"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="appliesTo" ordered="false"
upperBound="-1" eType="#//AppliesToType" unsettable="true" containment="true"
resolveProxies="false" eOpposite="#//AppliesToType/serviceNsUsage">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="AppliesTo"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="applicableServiceNS" ordered="false"
eType="#//ApplicableServiceNS" transient="true" unsettable="true" eOpposite="#//ApplicableServiceNS/serviceNsUsage"/>
<eClassifiers xsi:type="ecore:EClass" name="ServiceParameter" eSuperTypes="#//DocumentedClass #//AgAttributeTypeAndValues">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceParameter"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" eType="#//CDC"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/serviceParameter"/>
<eClassifiers xsi:type="ecore:EClass" name="ServiceTypeRealizations" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tServiceTypeRealizations"/>
<details key="kind" value="elementOnly"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceTypeRealization"
ordered="false" upperBound="-1" eType="#//ConstructedAttribute" unsettable="true"
containment="true" resolveProxies="false" eOpposite="#//ConstructedAttribute/serviceTypeRealizations">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceTypeRealization"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false"
eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ServiceNS/serviceTypeRealizations"/>
<eClassifiers xsi:type="ecore:EClass" name="SubDataAttribute" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgArray #//AgAttributeTypeAndValues">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tSubDataAttribute"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttribute" ordered="false"
eType="#//ConstructedAttribute" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//ConstructedAttribute/subDataAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceCondition"
ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//PresenceCondition/referredBySubDataAttribute"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SubDataObject" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgArray #//AgUnderlyingType">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tSubDataObject"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameAttributeRequired typeAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameAttributeRequired" value="Tuple {
	message : String = 'The name attribute is required',
	status : Boolean = 
			self.name <> null
}.status"/>
<details key="typeAttributeRequired" value="Tuple {
	message : String = 'The type attribute is required',
	status : Boolean = 
			self.type <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="name"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="type"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" eType="#//CDC"
transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/subDataObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToCDC" ordered="false"
eType="#//CDC" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/referredBySubDataObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceCondition"
ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//PresenceCondition/referredBySubDataObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToSizeAttribute"
ordered="false" eType="#//DataAttribute" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//DataAttribute/referredBySubDataObjectAsSizeAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToMaxIndexAttribute"
ordered="false" eType="#//DataAttribute" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//DataAttribute/referredBySubDataObjectAsMaxIndexAttribute"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TitledClass" eSuperTypes="#//DocumentedClass">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tTitledClass"/>
<details key="kind" value="empty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="titleIDAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="titleIDAttributeRequired" value="Tuple {
	message : String = 'The titleID attribute is required',
	status : Boolean = 
			self.titleID <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="titleID"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="UndefinedAttributeTypeKind">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tUndefinedAttributeTypeKind"/>
</eAnnotations>
<eLiterals name="undefined">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Indicates that the type is not defined, and shall be done so where it is used."/>
</eAnnotations>
</eLiterals>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="UndefinedAttributeTypeKindObject"
instanceClassName="org.eclipse.emf.common.util.Enumerator">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="tUndefinedAttributeTypeKind:Object"/>
<details key="baseType" value="tUndefinedAttributeTypeKind"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NsdObject" abstract="true">
<eOperations name="buildExplicitLinks" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eParameters name="console" eType="#//IRiseClipseConsole"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lineNumber" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" transient="true"
defaultValueLiteral="-1"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="explicitLinksBuilt" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" transient="true"
defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgNSIdentification" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="idAttributeRequired versionAttributeRequired"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="idAttributeRequired" value="Tuple {
	message : String = 'The id attribute is required',
	status : Boolean = 
			self.id <> null
}.status"/>
<details key="versionAttributeRequired" value="Tuple {
	message : String = 'The version attribute is required',
	status : Boolean = 
			self.version <> null
}.status"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
defaultValueLiteral="1" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="release"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="version"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="id"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="A" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="revision"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationStage" eType="#//PubStage"
defaultValueLiteral="IS" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="publicationStage"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgPresenceCondition" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="presCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="M" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="presCond"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="presCondArgs"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="presCondArgsID"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgPresenceConditionDerivedStatistics"
abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dsPresCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="M" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dsPresCond"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dsPresCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dsPresCondArgs"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dsPresCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dsPresCondArgsID"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgArray" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="isArray"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxIndexAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="maxIndexAttribute"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minIndex" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//UnsignedInt"
defaultValueLiteral="0" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="minIndex"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="sizeAttribute"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgTrgOp" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dchg" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dchg"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dupd" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dupd"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="qchg" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
defaultValueLiteral="false" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="qchg"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgAttributeType" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="type"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKind" eType="#//AttributeTypeKind"
defaultValueLiteral="BASIC" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="typeKind"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgAttributeTypeAndValues" abstract="true"
eSuperTypes="#//AgAttributeType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="defaultValue"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="maxValue"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="minValue"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgUnderlyingType" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="underlyingType"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingTypeKind" eType="#//DefinedAttributeTypeKind"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="underlyingTypeKind"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgUML" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="umlDate" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="umlDate"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="umlVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="umlVersion"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AgNSdesc" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="descID"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IRiseClipseConsole" instanceClassName="fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole"
abstract="true" interface="true"/>
</ecore:EPackage>