diff --git a/LibOneM2M/OneM2M_Ports.ttcn b/LibOneM2M/OneM2M_Ports.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..9eb619a21d132d98a6da154fe53ba424c64a3639
--- /dev/null
+++ b/LibOneM2M/OneM2M_Ports.ttcn
@@ -0,0 +1,45 @@
+/**
+ *  Copyright Notification
+ *  No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
+ *  The copyright and the foregoing restriction extend to reproduction in all media.
+ *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
+ *  All rights reserved.
+ *  
+ *  @author     KETI & EGM
+ *  @version    
+ *  @desc       Port modules for oneM2M Test System       
+ *
+ */
+
+module OneM2M_Ports {
+	
+	import from OneM2M_Types all;
+	/* ***************************************
+ 	 * 		oneM2M Ports 
+  	 * ***************************************
+	 */
+	/**
+	 * @desc Port to transport oneM2M primitives
+	 * @desc Output MsgOut   
+	 * @desc Input MsgIn 
+	 * @desc this port is allowed to extend for futher usage  
+     * @desc e.g. extend OneM2MPort to dual-faced port
+	 */
+	type port OneM2MPort message {
+		in 
+			MsgIn;
+		out 
+			MsgOut;
+	};
+	
+	/**
+	 * @desc Port to transport Adaptor Control primitives
+	 */
+	type port AdapterControlPort message {
+		in
+			AcResponsePrimitive;
+		out
+			AcRequestPrimitive;
+	}
+
+}//end module
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index ccb873806ad1b5e8a2777cca245001196fabc777..b2419b63bf7e903dbe7b946ad7756ef38e0bf20e 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -16,29 +16,12 @@ module OneM2M_TestSystem {
 	import from OneM2M_Types all;
 	import from OneM2M_TypesAndValues all;
 	import from LibCommon_Time {modulepar all};
-	
-	/* Ports */
-	/**
-	 * @desc Port to transport oneM2M primitives
-	 */
-	type port OneM2MPort message {
-		in
-			MsgIn;
-		out
-			MsgOut;
-	}
-	
-	/**
-	 * @desc Port to transport Adaptor Control primitives
-	 */
-	type port AdapterControlPort message {
-		in
-			AcResponsePrimitive;
-		out
-			AcRequestPrimitive;
-	}
+	import from OneM2M_Ports all;
 
-	/* Components */	
+/* ***************************************
+ * 		Test System Components 
+ * ***************************************
+ */	
 	type component Tester {
 		port AdapterControlPort acPort;
 		//timers
@@ -80,56 +63,7 @@ module OneM2M_TestSystem {
 	
 			
 	
-	/* Primitives */
-	/**
-	 * @desc Type for the oneM2M primitives exchange
-	 * @member primitive oneM2M primitive
-	 * @member host IP Address of the destination
-	 * @member xmlNamespace XML Namespace to be used
-	 * @member protocolBinding Protocol binding to be used
-	 * @member serialization Serialization to be used
-	 * @member forcedFields Attributes that need to be processed differently by the test adapter:
-	 * 			- empty fields (for instance, for attribute deletion), i.e. <labels></labels> -> value_ to be omitted
-	 * 			- invalid values, i.e. <maxNrOfInstances>-1</maxNrOfInstances>
-	 */
-	type record MsgOut {
-		union {
-			RequestPrimitive requestPrimitive,
-			ResponsePrimitive responsePrimitive
-		} primitive, 
-		charstring host optional,
-		charstring xmlNamespace optional, 
-		charstring protocolBinding optional,
-		charstring serialization optional,
-		AttributeAux_list forcedFields optional
-	}
-	
-	/**
-	 * @desc Type for the oneM2M primitives exchange
-	 * @member primitive oneM2M primitive
-	 */
-	type record MsgIn {
-		union {
-			RequestPrimitive requestPrimitive,
-			ResponsePrimitive responsePrimitive
-		} primitive
-	}
-	
-	type record AcRequestPrimitive {
-		charstring event,
-		anytype data
-	}
-	with {
-		encode "adapter";
-	}
 	
-	type record AcResponsePrimitive {
-		charstring event,
-		anytype data
-	}
-	with {
-		encode "adapter";
-	}
 
 }// end of module
 with {
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 6c34046d3110d43f6f4f05885007995f91791cfa..5d518115a44d4bdc42fb34ecd57d3e61887e4443 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -5,17 +5,81 @@
  *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
  *  All rights reserved.
  *  
- *  @author     ETSI
+ *  @author     ETSI, KETI, EGM
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
  *              $Id: OneM2M_Types.ttcn 216 2017-01-20 10:14:30Z reinaortega $
- *  @desc       Test System module for oneM2M
+ *  @desc       OneM2M data types module 
  *
  */
 module OneM2M_Types {
 
 
 import from XSD all;
+/* ******************************************
+ * 		oneM2M Abstract Service Primitives 
+ * ******************************************
+*/
+	/**
+	 * @desc Type for the oneM2M primitives exchange
+	 * @member primitive oneM2M primitive
+	 * @member host IP Address of the destination
+	 * @member xmlNamespace XML Namespace to be used
+	 * @member protocolBinding Protocol binding to be used
+	 * @member serialization Serialization to be used
+	 * @member forcedFields Attributes that need to be processed differently by the test adapter:
+	 * 			- empty fields (for instance, for attribute deletion), i.e. <labels></labels> -> value_ to be omitted
+	 * 			- invalid values, i.e. <maxNrOfInstances>-1</maxNrOfInstances>
+	 */
+	type record MsgOut {
+		union {
+			RequestPrimitive requestPrimitive,
+			ResponsePrimitive responsePrimitive
+		} primitive, 
+		charstring host optional,
+		charstring xmlNamespace optional, 
+		charstring protocolBinding optional,
+		charstring serialization optional,
+		AttributeAux_list forcedFields optional
+	}
+	
+	/**
+	 * @desc Type for the oneM2M primitives exchange
+	 * @member primitive oneM2M primitive
+	 */
+	type record MsgIn {
+		union {
+			RequestPrimitive requestPrimitive,
+			ResponsePrimitive responsePrimitive
+		} primitive
+	}
+	
+	type record AcRequestPrimitive {
+		charstring event,
+		anytype data
+	}
+	with {
+		encode "adapter";
+	}
+	
+	type record AcResponsePrimitive {
+		charstring event,
+		anytype data
+	}
+	with {
+		encode "adapter";
+	}
+	
+	type record AttributeAux {
+		XSD.NCName name,
+		charstring value_ optional
+	};
+	
+	type record of AttributeAux AttributeAux_list;
 
+/* **********************************
+* 		oneM2M Resource primitives
+* ***********************************	
+*/
 
 type record AccessControlPolicy
 {
diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index de1146687571cdf4bb837863cf5ca3a2f9e84899..5ddeccfa3ea48ec3aa6c0a8add873ea703be7382 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -99,11 +99,6 @@ module OneM2M_TypesAndValues {
 		e_cf03	
 	};
 	
-	type record AttributeAux {
-		XSD.NCName name,
-		charstring value_ optional
-	};
 	
-	type record of AttributeAux AttributeAux_list;
 } 
 // end of module