diff --git a/SDT/schema4.0/docs/.gitignore b/SDT/schema4.0/docs/.gitignore
index 8c2004ec4a2c39b30570f54485d4e18383311ca0..098beee23159dafe80282cdcd4fa14d05b253e17 100644
--- a/SDT/schema4.0/docs/.gitignore
+++ b/SDT/schema4.0/docs/.gitignore
@@ -1,2 +1,3 @@
 /.Introduction.md.html
 /.SDT_Components.md.html
+/.SDT_JSON.md.html
diff --git a/SDT/schema4.0/docs/SDT_Components.md b/SDT/schema4.0/docs/SDT_Components.md
index 62d5079e638627335c129d6fda3f8009d0b69635..c636b8ffc6cc3601488f97309e1668eeda7debc5 100644
--- a/SDT/schema4.0/docs/SDT_Components.md
+++ b/SDT/schema4.0/docs/SDT_Components.md
@@ -154,11 +154,11 @@ An example for a compound device  is a connected power-strip where each of the s
 
 In real life of device manufacturing, there is an important concept of *Product* under a certain *DeviceClass*. For example, oneM2M may specify a generic *DeviceClass* called 'deviceSmartBracelt' with many fancy features (*ModuleClasses*). Based on the same *DeviceClass*, company A may design a *Product* called 'X-Fit' with only the *ModuleClass* of 'stepCounter' and the instantiated *Property* value of 'Manufacturer = Company A', while company B may design a *Product* called 'Y-Wristband' with the *ModuleClasses* of 'stepCounter' and 'heartRateMonitor' and the instantiated *Property* value of 'Manufacturer = Company B'. Those two *Products* are different but follow the same *DeviceClass*.
 
-On the other hand, a *Product* is **NOT** yet a real device instance of that ��DeviceClass��. It may not have an instantiated *Properties* like device-id, date-of-manufacturing, and the firmware/software-version, etc. It can be ��ordered�� by the customers, but not necessarily instantiated or manufactured.
+On the other hand, a *Product* is **NOT** yet a real device instance of that *DeviceClass*. It may not have an instantiated *Properties* like device-id, date-of-manufacturing, and the firmware/software-version, etc. It can be ordered by the customers, but not necessarily instantiated or manufactured.
 
 In short, a *Product* is a concrete device model with deterministic Device Properties and ModuleClasses (no optionality). It's deemed as an specialized implementation of a *DeviceClass* but not yet an device instance. Examples are the shopping items in an online digital store that can be ordered (but not necessarily manufactured) by a customer.
 
-A *Product* can be defined by inheriting from an existing *DeviceClass* (e.g. removing unimplemented optional *Properties* and *ModuleClasses*), extending from an existing *DeviceClass* (adding new *Properties* and *ModuleClasses*), or from scratch (without basing on any *DeviceClass*). 
+A *Product* can be defined by implementing the functionalities of an existing *DeviceClass* (while removing unimplemented optional *Properties* and *ModuleClasses*), extending from an existing *DeviceClass* (adding new *Properties* and *ModuleClasses*), or from scratch (without basing on any *DeviceClass*). 
 
 #### Attributes
 - **id** : The identifier for that *Product*. The identifier must be unique at least in the scope of the domain, but the final scope is also influenced by implementing technologies. Required.
