diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AppliesToTypeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AppliesToTypeItemProvider.java
index 5b3ffed8ee96dc9223ff50c2c3d0a4cc47149027..700e672963376706a4438bdb7f329d775a59b6de 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AppliesToTypeItemProvider.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/AppliesToTypeItemProvider.java
@@ -124,7 +124,7 @@ public class AppliesToTypeItemProvider extends ItemProviderAdapter implements IE
                         getString( "_UI_PropertyDescriptor_description", "_UI_AppliesToType_release_feature",
                                 "_UI_AppliesToType_type" ),
                         NsdPackage.Literals.APPLIES_TO_TYPE__RELEASE, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
@@ -156,7 +156,7 @@ public class AppliesToTypeItemProvider extends ItemProviderAdapter implements IE
                         getString( "_UI_PropertyDescriptor_description", "_UI_AppliesToType_version_feature",
                                 "_UI_AppliesToType_type" ),
                         NsdPackage.Literals.APPLIES_TO_TYPE__VERSION, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ChangesItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ChangesItemProvider.java
index bff5670421f2f56a79ae116b6786383fd0f44734..57d3223ada4816e53ee0d4447d478db9fcba0a68 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ChangesItemProvider.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ChangesItemProvider.java
@@ -125,7 +125,7 @@ public class ChangesItemProvider extends ItemProviderAdapter implements IEditing
                         getString( "_UI_PropertyDescriptor_description", "_UI_Changes_release_feature",
                                 "_UI_Changes_type" ),
                         NsdPackage.Literals.CHANGES__RELEASE, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
@@ -173,7 +173,7 @@ public class ChangesItemProvider extends ItemProviderAdapter implements IEditing
                         getString( "_UI_PropertyDescriptor_description", "_UI_Changes_version_feature",
                                 "_UI_Changes_type" ),
                         NsdPackage.Literals.CHANGES__VERSION, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java
index 59137e2776bf4b9f40d3b0e63c0619c38bececa1..2d4a5e82b3ef4168ae9a35b310540a047b384daa 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java
@@ -124,7 +124,7 @@ public class DependsOnTypeItemProvider extends ItemProviderAdapter implements IE
                         getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_release_feature",
                                 "_UI_DependsOnType_type" ),
                         NsdPackage.Literals.DEPENDS_ON_TYPE__RELEASE, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
@@ -156,7 +156,7 @@ public class DependsOnTypeItemProvider extends ItemProviderAdapter implements IE
                         getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_version_feature",
                                 "_UI_DependsOnType_type" ),
                         NsdPackage.Literals.DEPENDS_ON_TYPE__VERSION, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSDocItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSDocItemProvider.java
index 3ef80455ddf80d97a092b03573a37c3bb1c33afb..990e5612d84686d0f7fafaab23c579fc051e0e68 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSDocItemProvider.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSDocItemProvider.java
@@ -135,7 +135,7 @@ public class NSDocItemProvider extends CopyrightedItemProvider {
                         getString( "_UI_PropertyDescriptor_description", "_UI_NSDoc_release_feature",
                                 "_UI_NSDoc_type" ),
                         NsdPackage.Literals.NS_DOC__RELEASE, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
@@ -199,7 +199,7 @@ public class NSDocItemProvider extends CopyrightedItemProvider {
                         getString( "_UI_PropertyDescriptor_description", "_UI_NSDoc_version_feature",
                                 "_UI_NSDoc_type" ),
                         NsdPackage.Literals.NS_DOC__VERSION, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java
index aabf9a15e8c5f4c62232bf3b6ed93edda06563c9..772754d712d53bc8359f42b62b6374d8fe76c784 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java
@@ -133,8 +133,8 @@ public class NSItemProvider extends CopyrightedItemProvider {
                 createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
                         getResourceLocator(), getString( "_UI_NS_release_feature" ),
                         getString( "_UI_PropertyDescriptor_description", "_UI_NS_release_feature", "_UI_NS_type" ),
-                        NsdPackage.Literals.NS__RELEASE, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        NsdPackage.Literals.NS__RELEASE, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                        null, null ) );
     }
 
     /**
@@ -193,8 +193,8 @@ public class NSItemProvider extends CopyrightedItemProvider {
                 createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
                         getResourceLocator(), getString( "_UI_NS_version_feature" ),
                         getString( "_UI_PropertyDescriptor_description", "_UI_NS_version_feature", "_UI_NS_type" ),
-                        NsdPackage.Literals.NS__VERSION, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        NsdPackage.Literals.NS__VERSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                        null, null ) );
     }
 
     /**
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceNSItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceNSItemProvider.java
index 9b16460d065829ea8e384a32fb18d5d1fc4bff3b..95b7040c9cf62e9f4e33c57175ae3aa12c4c32fb 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceNSItemProvider.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceNSItemProvider.java
@@ -137,7 +137,7 @@ public class ServiceNSItemProvider extends CopyrightedItemProvider {
                         getString( "_UI_PropertyDescriptor_description", "_UI_ServiceNS_release_feature",
                                 "_UI_ServiceNS_type" ),
                         NsdPackage.Literals.SERVICE_NS__RELEASE, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
@@ -201,7 +201,7 @@ public class ServiceNSItemProvider extends CopyrightedItemProvider {
                         getString( "_UI_PropertyDescriptor_description", "_UI_ServiceNS_version_feature",
                                 "_UI_ServiceNS_type" ),
                         NsdPackage.Literals.SERVICE_NS__VERSION, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceNsUsageItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceNsUsageItemProvider.java
index b0597e0d2ece5c5ae76968033ccb1cd87faf0eda..fb6000a6f74bd0d7ccf76d5375eda0c8cc7595e4 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceNsUsageItemProvider.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceNsUsageItemProvider.java
@@ -127,7 +127,7 @@ public class ServiceNsUsageItemProvider extends ItemProviderAdapter implements I
                         getString( "_UI_PropertyDescriptor_description", "_UI_ServiceNsUsage_release_feature",
                                 "_UI_ServiceNsUsage_type" ),
                         NsdPackage.Literals.SERVICE_NS_USAGE__RELEASE, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
@@ -159,7 +159,7 @@ public class ServiceNsUsageItemProvider extends ItemProviderAdapter implements I
                         getString( "_UI_PropertyDescriptor_description", "_UI_ServiceNsUsage_version_feature",
                                 "_UI_ServiceNsUsage_type" ),
                         NsdPackage.Literals.SERVICE_NS_USAGE__VERSION, true, false, false,
-                        ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) );
+                        ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) );
     }
 
     /**
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore
index b606690261d0dfdd97b90b09dd12e217f7748fc2..5e1936fb0896f7a391e8d619588a57c752beecda 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore
@@ -28,7 +28,7 @@
         <details key="name" value="publicationStage"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="#//NSRelease"
+    <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://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Release of the namespace version and revision, by default 1."/>
@@ -49,7 +49,8 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
-        eType="#//NSVersion" unsettable="true">
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
+        unsettable="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Version (year) of the namespace."/>
       </eAnnotations>
@@ -83,7 +84,7 @@
         <details key="name" value="publicationStage"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="#//NSRelease"
+    <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://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Release of the namespace version and revision, by default 1."/>
@@ -104,7 +105,8 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
-        eType="#//NSVersion" unsettable="true">
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
+        unsettable="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Version (year) of the namespace."/>
       </eAnnotations>
@@ -652,7 +654,7 @@
         <details key="name" value="date"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="#//NSRelease"
+    <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://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Release of the namespace this NSD file is based on, per default 1."/>
@@ -682,7 +684,8 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
-        eType="#//NSVersion" unsettable="true">
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
+        unsettable="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Version of the namespace this NSD file is based on."/>
       </eAnnotations>
@@ -1622,7 +1625,7 @@
         <details key="name" value="publicationStage"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="#//NSRelease"
+    <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://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Release of the namespace version and revision, by default 1."/>
@@ -1661,7 +1664,8 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
-        eType="#//NSVersion" unsettable="true">
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
+        unsettable="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Version (year) of the namespace."/>
       </eAnnotations>
@@ -1718,7 +1722,7 @@
         <details key="name" value="publicationStage"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="#//NSRelease"
+    <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://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Release of the namespace version and revision, by default 1."/>
@@ -1757,7 +1761,8 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
-        eType="#//NSVersion" unsettable="true">
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
+        unsettable="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Version (year) of the namespace."/>
       </eAnnotations>
@@ -1767,39 +1772,6 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="NSRelease" instanceClassName="short">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Release of a namespace (number between 1 and 255), distinguishing between releases of a same namespace version and revision."/>
-    </eAnnotations>
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="tNSRelease"/>
-      <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#unsignedByte"/>
-      <details key="minExclusive" value="0"/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="NSReleaseObject" instanceClassName="java.lang.Short">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="tNSRelease:Object"/>
-      <details key="baseType" value="tNSRelease"/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="NSVersion" instanceClassName="int">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Version of a namespace (a year between 2002 and 2099)."/>
-    </eAnnotations>
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="tNSVersion"/>
-      <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#unsignedShort"/>
-      <details key="minInclusive" value="2002"/>
-      <details key="maxInclusive" value="2099"/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="NSVersionObject" instanceClassName="java.lang.Integer">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="tNSVersion:Object"/>
-      <details key="baseType" value="tNSVersion"/>
-    </eAnnotations>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="PresenceCondition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="Definition of a presence condition."/>
@@ -2229,7 +2201,7 @@
         <details key="name" value="publicationStage"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="#//NSRelease"
+    <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://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Release of the namespace version and revision, by default 1."/>
@@ -2268,7 +2240,8 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
-        eType="#//NSVersion" unsettable="true">
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
+        unsettable="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Version (year) of the namespace."/>
       </eAnnotations>
@@ -2316,7 +2289,7 @@
         <details key="name" value="publicationStage"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="#//NSRelease"
+    <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://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Release of the namespace version and revision, by default 1."/>
@@ -2337,7 +2310,8 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
-        eType="#//NSVersion" unsettable="true">
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"
+        unsettable="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Version (year) of the namespace."/>
       </eAnnotations>
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel
index 5c97dd48c96688377ff65b3ced461f4fcb3604ef..03e783a6d4dc8084bd01a78d32b30089b89f3602 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel
@@ -105,10 +105,6 @@
     <genDataTypes ecoreDataType="nsd.ecore#//CBKindObject"/>
     <genDataTypes ecoreDataType="nsd.ecore#//DefinedAttributeTypeKindObject"/>
     <genDataTypes ecoreDataType="nsd.ecore#//LicenseKindObject"/>
-    <genDataTypes ecoreDataType="nsd.ecore#//NSRelease"/>
-    <genDataTypes ecoreDataType="nsd.ecore#//NSReleaseObject"/>
-    <genDataTypes ecoreDataType="nsd.ecore#//NSVersion"/>
-    <genDataTypes ecoreDataType="nsd.ecore#//NSVersionObject"/>
     <genDataTypes ecoreDataType="nsd.ecore#//PubStageObject"/>
     <genDataTypes ecoreDataType="nsd.ecore#//UndefinedAttributeTypeKindObject"/>
     <genClasses ecoreClass="nsd.ecore#//AppliesToType">
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java
index d8ff24a5409155d8d27c2f651915a5943eb2c19d..c45c9d036a7263f90e07a0b6e497bf60314daec7 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java
@@ -136,13 +136,13 @@ public interface AppliesToType extends EObject {
      * @return the value of the '<em>Release</em>' attribute.
      * @see #isSetRelease()
      * @see #unsetRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_Release()
-     * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSRelease"
+     * @model default="1" unsettable="true"
      *        extendedMetaData="kind='attribute' name='release'"
      * @generated
      */
