<?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> <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> <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> <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> <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> <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"/> <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"/> </eAnnotations> <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> <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> <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> <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> <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"/> </eAnnotations> <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> <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> <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> <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"/> </eAnnotations> <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> <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> <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> <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> <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> <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> <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> <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> <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"/> </eAnnotations> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <eClassifiers xsi:type="ecore:EEnum" name="PubStage"> <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> <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> <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> <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> <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> <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> <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> <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> <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>