diff --git a/SDT/schema4.0/docs/images/Domain.png b/SDT/schema4.0/docs/images/Domain.png
index afcbcde446a7b70da3efa2928ac7644b3b3a3f23..b91f91268c0924e622941514c68b3bcef2a528ad 100644
Binary files a/SDT/schema4.0/docs/images/Domain.png and b/SDT/schema4.0/docs/images/Domain.png differ
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 38fae6a92cde0f2c321e94963313494eb24dfd54..7309c2dfbbf0410d77759353279510caf6cd5614 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
diff --git a/SDT/schema4.0/docs/images/SDT_simplified.png b/SDT/schema4.0/docs/images/SDT_simplified.png
index f3ff40db0d91f40696e54e5a7e03d980b153214e..cbea37fe4f5083ea7b7dc50b1c75bdcca010a4a7 100644
Binary files a/SDT/schema4.0/docs/images/SDT_simplified.png and b/SDT/schema4.0/docs/images/SDT_simplified.png differ
diff --git a/SDT/schema4.0/docs/images/SubDevice.png b/SDT/schema4.0/docs/images/SubDevice.png
index 50e497d33523029e67129c5138ef93f932d75e0e..4f01a1d618169e27956c1fd2028c55ee690b9e5d 100644
Binary files a/SDT/schema4.0/docs/images/SubDevice.png and b/SDT/schema4.0/docs/images/SubDevice.png differ
diff --git a/SDT/schema4.0/etc/domain.rnc b/SDT/schema4.0/etc/domain.rnc
index 0b1a4d113ffbf52a2dc817fea14bc32e69961ffc..384a5e3f93ad0b28b52af0448fbe4d6b71bc8fb3 100644
--- a/SDT/schema4.0/etc/domain.rnc
+++ b/SDT/schema4.0/etc/domain.rnc
@@ -17,6 +17,7 @@ Domain =
     element Imports { Domain+ }?,
     element DataTypes { DataTypeDef+ }?,
     ModuleClassesDef?,
+    SubDevicesRef?,
     DeviceClassesDef?,
     ProductClassesDef?
   }
@@ -112,6 +113,7 @@ SubDevicesRef =
       attribute minOccurs { text }?,
       attribute maxOccurs { text }?,
       DocDef,
+      ExtendDef?,
       PropertiesDef?,
       ModuleClassesDef?
     }+
diff --git a/SDT/schema4.0/src/domain.rng b/SDT/schema4.0/src/domain.rng
index 267bc6d6841f8e1182c04f848f29416bfe4a8438..676c591519ff7052ab6c11b06db23b0c3523a732 100644
--- a/SDT/schema4.0/src/domain.rng
+++ b/SDT/schema4.0/src/domain.rng
@@ -51,6 +51,9 @@
 			<optional>
 				<ref name="ModuleClassesDef"/>
 			</optional>
+			<optional>
+				<ref name="SubDevicesRef" />
+			</optional>
 			<optional>
 				<ref name="DeviceClassesDef" />
 			</optional>
@@ -325,6 +328,9 @@
 						</attribute>
 					</optional>
 					<ref name="DocDef"/>
+					<optional>
+						<ref name="ExtendDef" />
+					</optional>
 					<optional>
 						<ref name="PropertiesDef"/>
 					</optional>
diff --git a/SDT/schema4.0/src/domain.xsd b/SDT/schema4.0/src/domain.xsd
index ff074e985bddda70c8f84e8e3fc2acf13ba00f9e..4b2901e494c8902cee909333dc54ee1fb24c12b8 100644
--- a/SDT/schema4.0/src/domain.xsd
+++ b/SDT/schema4.0/src/domain.xsd
@@ -23,6 +23,7 @@
             <xs:element minOccurs="0" ref="Imports"/>
             <xs:element minOccurs="0" ref="DataTypes"/>
             <xs:element minOccurs="0" ref="ModuleClasses"/>
+            <xs:element minOccurs="0" ref="SubDevices"/>
             <xs:element minOccurs="0" ref="DeviceClasses"/>
             <xs:element minOccurs="0" ref="ProductClasses"/>
           </xs:sequence>
@@ -242,6 +243,7 @@
       <xs:complexContent>
         <xs:extension base="DocDef">
           <xs:sequence>
+            <xs:element minOccurs="0" ref="Extend"/>
             <xs:element minOccurs="0" ref="Properties"/>
             <xs:element minOccurs="0" ref="ModuleClasses"/>
           </xs:sequence>
diff --git a/SDT/schema4.0/test/subdevices-test.xml b/SDT/schema4.0/test/subdevices-test.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1cf88dcae083a1108b56dadd67138f796384dce1
--- /dev/null
+++ b/SDT/schema4.0/test/subdevices-test.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Test the data types references -->
+
+<Domain id="subdevices-test" xmlns="http://www.onem2m.org/xml/sdt/4.0" xmlns:xi="http://www.w3.org/2001/XInclude">
+	<SubDevices>
+		<SubDevice id="aSubDevice">
+			<ModuleClasses>
+				<ModuleClass name="aModuleClass">
+					<Data>
+						<DataPoint name="aDataPoint">
+							<DataType>
+								<SimpleType type="boolean" />
+							</DataType>
+						</DataPoint>
+					</Data>
+				</ModuleClass>
+			</ModuleClasses>
+		</SubDevice>
+	</SubDevices>
+
+	<DeviceClasses>
+		<DeviceClass id="aDeviceClass">
+			<SubDevices>
+				<SubDevice id="subDevice">
+					<Extend domain="subdevices-test" entity="aSubDevice" />
+				</SubDevice>
+			</SubDevices>
+		</DeviceClass>
+	</DeviceClasses>
+</Domain>
\ No newline at end of file