-    short getRelease();
+    Integer getRelease();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRelease <em>Release</em>}' attribute.
@@ -154,7 +154,7 @@ public interface AppliesToType extends EObject {
      * @see #getRelease()
      * @generated
      */
-    void setRelease( short value );
+    void setRelease( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRelease <em>Release</em>}' attribute.
@@ -162,7 +162,7 @@ public interface AppliesToType extends EObject {
      * <!-- end-user-doc -->
      * @see #isSetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     void unsetRelease();
@@ -174,7 +174,7 @@ public interface AppliesToType extends EObject {
      * @return whether the value of the '<em>Release</em>' attribute is set.
      * @see #unsetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     boolean isSetRelease();
@@ -243,13 +243,13 @@ public interface AppliesToType extends EObject {
      * @return the value of the '<em>Version</em>' attribute.
      * @see #isSetVersion()
      * @see #unsetVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_Version()
-     * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSVersion" required="true"
+     * @model unsettable="true" required="true"
      *        extendedMetaData="kind='attribute' name='version'"
      * @generated
      */
-    int getVersion();
+    Integer getVersion();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getVersion <em>Version</em>}' attribute.
@@ -261,7 +261,7 @@ public interface AppliesToType extends EObject {
      * @see #getVersion()
      * @generated
      */
-    void setVersion( int value );
+    void setVersion( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getVersion <em>Version</em>}' attribute.
@@ -269,7 +269,7 @@ public interface AppliesToType extends EObject {
      * <!-- end-user-doc -->
      * @see #isSetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     void unsetVersion();
@@ -281,7 +281,7 @@ public interface AppliesToType extends EObject {
      * @return whether the value of the '<em>Version</em>' attribute is set.
      * @see #unsetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     boolean isSetVersion();
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Changes.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Changes.java
index af6feb7d71a20ef25ef4d9d4ae83b0cc84e9a25c..bdc3811ef90b03f2e5aad859838e7bb908b44562 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Changes.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Changes.java
@@ -111,13 +111,13 @@ public interface Changes extends EObject {
      * @return the value of the '<em>Release</em>' attribute.
      * @see #isSetRelease()
      * @see #unsetRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getChanges_Release()
-     * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSRelease"
+     * @model default="1" unsettable="true"
      *        extendedMetaData="kind='attribute' name='release'"
      * @generated
      */
-    short getRelease();
+    Integer getRelease();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getRelease <em>Release</em>}' attribute.
@@ -129,7 +129,7 @@ public interface Changes extends EObject {
      * @see #getRelease()
      * @generated
      */
-    void setRelease( short value );
+    void setRelease( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getRelease <em>Release</em>}' attribute.
@@ -137,7 +137,7 @@ public interface Changes extends EObject {
      * <!-- end-user-doc -->
      * @see #isSetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     void unsetRelease();
@@ -149,7 +149,7 @@ public interface Changes extends EObject {
      * @return whether the value of the '<em>Release</em>' attribute is set.
      * @see #unsetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     boolean isSetRelease();
@@ -243,13 +243,13 @@ public interface Changes extends EObject {
      * @return the value of the '<em>Version</em>' attribute.
      * @see #isSetVersion()
      * @see #unsetVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getChanges_Version()
-     * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSVersion" required="true"
+     * @model unsettable="true" required="true"
      *        extendedMetaData="kind='attribute' name='version'"
      * @generated
      */
-    int getVersion();
+    Integer getVersion();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getVersion <em>Version</em>}' attribute.
@@ -261,7 +261,7 @@ public interface Changes extends EObject {
      * @see #getVersion()
      * @generated
      */
-    void setVersion( int value );
+    void setVersion( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getVersion <em>Version</em>}' attribute.
@@ -269,7 +269,7 @@ public interface Changes extends EObject {
      * <!-- end-user-doc -->
      * @see #isSetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     void unsetVersion();
@@ -281,7 +281,7 @@ public interface Changes extends EObject {
      * @return whether the value of the '<em>Version</em>' attribute is set.
      * @see #unsetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     boolean isSetVersion();
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java
index 6cd4d5bcce4aa1a970b5d0423ee165ebbfff5f39..ec180860ee93dafd09c2e659a74b38cffb8b9f7c 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java
@@ -136,13 +136,13 @@ public interface DependsOnType extends EObject {
      * @return the value of the '<em>Release</em>' attribute.
      * @see #isSetRelease()
      * @see #unsetRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_Release()
-     * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSRelease"
+     * @model default="1" unsettable="true"
      *        extendedMetaData="kind='attribute' name='release'"
      * @generated
      */
-    short getRelease();
+    Integer getRelease();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRelease <em>Release</em>}' attribute.
@@ -154,7 +154,7 @@ public interface DependsOnType extends EObject {
      * @see #getRelease()
      * @generated
      */
-    void setRelease( short value );
+    void setRelease( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRelease <em>Release</em>}' attribute.
@@ -162,7 +162,7 @@ public interface DependsOnType extends EObject {
      * <!-- end-user-doc -->
      * @see #isSetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     void unsetRelease();
@@ -174,7 +174,7 @@ public interface DependsOnType extends EObject {
      * @return whether the value of the '<em>Release</em>' attribute is set.
      * @see #unsetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     boolean isSetRelease();
@@ -243,13 +243,13 @@ public interface DependsOnType extends EObject {
      * @return the value of the '<em>Version</em>' attribute.
      * @see #isSetVersion()
      * @see #unsetVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_Version()
-     * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSVersion" required="true"
+     * @model unsettable="true" required="true"
      *        extendedMetaData="kind='attribute' name='version'"
      * @generated
      */
-    int getVersion();
+    Integer getVersion();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getVersion <em>Version</em>}' attribute.
@@ -261,7 +261,7 @@ public interface DependsOnType extends EObject {
      * @see #getVersion()
      * @generated
      */
-    void setVersion( int value );
+    void setVersion( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getVersion <em>Version</em>}' attribute.
@@ -269,7 +269,7 @@ public interface DependsOnType extends EObject {
      * <!-- end-user-doc -->
      * @see #isSetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     void unsetVersion();
@@ -281,7 +281,7 @@ public interface DependsOnType extends EObject {
      * @return whether the value of the '<em>Version</em>' attribute is set.
      * @see #unsetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     boolean isSetVersion();
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java
index 69935ac19c6cc1fa8f760f88c1f58d8447ea599a..e632487562b56666deee29a8a7750524a1ef5957 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java
@@ -438,13 +438,13 @@ public interface NS extends Copyrighted {
      * @return the value of the '<em>Release</em>' attribute.
      * @see #isSetRelease()
      * @see #unsetRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_Release()
-     * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSRelease"
+     * @model default="1" unsettable="true"
      *        extendedMetaData="kind='attribute' name='release'"
      * @generated
      */
-    short getRelease();
+    Integer getRelease();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getRelease <em>Release</em>}' attribute.
@@ -456,7 +456,7 @@ public interface NS extends Copyrighted {
      * @see #getRelease()
      * @generated
      */
-    void setRelease( short value );
+    void setRelease( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getRelease <em>Release</em>}' attribute.
@@ -464,7 +464,7 @@ public interface NS extends Copyrighted {
      * <!-- end-user-doc -->
      * @see #isSetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     void unsetRelease();
@@ -476,7 +476,7 @@ public interface NS extends Copyrighted {
      * @return whether the value of the '<em>Release</em>' attribute is set.
      * @see #unsetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     boolean isSetRelease();
@@ -597,13 +597,13 @@ public interface NS extends Copyrighted {
      * @return the value of the '<em>Version</em>' attribute.
      * @see #isSetVersion()
      * @see #unsetVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_Version()
-     * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSVersion" required="true"
+     * @model unsettable="true" required="true"
      *        extendedMetaData="kind='attribute' name='version'"
      * @generated
      */
-    int getVersion();
+    Integer getVersion();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getVersion <em>Version</em>}' attribute.
@@ -615,7 +615,7 @@ public interface NS extends Copyrighted {
      * @see #getVersion()
      * @generated
      */
-    void setVersion( int value );
+    void setVersion( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getVersion <em>Version</em>}' attribute.
@@ -623,7 +623,7 @@ public interface NS extends Copyrighted {
      * <!-- end-user-doc -->
      * @see #isSetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     void unsetVersion();
@@ -635,7 +635,7 @@ public interface NS extends Copyrighted {
      * @return whether the value of the '<em>Version</em>' attribute is set.
      * @see #unsetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     boolean isSetVersion();
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDoc.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDoc.java
index 505b163ea0859b89547863b37a2743c7ab6204b8..f046f45cad9214f2f8fde593e7f035fdba01f277 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDoc.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDoc.java
@@ -188,13 +188,13 @@ public interface NSDoc extends Copyrighted {
      * @return the value of the '<em>Release</em>' attribute.
      * @see #isSetRelease()
      * @see #unsetRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNSDoc_Release()
-     * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSRelease"
+     * @model default="1" unsettable="true"
      *        extendedMetaData="kind='attribute' name='release'"
      * @generated
      */
-    short getRelease();
+    Integer getRelease();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getRelease <em>Release</em>}' attribute.
@@ -206,7 +206,7 @@ public interface NSDoc extends Copyrighted {
      * @see #getRelease()
      * @generated
      */
-    void setRelease( short value );
+    void setRelease( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getRelease <em>Release</em>}' attribute.
@@ -214,7 +214,7 @@ public interface NSDoc extends Copyrighted {
      * <!-- end-user-doc -->
      * @see #isSetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     void unsetRelease();
@@ -226,7 +226,7 @@ public interface NSDoc extends Copyrighted {
      * @return whether the value of the '<em>Release</em>' attribute is set.
      * @see #unsetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     boolean isSetRelease();
@@ -347,13 +347,13 @@ public interface NSDoc extends Copyrighted {
      * @return the value of the '<em>Version</em>' attribute.
      * @see #isSetVersion()
      * @see #unsetVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNSDoc_Version()
-     * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSVersion" required="true"
+     * @model unsettable="true" required="true"
      *        extendedMetaData="kind='attribute' name='version'"
      * @generated
      */
-    int getVersion();
+    Integer getVersion();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getVersion <em>Version</em>}' attribute.
@@ -365,7 +365,7 @@ public interface NSDoc extends Copyrighted {
      * @see #getVersion()
      * @generated
      */
-    void setVersion( int value );
+    void setVersion( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getVersion <em>Version</em>}' attribute.
@@ -373,7 +373,7 @@ public interface NSDoc extends Copyrighted {
      * <!-- end-user-doc -->
      * @see #isSetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     void unsetVersion();
@@ -385,7 +385,7 @@ public interface NSDoc extends Copyrighted {
      * @return whether the value of the '<em>Version</em>' attribute is set.
      * @see #unsetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     boolean isSetVersion();
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java
index c189709f025f90aa9d87676c113cd123fd9d793e..85485ad106f37bda27218cb1bed44cf2b26e06c1 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java
@@ -4099,44 +4099,6 @@ public interface NsdPackage extends EPackage {
      */
     int LICENSE_KIND_OBJECT = 60;
 
-    /**
-     * The meta object id for the '<em>NS Release</em>' data type.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSRelease()
-     * @generated
-     */
-    int NS_RELEASE = 61;
-
-    /**
-     * The meta object id for the '<em>NS Release Object</em>' data type.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see java.lang.Short
-     * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSReleaseObject()
-     * @generated
-     */
-    int NS_RELEASE_OBJECT = 62;
-
-    /**
-     * The meta object id for the '<em>NS Version</em>' data type.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSVersion()
-     * @generated
-     */
-    int NS_VERSION = 63;
-
-    /**
-     * The meta object id for the '<em>NS Version Object</em>' data type.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see java.lang.Integer
-     * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSVersionObject()
-     * @generated
-     */
-    int NS_VERSION_OBJECT = 64;
-
     /**
      * The meta object id for the '<em>Pub Stage Object</em>' data type.
      * <!-- begin-user-doc -->
@@ -4145,7 +4107,7 @@ public interface NsdPackage extends EPackage {
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getPubStageObject()
      * @generated
      */
-    int PUB_STAGE_OBJECT = 65;
+    int PUB_STAGE_OBJECT = 61;
 
     /**
      * The meta object id for the '<em>Undefined Attribute Type Kind Object</em>' data type.
@@ -4155,7 +4117,7 @@ public interface NsdPackage extends EPackage {
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getUndefinedAttributeTypeKindObject()
      * @generated
      */
-    int UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 66;
+    int UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 62;
 
     /**
      * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType <em>Applies To Type</em>}'.
@@ -7167,58 +7129,6 @@ public interface NsdPackage extends EPackage {
      */
     EDataType getLicenseKindObject();
 
-    /**
-     * Returns the meta object for data type '<em>NS Release</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * <!-- begin-model-doc -->
-     * Release of a namespace (number between 1 and 255), distinguishing between releases of a same namespace version and revision.
-     * <!-- end-model-doc -->
-     * @return the meta object for data type '<em>NS Release</em>'.
-     * @model instanceClass="short"
-     *        extendedMetaData="name='tNSRelease' baseType='http://www.eclipse.org/emf/2003/XMLType#unsignedByte' minExclusive='0'"
-     * @generated
-     */
-    EDataType getNSRelease();
-
-    /**
-     * Returns the meta object for data type '{@link java.lang.Short <em>NS Release Object</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for data type '<em>NS Release Object</em>'.
-     * @see java.lang.Short
-     * @model instanceClass="java.lang.Short"
-     *        extendedMetaData="name='tNSRelease:Object' baseType='tNSRelease'"
-     * @generated
-     */
-    EDataType getNSReleaseObject();
-
-    /**
-     * Returns the meta object for data type '<em>NS Version</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * <!-- begin-model-doc -->
-     * Version of a namespace (a year between 2002 and 2099).
-     * <!-- end-model-doc -->
-     * @return the meta object for data type '<em>NS Version</em>'.
-     * @model instanceClass="int"
-     *        extendedMetaData="name='tNSVersion' baseType='http://www.eclipse.org/emf/2003/XMLType#unsignedShort' minInclusive='2002' maxInclusive='2099'"
-     * @generated
-     */
-    EDataType getNSVersion();
-
-    /**
-     * Returns the meta object for data type '{@link java.lang.Integer <em>NS Version Object</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for data type '<em>NS Version Object</em>'.
-     * @see java.lang.Integer
-     * @model instanceClass="java.lang.Integer"
-     *        extendedMetaData="name='tNSVersion:Object' baseType='tNSVersion'"
-     * @generated
-     */
-    EDataType getNSVersionObject();
-
     /**
      * Returns the meta object for data type '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage <em>Pub Stage Object</em>}'.
      * <!-- begin-user-doc -->
@@ -9618,44 +9528,6 @@ public interface NsdPackage extends EPackage {
          */
         EDataType LICENSE_KIND_OBJECT = eINSTANCE.getLicenseKindObject();
 
-        /**
-         * The meta object literal for the '<em>NS Release</em>' data type.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSRelease()
-         * @generated
-         */
-        EDataType NS_RELEASE = eINSTANCE.getNSRelease();
-
-        /**
-         * The meta object literal for the '<em>NS Release Object</em>' data type.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @see java.lang.Short
-         * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSReleaseObject()
-         * @generated
-         */
-        EDataType NS_RELEASE_OBJECT = eINSTANCE.getNSReleaseObject();
-
-        /**
-         * The meta object literal for the '<em>NS Version</em>' data type.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSVersion()
-         * @generated
-         */
-        EDataType NS_VERSION = eINSTANCE.getNSVersion();
-
-        /**
-         * The meta object literal for the '<em>NS Version Object</em>' data type.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @see java.lang.Integer
-         * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSVersionObject()
-         * @generated
-         */
-        EDataType NS_VERSION_OBJECT = eINSTANCE.getNSVersionObject();
-
         /**
          * The meta object literal for the '<em>Pub Stage Object</em>' data type.
          * <!-- begin-user-doc -->
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNS.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNS.java
index e7c265ba84dfcc5b9cefa6a008ad35c46b825ba9..6430b16e653ccc7c9df7af089744d2cdc2ae482a 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNS.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNS.java
@@ -357,13 +357,13 @@ public interface ServiceNS extends Copyrighted {
      * @return the value of the '<em>Release</em>' attribute.
      * @see #isSetRelease()
      * @see #unsetRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_Release()
-     * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSRelease"
+     * @model default="1" unsettable="true"
      *        extendedMetaData="kind='attribute' name='release'"
      * @generated
      */
-    short getRelease();
+    Integer getRelease();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getRelease <em>Release</em>}' attribute.
@@ -375,7 +375,7 @@ public interface ServiceNS extends Copyrighted {
      * @see #getRelease()
      * @generated
      */
-    void setRelease( short value );
+    void setRelease( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getRelease <em>Release</em>}' attribute.
@@ -383,7 +383,7 @@ public interface ServiceNS extends Copyrighted {
      * <!-- end-user-doc -->
      * @see #isSetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     void unsetRelease();
@@ -395,7 +395,7 @@ public interface ServiceNS extends Copyrighted {
      * @return whether the value of the '<em>Release</em>' attribute is set.
      * @see #unsetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     boolean isSetRelease();
@@ -516,13 +516,13 @@ public interface ServiceNS extends Copyrighted {
      * @return the value of the '<em>Version</em>' attribute.
      * @see #isSetVersion()
      * @see #unsetVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_Version()
-     * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSVersion" required="true"
+     * @model unsettable="true" required="true"
      *        extendedMetaData="kind='attribute' name='version'"
      * @generated
      */
-    int getVersion();
+    Integer getVersion();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getVersion <em>Version</em>}' attribute.
@@ -534,7 +534,7 @@ public interface ServiceNS extends Copyrighted {
      * @see #getVersion()
      * @generated
      */
-    void setVersion( int value );
+    void setVersion( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getVersion <em>Version</em>}' attribute.
@@ -542,7 +542,7 @@ public interface ServiceNS extends Copyrighted {
      * <!-- end-user-doc -->
      * @see #isSetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     void unsetVersion();
@@ -554,7 +554,7 @@ public interface ServiceNS extends Copyrighted {
      * @return whether the value of the '<em>Version</em>' attribute is set.
      * @see #unsetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     boolean isSetVersion();
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNsUsage.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNsUsage.java
index aeff502858f60db448ef697c9955c764e060ed87..a6567991cd409e4712a57c04d59a7fb3ee4573de 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNsUsage.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNsUsage.java
@@ -159,13 +159,13 @@ public interface ServiceNsUsage extends EObject {
      * @return the value of the '<em>Release</em>' attribute.
      * @see #isSetRelease()
      * @see #unsetRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNsUsage_Release()
-     * @model default="1" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSRelease"
+     * @model default="1" unsettable="true"
      *        extendedMetaData="kind='attribute' name='release'"
      * @generated
      */
-    short getRelease();
+    Integer getRelease();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getRelease <em>Release</em>}' attribute.
@@ -177,7 +177,7 @@ public interface ServiceNsUsage extends EObject {
      * @see #getRelease()
      * @generated
      */
-    void setRelease( short value );
+    void setRelease( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getRelease <em>Release</em>}' attribute.
@@ -185,7 +185,7 @@ public interface ServiceNsUsage extends EObject {
      * <!-- end-user-doc -->
      * @see #isSetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     void unsetRelease();
@@ -197,7 +197,7 @@ public interface ServiceNsUsage extends EObject {
      * @return whether the value of the '<em>Release</em>' attribute is set.
      * @see #unsetRelease()
      * @see #getRelease()
-     * @see #setRelease(short)
+     * @see #setRelease(Integer)
      * @generated
      */
     boolean isSetRelease();
@@ -266,13 +266,13 @@ public interface ServiceNsUsage extends EObject {
      * @return the value of the '<em>Version</em>' attribute.
      * @see #isSetVersion()
      * @see #unsetVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNsUsage_Version()
-     * @model unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSVersion" required="true"
+     * @model unsettable="true" required="true"
      *        extendedMetaData="kind='attribute' name='version'"
      * @generated
      */
-    int getVersion();
+    Integer getVersion();
 
     /**
      * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getVersion <em>Version</em>}' attribute.
@@ -284,7 +284,7 @@ public interface ServiceNsUsage extends EObject {
      * @see #getVersion()
      * @generated
      */
-    void setVersion( int value );
+    void setVersion( Integer value );
 
     /**
      * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getVersion <em>Version</em>}' attribute.
@@ -292,7 +292,7 @@ public interface ServiceNsUsage extends EObject {
      * <!-- end-user-doc -->
      * @see #isSetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     void unsetVersion();
@@ -304,7 +304,7 @@ public interface ServiceNsUsage extends EObject {
      * @return whether the value of the '<em>Version</em>' attribute is set.
      * @see #unsetVersion()
      * @see #getVersion()
-     * @see #setVersion(int)
+     * @see #setVersion(Integer)
      * @generated
      */
     boolean isSetVersion();
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java
index 11be367df4bb8b9bd819bf29b90f2429aea5cd61..3b16444aa6085e5bc3f18b011c273404d92dd210 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java
@@ -105,7 +105,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      * @generated
      * @ordered
      */
-    protected static final short RELEASE_EDEFAULT = 1;
+    protected static final Integer RELEASE_EDEFAULT = new Integer( 1 );
 
     /**
      * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute.
@@ -115,7 +115,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      * @generated
      * @ordered
      */
-    protected short release = RELEASE_EDEFAULT;
+    protected Integer release = RELEASE_EDEFAULT;
 
     /**
      * This is true if the Release attribute has been set.
@@ -163,7 +163,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      * @generated
      * @ordered
      */
-    protected static final int VERSION_EDEFAULT = 0;
+    protected static final Integer VERSION_EDEFAULT = null;
 
     /**
      * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
@@ -173,7 +173,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      * @generated
      * @ordered
      */
-    protected int version = VERSION_EDEFAULT;
+    protected Integer version = VERSION_EDEFAULT;
 
     /**
      * This is true if the Version attribute has been set.
@@ -284,7 +284,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      * @generated
      */
     @Override
-    public short getRelease() {
+    public Integer getRelease() {
         return release;
     }
 
@@ -294,8 +294,8 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      * @generated
      */
     @Override
-    public void setRelease( short newRelease ) {
-        short oldRelease = release;
+    public void setRelease( Integer newRelease ) {
+        Integer oldRelease = release;
         release = newRelease;
         boolean oldReleaseESet = releaseESet;
         releaseESet = true;
@@ -310,7 +310,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      */
     @Override
     public void unsetRelease() {
-        short oldRelease = release;
+        Integer oldRelease = release;
         boolean oldReleaseESet = releaseESet;
         release = RELEASE_EDEFAULT;
         releaseESet = false;
@@ -384,7 +384,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      * @generated
      */
     @Override
-    public int getVersion() {
+    public Integer getVersion() {
         return version;
     }
 
@@ -394,8 +394,8 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      * @generated
      */
     @Override
-    public void setVersion( int newVersion ) {
-        int oldVersion = version;
+    public void setVersion( Integer newVersion ) {
+        Integer oldVersion = version;
         version = newVersion;
         boolean oldVersionESet = versionESet;
         versionESet = true;
@@ -410,7 +410,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
      */
     @Override
     public void unsetVersion() {
-        int oldVersion = version;
+        Integer oldVersion = version;
         boolean oldVersionESet = versionESet;
         version = VERSION_EDEFAULT;
         versionESet = false;
@@ -465,7 +465,7 @@ public class AppliesToTypeImpl extends MinimalEObjectImpl.Container implements A
             setPublicationStage( ( PubStage ) newValue );
             return;
         case NsdPackage.APPLIES_TO_TYPE__RELEASE:
-            setRelease( ( Short ) newValue );
+            setRelease( ( Integer ) newValue );
             return;
         case NsdPackage.APPLIES_TO_TYPE__REVISION:
             setRevision( ( String ) newValue );
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ChangesImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ChangesImpl.java
index ca998490e7dff8401ce1138b98bf5d86af6f822e..fa8c520ea06c3ae471ecbe80b17bd5cd7d8f6d08 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ChangesImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ChangesImpl.java
@@ -98,7 +98,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      * @generated
      * @ordered
      */
-    protected static final short RELEASE_EDEFAULT = 1;
+    protected static final Integer RELEASE_EDEFAULT = new Integer( 1 );
 
     /**
      * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute.
@@ -108,7 +108,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      * @generated
      * @ordered
      */
-    protected short release = RELEASE_EDEFAULT;
+    protected Integer release = RELEASE_EDEFAULT;
 
     /**
      * This is true if the Release attribute has been set.
@@ -176,7 +176,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      * @generated
      * @ordered
      */
-    protected static final int VERSION_EDEFAULT = 0;
+    protected static final Integer VERSION_EDEFAULT = null;
 
     /**
      * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
@@ -186,7 +186,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      * @generated
      * @ordered
      */
-    protected int version = VERSION_EDEFAULT;
+    protected Integer version = VERSION_EDEFAULT;
 
     /**
      * This is true if the Version attribute has been set.
@@ -268,7 +268,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      * @generated
      */
     @Override
-    public short getRelease() {
+    public Integer getRelease() {
         return release;
     }
 
@@ -278,8 +278,8 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      * @generated
      */
     @Override
-    public void setRelease( short newRelease ) {
-        short oldRelease = release;
+    public void setRelease( Integer newRelease ) {
+        Integer oldRelease = release;
         release = newRelease;
         boolean oldReleaseESet = releaseESet;
         releaseESet = true;
@@ -294,7 +294,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      */
     @Override
     public void unsetRelease() {
-        short oldRelease = release;
+        Integer oldRelease = release;
         boolean oldReleaseESet = releaseESet;
         release = RELEASE_EDEFAULT;
         releaseESet = false;
@@ -391,7 +391,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      * @generated
      */
     @Override
-    public int getVersion() {
+    public Integer getVersion() {
         return version;
     }
 
@@ -401,8 +401,8 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      * @generated
      */
     @Override
-    public void setVersion( int newVersion ) {
-        int oldVersion = version;
+    public void setVersion( Integer newVersion ) {
+        Integer oldVersion = version;
         version = newVersion;
         boolean oldVersionESet = versionESet;
         versionESet = true;
@@ -417,7 +417,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
      */
     @Override
     public void unsetVersion() {
-        int oldVersion = version;
+        Integer oldVersion = version;
         boolean oldVersionESet = versionESet;
         version = VERSION_EDEFAULT;
         versionESet = false;
@@ -474,7 +474,7 @@ public class ChangesImpl extends MinimalEObjectImpl.Container implements Changes
             setDate( ( XMLGregorianCalendar ) newValue );
             return;
         case NsdPackage.CHANGES__RELEASE:
-            setRelease( ( Short ) newValue );
+            setRelease( ( Integer ) newValue );
             return;
         case NsdPackage.CHANGES__REVISION:
             setRevision( ( String ) newValue );
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnTypeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnTypeImpl.java
index c47ce9ced94421dbac3bde80292e8eb6ebca42d2..6ce9c950c159c997073f4f5cd69554138dd33310 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnTypeImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnTypeImpl.java
@@ -105,7 +105,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      * @generated
      * @ordered
      */
-    protected static final short RELEASE_EDEFAULT = 1;
+    protected static final Integer RELEASE_EDEFAULT = new Integer( 1 );
 
     /**
      * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute.
@@ -115,7 +115,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      * @generated
      * @ordered
      */
-    protected short release = RELEASE_EDEFAULT;
+    protected Integer release = RELEASE_EDEFAULT;
 
     /**
      * This is true if the Release attribute has been set.
@@ -163,7 +163,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      * @generated
      * @ordered
      */
-    protected static final int VERSION_EDEFAULT = 0;
+    protected static final Integer VERSION_EDEFAULT = null;
 
     /**
      * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
@@ -173,7 +173,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      * @generated
      * @ordered
      */
-    protected int version = VERSION_EDEFAULT;
+    protected Integer version = VERSION_EDEFAULT;
 
     /**
      * This is true if the Version attribute has been set.
@@ -284,7 +284,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      * @generated
      */
     @Override
-    public short getRelease() {
+    public Integer getRelease() {
         return release;
     }
 
@@ -294,8 +294,8 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      * @generated
      */
     @Override
-    public void setRelease( short newRelease ) {
-        short oldRelease = release;
+    public void setRelease( Integer newRelease ) {
+        Integer oldRelease = release;
         release = newRelease;
         boolean oldReleaseESet = releaseESet;
         releaseESet = true;
@@ -310,7 +310,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      */
     @Override
     public void unsetRelease() {
-        short oldRelease = release;
+        Integer oldRelease = release;
         boolean oldReleaseESet = releaseESet;
         release = RELEASE_EDEFAULT;
         releaseESet = false;
@@ -384,7 +384,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      * @generated
      */
     @Override
-    public int getVersion() {
+    public Integer getVersion() {
         return version;
     }
 
@@ -394,8 +394,8 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      * @generated
      */
     @Override
-    public void setVersion( int newVersion ) {
-        int oldVersion = version;
+    public void setVersion( Integer newVersion ) {
+        Integer oldVersion = version;
         version = newVersion;
         boolean oldVersionESet = versionESet;
         versionESet = true;
@@ -410,7 +410,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
      */
     @Override
     public void unsetVersion() {
-        int oldVersion = version;
+        Integer oldVersion = version;
         boolean oldVersionESet = versionESet;
         version = VERSION_EDEFAULT;
         versionESet = false;
@@ -465,7 +465,7 @@ public class DependsOnTypeImpl extends MinimalEObjectImpl.Container implements D
             setPublicationStage( ( PubStage ) newValue );
             return;
         case NsdPackage.DEPENDS_ON_TYPE__RELEASE:
-            setRelease( ( Short ) newValue );
+            setRelease( ( Integer ) newValue );
             return;
         case NsdPackage.DEPENDS_ON_TYPE__REVISION:
             setRevision( ( String ) newValue );
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSDocImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSDocImpl.java
index 268cb62529013a94d95db7cac52838ad1e276827..a048f4be54711560746975cb105630bf79c02018 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSDocImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSDocImpl.java
@@ -150,7 +150,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      * @generated
      * @ordered
      */
-    protected static final short RELEASE_EDEFAULT = 1;
+    protected static final Integer RELEASE_EDEFAULT = new Integer( 1 );
 
     /**
      * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute.
@@ -160,7 +160,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      * @generated
      * @ordered
      */
-    protected short release = RELEASE_EDEFAULT;
+    protected Integer release = RELEASE_EDEFAULT;
 
     /**
      * This is true if the Release attribute has been set.
@@ -248,7 +248,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      * @generated
      * @ordered
      */
-    protected static final int VERSION_EDEFAULT = 0;
+    protected static final Integer VERSION_EDEFAULT = null;
 
     /**
      * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
@@ -258,7 +258,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      * @generated
      * @ordered
      */
-    protected int version = VERSION_EDEFAULT;
+    protected Integer version = VERSION_EDEFAULT;
 
     /**
      * This is true if the Version attribute has been set.
@@ -405,7 +405,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      * @generated
      */
     @Override
-    public short getRelease() {
+    public Integer getRelease() {
         return release;
     }
 
@@ -415,8 +415,8 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      * @generated
      */
     @Override
-    public void setRelease( short newRelease ) {
-        short oldRelease = release;
+    public void setRelease( Integer newRelease ) {
+        Integer oldRelease = release;
         release = newRelease;
         boolean oldReleaseESet = releaseESet;
         releaseESet = true;
@@ -431,7 +431,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      */
     @Override
     public void unsetRelease() {
-        short oldRelease = release;
+        Integer oldRelease = release;
         boolean oldReleaseESet = releaseESet;
         release = RELEASE_EDEFAULT;
         releaseESet = false;
@@ -551,7 +551,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      * @generated
      */
     @Override
-    public int getVersion() {
+    public Integer getVersion() {
         return version;
     }
 
@@ -561,8 +561,8 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      * @generated
      */
     @Override
-    public void setVersion( int newVersion ) {
-        int oldVersion = version;
+    public void setVersion( Integer newVersion ) {
+        Integer oldVersion = version;
         version = newVersion;
         boolean oldVersionESet = versionESet;
         versionESet = true;
@@ -577,7 +577,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
      */
     @Override
     public void unsetVersion() {
-        int oldVersion = version;
+        Integer oldVersion = version;
         boolean oldVersionESet = versionESet;
         version = VERSION_EDEFAULT;
         versionESet = false;
@@ -662,7 +662,7 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc {
             setPublicationStage( ( PubStage ) newValue );
             return;
         case NsdPackage.NS_DOC__RELEASE:
-            setRelease( ( Short ) newValue );
+            setRelease( ( Integer ) newValue );
             return;
         case NsdPackage.NS_DOC__REVISION:
             setRevision( ( String ) newValue );
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java
index 40487826066303aed547b55e4aaf5d23742e9666..893ac2a6fa9888fadb9e7fec2e7bf1f3832d0cf7 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java
@@ -251,7 +251,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
      * @generated
      * @ordered
      */
-    protected static final short RELEASE_EDEFAULT = 1;
+    protected static final Integer RELEASE_EDEFAULT = new Integer( 1 );
 
     /**
      * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute.
@@ -261,7 +261,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
      * @generated
      * @ordered
      */
-    protected short release = RELEASE_EDEFAULT;
+    protected Integer release = RELEASE_EDEFAULT;
 
     /**
      * This is true if the Release attribute has been set.
@@ -349,7 +349,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
      * @generated
      * @ordered
      */
-    protected static final int VERSION_EDEFAULT = 0;
+    protected static final Integer VERSION_EDEFAULT = null;
 
     /**
      * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
@@ -359,7 +359,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
      * @generated
      * @ordered
      */
-    protected int version = VERSION_EDEFAULT;
+    protected Integer version = VERSION_EDEFAULT;
 
     /**
      * This is true if the Version attribute has been set.
@@ -985,7 +985,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
      * @generated
      */
     @Override
-    public short getRelease() {
+    public Integer getRelease() {
         return release;
     }
 
@@ -995,8 +995,8 @@ public class NSImpl extends CopyrightedImpl implements NS {
      * @generated
      */
     @Override
-    public void setRelease( short newRelease ) {
-        short oldRelease = release;
+    public void setRelease( Integer newRelease ) {
+        Integer oldRelease = release;
         release = newRelease;
         boolean oldReleaseESet = releaseESet;
         releaseESet = true;
@@ -1011,7 +1011,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
      */
     @Override
     public void unsetRelease() {
-        short oldRelease = release;
+        Integer oldRelease = release;
         boolean oldReleaseESet = releaseESet;
         release = RELEASE_EDEFAULT;
         releaseESet = false;
@@ -1131,7 +1131,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
      * @generated
      */
     @Override
-    public int getVersion() {
+    public Integer getVersion() {
         return version;
     }
 
@@ -1141,8 +1141,8 @@ public class NSImpl extends CopyrightedImpl implements NS {
      * @generated
      */
     @Override
-    public void setVersion( int newVersion ) {
-        int oldVersion = version;
+    public void setVersion( Integer newVersion ) {
+        Integer oldVersion = version;
         version = newVersion;
         boolean oldVersionESet = versionESet;
         versionESet = true;
@@ -1157,7 +1157,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
      */
     @Override
     public void unsetVersion() {
-        int oldVersion = version;
+        Integer oldVersion = version;
         boolean oldVersionESet = versionESet;
         version = VERSION_EDEFAULT;
         versionESet = false;
@@ -1303,7 +1303,7 @@ public class NSImpl extends CopyrightedImpl implements NS {
             setPublicationStage( ( PubStage ) newValue );
             return;
         case NsdPackage.NS__RELEASE:
-            setRelease( ( Short ) newValue );
+            setRelease( ( Integer ) newValue );
             return;
         case NsdPackage.NS__REVISION:
             setRevision( ( String ) newValue );
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdFactoryImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdFactoryImpl.java
index d4b8b75e8592934493fa1b8d41246d628d73e21e..d46713b8420487e88645c1e3a7b7eec7b1f8fd8c 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdFactoryImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdFactoryImpl.java
@@ -34,9 +34,6 @@ import org.eclipse.emf.ecore.plugin.EcorePlugin;
 
 import org.eclipse.emf.ecore.util.Diagnostician;
 
-import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model <b>Factory</b>.
@@ -214,14 +211,6 @@ public class NsdFactoryImpl extends EFactoryImpl implements NsdFactory {
             return createDefinedAttributeTypeKindObjectFromString( eDataType, initialValue );
         case NsdPackage.LICENSE_KIND_OBJECT:
             return createLicenseKindObjectFromString( eDataType, initialValue );
-        case NsdPackage.NS_RELEASE:
-            return createNSReleaseFromString( eDataType, initialValue );
-        case NsdPackage.NS_RELEASE_OBJECT:
-            return createNSReleaseObjectFromString( eDataType, initialValue );
-        case NsdPackage.NS_VERSION:
-            return createNSVersionFromString( eDataType, initialValue );
-        case NsdPackage.NS_VERSION_OBJECT:
-            return createNSVersionObjectFromString( eDataType, initialValue );
         case NsdPackage.PUB_STAGE_OBJECT:
             return createPubStageObjectFromString( eDataType, initialValue );
         case NsdPackage.UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT:
@@ -262,14 +251,6 @@ public class NsdFactoryImpl extends EFactoryImpl implements NsdFactory {
             return convertDefinedAttributeTypeKindObjectToString( eDataType, instanceValue );
         case NsdPackage.LICENSE_KIND_OBJECT:
             return convertLicenseKindObjectToString( eDataType, instanceValue );
-        case NsdPackage.NS_RELEASE:
-            return convertNSReleaseToString( eDataType, instanceValue );
-        case NsdPackage.NS_RELEASE_OBJECT:
-            return convertNSReleaseObjectToString( eDataType, instanceValue );
-        case NsdPackage.NS_VERSION:
-            return convertNSVersionToString( eDataType, instanceValue );
-        case NsdPackage.NS_VERSION_OBJECT:
-            return convertNSVersionObjectToString( eDataType, instanceValue );
         case NsdPackage.PUB_STAGE_OBJECT:
             return convertPubStageObjectToString( eDataType, instanceValue );
         case NsdPackage.UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT:
@@ -1087,80 +1068,6 @@ public class NsdFactoryImpl extends EFactoryImpl implements NsdFactory {
         return convertLicenseKindToString( NsdPackage.Literals.LICENSE_KIND, instanceValue );
     }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public Short createNSReleaseFromString( EDataType eDataType, String initialValue ) {
-        return ( Short ) XMLTypeFactory.eINSTANCE.createFromString( XMLTypePackage.Literals.UNSIGNED_BYTE,
-                initialValue );
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String convertNSReleaseToString( EDataType eDataType, Object instanceValue ) {
-        return XMLTypeFactory.eINSTANCE.convertToString( XMLTypePackage.Literals.UNSIGNED_BYTE, instanceValue );
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public Short createNSReleaseObjectFromString( EDataType eDataType, String initialValue ) {
-        return createNSReleaseFromString( NsdPackage.Literals.NS_RELEASE, initialValue );
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String convertNSReleaseObjectToString( EDataType eDataType, Object instanceValue ) {
-        return convertNSReleaseToString( NsdPackage.Literals.NS_RELEASE, instanceValue );
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public Integer createNSVersionFromString( EDataType eDataType, String initialValue ) {
-        return ( Integer ) XMLTypeFactory.eINSTANCE.createFromString( XMLTypePackage.Literals.UNSIGNED_SHORT,
-                initialValue );
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String convertNSVersionToString( EDataType eDataType, Object instanceValue ) {
-        return XMLTypeFactory.eINSTANCE.convertToString( XMLTypePackage.Literals.UNSIGNED_SHORT, instanceValue );
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public Integer createNSVersionObjectFromString( EDataType eDataType, String initialValue ) {
-        return createNSVersionFromString( NsdPackage.Literals.NS_VERSION, initialValue );
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public String convertNSVersionObjectToString( EDataType eDataType, Object instanceValue ) {
-        return convertNSVersionToString( NsdPackage.Literals.NS_VERSION, instanceValue );
-    }
-
     /**
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java
index 7f101494688a8f2db34734571e3fe455505ddedf..0a21e8c6576bac58e5772a6aa608956de0e61083 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java
@@ -526,34 +526,6 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
      */
     private EDataType licenseKindObjectEDataType = null;
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    private EDataType nsReleaseEDataType = null;
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    private EDataType nsReleaseObjectEDataType = null;
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    private EDataType nsVersionEDataType = null;
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    private EDataType nsVersionObjectEDataType = null;
-
     /**
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -3422,46 +3394,6 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         return licenseKindObjectEDataType;
     }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public EDataType getNSRelease() {
-        return nsReleaseEDataType;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public EDataType getNSReleaseObject() {
-        return nsReleaseObjectEDataType;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public EDataType getNSVersion() {
-        return nsVersionEDataType;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    @Override
-    public EDataType getNSVersionObject() {
-        return nsVersionObjectEDataType;
-    }
-
     /**
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -3843,10 +3775,6 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         cbKindObjectEDataType = createEDataType( CB_KIND_OBJECT );
         definedAttributeTypeKindObjectEDataType = createEDataType( DEFINED_ATTRIBUTE_TYPE_KIND_OBJECT );
         licenseKindObjectEDataType = createEDataType( LICENSE_KIND_OBJECT );
-        nsReleaseEDataType = createEDataType( NS_RELEASE );
-        nsReleaseObjectEDataType = createEDataType( NS_RELEASE_OBJECT );
-        nsVersionEDataType = createEDataType( NS_VERSION );
-        nsVersionObjectEDataType = createEDataType( NS_VERSION_OBJECT );
         pubStageObjectEDataType = createEDataType( PUB_STAGE_OBJECT );
         undefinedAttributeTypeKindObjectEDataType = createEDataType( UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT );
     }
@@ -3912,13 +3840,15 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getAppliesToType_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1,
                 AppliesToType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
                 !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getAppliesToType_Release(), this.getNSRelease(), "release", "1", 0, 1, AppliesToType.class,
-                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getAppliesToType_Release(), ecorePackage.getEIntegerObject(), "release", "1", 0, 1,
+                AppliesToType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+                !IS_DERIVED, IS_ORDERED );
         initEAttribute( getAppliesToType_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1,
                 AppliesToType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
                 !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getAppliesToType_Version(), this.getNSVersion(), "version", null, 1, 1, AppliesToType.class,
-                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getAppliesToType_Version(), ecorePackage.getEIntegerObject(), "version", null, 1, 1,
+                AppliesToType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+                !IS_DERIVED, IS_ORDERED );
 
         initEClass( dependsOnTypeEClass, DependsOnType.class, "DependsOnType", !IS_ABSTRACT, !IS_INTERFACE,
                 IS_GENERATED_INSTANCE_CLASS );
@@ -3928,13 +3858,15 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getDependsOnType_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1,
                 DependsOnType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
                 !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getDependsOnType_Release(), this.getNSRelease(), "release", "1", 0, 1, DependsOnType.class,
-                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getDependsOnType_Release(), ecorePackage.getEIntegerObject(), "release", "1", 0, 1,
+                DependsOnType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+                !IS_DERIVED, IS_ORDERED );
         initEAttribute( getDependsOnType_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1,
                 DependsOnType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
                 !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getDependsOnType_Version(), this.getNSVersion(), "version", null, 1, 1, DependsOnType.class,
-                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getDependsOnType_Version(), ecorePackage.getEIntegerObject(), "version", null, 1, 1,
+                DependsOnType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+                !IS_DERIVED, IS_ORDERED );
 
         initEClass( documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE,
                 IS_GENERATED_INSTANCE_CLASS );
@@ -4071,15 +4003,15 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getChanges_Date(), theXMLTypePackage.getDate(), "date", null, 0, 1, Changes.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
                 IS_ORDERED );
-        initEAttribute( getChanges_Release(), this.getNSRelease(), "release", "1", 0, 1, Changes.class, !IS_TRANSIENT,
-                !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getChanges_Release(), ecorePackage.getEIntegerObject(), "release", "1", 0, 1, Changes.class,
+                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
         initEAttribute( getChanges_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, Changes.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
         initEAttribute( getChanges_Tissues(), ecorePackage.getEString(), "tissues", null, 0, 1, Changes.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
                 IS_ORDERED );
-        initEAttribute( getChanges_Version(), this.getNSVersion(), "version", null, 1, 1, Changes.class, !IS_TRANSIENT,
-                !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getChanges_Version(), ecorePackage.getEIntegerObject(), "version", null, 1, 1, Changes.class,
+                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
 
         initEClass( constructedAttributeEClass, ConstructedAttribute.class, "ConstructedAttribute", !IS_ABSTRACT,
                 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS );
@@ -4348,7 +4280,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getNS_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1,
                 fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
                 IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getNS_Release(), this.getNSRelease(), "release", "1", 0, 1,
+        initEAttribute( getNS_Release(), ecorePackage.getEIntegerObject(), "release", "1", 0, 1,
                 fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
                 IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
         initEAttribute( getNS_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1,
@@ -4360,7 +4292,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getNS_UmlVersion(), ecorePackage.getEString(), "umlVersion", null, 0, 1,
                 fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
                 !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getNS_Version(), this.getNSVersion(), "version", null, 1, 1,
+        initEAttribute( getNS_Version(), ecorePackage.getEIntegerObject(), "version", null, 1, 1,
                 fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
                 IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
 
@@ -4375,8 +4307,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
                 IS_ORDERED );
         initEAttribute( getNSDoc_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1, NSDoc.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getNSDoc_Release(), this.getNSRelease(), "release", "1", 0, 1, NSDoc.class, !IS_TRANSIENT,
-                !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getNSDoc_Release(), ecorePackage.getEIntegerObject(), "release", "1", 0, 1, NSDoc.class,
+                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
         initEAttribute( getNSDoc_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, NSDoc.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
         initEAttribute( getNSDoc_UmlDate(), theXMLTypePackage.getDateTime(), "umlDate", null, 0, 1, NSDoc.class,
@@ -4385,8 +4317,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getNSDoc_UmlVersion(), ecorePackage.getEString(), "umlVersion", null, 0, 1, NSDoc.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
                 IS_ORDERED );
-        initEAttribute( getNSDoc_Version(), this.getNSVersion(), "version", null, 1, 1, NSDoc.class, !IS_TRANSIENT,
-                !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getNSDoc_Version(), ecorePackage.getEIntegerObject(), "version", null, 1, 1, NSDoc.class,
+                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
 
         initEClass( presenceConditionEClass, PresenceCondition.class, "PresenceCondition", !IS_ABSTRACT, !IS_INTERFACE,
                 IS_GENERATED_INSTANCE_CLASS );
@@ -4501,7 +4433,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getServiceNS_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1,
                 ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
                 !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getServiceNS_Release(), this.getNSRelease(), "release", "1", 0, 1, ServiceNS.class,
+        initEAttribute( getServiceNS_Release(), ecorePackage.getEIntegerObject(), "release", "1", 0, 1, ServiceNS.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
         initEAttribute( getServiceNS_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, ServiceNS.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
@@ -4511,8 +4443,9 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getServiceNS_UmlVersion(), ecorePackage.getEString(), "umlVersion", null, 0, 1, ServiceNS.class,
                 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
                 IS_ORDERED );
-        initEAttribute( getServiceNS_Version(), this.getNSVersion(), "version", null, 1, 1, ServiceNS.class,
-                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getServiceNS_Version(), ecorePackage.getEIntegerObject(), "version", null, 1, 1,
+                ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+                !IS_DERIVED, IS_ORDERED );
 
         initEClass( serviceNsUsageEClass, ServiceNsUsage.class, "ServiceNsUsage", !IS_ABSTRACT, !IS_INTERFACE,
                 IS_GENERATED_INSTANCE_CLASS );
@@ -4525,13 +4458,15 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         initEAttribute( getServiceNsUsage_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1,
                 ServiceNsUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
                 !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getServiceNsUsage_Release(), this.getNSRelease(), "release", "1", 0, 1, ServiceNsUsage.class,
-                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getServiceNsUsage_Release(), ecorePackage.getEIntegerObject(), "release", "1", 0, 1,
+                ServiceNsUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+                !IS_DERIVED, IS_ORDERED );
         initEAttribute( getServiceNsUsage_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1,
                 ServiceNsUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
                 !IS_DERIVED, IS_ORDERED );
-        initEAttribute( getServiceNsUsage_Version(), this.getNSVersion(), "version", null, 1, 1, ServiceNsUsage.class,
-                !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED );
+        initEAttribute( getServiceNsUsage_Version(), ecorePackage.getEIntegerObject(), "version", null, 1, 1,
+                ServiceNsUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+                !IS_DERIVED, IS_ORDERED );
 
         initEClass( serviceParameterEClass, ServiceParameter.class, "ServiceParameter", !IS_ABSTRACT, !IS_INTERFACE,
                 IS_GENERATED_INSTANCE_CLASS );
@@ -4771,12 +4706,6 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
                 "DefinedAttributeTypeKindObject", IS_SERIALIZABLE, IS_GENERATED_INSTANCE_CLASS );
         initEDataType( licenseKindObjectEDataType, LicenseKind.class, "LicenseKindObject", IS_SERIALIZABLE,
                 IS_GENERATED_INSTANCE_CLASS );
-        initEDataType( nsReleaseEDataType, short.class, "NSRelease", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS );
-        initEDataType( nsReleaseObjectEDataType, Short.class, "NSReleaseObject", IS_SERIALIZABLE,
-                !IS_GENERATED_INSTANCE_CLASS );
-        initEDataType( nsVersionEDataType, int.class, "NSVersion", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS );
-        initEDataType( nsVersionObjectEDataType, Integer.class, "NSVersionObject", IS_SERIALIZABLE,
-                !IS_GENERATED_INSTANCE_CLASS );
         initEDataType( pubStageObjectEDataType, PubStage.class, "PubStageObject", IS_SERIALIZABLE,
                 IS_GENERATED_INSTANCE_CLASS );
         initEDataType( undefinedAttributeTypeKindObjectEDataType, UndefinedAttributeTypeKind.class,
@@ -5056,16 +4985,6 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage {
         addAnnotation( getNSDoc_UmlDate(), source, new String[] { "kind", "attribute", "name", "umlDate" } );
         addAnnotation( getNSDoc_UmlVersion(), source, new String[] { "kind", "attribute", "name", "umlVersion" } );
         addAnnotation( getNSDoc_Version(), source, new String[] { "kind", "attribute", "name", "version" } );
-        addAnnotation( nsReleaseEDataType, source, new String[] { "name", "tNSRelease", "baseType",
-                "http://www.eclipse.org/emf/2003/XMLType#unsignedByte", "minExclusive", "0" } );
-        addAnnotation( nsReleaseObjectEDataType, source,
-                new String[] { "name", "tNSRelease:Object", "baseType", "tNSRelease" } );
-        addAnnotation( nsVersionEDataType, source,
-                new String[] { "name", "tNSVersion", "baseType",
-                        "http://www.eclipse.org/emf/2003/XMLType#unsignedShort", "minInclusive", "2002", "maxInclusive",
-                        "2099" } );
-        addAnnotation( nsVersionObjectEDataType, source,
-                new String[] { "name", "tNSVersion:Object", "baseType", "tNSVersion" } );
         addAnnotation( presenceConditionEClass, source,
                 new String[] { "name", "tPresenceCondition", "kind", "empty" } );
         addAnnotation( getPresenceCondition_Argument(), source,
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNSImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNSImpl.java
index 5af38d21ba62b8bc661c867e20a5d8d424f8fec2..aaa6e9057056047dc2216cb023df872bde48d889 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNSImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNSImpl.java
@@ -215,7 +215,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      * @generated
      * @ordered
      */
-    protected static final short RELEASE_EDEFAULT = 1;
+    protected static final Integer RELEASE_EDEFAULT = new Integer( 1 );
 
     /**
      * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute.
@@ -225,7 +225,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      * @generated
      * @ordered
      */
-    protected short release = RELEASE_EDEFAULT;
+    protected Integer release = RELEASE_EDEFAULT;
 
     /**
      * This is true if the Release attribute has been set.
@@ -313,7 +313,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      * @generated
      * @ordered
      */
-    protected static final int VERSION_EDEFAULT = 0;
+    protected static final Integer VERSION_EDEFAULT = null;
 
     /**
      * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
@@ -323,7 +323,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      * @generated
      * @ordered
      */
-    protected int version = VERSION_EDEFAULT;
+    protected Integer version = VERSION_EDEFAULT;
 
     /**
      * This is true if the Version attribute has been set.
@@ -814,7 +814,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      * @generated
      */
     @Override
-    public short getRelease() {
+    public Integer getRelease() {
         return release;
     }
 
@@ -824,8 +824,8 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      * @generated
      */
     @Override
-    public void setRelease( short newRelease ) {
-        short oldRelease = release;
+    public void setRelease( Integer newRelease ) {
+        Integer oldRelease = release;
         release = newRelease;
         boolean oldReleaseESet = releaseESet;
         releaseESet = true;
@@ -840,7 +840,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      */
     @Override
     public void unsetRelease() {
-        short oldRelease = release;
+        Integer oldRelease = release;
         boolean oldReleaseESet = releaseESet;
         release = RELEASE_EDEFAULT;
         releaseESet = false;
@@ -960,7 +960,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      * @generated
      */
     @Override
-    public int getVersion() {
+    public Integer getVersion() {
         return version;
     }
 
@@ -970,8 +970,8 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      * @generated
      */
     @Override
-    public void setVersion( int newVersion ) {
-        int oldVersion = version;
+    public void setVersion( Integer newVersion ) {
+        Integer oldVersion = version;
         version = newVersion;
         boolean oldVersionESet = versionESet;
         versionESet = true;
@@ -986,7 +986,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
      */
     @Override
     public void unsetVersion() {
-        int oldVersion = version;
+        Integer oldVersion = version;
         boolean oldVersionESet = versionESet;
         version = VERSION_EDEFAULT;
         versionESet = false;
@@ -1111,7 +1111,7 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS {
             setPublicationStage( ( PubStage ) newValue );
             return;
         case NsdPackage.SERVICE_NS__RELEASE:
-            setRelease( ( Short ) newValue );
+            setRelease( ( Integer ) newValue );
             return;
         case NsdPackage.SERVICE_NS__REVISION:
             setRevision( ( String ) newValue );
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNsUsageImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNsUsageImpl.java
index e43d6dea45e8a53cfab02be8fccdc58b2e795dec..41929f1506d35470767814a4be9e7b865e2ffe47 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNsUsageImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNsUsageImpl.java
@@ -126,7 +126,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      * @generated
      * @ordered
      */
-    protected static final short RELEASE_EDEFAULT = 1;
+    protected static final Integer RELEASE_EDEFAULT = new Integer( 1 );
 
     /**
      * The cached value of the '{@link #getRelease() <em>Release</em>}' attribute.
@@ -136,7 +136,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      * @generated
      * @ordered
      */
-    protected short release = RELEASE_EDEFAULT;
+    protected Integer release = RELEASE_EDEFAULT;
 
     /**
      * This is true if the Release attribute has been set.
@@ -184,7 +184,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      * @generated
      * @ordered
      */
-    protected static final int VERSION_EDEFAULT = 0;
+    protected static final Integer VERSION_EDEFAULT = null;
 
     /**
      * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
@@ -194,7 +194,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      * @generated
      * @ordered
      */
-    protected int version = VERSION_EDEFAULT;
+    protected Integer version = VERSION_EDEFAULT;
 
     /**
      * This is true if the Version attribute has been set.
@@ -319,7 +319,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      * @generated
      */
     @Override
-    public short getRelease() {
+    public Integer getRelease() {
         return release;
     }
 
@@ -329,8 +329,8 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      * @generated
      */
     @Override
-    public void setRelease( short newRelease ) {
-        short oldRelease = release;
+    public void setRelease( Integer newRelease ) {
+        Integer oldRelease = release;
         release = newRelease;
         boolean oldReleaseESet = releaseESet;
         releaseESet = true;
@@ -345,7 +345,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      */
     @Override
     public void unsetRelease() {
-        short oldRelease = release;
+        Integer oldRelease = release;
         boolean oldReleaseESet = releaseESet;
         release = RELEASE_EDEFAULT;
         releaseESet = false;
@@ -419,7 +419,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      * @generated
      */
     @Override
-    public int getVersion() {
+    public Integer getVersion() {
         return version;
     }
 
@@ -429,8 +429,8 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      * @generated
      */
     @Override
-    public void setVersion( int newVersion ) {
-        int oldVersion = version;
+    public void setVersion( Integer newVersion ) {
+        Integer oldVersion = version;
         version = newVersion;
         boolean oldVersionESet = versionESet;
         versionESet = true;
@@ -445,7 +445,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
      */
     @Override
     public void unsetVersion() {
-        int oldVersion = version;
+        Integer oldVersion = version;
         boolean oldVersionESet = versionESet;
         version = VERSION_EDEFAULT;
         versionESet = false;
@@ -521,7 +521,7 @@ public class ServiceNsUsageImpl extends MinimalEObjectImpl.Container implements
             setPublicationStage( ( PubStage ) newValue );
             return;
         case NsdPackage.SERVICE_NS_USAGE__RELEASE:
-            setRelease( ( Short ) newValue );
+            setRelease( ( Integer ) newValue );
             return;
         case NsdPackage.SERVICE_NS_USAGE__REVISION:
             setRevision( ( String ) newValue );
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java
index 3f144960c63a79869b797e3b81539530fe34a148..5cef92ecaa256b07e71a8fb24398a56e136fe60f 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java
@@ -32,7 +32,6 @@ import org.eclipse.emf.common.util.ResourceLocator;
 import org.eclipse.emf.ecore.EPackage;
 
 import org.eclipse.emf.ecore.util.EObjectValidator;
-import org.eclipse.emf.ecore.xml.type.util.XMLTypeValidator;
 
 /**
  * <!-- begin-user-doc -->
@@ -76,14 +75,6 @@ public class NsdValidator extends EObjectValidator {
      */
     protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
 
-    /**
-     * The cached base package validator.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    protected XMLTypeValidator xmlTypeValidator;
-
     /**
      * Creates an instance of the switch.
      * <!-- begin-user-doc -->
@@ -92,7 +83,6 @@ public class NsdValidator extends EObjectValidator {
      */
     public NsdValidator() {
         super();
-        xmlTypeValidator = XMLTypeValidator.INSTANCE;
     }
 
     /**
@@ -238,14 +228,6 @@ public class NsdValidator extends EObjectValidator {
             return validateDefinedAttributeTypeKindObject( ( DefinedAttributeTypeKind ) value, diagnostics, context );
         case NsdPackage.LICENSE_KIND_OBJECT:
             return validateLicenseKindObject( ( LicenseKind ) value, diagnostics, context );
-        case NsdPackage.NS_RELEASE:
-            return validateNSRelease( ( Short ) value, diagnostics, context );
-        case NsdPackage.NS_RELEASE_OBJECT:
-            return validateNSReleaseObject( ( Short ) value, diagnostics, context );
-        case NsdPackage.NS_VERSION:
-            return validateNSVersion( ( Integer ) value, diagnostics, context );
-        case NsdPackage.NS_VERSION_OBJECT:
-            return validateNSVersionObject( ( Integer ) value, diagnostics, context );
         case NsdPackage.PUB_STAGE_OBJECT:
             return validatePubStageObject( ( PubStage ) value, diagnostics, context );
         case NsdPackage.UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT:
@@ -893,118 +875,6 @@ public class NsdValidator extends EObjectValidator {
         return true;
     }
 
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean validateNSRelease( short nsRelease, DiagnosticChain diagnostics, Map< Object, Object > context ) {
-        boolean result = validateNSRelease_Min( nsRelease, diagnostics, context );
-        if( result || diagnostics != null )
-            result &= xmlTypeValidator.validateUnsignedByte_Max( nsRelease, diagnostics, context );
-        return result;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @see #validateNSRelease_Min
-     */
-    public static final short NS_RELEASE__MIN__VALUE = 0;
-
-    /**
-     * Validates the Min constraint of '<em>NS Release</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean validateNSRelease_Min( short nsRelease, DiagnosticChain diagnostics,
-            Map< Object, Object > context ) {
-        boolean result = nsRelease > NS_RELEASE__MIN__VALUE;
-        if( !result && diagnostics != null ) reportMinViolation( NsdPackage.Literals.NS_RELEASE, nsRelease,
-                NS_RELEASE__MIN__VALUE, false, diagnostics, context );
-        return result;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean validateNSReleaseObject( Short nsReleaseObject, DiagnosticChain diagnostics,
-            Map< Object, Object > context ) {
-        boolean result = validateNSRelease_Min( nsReleaseObject, diagnostics, context );
-        if( result || diagnostics != null )
-            result &= xmlTypeValidator.validateUnsignedByte_Max( nsReleaseObject, diagnostics, context );
-        return result;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean validateNSVersion( int nsVersion, DiagnosticChain diagnostics, Map< Object, Object > context ) {
-        boolean result = validateNSVersion_Min( nsVersion, diagnostics, context );
-        if( result || diagnostics != null ) result &= validateNSVersion_Max( nsVersion, diagnostics, context );
-        return result;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @see #validateNSVersion_Min
-     */
-    public static final int NS_VERSION__MIN__VALUE = 2002;
-
-    /**
-     * Validates the Min constraint of '<em>NS Version</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean validateNSVersion_Min( int nsVersion, DiagnosticChain diagnostics, Map< Object, Object > context ) {
-        boolean result = nsVersion >= NS_VERSION__MIN__VALUE;
-        if( !result && diagnostics != null ) reportMinViolation( NsdPackage.Literals.NS_VERSION, nsVersion,
-                NS_VERSION__MIN__VALUE, true, diagnostics, context );
-        return result;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     * @see #validateNSVersion_Max
-     */
-    public static final int NS_VERSION__MAX__VALUE = 2099;
-
-    /**
-     * Validates the Max constraint of '<em>NS Version</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean validateNSVersion_Max( int nsVersion, DiagnosticChain diagnostics, Map< Object, Object > context ) {
-        boolean result = nsVersion <= NS_VERSION__MAX__VALUE;
-        if( !result && diagnostics != null ) reportMaxViolation( NsdPackage.Literals.NS_VERSION, nsVersion,
-                NS_VERSION__MAX__VALUE, true, diagnostics, context );
-        return result;
-    }
-
-    /**
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    public boolean validateNSVersionObject( Integer nsVersionObject, DiagnosticChain diagnostics,
-            Map< Object, Object > context ) {
-        boolean result = validateNSVersion_Min( nsVersionObject, diagnostics, context );
-        if( result || diagnostics != null ) result &= validateNSVersion_Max( nsVersionObject, diagnostics, context );
-        return result;
-    }
-
     /**
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->