@@ -171,22 +171,27 @@ All elements of *DeviceClass* can be reused in *Product*, but the *optional* att
 - **[ModuleClasses](#ModuleClass)** : A list of *Module* components that are local to the *Product*. Optional.
 - **[SubDevices](#SubDevice)** : A list of *SubDevice* components. Optional.
 
-- **Extends** : Reference to a *DeviceClass* which is extended with this *Product*. Optional.  
+- **[DeviceClass](#DeviceClass)** : Reference to a *DeviceClass* which is implemented by this *Product*. Optional.  
 The element has the following attributes:
-	- **domain** : Identifier / Reference of the [Domain](#Domain) of the extended *DeviceClass*. Required for this element.
+	- **domain** : Identifier / Reference of the [Domain](#Domain) of the implemented *DeviceClass*. Optional if in the same domain.
 	- **class** : Name of the *DeviceClass* in the [Domain](#Domain) that is extended. Required for this element.
 The element has the following child elements:
 	- **ImplementedModuleClasses** : A list of names of the implemented optional [ModuleClasses](#ModuleClass) in the [DeviceClass](#DeviceClass) that is extended. Optional. If not present, only mandatory [ModuleClasses](#ModuleClass) are implemented. If present, both the listed optional [ModuleClasses](#ModuleClass) and the mandatory [ModuleClass](#ModuleClass) are implemented.
 	- **ImplementedProperties** : A list of name-value pairs of the implemented optional device [Properties](#Property) in the [DeviceClass](#DeviceClass) that is extended. Optional. If not present, only mandatory [Properties](#Property) are implemented. If present, both the listed optional [Properties](#Property) and the mandatory [Properties](#Property) are implemented, and the values of those [Properties](#Property) are initiated as provided. In the case that the value of the [Properties](#Property) should not be initiated, the value can be omitted.
 
+- **Extends** : Reference to a parent *Product* from which this *Product* is extended. Optional.  
+The element has the following attributes:
+	- **domain** : Identifier / Reference of the [Domain](#Domain) of the extended *Product*. Optional if in the same domain.
+	- **class** : *id* of the *Product* in the [Domain](#Domain) that is extended. Required for this element.
+
 **Note**: New extended *Properties* and *ModuleClasses* **should** have different names from those in the inherited *DeviceClass*. In case the names conflict, the newly defined *Properties* and *ModuleClasses* shall override the inherited ones.
 
-*Editor's Note: the description of the optionality of the datapoints, properties, actions, events in the inherited ModuleClass is FFS*
+**Editor's Note**: the description of the optionality of the datapoints, properties, actions, events in the inherited ModuleClass is FFS.
 
 #### XML Example
 ```
 <Product id="myMseebProduct">
-	<Extends domain="org.exampleDomain" class="MSEEB.root">
+	<DeviceClass domain="org.exampleDomain" class="MSEEB.root">
 		<ImplementedPropertyies>
 			<Property name="name" value="product-abc"/>
 			<Property name="vendor" value="xyz"/>
@@ -196,7 +201,7 @@ The element has the following child elements:
 			<MoudleClass name="rootPowerOnOff"/>
 			<MoudleClass name="power" />
 		</ImplementedModuleClasses>	
-	</Extends>
+	</DeviceClass>
 	<Properties name="someNewProperty" value="someValue">
 		<Doc>...</Doc>
 		<SimpleType type="string" />
@@ -220,7 +225,7 @@ The element has the following child elements:
 {
 	"Product": {
 		"id": "myMseebProduct",
-		"Extends": {
+		"DeviceClass": {
 			"domain": "org.exampleDomain",
 			"class": "MSEEB.root",
 			"ImplementedProperties": [{
@@ -310,7 +315,7 @@ Typical *ModuleClasses* might be equivalent to "power ON/OFF", "Open/Close", "Pa
 #### Elements
 
 - **[Doc](#Documentation)** : Documentation for the *Module* or *ModuleClass*. Optional.
-- **extends** : Reference to a another *ModuleClass* or *Module* which is extended with this *ModuleClass*. Optional.  
+- **Extends** : Reference to a another *ModuleClass* or *Module* which is extended with this *ModuleClass*. Optional.  
 The element has the following attributes:
 	- **domain** : Identifier / Reference of the [Domain](#Domain) of the extended *ModuleClass*. Required for this element.
 	- **class** : Name of the *ModuleClass* in the [Domain](#Domain) that is extended. Required for this element.
diff --git a/SDT/schema4.0/docs/SDT_UML.uxf b/SDT/schema4.0/docs/SDT_UML.uxf
index 8630b1998c4478ca63781b57c82e5fa2ed2eceb5..012b2880f4c80dafd32cb236065f775234820d63 100644
--- a/SDT/schema4.0/docs/SDT_UML.uxf
+++ b/SDT/schema4.0/docs/SDT_UML.uxf
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <diagram program="umlet" version="14.2">
   <help_text/>
-  <zoom_level>7</zoom_level>
+  <zoom_level>8</zoom_level>
   <element>
     <id>UMLNote</id>
     <coordinates>
-      <x>938</x>
-      <y>532</y>
-      <w>217</w>
-      <h>182</h>
+      <x>1016</x>
+      <y>520</y>
+      <w>248</w>
+      <h>208</h>
     </coordinates>
     <panel_attributes>bg=#FAF8C8
 fontsize=12
@@ -35,10 +35,10 @@ Cardinalities:
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>1029</x>
-      <y>602</y>
-      <w>77</w>
-      <h>28</h>
+      <x>1120</x>
+      <y>600</y>
+      <w>88</w>
+      <h>32</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 fontsize=10
@@ -49,10 +49,10 @@ m1=0..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>1029</x>
-      <y>630</y>
-      <w>77</w>
-      <h>21</h>
+      <x>1120</x>
+      <y>632</y>
+      <w>88</w>
+      <h>24</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;-
 fontsize=10</panel_attributes>
@@ -61,10 +61,10 @@ fontsize=10</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>1099</x>
-      <y>854</y>
-      <w>105</w>
-      <h>154</h>
+      <x>1200</x>
+      <y>888</y>
+      <w>120</w>
+      <h>176</h>
     </coordinates>
     <panel_attributes>&lt;&lt;enumeration&gt;&gt;
 BasicType
@@ -85,10 +85,10 @@ uri</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>805</x>
-      <y>917</y>
-      <w>98</w>
-      <h>56</h>
+      <x>864</x>
+      <y>960</y>
+      <w>112</w>
+      <h>64</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;.
 m1= 0,1
@@ -98,10 +98,10 @@ m1= 0,1
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>805</x>
-      <y>861</y>
-      <w>98</w>
-      <h>56</h>
+      <x>864</x>
+      <y>896</y>
+      <w>112</w>
+      <h>64</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;.
 m1= 0,1
@@ -111,10 +111,10 @@ m1= 0,1
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>469</x>
-      <y>861</y>
-      <w>133</w>
-      <h>84</h>
+      <x>480</x>
+      <y>896</y>
+      <w>152</w>
+      <h>96</h>
     </coordinates>
     <panel_attributes>DataType
 --
@@ -129,10 +129,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>574</x>
-      <y>819</y>
-      <w>490</w>
-      <h>91</h>
+      <x>600</x>
+      <y>848</y>
+      <w>560</w>
+      <h>104</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;.
 m2=1..*
@@ -142,10 +142,10 @@ m2=1..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>574</x>
-      <y>819</y>
-      <w>490</w>
-      <h>133</h>
+      <x>600</x>
+      <y>848</y>
+      <w>560</w>
+      <h>152</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;.
 m2=1
@@ -155,10 +155,10 @@ m2=1
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>889</x>
-      <y>945</y>
-      <w>133</w>
-      <h>35</h>
+      <x>960</x>
+      <y>992</y>
+      <w>152</w>
+      <h>40</h>
     </coordinates>
     <panel_attributes>SimpleType
 --
@@ -169,10 +169,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>1015</x>
-      <y>959</y>
-      <w>98</w>
-      <h>35</h>
+      <x>1104</x>
+      <y>1008</y>
+      <w>112</w>
+      <h>40</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;-
 m1= 1
@@ -182,10 +182,10 @@ m1= 1
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>889</x>
-      <y>1001</y>
-      <w>133</w>
-      <h>70</h>
+      <x>960</x>
+      <y>1056</y>
+      <w>152</w>
+      <h>80</h>
     </coordinates>
     <panel_attributes>Constraint
 --
@@ -199,10 +199,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>595</x>
-      <y>931</y>
-      <w>308</w>
-      <h>98</h>
+      <x>624</x>
+      <y>976</y>
+      <w>352</w>
+      <h>112</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1=0..*
@@ -212,10 +212,10 @@ m1=0..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>1015</x>
-      <y>1001</y>
-      <w>147</w>
-      <h>56</h>
+      <x>1104</x>
+      <y>1056</y>
+      <w>168</w>
+      <h>64</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;-
 m1=1
@@ -225,10 +225,10 @@ m1=1
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>889</x>
-      <y>861</y>
-      <w>133</w>
-      <h>35</h>
+      <x>960</x>
+      <y>896</y>
+      <w>152</w>
+      <h>40</h>
     </coordinates>
     <panel_attributes>StructType
 --
@@ -239,10 +239,10 @@ fg=blue</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>889</x>
-      <y>903</y>
-      <w>133</w>
-      <h>35</h>
+      <x>960</x>
+      <y>944</y>
+      <w>152</w>
+      <h>40</h>
     </coordinates>
     <panel_attributes>ArrayType
 --
@@ -253,10 +253,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>805</x>
-      <y>896</y>
-      <w>98</w>
-      <h>35</h>
+      <x>864</x>
+      <y>936</y>
+      <w>112</w>
+      <h>40</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;.
 m1= 0,1
@@ -267,10 +267,10 @@ m1= 0,1
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>469</x>
-      <y>756</y>
-      <w>735</w>
-      <h>28</h>
+      <x>480</x>
+      <y>776</y>
+      <w>840</w>
+      <h>32</h>
     </coordinates>
     <panel_attributes>halign=center
 SDT 4.0 - DataType
@@ -282,10 +282,10 @@ lw=0.1</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>469</x>
-      <y>91</y>
-      <w>840</w>
-      <h>28</h>
+      <x>480</x>
+      <y>16</y>
+      <w>960</w>
+      <h>32</h>
     </coordinates>
     <panel_attributes>SDT 4.0 - Basic Elements
 halign=center
@@ -297,10 +297,10 @@ lw=0.1</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>707</x>
-      <y>210</y>
-      <w>154</w>
-      <h>133</h>
+      <x>752</x>
+      <y>152</y>
+      <w>176</w>
+      <h>152</h>
     </coordinates>
     <panel_attributes>ModuleClass
 --
@@ -321,10 +321,10 @@ fg=blue
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>945</x>
-      <y>210</y>
-      <w>154</w>
-      <h>77</h>
+      <x>1024</x>
+      <y>152</y>
+      <w>176</w>
+      <h>88</h>
     </coordinates>
     <panel_attributes>Action
 --
@@ -339,10 +339,10 @@ fg=blue</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>1190</x>
-      <y>273</y>
-      <w>119</w>
-      <h>56</h>
+      <x>1304</x>
+      <y>224</y>
+      <w>136</w>
+      <h>64</h>
     </coordinates>
     <panel_attributes>Arg
 --
@@ -355,10 +355,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>1092</x>
-      <y>273</y>
-      <w>112</w>
-      <h>28</h>
+      <x>1192</x>
+      <y>224</y>
+      <w>128</w>
+      <h>32</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*</panel_attributes>
@@ -367,10 +367,10 @@ m1= 0..*</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>469</x>
-      <y>210</y>
-      <w>154</w>
-      <h>77</h>
+      <x>480</x>
+      <y>152</y>
+      <w>176</w>
+      <h>88</h>
     </coordinates>
     <panel_attributes>Domain
 --
@@ -385,10 +385,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>616</x>
-      <y>210</y>
-      <w>105</w>
-      <h>63</h>
+      <x>648</x>
+      <y>152</y>
+      <w>120</w>
+      <h>72</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*</panel_attributes>
@@ -397,10 +397,10 @@ m1= 0..*</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>469</x>
-      <y>392</y>
-      <w>154</w>
-      <h>70</h>
+      <x>480</x>
+      <y>360</y>
+      <w>176</w>
+      <h>80</h>
     </coordinates>
     <panel_attributes>SubDevice
 --
@@ -414,10 +414,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>616</x>
-      <y>266</y>
-      <w>49</w>
-      <h>63</h>
+      <x>648</x>
+      <y>216</y>
+      <w>56</w>
+      <h>72</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1=0..*
@@ -427,10 +427,10 @@ m1=0..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>616</x>
-      <y>399</y>
-      <w>105</w>
-      <h>49</h>
+      <x>648</x>
+      <y>368</y>
+      <w>120</w>
+      <h>56</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*</panel_attributes>
@@ -439,10 +439,10 @@ m1= 0..*</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>1190</x>
-      <y>441</y>
-      <w>119</w>
-      <h>35</h>
+      <x>1304</x>
+      <y>416</y>
+      <w>136</w>
+      <h>40</h>
     </coordinates>
     <panel_attributes>Doc
 --
@@ -452,10 +452,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>854</x>
-      <y>210</y>
-      <w>105</w>
-      <h>42</h>
+      <x>920</x>
+      <y>152</y>
+      <w>120</w>
+      <h>48</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*
@@ -465,10 +465,10 @@ m1= 0..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>1134</x>
-      <y>434</y>
-      <w>70</w>
-      <h>35</h>
+      <x>1240</x>
+      <y>408</y>
+      <w>80</w>
+      <h>40</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1=0,1
@@ -478,10 +478,10 @@ m1=0,1
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>854</x>
-      <y>245</y>
-      <w>105</w>
-      <h>84</h>
+      <x>920</x>
+      <y>192</y>
+      <w>120</w>
+      <h>96</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*
@@ -491,10 +491,10 @@ m1= 0..*
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>945</x>
-      <y>301</y>
-      <w>154</w>
-      <h>98</h>
+      <x>1024</x>
+      <y>256</y>
+      <w>176</w>
+      <h>112</h>
     </coordinates>
     <panel_attributes>DataPoint
 --
@@ -513,10 +513,10 @@ fg=blue
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>945</x>
-      <y>413</y>
-      <w>154</w>
-      <h>63</h>
+      <x>1024</x>
+      <y>384</y>
+      <w>176</w>
+      <h>72</h>
     </coordinates>
     <panel_attributes>Event
 --
@@ -531,10 +531,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>854</x>
-      <y>315</y>
-      <w>105</w>
-      <h>126</h>
+      <x>920</x>
+      <y>272</y>
+      <w>120</w>
+      <h>144</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*
@@ -544,10 +544,10 @@ m1= 0..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>616</x>
-      <y>315</y>
-      <w>105</w>
-      <h>147</h>
+      <x>648</x>
+      <y>272</y>
+      <w>120</w>
+      <h>168</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 
@@ -557,10 +557,10 @@ m1= 0..*
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>469</x>
-      <y>301</y>
-      <w>154</w>
-      <h>77</h>
+      <x>480</x>
+      <y>256</y>
+      <w>176</w>
+      <h>88</h>
     </coordinates>
     <panel_attributes>DeviceClass
 --
@@ -575,10 +575,10 @@ fg=blue</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>616</x>
-      <y>364</y>
-      <w>42</w>
-      <h>56</h>
+      <x>648</x>
+      <y>328</y>
+      <w>48</w>
+      <h>64</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1=0..*
@@ -588,10 +588,10 @@ m1=0..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>616</x>
-      <y>315</y>
-      <w>105</w>
-      <h>42</h>
+      <x>648</x>
+      <y>272</y>
+      <w>120</w>
+      <h>48</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*
@@ -601,10 +601,10 @@ m1= 0..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>616</x>
-      <y>350</y>
-      <w>105</w>
-      <h>70</h>
+      <x>648</x>
+      <y>312</y>
+      <w>120</w>
+      <h>80</h>
     </coordinates>
     <panel_attributes>lt=&lt;.</panel_attributes>
     <additional_attributes>130.0;80.0;60.0;80.0;60.0;10.0;10.0;10.0</additional_attributes>
@@ -612,10 +612,10 @@ m1= 0..*
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>707</x>
-      <y>399</y>
-      <w>154</w>
-      <h>77</h>
+      <x>752</x>
+      <y>368</y>
+      <w>176</w>
+      <h>88</h>
     </coordinates>
     <panel_attributes>Property
 --
@@ -631,10 +631,10 @@ transparency=80</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>1092</x>
-      <y>301</y>
-      <w>56</w>
-      <h>147</h>
+      <x>1192</x>
+      <y>256</y>
+      <w>64</w>
+      <h>168</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1=0..*
@@ -644,10 +644,10 @@ m1=0..*
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>854</x>
-      <y>329</y>
-      <w>49</w>
-      <h>98</h>
+      <x>920</x>
+      <y>288</y>
+      <w>56</w>
+      <h>112</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1=0..*</panel_attributes>
@@ -656,10 +656,10 @@ m1=0..*</panel_attributes>
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>679</x>
-      <y>861</y>
-      <w>133</w>
-      <h>70</h>
+      <x>720</x>
+      <y>896</y>
+      <w>152</w>
+      <h>80</h>
     </coordinates>
     <panel_attributes>&lt;&lt;enumeration&gt;&gt;
 TypeChoice
@@ -674,10 +674,10 @@ Array : ArrayType
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>595</x>
-      <y>868</y>
-      <w>98</w>
-      <h>63</h>
+      <x>624</x>
+      <y>904</y>
+      <w>112</w>
+      <h>72</h>
     </coordinates>
     <panel_attributes>lt=&lt;&lt;-
 m1= 1
@@ -687,46 +687,49 @@ m1= 1
   <element>
     <id>UMLClass</id>
     <coordinates>
-      <x>210</x>
-      <y>301</y>
-      <w>210</w>
-      <h>133</h>
+      <x>184</x>
+      <y>256</y>
+      <w>240</w>
+      <h>200</h>
     </coordinates>
     <panel_attributes>Product
 --
-*@ name : text*
+*@ id : Name*
 /- Doc : Doc/
-/- extends/
-/   @domain : IDRF/
-/   @class : text /
-/   -ImplementedProperties : Property /
-/   -ImplementedModuleClasses : ModuleClass  /
 /* Properties : Property/
 /* ModuleClasses : ModuleClass/
 /* SubDevices : SubDevice/
+/- DeviceClass/
+/   @domain : IDRF/
+/   @class : id /
+/   -ImplementedProperties : Property /
+/   -ImplementedModuleClasses : ModuleClass  /
+/- Extends/
+/   @domain : IDRF/
+/   @class : id /
 fg=blue</panel_attributes>
     <additional_attributes/>
   </element>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>413</x>
-      <y>294</y>
-      <w>70</w>
-      <h>35</h>
+      <x>416</x>
+      <y>248</y>
+      <w>80</w>
+      <h>40</h>
     </coordinates>
-    <panel_attributes>lt=&lt;&lt;-
-m1= 0,1
+    <panel_attributes>lt=&lt;.
+m1=0..1
 </panel_attributes>
     <additional_attributes>80.0;20.0;10.0;20.0</additional_attributes>
   </element>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>343</x>
-      <y>182</y>
-      <w>378</w>
-      <h>133</h>
+      <x>336</x>
+      <y>120</y>
+      <w>432</w>
+      <h>152</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*</panel_attributes>
@@ -735,22 +738,22 @@ m1= 0..*</panel_attributes>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>343</x>
-      <y>427</y>
-      <w>378</w>
-      <h>91</h>
+      <x>336</x>
+      <y>432</y>
+      <w>432</w>
+      <h>72</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1= 0..*</panel_attributes>
-    <additional_attributes>520.0;50.0;430.0;50.0;430.0;110.0;10.0;110.0;10.0;10.0</additional_attributes>
+    <additional_attributes>520.0;10.0;430.0;10.0;430.0;70.0;10.0;70.0;10.0;30.0</additional_attributes>
   </element>
   <element>
     <id>Relation</id>
     <coordinates>
-      <x>413</x>
-      <y>385</y>
-      <w>70</w>
-      <h>35</h>
+      <x>416</x>
+      <y>352</y>
+      <w>80</w>
+      <h>40</h>
     </coordinates>
     <panel_attributes>lt=&lt;.
 m1=0..*
diff --git a/SDT/schema4.0/docs/images/SDT_UML_Basic_Elements.png b/SDT/schema4.0/docs/images/SDT_UML_Basic_Elements.png
index 8ea79932f20addf89dc931185e782d990c6f6d9c..327fbfd6f215a4549c089b707a4b24d9986fb0b5 100644
Binary files a/SDT/schema4.0/docs/images/SDT_UML_Basic_Elements.png and b/SDT/schema4.0/docs/images/SDT_UML_Basic_Elements.png differ