diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 3de8b96fe4185a1a1d50102b8eadaacd463d53f5..82dfd0b390b01c61482a1b58d216e0f8d39b0ed1 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -14,6 +14,7 @@
 module OneM2M_Functions {
 	
 	import from XSD all;
+	import from LibCommon_Time all;
 	import from OneM2M_Templates all;
 	import from OneM2M_Types all;
 	import from OneM2M_TypesAndValues all;
@@ -752,7 +753,20 @@ module OneM2M_Functions {
 				if(p_ae.running) {
 					p_ae.stop;
 				}
-					p_ae.start(f_cse_postamble_deleteResources());
+				p_ae.start(f_cse_postamble_deleteResources());
+				p_ae.done;
+			}
+			
+			/**
+			 * @desc Calls to postamble for AeSimu component (i.e. AE1) on CseSimu 
+			 * @verdict 
+			 */
+			function f_cse_postamble_ae1() runs on CseSimu {
+				if(vc_ae1.running) {
+					vc_ae1.stop;
+				}
+				vc_ae1.start(f_cse_postamble_deleteResources());
+				vc_ae1.done;
 			}
 			
 			/**
@@ -765,14 +779,16 @@ module OneM2M_Functions {
 				var RequestPrimitive v_request;
 	
 				if (PX_RUN_POSTAMBLE) {
+					
+					if(vc_config == e_cf02CseSimuMaster) {
+						f_cse_postamble_ae1();
+					};
 		
 					for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) {
 			
 						v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); 
 			
 						v_request := valueof(m_delete(v_resourceAddress, f_getOriginator(vc_resourcesIndexToBeDeleted[i],false)));
-			
-						v_request.from_ := PX_SUPER_CSE_ID;
 
 						mccPort.send(m_request(v_request));
 			
@@ -845,6 +861,37 @@ module OneM2M_Functions {
 				return v_resourceIndex;
 		
 			}
+			
+			/**
+			 * @desc Message exchange for the update of an announced resource
+			 * @param p_requestPrimitive UPDATE request primitive to be used
+			 * @verdict 
+			 */
+			function f_cse_updateAnnouncedResource(in RequestPrimitive p_requestPrimitive) runs on CseSimu {
+
+				mccPort.send(m_request(p_requestPrimitive));
+				tc_ac.start;
+				alt {
+					[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
+						tc_ac.stop;
+						setverdict(pass, __SCOPE__&":INFO: Attribute of announced resource updated successfuly");
+					}
+					[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response {
+						tc_ac.stop;
+						setverdict(inconc, __SCOPE__&":INFO: Error while updating announced resource");
+					}
+					[] mccPort.receive{
+						tc_ac.stop;
+						setverdict(inconc, __SCOPE__&":INFO: Unexpected message received");
+					}
+					[] tc_ac.timeout {
+						setverdict(inconc, __SCOPE__&":INFO: No answer while updating announced resource");
+					}
+				}	
+				
+				f_checkCseSimuStatus();
+				
+			}// end f_cse_updateAnnouncedResource
 		
 			/**
 			 * @desc Creation of the auxiliar ACP resource
@@ -1008,6 +1055,11 @@ module OneM2M_Functions {
 						setverdict(pass, testcasename() & ": Resource present: " & f_getResourceAddress(p_resourceIndex));
 						return true;
 					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+						tc_ac.stop;
+						setverdict(pass, testcasename() & ": Resource: " & f_getResourceAddress(p_resourceIndex) & " not found");
+						return false;
+					}
 					[] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) {
 						tc_ac.stop;
 						setverdict(inconc, testcasename() & ": Wrong response status code in the response");
@@ -1177,7 +1229,7 @@ module OneM2M_Functions {
 						tc_ac.stop;
 						setverdict(pass, __SCOPE__&":INFO: Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly");
 						f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive);
-						v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, vc_remoteCseIndex);
+						v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, f_getAnnouncedResourceType(p_resourceType), vc_remoteCseIndex);
 					}
 					[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
 						tc_ac.stop;
@@ -1576,15 +1628,13 @@ module OneM2M_Functions {
 				
 				/**
 				 * @desc Handling message exchange for the AE Annc update
-				 * @param p_responseStatusCode Response Status Code to be used for the response to the AE Annc request
 				 * @verdict 
 				 */
 				//TODO TO BE FINALIZED
 				function f_cse_notifyProcedure_updateHandler() runs on CseSimu {
 					// Local variables
 					var ResponsePrimitive v_responsePrimitive;
-					var template Notification v_notificationRequest := mw_contentNotification_any;
-	 
+					var template Notification v_notificationRequest := mw_contentNotification_any;	 
 
 					//Preparation of Notification response to be sent
 					v_responsePrimitive := valueof(m_responseNotification(int2004, omit));
@@ -1634,6 +1684,11 @@ module OneM2M_Functions {
 						setverdict(pass, testcasename() & ": Resource present: " & f_getResourceAddress(p_resourceIndex));
 						return true;
 					}
+					[] mccPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+						tc_ac.stop;
+						setverdict(pass, testcasename() & ": Resource: " & f_getResourceAddress(p_resourceIndex) & " not found");
+						return false;
+					}
 					[] mccPort.receive(mw_response(mw_responsePrimitive(?, -))) {
 						tc_ac.stop;
 						setverdict(inconc, testcasename() & ": Wrong response status code in the response");
@@ -1646,6 +1701,38 @@ module OneM2M_Functions {
 				}	
 				return false;
 			}	
+			
+			/**
+			 * @desc Check that a resource is not present in the IUT (resourceId is NOT known)
+			 * @param p_parentIndex Index of the parent resource of the resource to be checked
+			 * @param p_resourceName Resource name (Hierarchical method is used) of the resource to be checked
+			 * @return boolean
+			 */
+			function f_cse_isResourceNotPresent (integer p_parentIndex, XSD.String p_resourceName) runs on CseSimu return boolean {
+			
+				log(testcasename() & ":INFO: Hierarchical addressing method is required to check the non presence of the resource");
+				
+				//Check to see if the resource has NOT been created
+				mccPort.send(m_request(m_retrieve(f_getResourceAddress(p_parentIndex, e_hierarchical) & "/" & p_resourceName, f_getOriginator(p_parentIndex))));
+				tc_ac.start;
+				alt {
+					[] mccPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+						tc_ac.stop;
+						setverdict(pass, testcasename() & ": Resource not present");
+						return true;
+					}
+					[] mccPort.receive(mw_response(mw_responsePrimitive(?))) {
+						tc_ac.stop;
+						setverdict(inconc, testcasename() & ": Wrong response status code in the response");
+						return false;
+					}
+					[] tc_ac.timeout {
+						setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+						return false;
+					}
+				}	
+				return false;
+			}			
 	    		
 			/**
 			 * @desc Registration of Test System (simulating a CSE) to the CSE IUT (creation of remoteCSE)
@@ -1713,7 +1800,7 @@ module OneM2M_Functions {
 				
 				
 				//send triggering primitive to SUT
-				f_sendUtPrimitive(v_utRequest,v_action);
+			  	f_sendUtPrimitive(v_utRequest,v_action);
 
 				tc_ac.start;
 				alt {
@@ -1729,19 +1816,22 @@ module OneM2M_Functions {
 						v_response.primitiveContent.remoteCSE := vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE;
 						mccPortIn.send(m_response(v_response));
 						
-						v_resourceIndex := f_setResource(v_request.primitive.requestPrimitive.primitiveContent, int16, -1);
+						v_resourceIndex := f_setResource(valueof(m_primitiveContentRemoteCSE(m_contentMyRemoteCSEResource)), int16, -1);
 						v_remoteCSERegistered:=true;
 						tc_ac.start;
 						repeat;
 					}
 					[] tc_ac.timeout {
 						if(not (v_remoteCSERegistered)){
-							setverdict(inconc, __SCOPE__&":INFO: No request received for creating resource type remoteCSE");
-					    }
+						setverdict(inconc, __SCOPE__&":INFO: No request received for creating resource type remoteCSE");
+					}
 					}
 				}
 
 				f_checkCseSimuStatus();
+				
+				//In order for the IUT to perform some actions
+				f_sleep(10.0);
 
 				return v_resourceIndex;
     		
@@ -1845,7 +1935,7 @@ module OneM2M_Functions {
 						v_myResource.aEAnnc.expirationTime := p_resource.aEAnnc.expirationTime;
 						v_myResource.aEAnnc.accessControlPolicyIDs := p_resource.aEAnnc.accessControlPolicyIDs;
 						v_myResource.aEAnnc.labels := p_resource.aEAnnc.labels;
-					}
+				}
 				} else if (p_resourceType == int10001 and ispresent (p_resource)) { //Acp Annc
 					if(ischosen(p_resource.accessControlPolicyAnnc)) {
 						v_myResource.accessControlPolicyAnnc.expirationTime := p_resource.accessControlPolicyAnnc.expirationTime;
@@ -1953,7 +2043,7 @@ module OneM2M_Functions {
 			  * @desc	Cse altstep for config 02 on CSE1 (AE1 as master)
 			  */
 			 altstep a_cse_cf02_cse1() runs on CseSimu {
-			
+				
 				var PrimitiveContent v_localResource;
 				var integer vc_localResourceIndex := -1;
 				var MsgIn v_request;
@@ -2109,7 +2199,7 @@ module OneM2M_Functions {
 			}//end function f_ae_preamble_register
 			
 			            
-			/**
+            /**
 			 * @desc	Waits for Container create request and process it
 			 * @param 	p_utRequest UpperTester request primitive to be sent to the IUT		
 			 * @return 	Internal resource index of Container or -1 in case of failure		
@@ -2157,7 +2247,7 @@ module OneM2M_Functions {
 				f_checkCseSimuStatus();	
     			
 				return v_resourceIndex;	
-			} //end function f_ae_preamble_createContainer	
+ 			} //end function f_ae_preamble_createContainer	
 						
 		} // end preambleFunctions
 		
@@ -2295,7 +2385,7 @@ module OneM2M_Functions {
 
 			p_request.requestIdentifier := valueof(p_request.requestIdentifier) & f_rnd(1, 1000000);
 			
-			if(p_resourceType != int2) {
+			if((p_resourceType != int2) and (p_resourceType != int10002)) {
 				if(p_resourceType == int16) {
 					p_request.from_ := PX_CSE1_ID;
 				} else {	
@@ -2306,6 +2396,7 @@ module OneM2M_Functions {
 					}
 				}
 			}
+			
 			p_request.to_ := f_getResourceAddress(p_parentIndex);
 
 			if (p_resourceType == int1) {//AccessControlPolicy
@@ -2430,9 +2521,15 @@ module OneM2M_Functions {
 		
 			p_request.requestIdentifier := valueof(p_request.requestIdentifier) & f_rnd(1, 1000000);
 			
-			p_request.from_ := f_getOriginator(p_resourceIndex);
-
-			p_request.to_ := f_getResourceAddress(p_resourceIndex);
+			if(p_resourceType != int10002) {
+				p_request.from_ := f_getOriginator(p_resourceIndex);
+		
+				p_request.to_ := f_getResourceAddress(p_resourceIndex);
+			} else {
+				p_request.from_ := PX_CSE1_ID & "/" & f_getResourceId(vc_resourcesList[p_resourceIndex].resource); 
+				
+				p_request.to_ := f_getResourceAddress(p_resourceIndex, -, e_spRelative);
+			}
 
 			if (p_resourceType == int3) {//Container
 
@@ -2492,6 +2589,9 @@ module OneM2M_Functions {
 			if(ischosen(p_contentResource.aE)) {
 				return f_resourceIdCleaner(p_contentResource.aE.resourceID);
 			}
+			if(ischosen(p_contentResource.aEAnnc)) {
+				return f_resourceIdCleaner(p_contentResource.aEAnnc.resourceID);
+			}
 			if(ischosen(p_contentResource.serviceSubscribedAppRule)) {
 				return f_resourceIdCleaner(p_contentResource.serviceSubscribedAppRule.resourceID);
 			}
@@ -2552,6 +2652,9 @@ module OneM2M_Functions {
 			if(ischosen(p_contentResource.aE)) {
 				return p_contentResource.aE.resourceName;
 			}
+			if(ischosen(p_contentResource.aEAnnc)) {
+				return p_contentResource.aEAnnc.resourceName;
+			}
 			if(ischosen(p_contentResource.serviceSubscribedAppRule)) {
 				return p_contentResource.serviceSubscribedAppRule.resourceName;
 			}
@@ -2690,9 +2793,9 @@ module OneM2M_Functions {
 					if(match(f_getResourceName(vc_localResourcesList[i].resource), v_resourceName)){
 						v_resourceIndex := i;
 						break;
-					}
+		}
 				}
-			
+    		
 			} else {
 				v_resourceID := f_resourceIdCleaner(p_receivedURI);
 				
@@ -3081,11 +3184,11 @@ module OneM2M_Functions {
 				 f_cse_postamble_deleteResources();
 				 // Tear down
 				 if(vc_config == e_cf01) {
-					f_cf01Down();
+				 	f_cf01Down();
 				 } else if (vc_config ==e_cf02) {
-					vc_cse1.start(f_cse_postamble_deleteResourcesCSE());
-					vc_cse1.done;
-					f_cf02Down();
+				 	vc_cse1.start(f_cse_postamble_deleteResourcesCSE());
+				 	vc_cse1.done;
+				 	f_cf02Down();
 				 }
 				 stop;
 			}
@@ -3136,10 +3239,13 @@ module OneM2M_Functions {
 				if(vc_config == e_cf03) {
 				  f_cf03Down();
 				  stop;
-			   } else if (vc_config ==e_cf04) {
+			   	} else if (vc_config ==e_cf04) {
 				  f_cf04Down();
 				  stop;
-			   }
+				} else if (vc_config == e_cf02CseSimuMaster) {
+					f_cf02DownCseSimuMaster();
+					stop;
+				}
 			}
 		}
 		
diff --git a/LibOneM2M/OneM2M_Pics.ttcn b/LibOneM2M/OneM2M_Pics.ttcn
index 8061df048d1a0fa20b317ee8598fd41e3b55dcc9..abdd8b751b92dc9b0c34e674787aa5f6508a59a2 100644
--- a/LibOneM2M/OneM2M_Pics.ttcn
+++ b/LibOneM2M/OneM2M_Pics.ttcn
@@ -19,7 +19,8 @@ module OneM2M_Pics {
 	 */
 	modulepar boolean PICS_ACP_SUPPORT := true;
 	modulepar boolean PICS_IN_CSE := true;
-	modulepar boolean PICS_MN_CSE := true;	
+	modulepar boolean PICS_MN_CSE := true;
+	modulepar boolean PICS_ASN_CSE := true;		
 	modulepar boolean PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT := true;
 	modulepar boolean PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT := true;
 	
@@ -27,5 +28,83 @@ module OneM2M_Pics {
 	modulepar boolean PICS_PRIMITIVE_SCOPE_SP_RELATIVE := true;
 	modulepar boolean PICS_PRIMITIVE_SCOPE_ABSOLUTE := true;
 	
+	//AccessControlPolicy optional attributes
+	
+	modulepar boolean PICS_ACP_LBL := true;
+	modulepar boolean PICS_ACP_AT := true;
+
+	//AE optional attributes
+	
+	modulepar boolean PICS_AE_LBL := true;
+	modulepar boolean PICS_AE_APN := true;
+	modulepar boolean PICS_AE_POA := true;
+	modulepar boolean PICS_AE_NL := true;
+	modulepar boolean PICS_AE_CSZ := true;
+	modulepar boolean PICS_AE_OR := true;
+	modulepar boolean PICS_AE_ACPI := true;
+	
+	//Container optional attributes
+	
+	modulepar boolean PICS_CNT_ACPI := true;
+	modulepar boolean PICS_CNT_MNI := true;
+	modulepar boolean PICS_CNT_MBS := true;
+	modulepar boolean PICS_CNT_MIA := true;
+	modulepar boolean PICS_CNT_OR := true;
+	modulepar boolean PICS_CNT_LI := true;
+	modulepar boolean PICS_CNT_RN := true;
+	modulepar boolean PICS_CNT_ET := true;
+	modulepar boolean PICS_CNT_LBL := true;
+	modulepar boolean PICS_CNT_CR := true;
+	
+	//ContentInstance optional attributes
+	
+	modulepar boolean PICS_CIN_CNF := true;
+	modulepar boolean PICS_CIN_RN := true;
+	modulepar boolean PICS_CIN_ET := true;
+	modulepar boolean PICS_CIN_LBL := true;
+	modulepar boolean PICS_CIN_CR := true;
+	modulepar boolean PICS_CIN_OR := true;	
+	
+	//CSEBase optional attributes
+	
+    modulepar boolean PICS_CB_CST := true;
+    modulepar boolean PICS_CB_NL := true;
+    
+   	//Group optional attributes
+   	
+	modulepar boolean PICS_GRP_LBL := true;
+	modulepar boolean PICS_GRP_GN := true;
+	modulepar boolean PICS_GRP_ACPI := true;
+	modulepar boolean PICS_GRP_MACP := true;
+    
+	//RemoteCSE optional attributes
+	
+	modulepar boolean PICS_CSR_LBL := true;
+	modulepar boolean PICS_CSR_CST := true;
+	modulepar boolean PICS_CSR_POA := true;
+	modulepar boolean PICS_CSR_NL := true;
+	modulepar boolean PICS_CSR_RN := true;
+	modulepar boolean PICS_CSR_ET := true;
+	modulepar boolean PICS_CSR_RR := true;
+	
+	//Subscription optional attributes
+	
+	modulepar boolean PICS_SUB_ACPI := true;
+	modulepar boolean PICS_SUB_ENC := true;
+	modulepar boolean PICS_SUB_EXC := true;
+	modulepar boolean PICS_SUB_NFU := true;
+	modulepar boolean PICS_SUB_NCT := true;
+	modulepar boolean PICS_SUB_NEC := true;
+	modulepar boolean PICS_SUB_SU := true;
+	modulepar boolean PICS_SUB_LBL := true;
+	modulepar boolean PICS_SUB_GPI := true;
+	modulepar boolean PICS_SUB_BN := true;
+	modulepar boolean PICS_SUB_RL := true;
+	modulepar boolean PICS_SUB_PN := true;
+	modulepar boolean PICS_SUB_NSP := true;
+	modulepar boolean PICS_SUB_LN := true;
+	modulepar boolean PICS_SUB_PSN := true;
+	modulepar boolean PICS_SUB_CR := true;
+	
 	
 }  // end of module
diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn
index 37260dd6501de00f444b8baea0b63bf97b447d5f..35c02075c1f69398a13ebcdbfe5363b97b9348b3 100644
--- a/LibOneM2M/OneM2M_Pixits.ttcn
+++ b/LibOneM2M/OneM2M_Pixits.ttcn
@@ -59,13 +59,13 @@ module OneM2M_Pixits {
 			 */	
 			modulepar XSD.ID PX_SUPER_CSE_ID				:= "/admin:admin";	
 			
-			modulepar XSD.IDREFS PX_ALLOWED_C_AE_IDS := {"C"};
+			modulepar XSD.IDREFS PX_ALLOWED_C_AE_IDS := {"C-AllowedAeId"};
 			
-			modulepar XSD.IDREFS PX_NOT_ALLOWED_C_AE_IDS := {"MyAe"};
+			modulepar XSD.IDREFS PX_NOT_ALLOWED_C_AE_IDS := {"C-NotAllowedAeId"};
 			
-			modulepar XSD.IDREFS PX_ALLOWED_S_AE_IDS := {"S"};
+			modulepar XSD.IDREFS PX_ALLOWED_S_AE_IDS := {"S-AllowedAeId"};
 			
-			modulepar XSD.IDREFS PX_NOT_ALLOWED_S_AE_IDS := {"MyAe"};
+			modulepar XSD.IDREFS PX_NOT_ALLOWED_S_AE_IDS := {"S-NotAllowedAeId"};
 			
 			modulepar AddressingMethod PX_ADDRESSING_METHOD := e_hierarchical;
 	
@@ -134,24 +134,11 @@ module OneM2M_Pixits {
 		
 		group ExecutionParameters {
 		
-			modulepar boolean PX_DELETE_CREATED_RESOURCES 	:= true;
-	
-			modulepar XSD.AnyURI PX_RESOURCE_TO_BE_DELETED 	:= "/ae_test";
-	
 			modulepar XSD.IDREFS PX_RESOURCES_TO_BE_DELETED := {"MyAe"};
 	
 			modulepar boolean PX_RUN_POSTAMBLE 				:= true;		
-		
-		
 		}
 
-
-	
-
-	
-
-	
-	modulepar boolean PX_USE_RESOURCE_ID_AS_ORIGINATOR 				:= true;
 	
 	//for checking whether the locationPolicy creation request is originated from a ASN-AE
 	//NOTE: Apply to Device-based location request, and this requires Test System (TS) to activate ASN-AE mode to test IUT  	
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 26039e7def675657c8bc4aa3ef4b1b0a729572f9..ea2ca45210caeafc82572b879fb3d286015d23c4 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -37,18 +37,18 @@ module OneM2M_Templates {
 	/* Templates */
 	
 	group Primitives {
-    	/** 
-    	 * @desc Base template for request sending operations
-    	 * @param p_requestPrimitive
-    	 */
-    	template (value) MsgOut m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
-    		primitive := { requestPrimitive := p_requestPrimitive},
-    		host := PX_SUT_ADDRESS,
-    		xmlNamespace := PX_XML_NAMESPACE,
-    		protocolBinding := PX_PROTOCOL_BINDING,
-    		serialization := PX_SERIALIZATION, 
-    		forcedFields := p_forcedFields
-    	};
+		/** 
+		 * @desc Base template for request sending operations
+		 * @param p_requestPrimitive
+		 */
+		template (value) MsgOut m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
+			primitive := { requestPrimitive := p_requestPrimitive},
+			host := PX_SUT_ADDRESS,
+			xmlNamespace := PX_XML_NAMESPACE,
+			protocolBinding := PX_PROTOCOL_BINDING,
+			serialization := PX_SERIALIZATION, 
+			forcedFields := p_forcedFields
+		};
     	
 		/** 
 		 * @desc Base template for response sending operations
@@ -76,9 +76,9 @@ module OneM2M_Templates {
 			forcedFields := p_forcedFields
 		};
 		
-    	template MsgIn mw_request(in template (present) RequestPrimitive p_requestPrimitive) := {
-    		primitive := { requestPrimitive := p_requestPrimitive}
-    	};
+		template MsgIn mw_request(in template (present) RequestPrimitive p_requestPrimitive) := {
+			primitive := { requestPrimitive := p_requestPrimitive}
+		};
     	
 		/** 
 		 * @desc Base template for response receiving operations
@@ -124,7 +124,7 @@ module OneM2M_Templates {
 				localTokenIDs := omit,
 				tokenRequestIndicator := omit
 			};
-        	
+			
 			/**
 			 * @desc Base Receive RETRIEVE request primitive
 			 * @param p_targetResourceAddress Target resource address
@@ -161,11 +161,11 @@ module OneM2M_Templates {
 			 * @param p_originator Originator (from)
 			 */
 			template (value) RequestPrimitive m_retrieveAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
-        		operation := int2,
-        		to_ := p_targetResourceAddress,
-        		from_ := p_originator,
-        		requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000),
-        		resourceType := omit,
+				operation := int2,
+				to_ := p_targetResourceAddress,
+				from_ := p_originator,
+				requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000),
+				resourceType := omit,
 				primitiveContent := omit, 
 				roleIDs := omit,
 				originatingTimestamp := omit,
@@ -184,7 +184,7 @@ module OneM2M_Templates {
 				tokenIDs := omit,
 				localTokenIDs := omit,
 				tokenRequestIndicator := omit
-        	};
+			};
         	
 			/**
 			 * @desc RETRIEVE request primtive containing the target attributes in the primitiveContent field
@@ -223,7 +223,7 @@ module OneM2M_Templates {
 			  * @param p_targetResourceAddress Target resource address 
 			  * @param p_filterCriteria FilterCriteria
 			  * @param p_originator Originator (from)
-		     */
+			 */
 			template (value) RequestPrimitive m_retrieveFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage) modifies m_retrieve := {
 				requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
 				filterCriteria := {
@@ -252,6 +252,17 @@ module OneM2M_Templates {
 				}
 			};
 			
+			/**
+			  * @desc RETRIEVE request primtive containing the Filter Criteria in the filterCriteria field
+			  * @param p_targetResourceAddress Target resource address 
+			  * @param p_filterCriteria FilterCriteria
+			  * @param p_originator Originator (from)
+			 */
+			template (value) RequestPrimitive m_retrieveFilterCriteria(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterCriteria p_filterCriteria) modifies m_retrieve := {
+				requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
+				filterCriteria := p_filterCriteria
+			};
+			
 			/**
 			  * @desc RETRIEVE request primtive containing the Filter Criteria in the filterCriteria field
 			  * @param p_targetResourceAddress Target resource address 
@@ -322,29 +333,29 @@ module OneM2M_Templates {
 			};
 			
 			/**
-				  * @desc RETRIEVE request primtive containing the Discovery Type in the discoveryResultType field and Filter Criteria in the filterCriteria field
-				  * @param p_targetResourceAddress Target resource address 
-				  * @param p_filterCriteria FilterCriteria
-				  * @param p_originator Originator (from)
-				 */
-				template (value) RequestPrimitive m_retrieveInvalidFormatOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_retrieve := {
-					requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
-					filterCriteria := {
-						createdBefore := omit,
-						createdAfter := omit,
-						modifiedSince := omit,
-						unmodifiedSince := omit,
-						stateTagSmaller := omit,
-						stateTagBigger := omit,
-						expireBefore := omit,
-						expireAfter := omit,
-						labels := omit,
-						resourceType := omit,
-						sizeAbove := omit,
-						sizeBelow := omit,
-						contentType_list := {},
-						attribute_list := {},
-						filterUsage := omit,
+			  * @desc RETRIEVE request primtive containing the Discovery Type in the discoveryResultType field and Filter Criteria in the filterCriteria field
+			  * @param p_targetResourceAddress Target resource address 
+			  * @param p_filterCriteria FilterCriteria
+			  * @param p_originator Originator (from)
+			 */
+			template (value) RequestPrimitive m_retrieveInvalidFormatOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_retrieve := {
+				requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
+				filterCriteria := {
+					createdBefore := omit,
+					createdAfter := omit,
+					modifiedSince := omit,
+					unmodifiedSince := omit,
+					stateTagSmaller := omit,
+					stateTagBigger := omit,
+					expireBefore := omit,
+					expireAfter := omit,
+					labels := omit,
+					resourceType := omit,
+					sizeAbove := omit,
+					sizeBelow := omit,
+					contentType_list := {},
+					attribute_list := {},
+					filterUsage := omit,
 						limit := omit,
 						semanticsFilter_list := {},
 						filterOperation := omit,
@@ -352,14 +363,38 @@ module OneM2M_Templates {
 						contentFilterQuery := omit,
 						level := omit,
 						offset := omit
-					}
-				};
+				}
+			};
+			
+			/**
+			  * @desc FilterCriteria empty template
+			 */
+			template (value) FilterCriteria m_filterCriteria := {
+				createdBefore := omit,
+				createdAfter := omit,
+				modifiedSince := omit,
+				unmodifiedSince := omit,
+				stateTagSmaller := omit,
+				stateTagBigger := omit,
+				expireBefore := omit,
+				expireAfter := omit,
+				labels := omit,
+				resourceType := omit,
+				sizeAbove := omit,
+				sizeBelow := omit,
+				contentType_list := {},
+				attribute_list := {},
+				filterUsage := omit,
+				limit := omit
+			}
 			
-    	}//end group Retrieve
+			
+			
+		}//end group Retrieve
 
-    	group Update {
+		group Update {
     		
-    		template (value) RequestPrimitive m_update := {
+			template (value) RequestPrimitive m_update := {
 				operation := int3,
 				to_ := "NotInitialized",
 				from_ := "NotInitialized",
@@ -384,7 +419,7 @@ module OneM2M_Templates {
 				localTokenIDs := omit,
 				tokenRequestIndicator := omit
 			};
-        	
+			
 						
 			template RequestPrimitive mw_update(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
 				operation := int3,
@@ -507,34 +542,29 @@ module OneM2M_Templates {
 			};
 			
 			template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) modifies m_update := {
-        	  	to_ 				:= p_locResourceAddress,
-        	  	requestIdentifier	:= "m_updateLocationPolicy",
-        	  	primitiveContent	:= {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
+				to_ 				:= p_locResourceAddress,
+				requestIdentifier	:= "m_updateLocationPolicy",
+				primitiveContent	:= {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
 			  };
         	
-        	template (value) RequestPrimitive m_updateNodeBase modifies m_update := {
+			template (value) RequestPrimitive m_updateNodeBase modifies m_update := {
 				requestIdentifier := "m_updateNode",
 				primitiveContent:= {node := m_contentUpdateNode}
-        	}
+			}
         	
-        	template (value) RequestPrimitive m_updateRemoteCSEBase modifies m_update := {
+			template (value) RequestPrimitive m_updateRemoteCSEBase modifies m_update := {
 			   requestIdentifier := "m_updateRemoteCSEBase",
-        	   primitiveContent := {remoteCSE := m_contentUpdateRemoteCSE}
-        	}
-        	
-        	template (value) RequestPrimitive m_updateAE modifies m_update := {
-				requestIdentifier := "m_updateAE",
-				primitiveContent := {aE := m_contentUpdateAe}
-        	}
+			   primitiveContent := {remoteCSE := m_contentUpdateRemoteCSE}
+			}
         	
-        	template (value) RequestPrimitive m_updateAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_to := omit, template (omit) XSD.ID p_from := omit, XSD.ID p_appId, XSD.ID p_stemId := "") modifies m_update:= {
+			template (value) RequestPrimitive m_updateAEAnncBase modifies m_update:= {
 				requestIdentifier := testcasename() & "-m_updateAEAnnc",
 				resourceType := int10002,
-				primitiveContent := {aEAnnc := m_contentUpdateAEAnnc(p_appId,p_stemId)}
+				primitiveContent := {aEAnnc := m_contentUpdateAEAnnc}
 			};
-    	}//end group Update
+		}//end group Update
     	
-    	group Create {
+		group Create {
 
 			template (value) RequestPrimitive m_create := {
 				operation := int1,
@@ -661,11 +691,11 @@ module OneM2M_Templates {
 				primitiveContent := {aE := p_ae}
 			};  
 			        	
-        	template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
-        		from_ := PX_AE1_ID_STEM,//TODO We should use omit, "s", or "c"
+			template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
+				from_ := PX_AE1_ID_STEM,//TODO We should use omit, "s", or "c"
 				requestIdentifier := testcasename() & "-m_createAe",
-        		resourceType := int2,
-        		primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}
+				resourceType := int2,
+				primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}
 			};
         	
 			/**
@@ -677,12 +707,12 @@ module OneM2M_Templates {
 				primitiveContent := {accessControlPolicy := m_contentCreateAcp ()}
 			};
 				
-        	template (value) RequestPrimitive m_createAcp(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := {
-        		to_ := p_parentResourceAddress,
+			template (value) RequestPrimitive m_createAcp(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := {
+				to_ := p_parentResourceAddress,
 				requestIdentifier := testcasename() & "-m_createAcp",
-        		resourceType := int1,
-        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
-        	};
+				resourceType := int1,
+				primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
+			};
         	
 			/**
 			 * @desc Reception template for CREATE AcpAnnc
@@ -698,11 +728,11 @@ module OneM2M_Templates {
 			/**
 			 * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX)
 			 */
-        	template (value) RequestPrimitive m_createAcpAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) modifies m_create := {
+			template (value) RequestPrimitive m_createAcpAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createAcpAux",
-        		resourceType := int1,
-        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}
-        	};
+				resourceType := int1,
+				primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}
+			};
         	
 			/*template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := {
 				from_ := PX_SUPER_USER,
@@ -762,12 +792,12 @@ module OneM2M_Templates {
 				primitiveContent := {container := m_contentCreateContainer(omit)}
 			};
 	
-    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
-    			to_ := p_parentResourceAddress,
+			template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
+				to_ := p_parentResourceAddress,
 				requestIdentifier := testcasename() & "-m_createContainer",
-    			resourceType := int3,
-    			primitiveContent := {container := m_contentCreateContainer(p_resourceName)}
-    		};
+				resourceType := int3,
+				primitiveContent := {container := m_contentCreateContainer(p_resourceName)}
+			};
         	
 			/**
 			 * @desc Reception template for CREATE Container
@@ -784,7 +814,7 @@ module OneM2M_Templates {
 				resourceType := int10003,
 				primitiveContent := {containerAnnc := mw_contentCreateContainerAnncBase}
 			};
-			
+        	
 			/**
 			 * @desc Reception template for CREATE FlexContainer
 			 */
@@ -817,13 +847,13 @@ module OneM2M_Templates {
 				primitiveContent := {contentInstance := m_contentCreateContentInstance(omit)}
 			};
     		
-    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
-    			to_ := p_parentResourceAddress,
-    			from_ := "admin:admin",
+			template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
+				to_ := p_parentResourceAddress,
+				from_ := "admin:admin",
 				requestIdentifier := testcasename() & "-m_createContentInstance",
-    			resourceType := int4,
-    			primitiveContent := {contentInstance := m_contentCreateContentInstance(-, p_primitiveContent)}
-    		};
+				resourceType := int4,
+				primitiveContent := {contentInstance := m_contentCreateContentInstance(-, p_primitiveContent)}
+			};
     		
 			/**
 			 * @desc Reception template for CREATE ContentInstanceAnnc
@@ -831,8 +861,8 @@ module OneM2M_Templates {
 			template RequestPrimitive mw_createContentInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10014,
 				primitiveContent := {contentInstanceAnnc := ?}
-			};  
-			
+			}; 
+		
 			/**
 			 * @desc Reception template for CREATE ContentInstance
 			 */
@@ -868,7 +898,7 @@ module OneM2M_Templates {
 				primitiveContent := {group_ := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
 			};
         	
-        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
+			template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
 															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
 															in template (omit) AcpType p_accessControlPolicyIds,
 															in template (omit) MemberType p_memberType := omit,
@@ -876,9 +906,9 @@ module OneM2M_Templates {
 															in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
 															in template (omit) XSD.String p_name := "MyGroup") modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createGroup",
-        		resourceType := int9,
-        		primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
-        	};
+				resourceType := int9,
+				primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
+			};
         	
 			/**
 			 * @desc Reception template for CREATE GroupAnnc
@@ -974,29 +1004,29 @@ module OneM2M_Templates {
 				primitiveContent := {pollingChannel := m_contentCreatePollingChannel (-)}
 			};
         	
-        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
-        		to_ := p_parentResourceAddress,
-        		from_ := p_originatorId,
+			template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
+				to_ := p_parentResourceAddress,
+				from_ := p_originatorId,
 				requestIdentifier := testcasename() & "-m_createPollingChannel",
-        		resourceType := int15,
-        		primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()}
-        	};
+				resourceType := int15,
+				primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()}
+			};
         	
 			/**
 			 * @desc Base CREATE request primitive for Schedule resource
 			 */
-        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
+			template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createSchedule",
-        		resourceType := int18,
-        		primitiveContent := {schedule := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}
-        	};
+				resourceType := int18,
+				primitiveContent := {schedule := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}
+			};
         	
-        	template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) modifies m_create := {
-        		to_ := p_parentResourceAddress,
+			template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) modifies m_create := {
+				to_ := p_parentResourceAddress,
 				requestIdentifier := testcasename() & "-m_createSchedule",
-        		resourceType := int18,
-        		primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)}
-        	};
+				resourceType := int18,
+				primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)}
+			};
         	
 			/**
 			 * @desc Reception template for CREATE ScheduleAnnc
@@ -1038,13 +1068,13 @@ module OneM2M_Templates {
 				primitiveContent := {subscription := m_contentCreateSubscription ({"NotInitialized"})}
 			};
         	
-        	template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ListOfURIs p_notificationURI := {"NotInitialized"}) modifies m_create := {
-        		to_ := p_parentResourceAddress,
+			template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ListOfURIs p_notificationURI := {"NotInitialized"}) modifies m_create := {
+				to_ := p_parentResourceAddress,
 				requestIdentifier := testcasename() & "-m_createSubscription",
-        		resourceType := int23,
-        		primitiveContent := {subscription := m_contentCreateSubscription (p_notificationURI, p_name)}
-        	};
-        	
+				resourceType := int23,
+				primitiveContent := {subscription := m_contentCreateSubscription (p_notificationURI, p_name)}
+			};
+			
         	/**
 			 * @desc Reception template for CREATE Subscription
 			 */
@@ -1062,11 +1092,11 @@ module OneM2M_Templates {
 																		   in template (omit) XSD.Boolean p_latestNotify := omit,
 																		   in template (omit) XSD.AnyURI p_subscriberURI := omit,
 																		   in template (omit) NotificationContentType p_notificationContentType := int1,
-			                                                               in template (omit) PendingNotification p_pendingNotification) modifies m_createSubscription := {
+																		   in template (omit) PendingNotification p_pendingNotification) modifies m_createSubscription := {
 				primitiveContent := {subscription := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType, p_pendingNotification)}
 			};
         	
-        	/**
+			/**
 			 * @desc Base CREATE request primitive for Location Policy resource
 			 */
 			template (value) RequestPrimitive m_createLocationPolicyBase modifies m_create := {
@@ -1078,10 +1108,10 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
         		
 				requestIdentifier	:= testcasename() & "-m_createLocationPolicy", //the requestIdentifier is supposed to be set similar as "C190XX7T/001"  by prepending the AE-ID-Stem and slash(‘/’) in front of it
-        	  	resourceType		:= int10,
-        	  	primitiveContent	:= {locationPolicy := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
-			  	resultContent := int1//default
-        	};
+				resourceType		:= int10,
+				primitiveContent	:= {locationPolicy := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
+				resultContent := int1//default
+			};
         	
 			/**
 			 * @desc Reception template for CREATE LocationPolicyAnnc
@@ -1099,13 +1129,13 @@ module OneM2M_Templates {
 				primitiveContent := {locationPolicyAnnc := mw_contentCreateLocationPolicyAnncBase}
 			}; 
 			
-        	template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := {
+			template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := {
 			  requestIdentifier	:= testcasename() & "-m_createNotification",
-        	  primitiveContent	:= {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)},
-        	  resultContent		:= int1 //default
+			  primitiveContent	:= {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)},
+			  resultContent		:= int1 //default
         	  
-        	};
-        	
+			};
+			
 			/**
 			 * @desc Reception template for SemanticDescriptor creation
 			 */
@@ -1141,17 +1171,17 @@ module OneM2M_Templates {
 				primitiveContent := {m2mServiceSubscriptionProfile := m_contentCreatem2mServiceSubscriptionProfileBase}
 			};
 			
-    	}//end group Create
+		}//end group Create
     	
-    	group Delete {
+		group Delete {
     	
 			template (value) RequestPrimitive m_delete(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_AE_ID) := {
-        		operation := int4,
-        		to_ := p_resourceAddress,
-        		from_ := p_originator,
+				operation := int4,
+				to_ := p_resourceAddress,
+				from_ := p_originator,
 				requestIdentifier := testcasename() & "-m_delete" & f_rnd(1, 1000000),
-        		resourceType := omit,
-        		primitiveContent := omit, 
+				resourceType := omit,
+				primitiveContent := omit, 
 				roleIDs := omit, 
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
@@ -1195,13 +1225,13 @@ module OneM2M_Templates {
 				tokenIDs := *,
 				localTokenIDs := *,
 				tokenRequestIndicator := *
-        	};
+			};
         	
-    	}//end group Delete
+		}//end group Delete
     	
-    	group Notify {
-    		
-			/**
+		group Notify {
+			
+    		/**
 			 * @desc Base NOTIFY request primitive
 			 */
 			template RequestPrimitive m_notify := {
@@ -1306,7 +1336,7 @@ module OneM2M_Templates {
 
 			
     		
-    	}//end of group Notify
+		}//end of group Notify
 	}//end group RequestPrimitives
 	
 	group ContentCreate {
@@ -1330,8 +1360,8 @@ module OneM2M_Templates {
 		template PrimitiveContent m_primitiveContentRemoteCSE(template RemoteCSE_optional p_remoteCSE) := {
 			remoteCSE := p_remoteCSE
 		}
-				
-		template PrimitiveContent mw_primitiveContent := ?;
+		
+		 template PrimitiveContent mw_primitiveContent := ?;
 		 
 		/**
 		 * @desc Base primitiveContent for CREATE operation for AEAnnc resource
@@ -1349,7 +1379,7 @@ module OneM2M_Templates {
 			lastModifiedTime := omit,//NP
 			labels := p_labels,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
-			expirationTime := omit,//O
+			expirationTime := "20301231T012345",//O
 			link := omit,//M TODO Put the right value
 			dynamicAuthorizationConsultationIDs := omit, //TODO Check whether it is optional or mandatory for create operation			
 			appName := omit,//O
@@ -1371,17 +1401,17 @@ module OneM2M_Templates {
 		 * @param p_appId App ID
 		 * @param p_nodeLink Node link
 		 */
-		template AEAnnc_optional mw_contentCreateAEAnnc (in template  Labels p_labels := ?, in template AcpType p_accessControlPolicyIds := ?) := {
-    		resourceName := omit,//NA M
-    		resourceType := omit,//NA M
-    		resourceID := omit,//NA M
-    		parentID := omit,//NA M
-    		creationTime := omit,//NA M
-    		lastModifiedTime := omit,//NA M
-    		labels := p_labels,//MA
-    		accessControlPolicyIDs := p_accessControlPolicyIds,//MA
-    		expirationTime := ?,//MA M
-    		link := ?,//M
+		template AEAnnc_optional mw_contentCreateAEAnnc (in template  Labels p_labels := ?, in template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) := {
+			resourceName := omit,//NA M
+			resourceType := omit,//NA M
+			resourceID := omit,//NA M
+			parentID := omit,//NA M
+			creationTime := omit,//NA M
+			lastModifiedTime := omit,//NA M
+			labels := p_labels,//MA
+			accessControlPolicyIDs := p_accessControlPolicyIds,//MA
+			expirationTime := ?,//MA M
+			link := p_link,//M
     		dynamicAuthorizationConsultationIDs := omit, //OA			
 			appName := *,//OA
 			app_ID := *,//OA
@@ -1395,12 +1425,12 @@ module OneM2M_Templates {
 			choice := omit//NA
 		};	
 		
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for AE resource
-    	 * @param p_name Resource name
-    	 * @param p_accessControlPolicyIds ACP IDs for the AE
-    	 */
-    	template (value) AE_optional m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIds, in template (omit)  XSD.String p_name := c_defaultAeResourceName, in template (omit) XSD.ID p_appId := PX_APP_ID, in template (omit) PoaList p_poaList) := {
+		/**
+		 * @desc Base primitiveContent for CREATE operation for AE resource
+		 * @param p_name Resource name
+		 * @param p_accessControlPolicyIds ACP IDs for the AE
+		 */
+		template (value) AE_optional m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIds, in template (omit)  XSD.String p_name := c_defaultAeResourceName, in template (omit) XSD.ID p_appId := PX_APP_ID, in template (omit) PoaList p_poaList) := {
 
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -1412,27 +1442,27 @@ module OneM2M_Templates {
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
     		dynamicAuthorizationConsultationIDs := omit, //O
-    		announceTo := omit,//O
-    		announcedAttribute := omit,//O
-    		appName := omit,//O
+			announceTo := omit,//O
+			announcedAttribute := omit,//O
+			appName := omit,//O
 			app_ID := p_appId,//M
-    		aE_ID := omit,//NP
-    		pointOfAccess := p_poaList, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
-    		ontologyRef := omit,//O
-    		nodeLink := omit,//NP
-    		requestReachability := true,//M
-    		contentSerialization := omit,//O
+			aE_ID := omit,//NP
+			pointOfAccess := p_poaList, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
+			ontologyRef := omit,//O
+			nodeLink := omit,//NP
+			requestReachability := true,//M
+			contentSerialization := omit,//O
 			e2eSecInfo := omit, //O
-    		choice := omit//NP
-    	};	
+			choice := omit//NP
+		};	
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for AccessControlPolicy resource
-    	 * @param p_name Resource name
-    	 * @param p_acor Allowed originators
-    	 * @param p_allowedOperations Allowed operations
-    	 */
-    	template (value) AccessControlPolicy_optional m_contentCreateAcp (in template (omit) XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) := {
+		/**
+		 * @desc Base primitiveContent for CREATE operation for AccessControlPolicy resource
+		 * @param p_name Resource name
+		 * @param p_acor Allowed originators
+		 * @param p_allowedOperations Allowed operations
+		 */
+		template (value) AccessControlPolicy_optional m_contentCreateAcp (in template (omit) XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -1447,7 +1477,7 @@ module OneM2M_Templates {
 				accessControlRule_list := {valueof(m_createAcr(p_acor, p_allowedOperations))}
 			},//M
 			selfPrivileges := {
-				accessControlRule_list := {valueof(m_createAcr({"*"}, int63))}
+				accessControlRule_list := {valueof(m_createAcr(p_acor, int63))}
 			},//M
 			choice := omit //NP
 		};
@@ -1558,19 +1588,19 @@ module OneM2M_Templates {
 			
 		};    
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for Group resource
-    	 * @param p_maxNrOfMembers Max number of members
-    	 * @param p_memberIds Member IDs
-    	 * @param p_accessControlPolicyIds ACP IDs for the Group
-    	 * @param p_name Resource name
-    	 */
-    	template (value) Group_optional m_contentCreateGroup (	in template (value) XSD.PositiveInteger p_maxNrOfMembers,
-    															in template (value) ListOfURIs p_memberIds,
-    															in template (omit) AcpType p_accessControlPolicyIds,
-    															in template (omit) MemberType p_memberType := omit,
-    															in template (omit) ConsistencyStrategy p_consistencyStrategy := omit,
-    															in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Group resource
+		 * @param p_maxNrOfMembers Max number of members
+		 * @param p_memberIds Member IDs
+		 * @param p_accessControlPolicyIds ACP IDs for the Group
+		 * @param p_name Resource name
+		 */
+		template (value) Group_optional m_contentCreateGroup (	in template (value) XSD.PositiveInteger p_maxNrOfMembers,
+																in template (value) ListOfURIs p_memberIds,
+																in template (omit) AcpType p_accessControlPolicyIds,
+																in template (omit) MemberType p_memberType := omit,
+																in template (omit) ConsistencyStrategy p_consistencyStrategy := omit,
+																in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
 																in template (omit) XSD.String p_name := c_defaultGroupResourceName) := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -1595,7 +1625,7 @@ module OneM2M_Templates {
 			groupName := omit,//O
 			semanticSupportIndicator := omit,//O
 			choice := omit//NP
-    	};  
+		};  
     	
 		  /**
 		  * @desc Base reception template of primitiveContent for CREATE operation for GroupAnnc resource
@@ -1721,28 +1751,28 @@ module OneM2M_Templates {
 		};	  	
 		
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for PollingChannel resource
-    	 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
-    	 * @param p_name Resource name
-    	 */
-    	template (value) PollingChannel_optional m_contentCreatePollingChannel (in template (omit) XSD.String p_name := c_defaultPollingChannelResourceName) := {
+		/**
+		 * @desc Base primitiveContent for CREATE operation for PollingChannel resource
+		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
+		 * @param p_name Resource name
+		 */
+		template (value) PollingChannel_optional m_contentCreatePollingChannel (in template (omit) XSD.String p_name := c_defaultPollingChannelResourceName) := {
 			resourceName := p_name,//O
-            resourceType := omit,//NP
-            resourceID := omit,//NP
-            parentID := omit,//NP
-            creationTime := omit,//NP
-            lastModifiedTime := omit,//NP
-            labels := omit,//O
-            expirationTime := omit//O
-    	};   	   	
+			resourceType := omit,//NP
+			resourceID := omit,//NP
+			parentID := omit,//NP
+			creationTime := omit,//NP
+			lastModifiedTime := omit,//NP
+			labels := omit,//O
+			expirationTime := omit//O
+		};   	   	
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for Schedule resource
-    	 * @param p_scheduleElement Schedule
-    	 * @param p_name Resource name
-    	 */
-    	template (value) Schedule_optional m_contentCreateSchedule (in template (value) ScheduleEntries p_scheduleElement,
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Schedule resource
+		 * @param p_scheduleElement Schedule
+		 * @param p_name Resource name
+		 */
+		template (value) Schedule_optional m_contentCreateSchedule (in template (value) ScheduleEntries p_scheduleElement,
 																	in template (omit) XSD.String p_name := c_defaultScheduleResourceName) := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -1756,7 +1786,7 @@ module OneM2M_Templates {
 			announcedAttribute := omit,//O
 			scheduleElement := p_scheduleElement,//M
 			choice := omit//NP
-    	};  
+		};  
     	
 		/**
 		 * @desc Base reception template of primitiveContent for CREATE operation for ScheduleAnnc resource
@@ -1775,7 +1805,7 @@ module OneM2M_Templates {
 		};  	
     	
 		template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) := {
-		  	resourceName := omit,//TODO TS-0004 7.4.29.1 2 Missing attribute
+			resourceName := omit,//TODO TS-0004 7.4.29.1 2 Missing attribute
 			resourceType := omit,//NP
 			resourceID := omit,//NP
 			parentID := omit,//NP
@@ -1812,12 +1842,12 @@ module OneM2M_Templates {
 		};  
     	
 
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for Subscription resource
-    	 * @param p_notificationURI Notification URI
-    	 * @param p_name Resource name
-    	 */
-    	template (value) Subscription_optional m_contentCreateSubscription (in template (value) ListOfURIs p_notificationURI,
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Subscription resource
+		 * @param p_notificationURI Notification URI
+		 * @param p_name Resource name
+		 */
+		template (value) Subscription_optional m_contentCreateSubscription (in template (value) ListOfURIs p_notificationURI,
 																			in template (omit) XSD.String p_name := c_defaultSubscriptionResourceName) := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -1845,7 +1875,7 @@ module OneM2M_Templates {
 			notificationEventCat := omit,//O
 			subscriberURI := omit,//O
 			choice := omit//NP
-    	};   	
+		};   	
     	
 		template (value) Subscription_optional m_contentCreateSubscriptionAdvanced (in template (value) ListOfURIs p_notificationURI,
 																					in template (omit)  XSD.String p_name := c_defaultSubscriptionResourceName,
@@ -1855,7 +1885,7 @@ module OneM2M_Templates {
 																					in template (omit) XSD.Boolean p_latestNotify,
 																					in template (omit) XSD.AnyURI p_subscriberURI,
 																					in template (omit) NotificationContentType p_notificationContentType,
-		                                                                            in template (omit) PendingNotification p_pendingNotification) modifies m_contentCreateSubscription := {
+																					in template (omit) PendingNotification p_pendingNotification) modifies m_contentCreateSubscription := {
 			eventNotificationCriteria := p_eventNotificationCriteria,//O
 			expirationCounter := p_expirationCounter,//O
 			batchNotify := p_batchNotify,//O
@@ -1891,10 +1921,10 @@ module OneM2M_Templates {
 		
          	
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for ContentInstance resource
-    	 * @param p_primitiveContent Content for the ContentInstance
-    	 */
+		/**
+		 * @desc Base primitiveContent for CREATE operation for ContentInstance resource
+		 * @param p_primitiveContent Content for the ContentInstance
+		 */
     	template (value) ContentInstance_optional m_contentCreateContentInstance(in template (omit) XSD.String p_name := c_defaultContentInstanceResourceName, XSD.String p_primitiveContent := "AnyValue") := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -1915,7 +1945,7 @@ module OneM2M_Templates {
 			content := p_primitiveContent,//M
 			choice := omit //O
 		};
-		
+			
 		/**
 		 * @desc Base primitiveContent for CREATE operation for ContentInstanceAnnc resource
 		 * @param p_primitiveContent Content for the ContentInstanceAnnc
@@ -1938,11 +1968,11 @@ module OneM2M_Templates {
 			choice := omit //O
 		};
 		
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for Container resource
-    	 * @param p_name Resource name
-    	 */
-    	template (value) Container_optional m_contentCreateContainer (in template (omit) XSD.String p_name := c_defaultContainerResourceName):= {
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Container resource
+		 * @param p_name Resource name
+		 */
+		template (value) Container_optional m_contentCreateContainer (in template (omit) XSD.String p_name := c_defaultContainerResourceName):= {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -1966,7 +1996,7 @@ module OneM2M_Templates {
 			ontologyRef := omit,//O
 			disableRetrieval := omit, //O
 			choice := omit//NP
-    	};
+		};
     	
 		/**
 		 * @desc Base primitiveContent for CREATE operation for Container resource
@@ -1997,7 +2027,7 @@ module OneM2M_Templates {
 			e2eSecInfo := omit,//O
 			choice := omit//O
 		};
-    	
+		
 		/**
 		* @desc Base reception template of primitiveContent for CREATE operation for ContainerAnnc resource
 		*/
@@ -2026,28 +2056,28 @@ module OneM2M_Templates {
 		};
     	
 		template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) := {
-    	  	resourceName 				:= c_defaultLocationPolicyResourceName, //O
-    	  	resourceType				:= omit, //NP
-    	    resourceID					:= omit, //NP
-    	    parentID					:= omit, //NP
-    	  	creationTime				:= omit, //NP
-    	  	lastModifiedTime			:= omit, //NP
-    	  	labels 						:= PX_LABELS,//O
-    	  	accessControlPolicyIDs 	:= p_accessControlPolicyIds, //O
- 	  	  	expirationTime 			:= omit, //O
+			resourceName 				:= c_defaultLocationPolicyResourceName, //O
+			resourceType				:= omit, //NP
+			resourceID					:= omit, //NP
+			parentID					:= omit, //NP
+			creationTime				:= omit, //NP
+			lastModifiedTime			:= omit, //NP
+			labels 						:= PX_LABELS,//O
+			accessControlPolicyIDs 	:= p_accessControlPolicyIds, //O
+			expirationTime 			:= omit, //O
       		dynamicAuthorizationConsultationIDs := omit, //O
-    	  	announceTo 				:= omit, 				   //O
-    	  	announcedAttribute		:= omit, 			      //O
-    		locationSource 			:= p_locationSource, //M
+			announceTo 				:= omit, 				   //O
+			announcedAttribute		:= omit, 			      //O
+			locationSource 			:= p_locationSource, //M
     		locationUpdatePeriod 		:= {p_locationUpdatePeriod}, //O
-    		locationTargetID 			:= p_locationTargetID, 	//O
-    		locationServer 			:= p_locationServerAddress,//O
-    		locationContainerID		:= omit,    		   //NP
-    		locationContainerName 	:= PX_LOCATION_CONTAINER_NAME,//O    		
-    	  	locationStatus				:= omit,              //NP
-    	    choice 					:= omit  	         //NP
+			locationTargetID 			:= p_locationTargetID, 	//O
+			locationServer 			:= p_locationServerAddress,//O
+			locationContainerID		:= omit,    		   //NP
+			locationContainerName 	:= PX_LOCATION_CONTAINER_NAME,//O    		
+			locationStatus				:= omit,              //NP
+			choice 					:= omit  	         //NP
     	   	  	
-    	};
+		};
     	
 		template (value) LocationPolicy_optional m_contentCreateLocationPolicyBase := {
 				resourceName 				:= c_defaultLocationPolicyResourceName, //O
@@ -2096,29 +2126,29 @@ module OneM2M_Templates {
 		  locationStatus := *	//OA
 	  };
     	
-    	template (value) Notification m_contentCreateNotification (in template (value) Representation p_resourcePresentation, 
-    																in template (omit) NotificationEventType p_notifEventType, 
-    																in template (omit) XSD.AnyURI p_subReference, 
-    																in template (omit) XSD.AnyURI p_notifForwardingURI) := {
-    	  notificationEvent := {
-    	    representation := p_resourcePresentation,
-        	operationMonitor := {
-        		operation := omit,
-        	    originator := omit
-        	},
-        	notificationEventType := p_notifEventType    	    
-    	  },
-    	  verificationRequest := omit,
-    	  subscriptionDeletion := omit,
-    	  subscriptionReference := p_subReference,
-    	  creator := omit,
+		template (value) Notification m_contentCreateNotification (in template (value) Representation p_resourcePresentation, 
+																	in template (omit) NotificationEventType p_notifEventType, 
+																	in template (omit) XSD.AnyURI p_subReference, 
+																	in template (omit) XSD.AnyURI p_notifForwardingURI) := {
+		  notificationEvent := {
+			representation := p_resourcePresentation,
+			operationMonitor := {
+				operation := omit,
+				originator := omit
+			},
+			notificationEventType := p_notifEventType    	    
+		  },
+		  verificationRequest := omit,
+		  subscriptionDeletion := omit,
+		  subscriptionReference := p_subReference,
+		  creator := omit,
     	  notificationForwardingURI := p_notifForwardingURI,
     	  iPEDiscoveryRequest := omit
-    	};
-    			
+		};
+		
 		template (value) Notification m_contentCreateNotification_allOmit := {
 		  notificationEvent := {
-		  	representation := omit,
+			representation := omit,
 			operationMonitor := {
 				operation := omit,
 				originator := omit
@@ -2495,29 +2525,29 @@ module OneM2M_Templates {
 		};
 		
 		template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) := {
-    	  	resourceName 			:= omit,//NP
-    	  	resourceType			:= omit,//NP
-    	    resourceID				:= omit,//NP
-    	    parentID				:= omit,//NP
-    	  	creationTime			:= omit,//NP
-    	  	lastModifiedTime		:= omit,//NP
-    	  	labels 					:= PX_LABELS,//O
-    	  	accessControlPolicyIDs 	:= p_accessControlPolicyIds,//O
-    	  	expirationTime 			:= omit,//O    	  	
+			resourceName 			:= omit,//NP
+			resourceType			:= omit,//NP
+			resourceID				:= omit,//NP
+			parentID				:= omit,//NP
+			creationTime			:= omit,//NP
+			lastModifiedTime		:= omit,//NP
+			labels 					:= PX_LABELS,//O
+			accessControlPolicyIDs 	:= p_accessControlPolicyIds,//O
+			expirationTime 			:= omit,//O    	  	
     		dynamicAuthorizationConsultationIDs := omit, //O
-    	  	announceTo 				:= omit,//O
-    	  	announcedAttribute		:= omit,//O
-    		locationSource 			:= omit,//NP
+			announceTo 				:= omit,//O
+			announcedAttribute		:= omit,//O
+			locationSource 			:= omit,//NP
 			locationUpdatePeriod 	:= {p_locationUpdatePeriod}, //O
-    		locationTargetID 		:= omit, //NP
-    		locationServer 			:= omit, //NP
-    		locationContainerID		:= omit, //NP  
-    		locationContainerName 	:= PX_LOCATION_CONTAINER_NAME, //O    		 		
-    	  	locationStatus			:= omit, //NP
-    	    choice 					:= omit  //NP	   	  	
-    	};
+			locationTargetID 		:= omit, //NP
+			locationServer 			:= omit, //NP
+			locationContainerID		:= omit, //NP  
+			locationContainerName 	:= PX_LOCATION_CONTAINER_NAME, //O    		 		
+			locationStatus			:= omit, //NP
+			choice 					:= omit  //NP	   	  	
+		};
     	
-    	template (value) Node_optional m_contentUpdateNode := {
+		template (value) Node_optional m_contentUpdateNode := {
 			resourceName := omit,
 			resourceType := omit,
 			resourceID := omit,
@@ -2534,9 +2564,9 @@ module OneM2M_Templates {
 			hostedCSELink := omit,
 			mgmtClientAddress := omit,
 			choice := omit
-    	}
+		}
     	
-    	template (value) RemoteCSE_optional m_contentUpdateRemoteCSE := {
+		template (value) RemoteCSE_optional m_contentUpdateRemoteCSE := {
 			resourceName := omit,
 			resourceType := omit,
 			resourceID := omit,
@@ -2560,9 +2590,9 @@ module OneM2M_Templates {
 			triggerReferenceNumber := omit,
 			e2eSecInfo := omit,
 			choice := omit
-    	}
+		}
     	
-		template (value) AEAnnc_optional m_contentUpdateAEAnnc (template (omit) XSD.ID p_appId := omit, template (omit) XSD.ID p_stemId := omit) := {
+		template (value) AEAnnc_optional m_contentUpdateAEAnnc := {
 			resourceName := omit,
 			resourceType := omit,
 			resourceID := omit,
@@ -2575,7 +2605,7 @@ module OneM2M_Templates {
 			link := omit,
 			dynamicAuthorizationConsultationIDs := omit,
 			appName := omit,
-			app_ID := p_appId,
+			app_ID := omit,
 			aE_ID := omit,
 			pointOfAccess := omit,
 			ontologyRef := omit,
@@ -2584,7 +2614,7 @@ module OneM2M_Templates {
 			contentSerialization := omit,
 			e2eSecInfo := omit,
 			choice := omit
-    	}
+		}
  		
 	}//end group ContentUpdate
 
@@ -3052,6 +3082,16 @@ module OneM2M_Templates {
 			choice := omit//O
 		};
 		
+		template RemoteCSE_optional m_contentMyRemoteCSEResource modifies m_contentRemoteCSE_allOmit := {
+			resourceName := PX_CSE1_NAME,//M
+			resourceType := int16,//M
+			resourceID := PX_CSE1_RESOURCE_ID,//M
+			pointOfAccess := {PX_CSE1_ADDRESS},//O
+			cSEBase := PX_CSE1_NAME,//M
+			cSE_ID := PX_CSE1_ID,//M
+			requestReachability := true//M
+		};
+		
 		template RemoteCSE_optional mw_contentRemoteCSEBase := {
 			resourceName := ?,//M
 			resourceType := ?,//M
@@ -3517,28 +3557,28 @@ module OneM2M_Templates {
 		
 		template Container_optional mw_contentContainer_rc6 modifies mw_contentContainerBase := {
 			resourceName := omit,//M
-            resourceType := omit,//M
-            resourceID := omit,//M
-            parentID := omit,//M
-            creationTime := omit,//M
-            lastModifiedTime := omit,//M
-            labels := omit,//O
-            accessControlPolicyIDs := omit,//O
-            expirationTime := omit,//M
+			resourceType := omit,//M
+			resourceID := omit,//M
+			parentID := omit,//M
+			creationTime := omit,//M
+			lastModifiedTime := omit,//M
+			labels := omit,//O
+			accessControlPolicyIDs := omit,//O
+			expirationTime := omit,//M
 			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
-            announcedAttribute := omit,//M
-            stateTag := omit,//M
-            creator := omit,//M
-            maxNrOfInstances := omit,//O
-            maxByteSize := omit,//O
-            maxInstanceAge := omit,//O
-            currentNrOfInstances := omit,//M
-            currentByteSize := omit,//M
-            locationID := omit,//O
-            ontologyRef := omit,//O
+			announcedAttribute := omit,//M
+			stateTag := omit,//M
+			creator := omit,//M
+			maxNrOfInstances := omit,//O
+			maxByteSize := omit,//O
+			maxInstanceAge := omit,//O
+			currentNrOfInstances := omit,//M
+			currentByteSize := omit,//M
+			locationID := omit,//O
+			ontologyRef := omit,//O
             disableRetrieval := omit, //O
-            choice := {childResource_list := ?}//O
+			choice := {childResource_list := ?}//O
 		}
 		
 		template Container_optional mw_contentContainer_rc7 modifies mw_contentContainerBase := {
@@ -3691,7 +3731,7 @@ module OneM2M_Templates {
 			contentSerialization := *,//O
 			e2eSecInfo:= *, //O
 			choice := *//O
-		};	
+		}; 
 
 		template (value) AE_update_invalid m_contentUpdateAe_invalid := {
 			resourceName := omit,//M
@@ -3898,7 +3938,7 @@ module OneM2M_Templates {
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
 			tokenRequestInformation := *
-    	};
+		};
     	
 		template ResponsePrimitive mw_responsePrimitiveInverse(ResponseStatusCode p_statusCode) := {
 			responseStatusCode := complement(p_statusCode),
@@ -3915,7 +3955,7 @@ module OneM2M_Templates {
 			tokenRequestInformation := *
 		};
     	
-    	template ResponsePrimitive mw_responsePrimitiveOK(in template PrimitiveContent p_content := *) := {
+		template ResponsePrimitive mw_responsePrimitiveOK(in template PrimitiveContent p_content := *) := {
 			responseStatusCode := (int2000, int2001, int2002, int2004),
 			requestIdentifier := ?,
 			primitiveContent := p_content,
@@ -3928,10 +3968,10 @@ module OneM2M_Templates {
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
 			tokenRequestInformation := *
-    	};
+		};
         		 
-    	template ResponsePrimitive mw_responsePrimitiveKO := {
- 			responseStatusCode := complement(int2000, int2001, int2002, int2004),
+		template ResponsePrimitive mw_responsePrimitiveKO := {
+			responseStatusCode := complement(int2000, int2001, int2002, int2004),
 			requestIdentifier := ?,
 			primitiveContent := *,
 			to_ := *,
@@ -3943,7 +3983,7 @@ module OneM2M_Templates {
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
 			tokenRequestInformation := *
-    	};
+		};
     	
 		template ResponsePrimitive mw_responseDiscovery (template URIList p_uriList := ?) := {
 			responseStatusCode := int2000,
@@ -3974,7 +4014,7 @@ module OneM2M_Templates {
 			assignedTokenIdentifiers := omit,
 			tokenRequestInformation := omit
 		};
-    	
+		
 		group InfoPortTemplates {
 		
 			template MyResource mw_resource := ?;		
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index efbd19dee10f9c11ef7959c8705fc41f359d6932..34af5d11bad4bde2d578491e295c8589994686fa 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -1329,17 +1329,17 @@ module OneM2M_PermutationFunctions {
 							[] mccPort.receive(mw_response(mw_responsePrimitive(int2001, f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & ": Accepted creation for resource type remoteCSE containing attribute " & p_optionalAttribute.name);
-								f_setResource(v_request.primitiveContent,int16);
+								f_setResource(v_response.primitive.responsePrimitive.primitiveContent,int16);
 							}
 							[] mccPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
 								tc_ac.stop;
 								setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
-								f_setResource(v_request.primitiveContent,int16);
+								f_setResource(v_response.primitive.responsePrimitive.primitiveContent,int16);
 							}
 							[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
 								setverdict(fail, __SCOPE__ & ": Accepted creation for resource type remoteCSE without containing attribute " & p_optionalAttribute.name);
-								f_setResource(v_request.primitiveContent,int16);
+								f_setResource(v_response.primitive.responsePrimitive.primitiveContent,int16);
 							}
 							[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
@@ -1410,8 +1410,8 @@ module OneM2M_PermutationFunctions {
 						var ResponsePrimitive v_responsePrimitive;
 						
 						//Test control
-						if(not(PICS_MN_CSE)) {
-							setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE to run this test case");
+						if(not(PICS_MN_CSE or PICS_ASN_CSE)) {
+							setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE or ASN-CSE to run this test case");
 							stop;
 						}
 
@@ -1726,7 +1726,7 @@ module OneM2M_PermutationFunctions {
 						// Test adapter configuration
 
 						// Preamble
-						vc_remoteCseIndex := f_cse_registrationRemoteCse(m_createRemoteCSEBase);
+						vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase);
 						
 						//Send Trigger Message
 					    v_utRequest.to_ := f_getResourceAddress();
@@ -2147,215 +2147,288 @@ module OneM2M_PermutationFunctions {
     				
 					function f_CSE_DMR_CRE_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_invalidAttribute) runs on AeSimu {
     				
-							// Local variables
-							var MsgIn v_response;
-							var RequestPrimitive v_request;
-							var integer v_aeIndex := -1;
-									   
-							// Test control
-    				
-							// Test component configuration
-							f_cf01Up();
-    				
-							// Test adapter configuration
-    				
-							// Preamble
-							v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+								   
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
 						
-							// Test Body
-							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
-							
-							mcaPort.send(m_request(v_request, {p_invalidAttribute}));
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response {
-									tc_ac.stop;
-									setverdict(pass, __SCOPE__ & ": Creation rejected for resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute " & p_invalidAttribute.name);
-								}								
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Wrong response status code");
-								}								
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute" & p_invalidAttribute.name);
-								}
-								[] tc_ac.timeout {
-									setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));  
-								}
-							}	
-    								
-							f_checkAeSimuStatus();
-    					
-							//Check to see if the resource is NOT present
-							if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){
-							  setverdict(pass, __SCOPE__ & ":INFO: Resource not created");
-							} else {
-							  setverdict(fail, __SCOPE__ & ":ERROR: Resource created");
+						mcaPort.send(m_request(v_request, {p_invalidAttribute}));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Creation rejected for resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute " & p_invalidAttribute.name);
+							}								
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}								
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute" & p_invalidAttribute.name);
 							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));  
+							}
+						}	
+								
+						f_checkAeSimuStatus();
+					
+						//Check to see if the resource is NOT present
+						if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){
+						  setverdict(pass, __SCOPE__ & ":INFO: Resource not created");
+						} else {
+						  setverdict(fail, __SCOPE__ & ":ERROR: Resource created");
+						}
+					
+				        		
+						// Postamble
+						f_cse_postamble_deleteResources();
 						
-					        		
-							// Postamble
-							f_cse_postamble_deleteResources();
-							
-							// Tear down
-							f_cf01Down();
-						    				
-						}//end f_CSE_DMR_CRE_005
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end f_CSE_DMR_CRE_005
 						
 					function f_CSE_DMR_CRE_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu return ResponsePrimitive {
     				
-							// Local variables
-							var MsgIn v_response;
-							var RequestPrimitive v_request;
-							var integer v_aeIndex := -1;
-							var integer v_resourceIndex := -1;
-											   
-							// Test control
-    				
-							// Test component configuration
-							f_cf01Up();
-    				
-							// Test adapter configuration
-    				
-							// Preamble
-							v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
-						
-							// Test Body
-							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
-    					
-							mcaPort.send(m_request(v_request));
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response {
-									tc_ac.stop;
-									setverdict(pass, __SCOPE__ & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType)));
-									f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive);
-									v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex);
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Wrong response status code");
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType)));
-								}
-								[] tc_ac.timeout {
-									setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
-								}
-							}	
-    								
-							f_checkAeSimuStatus();
-    						
-							//Check to see if the resource is present or not
-							if(f_isResourcePresent(v_resourceIndex)){
-								setverdict(pass, __SCOPE__ & ":INFO: Resource created");
-							} else {
-								setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+										   
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+					
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType)));
+								f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive);
+								v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex);
 							}
-    								
-							// Postamble
-							f_cse_postamble_deleteResources();
-							
-							// Tear down
-							f_cf01Down();
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType)));
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+							}
+						}	
+								
+						f_checkAeSimuStatus();
 						
-							return vc_response.primitive.responsePrimitive;
-    					    				
-						}//end f_CSE_DMR_CRE_006
+						//Check to see if the resource is present or not
+						if(f_isResourcePresent(v_resourceIndex)){
+							setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+						} else {
+							setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+						}
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					
+						return vc_response.primitive.responsePrimitive;
+					    				
+					}//end f_CSE_DMR_CRE_006
 						
 					function f_CSE_DMR_CRE_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeList p_optionalAttribute) runs on AeSimu {
     				
-							// Local variables
-							var MsgIn v_response;
-							var RequestPrimitive v_request;
-							var integer v_containerIndex := -1;
-							var integer v_parentIndex := -1;
-							var integer v_acpAuxIndex := -1;
-							var integer v_ae2Index := -1;
-							const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs";
-							var integer v_resourceIndex := -1;
-							var XSD.NCName v_myOptionalAttribute := p_optionalAttribute[0];
-											   
-							// Test control
-							if(v_myOptionalAttribute == c_accessControlPolicyIDs) {
-								if(not(PICS_ACP_SUPPORT)) {
-									setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");
-									stop;
-								}
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_containerIndex := -1;
+						var integer v_parentIndex := -1;
+						var integer v_acpAuxIndex := -1;
+						var integer v_ae2Index := -1;
+						const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs";
+						var integer v_resourceIndex := -1;
+						var XSD.NCName v_myOptionalAttribute := p_optionalAttribute[0];
+										   
+						// Test control
+						if(v_myOptionalAttribute == c_accessControlPolicyIDs) {
+							if(not(PICS_ACP_SUPPORT)) {
+								setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");
+								stop;
 							}
+						}
 
-							// Test component configuration
-							f_cf01Up(true); 
+						// Test component configuration
+						f_cf01Up(true); 
 
-							// Test adapter configuration
+						// Test adapter configuration
 
-							// Preamble
-							if (v_myOptionalAttribute == c_accessControlPolicyIDs) {
-								v_acpAuxIndex := f_cse_preamble_createAcpAux();//c_CRUDNDi)
-							}     				
-							
-							v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
-							
-							f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
-							
-							
-							if(p_resourceType == int4) {
-								v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
-								v_parentIndex := v_containerIndex;
+						// Preamble
+						if (v_myOptionalAttribute == c_accessControlPolicyIDs) {
+							v_acpAuxIndex := f_cse_preamble_createAcpAux();//c_CRUDNDi)
+						}     				
+						
+						v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+						
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
+						
+						
+						if(p_resourceType == int4) {
+							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
+							v_parentIndex := v_containerIndex;
+						}
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
+					
+						if(v_myOptionalAttribute == "creator") {
+							mcaPort.send(m_request(v_request, {{v_myOptionalAttribute, omit}}));
+						} else {
+							mcaPort.send(m_request(v_request));
+						}
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & v_myOptionalAttribute);
+								f_checkAttributesToBeSaved(p_resourceType, v_request, v_response.primitive.responsePrimitive);
+								v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_parentIndex);
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
 							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " with incorrect attributes");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)));
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+							}
+						}	
+								
+						f_checkAeSimuStatus();
 						
-							// Test Body
-							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
-    					
-							if(v_myOptionalAttribute == "creator") {
-								mcaPort.send(m_request(v_request, {{v_myOptionalAttribute, omit}}));
-							} else {
-								mcaPort.send(m_request(v_request));
+						//Check to see if the resource is present or not
+						if(f_isResourcePresent(v_resourceIndex)) {
+							setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+						} else {
+							setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+						}
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    					    				
+					}//end f_CSE_DMR_CRE_012
+					
+					function f_CSE_DMR_CRE_014(ResourceType p_parentResourceType, template RequestPrimitive p_parentResourceRequestPrimitive, ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu {
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+			   
+						// Test control
+
+						// Test component configuration
+						f_cf01Up();
+
+						// Test adapter configuration
+
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+
+						v_resourceIndex := f_cse_createResource(p_parentResourceType, p_parentResourceRequestPrimitive, v_aeIndex);
+						
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_childResourceType, p_childRequestPrimitive, v_resourceIndex); 
+	
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Resource created");
 							}
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
-									tc_ac.stop;
-									setverdict(pass, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & v_myOptionalAttribute);
-									f_checkAttributesToBeSaved(p_resourceType, v_request, v_response.primitive.responsePrimitive);
-									v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_parentIndex);
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Wrong response status code");
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " with incorrect attributes");
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)));
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error when creating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+							}
+						}	
+						
+						//Check currentByteSize
+						mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
+
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								if(v_response.primitive.responsePrimitive.primitiveContent.container.currentByteSize == 8) { //Default content: "AnyValue" (8 bytes length)
+									setverdict(pass, __SCOPE__ & ": CurrentByteSize attribute in content resource is incremented successfully");	
 								}
-								[] tc_ac.timeout {
-									setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+								else{
+									setverdict(fail, __SCOPE__ & ": CurrentByteSize attribute in content resource not incremented successfully");
 								}
-							}	
-    								
-							f_checkAeSimuStatus();
-    						
-							//Check to see if the resource is present or not
-							if(f_isResourcePresent(v_resourceIndex)) {
-								setverdict(pass, __SCOPE__ & ":INFO: Resource created");
-							} else {
-								setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
 							}
-    								
-							// Postamble
-							f_cse_postamble_deleteResources();
-							
-							// Tear down
-							f_cf01Down();
-						    					    				
-						}//end f_CSE_DMR_CRE_012
-						
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
+							}
+						}	
+
+						// Postamble
+						f_cse_postamble_deleteResources();
+
+						// Tear down
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_CRE_014
+
 					function f_CSE_DMR_CRE_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu {
     				
 						// Local variables
@@ -3071,6 +3144,10 @@ module OneM2M_PermutationFunctions {
 							f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 							
 							v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
+							
+							if (p_resourceType==int2){
+								v_aeIndex := v_resourceIndex;
+							}
 										
 						} else {	//ResourceType = RemoteCSE
 													
@@ -3135,7 +3212,11 @@ module OneM2M_PermutationFunctions {
 						}
     				
 						// Test component configuration
-						f_cf01Up(true);
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						}
     				
 						// Test adapter configuration
     				
@@ -4470,6 +4551,62 @@ module OneM2M_PermutationFunctions {
 						f_cf01Down();
     					    				
 					}//end f_CSE_DMR_UPD_008
+					
+					function f_CSE_DMR_UPD_009(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu {
+	    				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_ae2Index := -1;
+							   
+						// Test control
+	
+						// Test component configuration
+						f_cf01Up(true);
+	
+						// Test adapter configuration
+	
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
+		
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
+												
+						// Test Body
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+		
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4102))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Operation not allowed. Attribute not updated with an unacceptable value");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Attribute has been updated with an unacceptable value");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
+							}
+						}	
+					
+						vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+					
+						// Postamble
+						f_cse_postamble_deleteResources();
+		
+						// Tear down
+						f_cf01Down();
+		    				
+					}//end f_CSE_DMR_UPD_009
     				
 					function f_CSE_DMR_UPD_014(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
 	
@@ -5401,6 +5538,58 @@ module OneM2M_PermutationFunctions {
 		} // end group Group_Managment
 		
 		group Discovery {
+			
+			function f_CSE_DIS_008(in FilterCriteria p_filterCriteria) runs on AeSimu {
+			
+				//Local variables
+				var MsgIn v_response;
+				var integer v_aeIndex := -1;
+				var integer v_resourceIndex := -1;
+				var RequestPrimitive v_request;
+				var integer v_childResourceIndex := -1;
+				const ResourceType c_containerResourceType := int3; 
+	
+				// Test control
+	
+				// Test component configuration
+				f_cf01Up();
+	
+				// Test adapter configuration
+	
+				// Preamble
+				v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+	
+				v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex);
+				v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex); 
+				v_request := valueof(m_retrieveFilterCriteria(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), p_filterCriteria));
+				mcaPort.send(m_request(v_request));
+				tc_ac.start;
+				alt {
+	
+					[] mcaPort.receive(mw_response(mw_responsePrimitive(int4102))) -> value v_response {
+						tc_ac.stop;
+						setverdict(pass, __SCOPE__ & ": Contents Unacceptable");
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Wrong response status code while retrieving resource");
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Wrong response while retrieving resource");
+					}
+					[] tc_ac.timeout {
+						setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
+					}
+				}	
+				
+				 // Postamble
+				 f_cse_postamble_deleteResources();
+	
+				 // Tear down
+				 f_cf01Down();
+			
+			}	// end f_CSE_DIS_008
         	
 		} //end group Group Discovery
 		
diff --git a/OneM2M_TestControl_ADN_profile_3.ttcn b/OneM2M_TestControl_ADN_profile_3.ttcn
index 85f6ef05e09b488535e67dd8239495aae8c469ae..ca513fc3ee1c1fbfbfcf1b95fab0b225a0566e5a 100644
--- a/OneM2M_TestControl_ADN_profile_3.ttcn
+++ b/OneM2M_TestControl_ADN_profile_3.ttcn
@@ -15,34 +15,35 @@ module OneM2M_TestControl_ADN_profile_3 {
 
 
 	import from OneM2M_Testcases_AE_Release_1 all;	
+	import from OneM2M_Pics all;
 
 	control {
 
 		//AE_GEN_00001
-		if(true) {execute (TC_AE_GEN_CRE_001_CSR());}
-		if(true) {execute (TC_AE_GEN_CRE_001_SPR());}
-		if(true) {execute (TC_AE_GEN_CRE_001_ABS());}
-		if(true) {execute (TC_AE_GEN_CRE_002_CSR());}
-		if(true) {execute (TC_AE_GEN_CRE_002_SPR());}
-		if(true) {execute (TC_AE_GEN_CRE_002_ABS());}
-		if(true) {execute (TC_AE_GEN_UPD_001_CSR());}
-		if(true) {execute (TC_AE_GEN_UPD_001_SPR());}
-		if(true) {execute (TC_AE_GEN_UPD_001_ABS());}
-		if(true) {execute (TC_AE_GEN_UPD_002_CSR());}
-		if(true) {execute (TC_AE_GEN_UPD_002_SPR());}
-		if(true) {execute (TC_AE_GEN_UPD_002_ABS());}
-		if(true) {execute (TC_AE_GEN_RET_001_CSR());}
-		if(true) {execute (TC_AE_GEN_RET_001_SPR());}
-		if(true) {execute (TC_AE_GEN_RET_001_ABS());}
-		if(true) {execute (TC_AE_GEN_RET_002_CSR());}
-		if(true) {execute (TC_AE_GEN_RET_002_SPR());}
-		if(true) {execute (TC_AE_GEN_RET_002_ABS());}
-		if(true) {execute (TC_AE_GEN_DEL_001_CSR());}
-		if(true) {execute (TC_AE_GEN_DEL_001_SPR());}
-		if(true) {execute (TC_AE_GEN_DEL_001_ABS());}
-		if(true) {execute (TC_AE_GEN_DEL_002_CSR());}
-		if(true) {execute (TC_AE_GEN_DEL_002_SPR());}
-		if(true) {execute (TC_AE_GEN_DEL_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_ABS());}
 		//AE_GEN_00002
 		if(true) {execute (TC_AE_DMR_CRE_001());}
 		//AE_REG_00002
diff --git a/OneM2M_TestControl_ADN_profile_4.ttcn b/OneM2M_TestControl_ADN_profile_4.ttcn
index dd440773164168dcd964983729fc3e6051d72dcf..4fa671f7ada3bb76c8a0c83f3d357d37a4e918a0 100644
--- a/OneM2M_TestControl_ADN_profile_4.ttcn
+++ b/OneM2M_TestControl_ADN_profile_4.ttcn
@@ -15,33 +15,34 @@ module OneM2M_TestControl_ADN_profile_4 {
 
 
 	import from OneM2M_Testcases_AE_Release_1 all;	
+	import from OneM2M_Pics all;
 	
 	control {
 		//AE_GEN_00001
-		if(true) {execute (TC_AE_GEN_CRE_001_CSR());}
-		if(true) {execute (TC_AE_GEN_CRE_001_SPR());}
-		if(true) {execute (TC_AE_GEN_CRE_001_ABS());}
-		if(true) {execute (TC_AE_GEN_CRE_002_CSR());}
-		if(true) {execute (TC_AE_GEN_CRE_002_SPR());}
-		if(true) {execute (TC_AE_GEN_CRE_002_ABS());}
-		if(true) {execute (TC_AE_GEN_UPD_001_CSR());}
-		if(true) {execute (TC_AE_GEN_UPD_001_SPR());}
-		if(true) {execute (TC_AE_GEN_UPD_001_ABS());}
-		if(true) {execute (TC_AE_GEN_UPD_002_CSR());}
-		if(true) {execute (TC_AE_GEN_UPD_002_SPR());}
-		if(true) {execute (TC_AE_GEN_UPD_002_ABS());}
-		if(true) {execute (TC_AE_GEN_RET_001_CSR());}
-		if(true) {execute (TC_AE_GEN_RET_001_SPR());}
-		if(true) {execute (TC_AE_GEN_RET_001_ABS());}
-		if(true) {execute (TC_AE_GEN_RET_002_CSR());}
-		if(true) {execute (TC_AE_GEN_RET_002_SPR());}
-		if(true) {execute (TC_AE_GEN_RET_002_ABS());}
-		if(true) {execute (TC_AE_GEN_DEL_001_CSR());}
-		if(true) {execute (TC_AE_GEN_DEL_001_SPR());}
-		if(true) {execute (TC_AE_GEN_DEL_001_ABS());}
-		if(true) {execute (TC_AE_GEN_DEL_002_CSR());}
-		if(true) {execute (TC_AE_GEN_DEL_002_SPR());}
-		if(true) {execute (TC_AE_GEN_DEL_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_ABS());}
 		//AE_GEN_00002 
 		if(true) {execute (TC_AE_DMR_CRE_001());}
 		if(true) {execute (TC_AE_DMR_RET_001_CB());}
@@ -72,13 +73,13 @@ module OneM2M_TestControl_ADN_profile_4 {
 		if(true) {execute (TC_AE_DMR_RET_001_AE());}
 		//AE/DMR/00001
 		if(true) {execute (TC_AE_DMR_CRE_001());}
-		if(true) {execute (TC_AE_DMR_CRE_004_RN());}
-		if(true) {execute (TC_AE_DMR_CRE_004_ET());}
-		if(true) {execute (TC_AE_DMR_CRE_004_LBL());}
-		if(true) {execute (TC_AE_DMR_CRE_004_CR());}
-		if(true) {execute (TC_AE_DMR_CRE_004_MNI());}
-		if(true) {execute (TC_AE_DMR_CRE_004_MBS());}
-		if(true) {execute (TC_AE_DMR_CRE_004_MIA());}
+		if(PICS_CNT_RN) {execute (TC_AE_DMR_CRE_004_RN());}
+		if(PICS_CNT_ET) {execute (TC_AE_DMR_CRE_004_ET());}
+		if(PICS_CNT_LBL) {execute (TC_AE_DMR_CRE_004_LBL());}
+		if(PICS_CNT_CR) {execute (TC_AE_DMR_CRE_004_CR());}
+		if(PICS_CNT_MNI) {execute (TC_AE_DMR_CRE_004_MNI());}
+		if(PICS_CNT_MBS) {execute (TC_AE_DMR_CRE_004_MBS());}
+		if(PICS_CNT_MIA) {execute (TC_AE_DMR_CRE_004_MIA());}
 		if(true) {execute (TC_AE_DMR_UPD_002_ET());}
 		if(true) {execute (TC_AE_DMR_UPD_002_LBL());}
 		if(true) {execute (TC_AE_DMR_UPD_002_MNI());}
@@ -88,11 +89,11 @@ module OneM2M_TestControl_ADN_profile_4 {
 		if(true) {execute (TC_AE_DMR_RET_004());}
 		//AE/DMR/00002
 		if(true) {execute (TC_AE_DMR_CRE_002());}
-		if(true) {execute (TC_AE_DMR_CRE_003_RN());}
-		if(true) {execute (TC_AE_DMR_CRE_003_ET());}
-		if(true) {execute (TC_AE_DMR_CRE_003_LBL());}
-		if(true) {execute (TC_AE_DMR_CRE_003_CR());}
-		if(true) {execute (TC_AE_DMR_CRE_003_CNF());}
+		if(PICS_CIN_RN) {execute (TC_AE_DMR_CRE_003_RN());}
+		if(PICS_CIN_ET) {execute (TC_AE_DMR_CRE_003_ET());}
+		if(PICS_CIN_LBL) {execute (TC_AE_DMR_CRE_003_LBL());}
+		if(PICS_CIN_CR) {execute (TC_AE_DMR_CRE_003_CR());}
+		if(PICS_CIN_CNF) {execute (TC_AE_DMR_CRE_003_CNF());}
 		if(true) {execute (TC_AE_DMR_RET_005());}
 		if(true) {execute (TC_AE_DMR_RET_002());}
 		if(true) {execute (TC_AE_DMR_RET_003());}
@@ -106,18 +107,18 @@ module OneM2M_TestControl_ADN_profile_4 {
 		if(true) {execute (TC_AE_REG_CRE_002_OR());}
 		if(true) {execute (TC_AE_DMR_UPD_001_OR());}
 		// AE/DMR/00001
-		if(true) {execute (TC_AE_DMR_CRE_004_ACPI());}
-		if(true) {execute (TC_AE_DMR_CRE_004_OR());}
+		if(PICS_CNT_ACPI) {execute (TC_AE_DMR_CRE_004_ACPI());}
+		if(PICS_CNT_OR) {execute (TC_AE_DMR_CRE_004_OR());}
 		//if(true) {execute (TC_AE_DMR_CRE_004_LI());}//TODO To be implemented
 		//AE/SUB/00001
 		//if(true) {execute (TC_AE_SUB_CRE_002_LBL());}//TODO To be implemented. TP As well
-		if(true) {execute (TC_AE_SUB_CRE_002_SU());}
-		if(true) {execute (TC_AE_SUB_CRE_002_ACPI());}
-		if(true) {execute (TC_AE_SUB_CRE_002_ENC());}
-		if(true) {execute (TC_AE_SUB_CRE_002_EXC());}
-		if(true) {execute (TC_AE_SUB_CRE_002_NFU());}
-		if(true) {execute (TC_AE_SUB_CRE_002_NCT());}
-		if(true) {execute (TC_AE_SUB_CRE_002_NEC());}
+		if(PICS_SUB_SU) {execute (TC_AE_SUB_CRE_002_SU());}
+		if(PICS_SUB_ACPI) {execute (TC_AE_SUB_CRE_002_ACPI());}
+		if(PICS_SUB_ENC) {execute (TC_AE_SUB_CRE_002_ENC());}
+		if(PICS_SUB_EXC) {execute (TC_AE_SUB_CRE_002_EXC());}
+		if(PICS_SUB_NFU) {execute (TC_AE_SUB_CRE_002_NFU());}
+		if(PICS_SUB_NCT) {execute (TC_AE_SUB_CRE_002_NCT());}
+		if(PICS_SUB_NEC) {execute (TC_AE_SUB_CRE_002_NEC());}
 		if(true) {execute (TC_AE_SUB_NTF_001());}
 		if(true) {execute (TC_AE_SUB_NTF_002());}
 
diff --git a/OneM2M_TestControl_ASN_profile.ttcn b/OneM2M_TestControl_ASN_profile.ttcn
index 035d56642f96853c4a5fb0444b0dc6e85fc4fdc6..6d81a4d006d690f06062bf0f0a659ef66752f9fa 100644
--- a/OneM2M_TestControl_ASN_profile.ttcn
+++ b/OneM2M_TestControl_ASN_profile.ttcn
@@ -14,48 +14,21 @@
 module OneM2M_TestControl_ASN_profile {
 
 
-	import from OneM2M_Testcases_CSE_Release_1 all;	
+	import from OneM2M_Testcases_CSE_Release_1 all;
+	import from OneM2M_Pics all;	
 
 	control {	
 
 		//CE_GEN_00001
-		if(true) {execute (TC_CSE_GEN_CRE_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_CRE_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_CRE_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_RET_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_RET_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_RET_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_RET_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_RET_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_RET_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_ABS());}
-		
+
 		//CE_GEN_00002 
 				
 		//CE_REG_00005
-		if(true) {execute (TC_CSE_REG_CRE_024());}
-		if(true) {execute (TC_CSE_DMR_RET_013_CSR());}
-		if(true) {execute (TC_CSE_REG_CRE_026_POA());}
+		if(PICS_ASN_CSE) {execute (TC_CSE_REG_CRE_024());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_CRE_026_POA());}
 		
 		//CE_DMR_00002
-		if(true) {execute (TC_CSE_DMR_CRE_001_CIN_CNT());}
-		if(true) {execute (TC_CSE_DMR_RET_001_CIN());}
-		if(true) {execute (TC_CSE_DMR_UPD_011());}
-		if(true) {execute (TC_CSE_DMR_DEL_001_CIN());}
+
 	
 	}
 
diff --git a/OneM2M_TestControl_Constrained_actuator_as_ADN.ttcn b/OneM2M_TestControl_Constrained_actuator_as_ADN.ttcn
index de116e76504498410ebc1a23c2dd8269550f7e2e..039553c3f014593a80c2e191fed6ff7560c5f644 100644
--- a/OneM2M_TestControl_Constrained_actuator_as_ADN.ttcn
+++ b/OneM2M_TestControl_Constrained_actuator_as_ADN.ttcn
@@ -15,34 +15,35 @@ module OneM2M_TestControl_Constrained_actuator_as_ADN {
 
 
 	import from OneM2M_Testcases_AE_Release_1 all;	
+	import from OneM2M_Pics all;
 			
 	control {
 		
 		//AE_GEN_00001
-		if(true) {execute (TC_AE_GEN_CRE_001_CSR());}
-		if(true) {execute (TC_AE_GEN_CRE_001_SPR());}
-		if(true) {execute (TC_AE_GEN_CRE_001_ABS());}
-		if(true) {execute (TC_AE_GEN_CRE_002_CSR());}
-		if(true) {execute (TC_AE_GEN_CRE_002_SPR());}
-		if(true) {execute (TC_AE_GEN_CRE_002_ABS());}
-		if(true) {execute (TC_AE_GEN_UPD_001_CSR());}
-		if(true) {execute (TC_AE_GEN_UPD_001_SPR());}
-		if(true) {execute (TC_AE_GEN_UPD_001_ABS());}
-		if(true) {execute (TC_AE_GEN_UPD_002_CSR());}
-		if(true) {execute (TC_AE_GEN_UPD_002_SPR());}
-		if(true) {execute (TC_AE_GEN_UPD_002_ABS());}
-		if(true) {execute (TC_AE_GEN_RET_001_CSR());}
-		if(true) {execute (TC_AE_GEN_RET_001_SPR());}
-		if(true) {execute (TC_AE_GEN_RET_001_ABS());}
-		if(true) {execute (TC_AE_GEN_RET_002_CSR());}
-		if(true) {execute (TC_AE_GEN_RET_002_SPR());}
-		if(true) {execute (TC_AE_GEN_RET_002_ABS());}
-		if(true) {execute (TC_AE_GEN_DEL_001_CSR());}
-		if(true) {execute (TC_AE_GEN_DEL_001_SPR());}
-		if(true) {execute (TC_AE_GEN_DEL_001_ABS());}
-		if(true) {execute (TC_AE_GEN_DEL_002_CSR());}
-		if(true) {execute (TC_AE_GEN_DEL_002_SPR());}
-		if(true) {execute (TC_AE_GEN_DEL_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_CRE_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_UPD_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_ABS());}
 		//AE_GEN_00002
 		if(true) {execute (TC_AE_DMR_CRE_001());}
 		//AE_REG_00002
diff --git a/OneM2M_TestControl_Constrained_sensor_as_ADN.ttcn b/OneM2M_TestControl_Constrained_sensor_as_ADN.ttcn
index fa27767a1aa25bdba444e2b4a3a61bd98868f84c..17c5fcc4366a0d469e6b3875b41e0f9c1fd938fd 100644
--- a/OneM2M_TestControl_Constrained_sensor_as_ADN.ttcn
+++ b/OneM2M_TestControl_Constrained_sensor_as_ADN.ttcn
@@ -15,34 +15,35 @@ module OneM2M_TestControl_Constrained_sensor_as_ADN {
 
 
 	import from OneM2M_Testcases_AE_Release_1 all;	
+	import from OneM2M_Pics all;
 			
 	control {
 	
 		//AE_GEN_00001
-		if(true){execute (TC_AE_GEN_CRE_001_CSR());}
-		if(true){execute (TC_AE_GEN_CRE_001_SPR());}
-		if(true){execute (TC_AE_GEN_CRE_001_ABS());}
-		if(true){execute (TC_AE_GEN_CRE_002_CSR());}
-		if(true){execute (TC_AE_GEN_CRE_002_SPR());}
-		if(true){execute (TC_AE_GEN_CRE_002_ABS());}
-		if(true){execute (TC_AE_GEN_UPD_001_CSR());}
-		if(true){execute (TC_AE_GEN_UPD_001_SPR());}
-		if(true){execute (TC_AE_GEN_UPD_001_ABS());}
-		if(true){execute (TC_AE_GEN_UPD_002_CSR());}
-		if(true){execute (TC_AE_GEN_UPD_002_SPR());}
-		if(true){execute (TC_AE_GEN_UPD_002_ABS());}
-		if(true){execute (TC_AE_GEN_RET_001_CSR());}
-		if(true){execute (TC_AE_GEN_RET_001_SPR());}
-		if(true){execute (TC_AE_GEN_RET_001_ABS());}
-		if(true) {execute (TC_AE_GEN_RET_002_CSR());}
-		if(true) {execute (TC_AE_GEN_RET_002_SPR());}
-		if(true) {execute (TC_AE_GEN_RET_002_ABS());}
-		if(true) {execute (TC_AE_GEN_DEL_001_CSR());}
-		if(true) {execute (TC_AE_GEN_DEL_001_SPR());}
-		if(true) {execute (TC_AE_GEN_DEL_001_ABS());}
-		if(true) {execute (TC_AE_GEN_DEL_002_CSR());}
-		if(true) {execute (TC_AE_GEN_DEL_002_SPR());}
-		if(true) {execute (TC_AE_GEN_DEL_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_CRE_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_CRE_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_CRE_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_CRE_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_CRE_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_CRE_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_UPD_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_UPD_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_UPD_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_UPD_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_UPD_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_UPD_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_RET_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_RET_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT){execute (TC_AE_GEN_RET_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_RET_002_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_001_ABS());}
+		if(PICS_PRIMITIVE_SCOPE_CSE_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_CSR());}
+		if(PICS_PRIMITIVE_SCOPE_SP_RELATIVE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_SPR());}
+		if(PICS_PRIMITIVE_SCOPE_ABSOLUTE and PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_AE_GEN_DEL_002_ABS());}
 		
 		//AE_GEN_00002 
 		if(true) {execute (TC_AE_DMR_CRE_001());}
@@ -61,19 +62,19 @@ module OneM2M_TestControl_Constrained_sensor_as_ADN {
 		if(true) {execute (TC_AE_REG_CRE_002_APN());}
 		//AE/DMR/00001
 		if(true) {execute (TC_AE_DMR_CRE_001());}
-		if(true) {execute (TC_AE_DMR_CRE_004_RN());}
-		if(true) {execute (TC_AE_DMR_CRE_004_ET());}
-		if(true) {execute (TC_AE_DMR_CRE_004_LBL());}
-		if(true) {execute (TC_AE_DMR_CRE_004_CR());}
-		if(true) {execute (TC_AE_DMR_CRE_004_MNI());}
-		if(true) {execute (TC_AE_DMR_CRE_004_MBS());}
-		if(true) {execute (TC_AE_DMR_CRE_004_MIA());}
+		if(PICS_CNT_RN) {execute (TC_AE_DMR_CRE_004_RN());}
+		if(PICS_CNT_ET) {execute (TC_AE_DMR_CRE_004_ET());}
+		if(PICS_CNT_LBL) {execute (TC_AE_DMR_CRE_004_LBL());}
+		if(PICS_CNT_CR) {execute (TC_AE_DMR_CRE_004_CR());}
+		if(PICS_CNT_MNI) {execute (TC_AE_DMR_CRE_004_MNI());}
+		if(PICS_CNT_MBS) {execute (TC_AE_DMR_CRE_004_MBS());}
+		if(PICS_CNT_MIA) {execute (TC_AE_DMR_CRE_004_MIA());}
 		//AE/DMR/00002
-		if(true) {execute (TC_AE_DMR_CRE_003_RN());}
-		if(true) {execute (TC_AE_DMR_CRE_003_ET());}
-		if(true) {execute (TC_AE_DMR_CRE_003_LBL());}
-		if(true) {execute (TC_AE_DMR_CRE_003_CR());}
-		if(true) {execute (TC_AE_DMR_CRE_003_CNF());}
+		if(PICS_CIN_RN) {execute (TC_AE_DMR_CRE_003_RN());}
+		if(PICS_CIN_ET) {execute (TC_AE_DMR_CRE_003_ET());}
+		if(PICS_CIN_LBL) {execute (TC_AE_DMR_CRE_003_LBL());}
+		if(PICS_CIN_CR) {execute (TC_AE_DMR_CRE_003_CR());}
+		if(PICS_CIN_CNF) {execute (TC_AE_DMR_CRE_003_CNF());}
 		
 	}
 			
diff --git a/OneM2M_TestControl_IN_profile.ttcn b/OneM2M_TestControl_IN_profile.ttcn
index 0a45cbf5529a7855de1d4d067cf044db24fe4b40..e1074f54b54c04ee5d55b6b8412e60f19b0dd2f7 100644
--- a/OneM2M_TestControl_IN_profile.ttcn
+++ b/OneM2M_TestControl_IN_profile.ttcn
@@ -15,34 +15,35 @@ module OneM2M_TestControl_IN_profile {
 
 
 	import from OneM2M_Testcases_CSE_Release_1 all;	
+	import from OneM2M_Pics all;
 
 	control {	
 
 		//CE_GEN_00001
-		if(true) {execute (TC_CSE_GEN_CRE_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_CRE_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_CRE_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_RET_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_RET_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_RET_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_RET_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_RET_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_RET_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_ABS());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_001_CSR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_001_SPR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_001_ABS());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_001_CSR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_001_SPR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_001_ABS());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_001_CSR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_001_SPR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_001_ABS());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_001_CSR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_001_SPR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_001_ABS());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_002_CSR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_002_SPR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_002_ABS());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_002_CSR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_002_SPR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_002_ABS());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_002_CSR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_002_SPR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_002_ABS());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_002_CSR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_002_SPR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_002_ABS());}
 		
 		//CE_GEN_00002 
 		
@@ -52,9 +53,9 @@ module OneM2M_TestControl_IN_profile {
 		if(true) {execute (TC_CSE_REG_RET_008());}
 		if(true) {execute (TC_CSE_REG_UPD_001());}
 		if(true) {execute (TC_CSE_REG_DEL_001());}
-		if(true) {execute (TC_CSE_REG_RET_002_CST());}
-		if(true) {execute (TC_CSE_REG_RET_005());}
-		if(true) {execute (TC_CSE_REG_RET_002_NL());}
+		if(PICS_CB_CST) {execute (TC_CSE_REG_RET_002_CST());}
+		if(PICS_IN_CSE) {execute (TC_CSE_REG_RET_005());}
+		if(PICS_CB_NL) {execute (TC_CSE_REG_RET_002_NL());}
 
 		//CE_REG_00002
 		if(true) {execute (TC_CSE_REG_RET_003());}
@@ -63,23 +64,23 @@ module OneM2M_TestControl_IN_profile {
 		if(true) {execute (TC_CSE_DMR_UPD_016_AE_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_AE_RR());}
 		if(true) {execute (TC_CSE_REG_CRE_004());}
-		if(true) {execute (TC_CSE_REG_CRE_009());}
+		if(PICS_IN_CSE) {execute (TC_CSE_REG_CRE_009());}
 		if(true) {execute (TC_CSE_REG_CRE_011());}
 		if(true) {execute (TC_CSE_REG_CRE_016());}
 		if(true) {execute (TC_CSE_REG_CRE_017_API());}
 		if(true) {execute (TC_CSE_REG_CRE_017_RR());}
 		if(true) {execute (TC_CSE_REG_CRE_022());}
 		if(true) {execute (TC_CSE_REG_CRE_023());}
-		if(true) {execute (TC_CSE_REG_CRE_012_AE_LBL());}
-		if(true) {execute (TC_CSE_REG_RET_004_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_AE_LBL());}
-		if(true) {execute (TC_CSE_REG_CRE_012_AE_APN());}
-		if(true) {execute (TC_CSE_REG_RET_004_APN());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_AE_APN());}
-		if(true) {execute (TC_CSE_REG_CRE_012_AE_POA());}
-		if(true) {execute (TC_CSE_REG_RET_004_POA());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_AE_POA());}
-		if(true) {execute (TC_CSE_REG_CRE_001());}
+		if(PICS_AE_LBL) {execute (TC_CSE_REG_CRE_012_AE_LBL());}
+		if(PICS_AE_LBL) {execute (TC_CSE_REG_RET_004_LBL());}
+		if(PICS_AE_LBL) {execute (TC_CSE_DMR_UPD_015_AE_LBL());}
+		if(PICS_AE_APN) {execute (TC_CSE_REG_CRE_012_AE_APN());}
+		if(PICS_AE_APN) {execute (TC_CSE_REG_RET_004_APN());}
+		if(PICS_AE_APN) {execute (TC_CSE_DMR_UPD_015_AE_APN());}
+		if(PICS_AE_POA) {execute (TC_CSE_REG_CRE_012_AE_POA());}
+		if(PICS_AE_POA) {execute (TC_CSE_REG_RET_004_POA());}
+		if(PICS_AE_POA) {execute (TC_CSE_DMR_UPD_015_AE_POA());}
+		if(PICS_IN_CSE) {execute (TC_CSE_REG_CRE_001());}
 		if(true) {execute (TC_CSE_REG_CRE_002());}
 		
 		//CE_REG_00004
@@ -91,20 +92,20 @@ module OneM2M_TestControl_IN_profile {
 		if(true) {execute (TC_CSE_REG_DEL_002());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_CSR_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_CSR_RR());}
-		if(true) {execute (TC_CSE_REG_CRE_013_LBL());}
-		if(true) {execute (TC_CSE_REG_CRE_028_LBL());}
-		if(true) {execute (TC_CSE_REG_RET_007_LBL());}
-		if(true) {execute (TC_CSE_REG_UPD_002_LBL());}
-		if(true) {execute (TC_CSE_REG_CRE_013_CST());}
-		if(true) {execute (TC_CSE_REG_RET_007_CST());}
-		if(true) {execute (TC_CSE_REG_CRE_013_POA());}
-		if(true) {execute (TC_CSE_REG_CRE_028_POA());}
-		if(true) {execute (TC_CSE_REG_RET_007_POA());}
-		if(true) {execute (TC_CSE_REG_UPD_002_POA());}
-		if(true) {execute (TC_CSE_REG_CRE_013_NL());}
-		if(true) {execute (TC_CSE_REG_CRE_028_NL());}
-		if(true) {execute (TC_CSE_REG_RET_007_NL());}
-		if(true) {execute (TC_CSE_REG_UPD_002_NL());}
+		if(PICS_CSR_LBL) {execute (TC_CSE_REG_CRE_013_LBL());}
+		if(PICS_CSR_LBL) {execute (TC_CSE_REG_CRE_028_LBL());}
+		if(PICS_CSR_LBL) {execute (TC_CSE_REG_RET_007_LBL());}
+		if(PICS_CSR_LBL) {execute (TC_CSE_REG_UPD_002_LBL());}
+		if(PICS_CSR_CST) {execute (TC_CSE_REG_CRE_013_CST());}
+		if(PICS_CSR_CST) {execute (TC_CSE_REG_RET_007_CST());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_CRE_013_POA());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_CRE_028_POA());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_RET_007_POA());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_UPD_002_POA());}
+		if(PICS_CSR_NL) {execute (TC_CSE_REG_CRE_013_NL());}
+		if(PICS_CSR_NL) {execute (TC_CSE_REG_CRE_028_NL());}
+		if(PICS_CSR_NL) {execute (TC_CSE_REG_RET_007_NL());}
+		if(PICS_CSR_NL) {execute (TC_CSE_REG_UPD_002_NL());}
 		
 
 		//CE_DMR_00001
@@ -115,48 +116,54 @@ module OneM2M_TestControl_IN_profile {
 		if(true) {execute (TC_CSE_DMR_CRE_003_CNT());}
 		if(true) {execute (TC_CSE_DMR_CRE_007 ());}
 		if(true) {execute (TC_CSE_DMR_CRE_008 ());}
+		if(true) {execute (TC_CSE_DMR_CRE_009 ());}
+		if(true) {execute (TC_CSE_DMR_CRE_010 ());}
+		if(true) {execute (TC_CSE_DMR_CRE_011 ());}
 		if(true) {execute (TC_CSE_DMR_RET_001_CNT());}
 		if(true) {execute (TC_CSE_DMR_RET_013_CNT());}
+		if(true) {execute (TC_CSE_DMR_CRE_014_CNT_CIN ());}
 		if(true) {execute (TC_CSE_DMR_UPD_001_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_002_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_003_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_002_CNT_LBL());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_003_CNT_LBL());}
+		if(PICS_CNT_MNI and PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_005_CNT_EXC());}
 		if(true) {execute (TC_CSE_DMR_UPD_007_CNT_CT());}
 		if(true) {execute (TC_CSE_DMR_UPD_008_CNT_ET());}
-		//if(true) {execute (TC_CSE_DMR_UPD_009_CNT_LBL());}//TODO TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DMR_UPD_009_CNT_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_010 ());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_CNT_ET());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_CNT());}
+		if(true) {execute (TC_CSE_DMR_DEL_005 ());}
 		if(true) {execute (TC_CSE_DMR_DEL_006());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_CR());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_CRE_012_CNT_LBL());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_014_CNT_LBL());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_015_CNT_LBL());}
+		if(PICS_CNT_CR) {execute (TC_CSE_DMR_CRE_012_CNT_CR());}
 		if(true) {execute (TC_CSE_DMR_CRE_005_MNI());}
 		if(true) {execute (TC_CSE_DMR_CRE_006_MNI());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_MNI());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_MNI());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_MNI());}
+		if(PICS_CNT_MNI) {execute (TC_CSE_DMR_CRE_012_CNT_MNI());}
+		if(PICS_CNT_MNI) {execute (TC_CSE_DMR_UPD_014_CNT_MNI());}
+		if(PICS_CNT_MNI) {execute (TC_CSE_DMR_UPD_015_CNT_MNI());}
 		if(true) {execute (TC_CSE_DMR_CRE_005_MBS());}
 		if(true) {execute (TC_CSE_DMR_CRE_006_MBS());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_MBS());}
+		if(PICS_CNT_MBS) {execute (TC_CSE_DMR_CRE_012_CNT_MBS());}
 		if(true) {execute (TC_CSE_DMR_CRE_013());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_MBS());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_MBS());}
+		if(PICS_CNT_MBS) {execute (TC_CSE_DMR_UPD_014_CNT_MBS());}
+		if(PICS_CNT_MBS) {execute (TC_CSE_DMR_UPD_015_CNT_MBS());}
 		if(true) {execute (TC_CSE_DMR_CRE_005_MIA());}
 		if(true) {execute (TC_CSE_DMR_CRE_006_MIA());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_MIA());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_MIA());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_MIA());}
+		if(PICS_CNT_MIA) {execute (TC_CSE_DMR_CRE_012_CNT_MIA());}
+		if(PICS_CNT_MIA) {execute (TC_CSE_DMR_UPD_014_CNT_MIA());}
+		if(PICS_CNT_MIA) {execute (TC_CSE_DMR_UPD_015_CNT_MIA());}
 
 		//CE_DMR_00002
 		if(true) {execute (TC_CSE_DMR_CRE_001_CIN_CNT());}
 		if(true) {execute (TC_CSE_DMR_RET_001_CIN());}
 		if(true) {execute (TC_CSE_DMR_UPD_011());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_CIN());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CIN_LBL());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CIN_CR());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CIN_CNF());}
+		if(PICS_CIN_LBL) {execute (TC_CSE_DMR_CRE_012_CIN_LBL());}
+		if(PICS_CIN_CR) {execute (TC_CSE_DMR_CRE_012_CIN_CR());}
+		if(PICS_CIN_CNF) {execute (TC_CSE_DMR_CRE_012_CIN_CNF());}
 		if(true) {execute (TC_CSE_DMR_RET_012());}
 		if(true) {execute (TC_CSE_DMR_UPD_012());}
 		if(true) {execute (TC_CSE_DMR_DEL_007());}
@@ -175,21 +182,21 @@ module OneM2M_TestControl_IN_profile {
 		if(true) {execute (TC_CSE_DMR_RET_001_SUB());}
 		if(true) {execute (TC_CSE_DMR_RET_013_SUB());}
 		if(true) {execute (TC_CSE_DMR_UPD_001_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_002_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_003_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_004_SUB_ET_LBL_EXC());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_UPD_002_SUB_LBL());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_UPD_003_SUB_LBL());}
+		if(PICS_SUB_LBL and PICS_SUB_EXC) {execute (TC_CSE_DMR_UPD_004_SUB_ET_LBL_EXC());}
 		if(true) {execute (TC_CSE_DMR_UPD_005_SUB_MNI());}
 		if(true) {execute (TC_CSE_DMR_UPD_007_SUB_CT());}
 		if(true) {execute (TC_CSE_DMR_UPD_008_SUB_ET());}
-		//if(true) {execute (TC_CSE_DMR_UPD_009_SUB_LBL());}TODO TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DMR_UPD_009_SUB_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_SUB_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_SUB_NU());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_SUB_NCT());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_SUB());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_SUB_CR());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_CRE_012_SUB_LBL());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_UPD_014_SUB_LBL());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_UPD_015_SUB_LBL());}
+		if(PICS_SUB_CR) {execute (TC_CSE_DMR_CRE_012_SUB_CR());}
 
 		//CE_SUB_00004
 		if(true) {execute (TC_CSE_SUB_CRE_001_SUB());}
@@ -208,13 +215,13 @@ module OneM2M_TestControl_IN_profile {
 		if(true) {execute (TC_CSE_DMR_RET_001_ACP());}
 		if(true) {execute (TC_CSE_DMR_RET_013_ACP());}
 		if(true) {execute (TC_CSE_DMR_UPD_001_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_002_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_003_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_004_ACP_PV_AT_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_002_ACP_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_003_ACP_LBL());}
+		if(PICS_ACP_AT and PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_004_ACP_PV_AT_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_005_ACP_EXC());}
 		if(true) {execute (TC_CSE_DMR_UPD_007_ACP_CT());}
 		if(true) {execute (TC_CSE_DMR_UPD_008_ACP_ET());}
-		//if(true) {execute (TC_CSE_DMR_UPD_009_ACP_LBL());} TODO TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DMR_UPD_009_ACP_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_ACP_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_ACP_PV());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_ACP_PVS());}
@@ -223,37 +230,37 @@ module OneM2M_TestControl_IN_profile {
 		if(true) {execute (TC_CSE_SEC_ACP_CRE_002());}
 		if(true) {execute (TC_CSE_SEC_ACP_CRE_003());} 
 		if(true) {execute (TC_CSE_SEC_ACP_CRE_004());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_ACP_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_CRE_012_ACP_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_014_ACP_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_015_ACP_LBL());}
 
 		//CE_SEC_00002
-		if(true) {execute (TC_CSE_DMR_CRE_012_SUB_ACPI());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_ACPI());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_ACPI());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_AE_ACPI());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_ACPI());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_SUB_ACPI());}
+		if(PICS_SUB_ACPI) {execute (TC_CSE_DMR_CRE_012_SUB_ACPI());}
+		if(PICS_CNT_ACPI) {execute (TC_CSE_DMR_CRE_012_CNT_ACPI());}
+		if(PICS_CNT_ACPI) {execute (TC_CSE_DMR_UPD_014_CNT_ACPI());}
+		if(PICS_AE_ACPI) {execute (TC_CSE_DMR_UPD_015_AE_ACPI());}
+		if(PICS_CNT_ACPI) {execute (TC_CSE_DMR_UPD_015_CNT_ACPI());}
+		if(PICS_SUB_ACPI) {execute (TC_CSE_DMR_UPD_015_SUB_ACPI());}
 		if(true) {execute (TC_CSE_SEC_ACP_UPD_001());}
 		if(true) {execute (TC_CSE_SEC_ACP_UPD_002());}
-		if(true) {execute (TC_CSE_DMR_CRE_004_CNT());}
-		if(true) {execute (TC_CSE_DMR_CRE_004_ACP());}
-		if(true) {execute (TC_CSE_DMR_CRE_004_SUB());}
-		if(true) {execute (TC_CSE_DMR_RET_003_ACP());}
-		if(true) {execute (TC_CSE_DMR_RET_003_CNT());}
-		if(true) {execute (TC_CSE_DMR_RET_003_SUB());}
-		if(true) {execute (TC_CSE_DMR_RET_014_ACP());}
-		if(true) {execute (TC_CSE_DMR_RET_014_AE());}
-		if(true) {execute (TC_CSE_DMR_RET_014_CNT());}
-		//if(true) {execute (TC_CSE_DMR_RET_014_CSR());} TODO TO BE IMPLEMENTED
-		if(true) {execute (TC_CSE_DMR_RET_014_SUB());}
-		if(true) {execute (TC_CSE_DMR_UPD_006_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_006_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_006_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_DEL_002_CNT());}
-		if(true) {execute (TC_CSE_DMR_DEL_002_ACP());}
-		if(true) {execute (TC_CSE_DMR_DEL_002_SUB());}
-		if(true) {execute (TC_CSE_SUB_CRE_002());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_CRE_004_CNT());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_CRE_004_ACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_CRE_004_SUB());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_003_ACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_003_CNT());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_003_SUB());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_ACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_AE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_CNT());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_CSR());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_SUB());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_UPD_006_CNT_LBL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_UPD_006_ACP_LBL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_UPD_006_SUB_LBL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_DEL_002_CNT());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_DEL_002_ACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_DEL_002_SUB());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_SUB_CRE_002());}
 		if(true) {execute (TC_CSE_SEC_ACP_001_CRE());}
 		if(true) {execute (TC_CSE_SEC_ACP_001_UPD());}
 		if(true) {execute (TC_CSE_SEC_ACP_001_RET());}
@@ -305,83 +312,86 @@ module OneM2M_TestControl_IN_profile {
 		
 		//Extendable Feature set
 		if(true) {execute (TC_CSE_DIS_001());}
-		//if(true) {execute (TC_CSE_DIS_002());}//TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DIS_002());}
 		if(true) {execute (TC_CSE_DIS_003());}
 		if(true) {execute (TC_CSE_DIS_004());}
-		if(true) {execute (TC_CSE_DIS_005());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DIS_005());}
 		if(true) {execute (TC_CSE_DIS_006());}
 		if(true) {execute (TC_CSE_DIS_007());}
-		//if(true) {execute (TC_CSE_DIS_008());}//TO BE IMPLEMENTED
-		//if(true) {execute (TC_CSE_DIS_009());}//TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DIS_008_CRB_CRA());}
+		if(true) {execute (TC_CSE_DIS_008_MS_US());}
+		if(true) {execute (TC_CSE_DIS_008_STS_STB());}
+		if(true) {execute (TC_CSE_DIS_008_EXB_EXA());}
+		if(true) {execute (TC_CSE_DIS_009());}
 		if(true) {execute (TC_CSE_DMR_CRE_001_GRP_CB());}
 		if(true) {execute (TC_CSE_DMR_CRE_001_GRP_AE());}
 		if(true) {execute (TC_CSE_DMR_CRE_002_GRP());}
 		if(true) {execute (TC_CSE_DMR_CRE_003_GRP());}
-		if(true) {execute (TC_CSE_DMR_CRE_004_GRP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_CRE_004_GRP());}
 		if(true) {execute (TC_CSE_DMR_RET_001_GRP());}
-		if(true) {execute (TC_CSE_DMR_RET_003_GRP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_003_GRP());}
 		if(true) {execute (TC_CSE_DMR_RET_013_GRP());}
-		if(true) {execute (TC_CSE_DMR_RET_014_GRP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_GRP());}
 		if(true) {execute (TC_CSE_DMR_UPD_001_GRP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_002_GRP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_003_GRP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_004_GRP_ET_GN_LBL());}
+		if(PICS_GRP_LBL) {execute (TC_CSE_DMR_UPD_002_GRP_LBL());}
+		if(PICS_GRP_LBL) {execute (TC_CSE_DMR_UPD_003_GRP_LBL());}
+		if(PICS_GRP_GN and PICS_GRP_LBL) {execute (TC_CSE_DMR_UPD_004_GRP_ET_GN_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_005_GRP_EXC());}
-		if(true) {execute (TC_CSE_DMR_UPD_006_GRP_LBL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_UPD_006_GRP_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_007_GRP_CT());}
 		if(true) {execute (TC_CSE_DMR_UPD_008_GRP_ET());}
-		//if(true) {execute (TC_CSE_DMR_UPD_009_GRP_LBL());}//TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DMR_UPD_009_GRP_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_GRP_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_GRP_MNM());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_GRP_MID());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_GRP());}
-		if(true) {execute (TC_CSE_DMR_DEL_002_GRP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_DEL_002_GRP());}
 		if(true) {execute (TC_CSE_GMG_CRE_001());}
 		if(true) {execute (TC_CSE_GMG_CRE_003());}
 		if(true) {execute (TC_CSE_GMG_UPD_002());}
 		if(true) {execute (TC_CSE_GMG_UPD_007());}
 		if(true) {execute (TC_CSE_GMG_UPD_008());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_GRP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_GRP_GN());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_GRP_ACPI());}
-		if(true) {execute (TC_CSE_GMG_CRE_002());}
+		if(PICS_GRP_LBL) {execute (TC_CSE_DMR_UPD_015_GRP_LBL());}
+		if(PICS_GRP_GN) {execute (TC_CSE_DMR_UPD_015_GRP_GN());}
+		if(PICS_GRP_ACPI) {execute (TC_CSE_DMR_UPD_015_GRP_ACPI());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_CRE_002());}
 		if(true) {execute (TC_CSE_GMG_CRE_004());}
 		if(true) {execute (TC_CSE_GMG_CRE_005());}
 		if(true) {execute (TC_CSE_GMG_CRE_006());}
 		if(true) {execute (TC_CSE_GMG_CRE_007());}
-		if(true) {execute (TC_CSE_GMG_UPD_001());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_UPD_001());}
 		if(true) {execute (TC_CSE_GMG_UPD_003());}
 		if(true) {execute (TC_CSE_GMG_UPD_004());}
 		if(true) {execute (TC_CSE_GMG_UPD_005());}
 		if(true) {execute (TC_CSE_GMG_UPD_006());}
 		if(true) {execute (TC_CSE_GMG_UPD_009());}
 		if(true) {execute (TC_CSE_GMG_UPD_010());}
-		if(true) {execute (TC_CSE_GMG_RET_001());}
-		if(true) {execute (TC_CSE_GMG_001_CRE());}
-		if(true) {execute (TC_CSE_GMG_001_RET());}
-		if(true) {execute (TC_CSE_GMG_001_UPD());}
-		if(true) {execute (TC_CSE_GMG_001_DEL());}
-		if(true) {execute (TC_CSE_GMG_002_CRE());}
-		if(true) {execute (TC_CSE_GMG_002_RET());}
-		if(true) {execute (TC_CSE_GMG_002_UPD());}
-		if(true) {execute (TC_CSE_GMG_002_DEL());}
-		if(true) {execute (TC_CSE_GMG_003_CRE());}
-		if(true) {execute (TC_CSE_GMG_003_RET());}
-		if(true) {execute (TC_CSE_GMG_003_UPD());}
-		if(true) {execute (TC_CSE_GMG_003_DEL());}
-		if(true) {execute (TC_CSE_GMG_004_CRE());}
-		if(true) {execute (TC_CSE_GMG_004_RET());}
-		if(true) {execute (TC_CSE_GMG_004_UPD());}
-		if(true) {execute (TC_CSE_GMG_004_DEL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_RET_001());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_001_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_001_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_001_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_001_DEL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_002_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_002_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_002_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_002_DEL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_003_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_003_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_003_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_003_DEL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_004_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_004_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_004_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_004_DEL());}
 		if(true) {execute (TC_CSE_GMG_005_CRE());}
 		if(true) {execute (TC_CSE_GMG_005_RET());}
 		if(true) {execute (TC_CSE_GMG_005_UPD());}
 		if(true) {execute (TC_CSE_GMG_005_DEL());}
-		if(true) {execute (TC_CSE_GMG_006_CRE());}
-		if(true) {execute (TC_CSE_GMG_006_RET());}
-		if(true) {execute (TC_CSE_GMG_006_UPD());}
-		if(true) {execute (TC_CSE_GMG_006_DEL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_GRP_MACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_006_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_006_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_006_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_006_DEL());}
+		if(PICS_GRP_MACP) {execute (TC_CSE_DMR_UPD_015_GRP_MACP());}
 	}
 }  // end of module OneM2M_TestControl_IN_profile
 
diff --git a/OneM2M_TestControl_MN_profile.ttcn b/OneM2M_TestControl_MN_profile.ttcn
index ff32407e8218d7a58f71b62ab0720b425387bd19..fe328d7629437cacc845f8a82e71e639935b27dc 100644
--- a/OneM2M_TestControl_MN_profile.ttcn
+++ b/OneM2M_TestControl_MN_profile.ttcn
@@ -15,34 +15,35 @@ module OneM2M_TestControl_MN_profile {
 
 
 	import from OneM2M_Testcases_CSE_Release_1 all;	
+	import from OneM2M_Pics all;
 
 	control {	
 
 		//CE_GEN_00001
-		if(true) {execute (TC_CSE_GEN_CRE_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_CRE_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_CRE_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_RET_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_RET_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_RET_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_UPD_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_CSR());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_SPR());}
-		if(true) {execute (TC_CSE_GEN_DEL_001_ABS());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_CRE_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_RET_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_RET_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_RET_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_UPD_002_ABS());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_CSR());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_SPR());}
-		if(true) {execute (TC_CSE_GEN_DEL_002_ABS());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_001_CSR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_001_SPR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_001_ABS());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_001_CSR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_001_SPR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_001_ABS());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_001_CSR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_001_SPR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_001_ABS());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_001_CSR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_001_SPR());}
+		if(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_001_ABS());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_002_CSR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_002_SPR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_CRE_002_ABS());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_002_CSR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_002_SPR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_RET_002_ABS());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_002_CSR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_002_SPR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_UPD_002_ABS());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_002_CSR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_002_SPR());}
+		if(PICS_STRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT) {execute (TC_CSE_GEN_DEL_002_ABS());}
 		
 		//CE_GEN_00002 
 		
@@ -52,9 +53,8 @@ module OneM2M_TestControl_MN_profile {
 		if(true) {execute (TC_CSE_REG_RET_008());}
 		if(true) {execute (TC_CSE_REG_UPD_001());}
 		if(true) {execute (TC_CSE_REG_DEL_001());}
-		if(true) {execute (TC_CSE_REG_RET_002_CST());}
-		if(true) {execute (TC_CSE_REG_RET_005());}
-		if(true) {execute (TC_CSE_REG_RET_002_NL());}
+		if(PICS_CB_CST) {execute (TC_CSE_REG_RET_002_CST());}
+		if(PICS_CB_NL) {execute (TC_CSE_REG_RET_002_NL());}
 
 		//CE_REG_00002
 		if(true) {execute (TC_CSE_REG_RET_003());}
@@ -64,28 +64,28 @@ module OneM2M_TestControl_MN_profile {
 		if(true) {execute (TC_CSE_DMR_UPD_016_AE_RR());}
 		if(true) {execute (TC_CSE_REG_CRE_004());}
 		if(true) {execute (TC_CSE_REG_CRE_005());}
-		//if(true) {execute (TC_CSE_REG_CRE_006());}//TODO TO BE IMPLEMENTED
-		//if(true) {execute (TC_CSE_REG_CRE_007());}//TODO TO BE IMPLEMENTED
-		if(true) {execute (TC_CSE_REG_CRE_008());}
-		if(true) {execute (TC_CSE_REG_CRE_010());}
+		if(PICS_MN_CSE or PICS_ASN_CSE) {execute (TC_CSE_REG_CRE_006());}
+		if(PICS_MN_CSE) {execute (TC_CSE_REG_CRE_007());}
+		if(PICS_MN_CSE) {execute (TC_CSE_REG_CRE_008());}
+		if(PICS_MN_CSE) {execute (TC_CSE_REG_CRE_010());}
 		if(true) {execute (TC_CSE_REG_CRE_011());}
 		if(true) {execute (TC_CSE_REG_CRE_016());}
 		if(true) {execute (TC_CSE_REG_CRE_017_API());}
 		if(true) {execute (TC_CSE_REG_CRE_017_RR());}
 		if(true) {execute (TC_CSE_REG_CRE_022());}
 		if(true) {execute (TC_CSE_REG_CRE_023());}
-		if(true) {execute (TC_CSE_REG_CRE_012_AE_LBL());}
-		if(true) {execute (TC_CSE_REG_RET_004_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_AE_LBL());}
-		if(true) {execute (TC_CSE_REG_CRE_012_AE_APN());}
-		if(true) {execute (TC_CSE_REG_RET_004_APN());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_AE_APN());}
-		if(true) {execute (TC_CSE_REG_CRE_012_AE_POA());}
-		if(true) {execute (TC_CSE_REG_RET_004_POA());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_AE_POA());}
+		if(PICS_AE_LBL) {execute (TC_CSE_REG_CRE_012_AE_LBL());}
+		if(PICS_AE_LBL) {execute (TC_CSE_REG_RET_004_LBL());}
+		if(PICS_AE_LBL) {execute (TC_CSE_DMR_UPD_015_AE_LBL());}
+		if(PICS_AE_APN) {execute (TC_CSE_REG_CRE_012_AE_APN());}
+		if(PICS_AE_APN) {execute (TC_CSE_REG_RET_004_APN());}
+		if(PICS_AE_APN) {execute (TC_CSE_DMR_UPD_015_AE_APN());}
+		if(PICS_AE_POA) {execute (TC_CSE_REG_CRE_012_AE_POA());}
+		if(PICS_AE_POA) {execute (TC_CSE_REG_RET_004_POA());}
+		if(PICS_AE_POA) {execute (TC_CSE_DMR_UPD_015_AE_POA());}
 		if(true) {execute (TC_CSE_REG_CRE_002());}
-		if(true) {execute (TC_CSE_REG_CRE_003());}
-		if(true) {execute (TC_CSE_REG_CRE_020());}
+		//if(true) {execute (TC_CSE_REG_CRE_003());} //TO BE IMPLEMENTED
+		if(PICS_MN_CSE or PICS_ASN_CSE) {execute (TC_CSE_REG_CRE_020());}
 
 		//CE_REG_00004
 		if(true) {execute (TC_CSE_REG_CRE_018());}
@@ -96,40 +96,40 @@ module OneM2M_TestControl_MN_profile {
 		if(true) {execute (TC_CSE_REG_DEL_002());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_CSR_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_CSR_RR());}
-		if(true) {execute (TC_CSE_REG_CRE_028_LBL());}
-		if(true) {execute (TC_CSE_REG_RET_007_LBL());}
-		if(true) {execute (TC_CSE_REG_UPD_002_LBL());}
-		if(true) {execute (TC_CSE_REG_CRE_013_CST());}
+		if(PICS_CSR_LBL) {execute (TC_CSE_REG_CRE_028_LBL());}
+		if(PICS_CSR_LBL) {execute (TC_CSE_REG_RET_007_LBL());}
+		if(PICS_CSR_LBL) {execute (TC_CSE_REG_UPD_002_LBL());}
+		if(PICS_CSR_CST) {execute (TC_CSE_REG_CRE_013_CST());}
 		if(true) {execute (TC_CSE_REG_CRE_027());}
-		if(true) {execute (TC_CSE_REG_RET_007_CST());}
-		if(true) {execute (TC_CSE_REG_CRE_013_POA());}
-		if(true) {execute (TC_CSE_REG_CRE_028_POA());}
-		if(true) {execute (TC_CSE_REG_RET_007_POA());}
-		if(true) {execute (TC_CSE_REG_UPD_002_POA());}
-		if(true) {execute (TC_CSE_REG_CRE_013_NL());}
-		if(true) {execute (TC_CSE_REG_CRE_028_NL());}
-		if(true) {execute (TC_CSE_REG_RET_007_NL());}
-		if(true) {execute (TC_CSE_REG_UPD_002_NL());}
+		if(PICS_CSR_CST) {execute (TC_CSE_REG_RET_007_CST());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_CRE_013_POA());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_CRE_028_POA());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_RET_007_POA());}
+		if(PICS_CSR_POA) {execute (TC_CSE_REG_UPD_002_POA());}
+		if(PICS_CSR_NL) {execute (TC_CSE_REG_CRE_013_NL());}
+		if(PICS_CSR_NL) {execute (TC_CSE_REG_CRE_028_NL());}
+		if(PICS_CSR_NL) {execute (TC_CSE_REG_RET_007_NL());}
+		if(PICS_CSR_NL) {execute (TC_CSE_REG_UPD_002_NL());}
 		
 		//CE_REG_00005
-		if(true) {execute (TC_CSE_REG_CRE_024());}
+		if(PICS_MN_CSE) {execute (TC_CSE_REG_CRE_024());}
 		if(true) {execute (TC_CSE_DMR_RET_013_CSR());}
-		if(true) {execute (TC_CSE_REG_CRE_026_RN());}
-		if(true) {execute (TC_CSE_REG_CRE_026_ET());}
-		if(true) {execute (TC_CSE_REG_CRE_026_LBL());}
-		if(true) {execute (TC_CSE_REG_CRE_026_CST());}
-		if(true) {execute (TC_CSE_REG_CRE_026_POA());}
-		if(true) {execute (TC_CSE_REG_CRE_026_NL());}
-		if(true) {execute (TC_CSE_REG_UPD_003_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CSR_LBL());}
-		if(true) {execute (TC_CSE_REG_UPD_003_ET());}
-		if(true) {execute (TC_CSE_REG_UPD_003_POA());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CSR_POA());}
-		if(true) {execute (TC_CSE_REG_UPD_003_RR());}
-		if(true) {execute (TC_CSE_REG_UPD_003_NL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CSR_NL());}
-		if(true) {execute (TC_CSE_REG_DEL_004());}
-		if(true) {execute (TC_CSE_REG_RET_009());}				
+		if(PICS_MN_CSE and PICS_CSR_RN) {execute (TC_CSE_REG_CRE_026_RN());}
+		if(PICS_MN_CSE and PICS_CSR_ET) {execute (TC_CSE_REG_CRE_026_ET());}
+		if(PICS_MN_CSE and PICS_CSR_LBL) {execute (TC_CSE_REG_CRE_026_LBL());}
+		if(PICS_MN_CSE and PICS_CSR_CST) {execute (TC_CSE_REG_CRE_026_CST());}
+		if(PICS_MN_CSE and PICS_CSR_POA) {execute (TC_CSE_REG_CRE_026_POA());}
+		if(PICS_MN_CSE and PICS_CSR_NL) {execute (TC_CSE_REG_CRE_026_NL());}
+		if(PICS_MN_CSE and PICS_CSR_LBL) {execute (TC_CSE_REG_UPD_003_LBL());}
+		if(PICS_CSR_LBL) {execute (TC_CSE_DMR_UPD_015_CSR_LBL());}
+		if(PICS_MN_CSE and PICS_CSR_ET) {execute (TC_CSE_REG_UPD_003_ET());}
+		if(PICS_MN_CSE and PICS_CSR_POA) {execute (TC_CSE_REG_UPD_003_POA());}
+		if(PICS_CSR_POA) {execute (TC_CSE_DMR_UPD_015_CSR_POA());}
+		if(PICS_MN_CSE and PICS_CSR_RR) {execute (TC_CSE_REG_UPD_003_RR());}
+		if(PICS_MN_CSE and PICS_CSR_NL) {execute (TC_CSE_REG_UPD_003_NL());}
+		if(PICS_CSR_NL) {execute (TC_CSE_DMR_UPD_015_CSR_NL());}
+		if(PICS_MN_CSE) {execute (TC_CSE_REG_DEL_004());}
+		if(PICS_MN_CSE) {execute (TC_CSE_REG_RET_009());}				
 		
 		//CE_DMR_00001
 		if(true) {execute (TC_CSE_DMR_CRE_001_CNT_CB());}
@@ -139,48 +139,54 @@ module OneM2M_TestControl_MN_profile {
 		if(true) {execute (TC_CSE_DMR_CRE_003_CNT());}
 		if(true) {execute (TC_CSE_DMR_CRE_007 ());}
 		if(true) {execute (TC_CSE_DMR_CRE_008 ());}
+		if(true) {execute (TC_CSE_DMR_CRE_009 ());}
+		if(true) {execute (TC_CSE_DMR_CRE_010 ());}
+		if(true) {execute (TC_CSE_DMR_CRE_011 ());}
 		if(true) {execute (TC_CSE_DMR_RET_001_CNT());}
 		if(true) {execute (TC_CSE_DMR_RET_013_CNT());}
+		if(true) {execute (TC_CSE_DMR_CRE_014_CNT_CIN ());}
 		if(true) {execute (TC_CSE_DMR_UPD_001_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_002_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_003_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_002_CNT_LBL());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_003_CNT_LBL());}
+		if(PICS_CNT_MNI and PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_005_CNT_EXC());}
 		if(true) {execute (TC_CSE_DMR_UPD_007_CNT_CT());}
 		if(true) {execute (TC_CSE_DMR_UPD_008_CNT_ET());}
-		//if(true) {execute (TC_CSE_DMR_UPD_009_CNT_LBL());}//TODO TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DMR_UPD_009_CNT_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_010());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_CNT_ET());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_CNT());}
+		if(true) {execute (TC_CSE_DMR_DEL_005 ());}
 		if(true) {execute (TC_CSE_DMR_DEL_006());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_CR());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_CRE_012_CNT_LBL());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_014_CNT_LBL());}
+		if(PICS_CNT_LBL) {execute (TC_CSE_DMR_UPD_015_CNT_LBL());}
+		if(PICS_CNT_CR) {execute (TC_CSE_DMR_CRE_012_CNT_CR());}
 		if(true) {execute (TC_CSE_DMR_CRE_005_MNI());}
 		if(true) {execute (TC_CSE_DMR_CRE_006_MNI());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_MNI());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_MNI());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_MNI());}
+		if(PICS_CNT_MNI) {execute (TC_CSE_DMR_CRE_012_CNT_MNI());}
+		if(PICS_CNT_MNI) {execute (TC_CSE_DMR_UPD_014_CNT_MNI());}
+		if(PICS_CNT_MNI) {execute (TC_CSE_DMR_UPD_015_CNT_MNI());}
 		if(true) {execute (TC_CSE_DMR_CRE_005_MBS());}
 		if(true) {execute (TC_CSE_DMR_CRE_006_MBS());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_MBS());}
+		if(PICS_CNT_MBS) {execute (TC_CSE_DMR_CRE_012_CNT_MBS());}
 		if(true) {execute (TC_CSE_DMR_CRE_013());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_MBS());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_MBS());}
+		if(PICS_CNT_MBS) {execute (TC_CSE_DMR_UPD_014_CNT_MBS());}
+		if(PICS_CNT_MBS) {execute (TC_CSE_DMR_UPD_015_CNT_MBS());}
 		if(true) {execute (TC_CSE_DMR_CRE_005_MIA());}
 		if(true) {execute (TC_CSE_DMR_CRE_006_MIA());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_MIA());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_MIA());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_MIA());}
+		if(PICS_CNT_MIA) {execute (TC_CSE_DMR_CRE_012_CNT_MIA());}
+		if(PICS_CNT_MIA) {execute (TC_CSE_DMR_UPD_014_CNT_MIA());}
+		if(PICS_CNT_MIA) {execute (TC_CSE_DMR_UPD_015_CNT_MIA());}
 
 		//CE_DMR_00002
 		if(true) {execute (TC_CSE_DMR_CRE_001_CIN_CNT());}
 		if(true) {execute (TC_CSE_DMR_RET_001_CIN());}
 		if(true) {execute (TC_CSE_DMR_UPD_011());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_CIN());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CIN_LBL());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CIN_CR());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CIN_CNF());}
+		if(PICS_CIN_LBL) {execute (TC_CSE_DMR_CRE_012_CIN_LBL());}
+		if(PICS_CIN_CR) {execute (TC_CSE_DMR_CRE_012_CIN_CR());}
+		if(PICS_CIN_CNF) {execute (TC_CSE_DMR_CRE_012_CIN_CNF());}
 		if(true) {execute (TC_CSE_DMR_RET_012());}
 		if(true) {execute (TC_CSE_DMR_UPD_012());}
 		if(true) {execute (TC_CSE_DMR_DEL_007());}
@@ -199,21 +205,21 @@ module OneM2M_TestControl_MN_profile {
 		if(true) {execute (TC_CSE_DMR_RET_001_SUB());}
 		if(true) {execute (TC_CSE_DMR_RET_013_SUB());}
 		if(true) {execute (TC_CSE_DMR_UPD_001_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_002_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_003_SUB_LBL());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_UPD_002_SUB_LBL());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_UPD_003_SUB_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_004_SUB_ET_LBL_EXC());}
 		if(true) {execute (TC_CSE_DMR_UPD_005_SUB_MNI());}
 		if(true) {execute (TC_CSE_DMR_UPD_007_SUB_CT());}
 		if(true) {execute (TC_CSE_DMR_UPD_008_SUB_ET());}
-		//if(true) {execute (TC_CSE_DMR_UPD_009_SUB_LBL());}TODO TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DMR_UPD_009_SUB_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_SUB_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_SUB_NU());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_SUB_NCT());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_SUB());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_SUB_CR());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_CRE_012_SUB_LBL());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_UPD_014_SUB_LBL());}
+		if(PICS_SUB_LBL) {execute (TC_CSE_DMR_UPD_015_SUB_LBL());}
+		if(PICS_SUB_CR) {execute (TC_CSE_DMR_CRE_012_SUB_CR());}
 
 		//CE_SUB_00004
 		if(true) {execute (TC_CSE_SUB_CRE_001_SUB());}
@@ -232,52 +238,52 @@ module OneM2M_TestControl_MN_profile {
 		if(true) {execute (TC_CSE_DMR_RET_001_ACP());}
 		if(true) {execute (TC_CSE_DMR_RET_013_ACP());}
 		if(true) {execute (TC_CSE_DMR_UPD_001_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_002_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_003_ACP_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_002_ACP_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_003_ACP_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_004_ACP_PV_AT_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_005_ACP_EXC());}
 		if(true) {execute (TC_CSE_DMR_UPD_007_ACP_CT());}
 		if(true) {execute (TC_CSE_DMR_UPD_008_ACP_ET());}
-		//if(true) {execute (TC_CSE_DMR_UPD_009_ACP_LBL());} TODO TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DMR_UPD_009_ACP_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_ACP_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_ACP_PV());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_ACP_PVS());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_ACP());}
 		if(true) {execute (TC_CSE_SEC_ACP_CRE_001());}
 		if(true) {execute (TC_CSE_SEC_ACP_CRE_002());}
-		//if(true) {execute (TC_CSE_SEC_ACP_CRE_003());} TODO TO BE IMPLEMENTED
-		//if(true) {execute (TC_CSE_SEC_ACP_CRE_004());} TODO TO BE IMPLEMENTED
-		if(true) {execute (TC_CSE_DMR_CRE_012_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_ACP_LBL());}
+		if(true) {execute (TC_CSE_SEC_ACP_CRE_003());}
+		if(true) {execute (TC_CSE_SEC_ACP_CRE_004());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_CRE_012_ACP_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_014_ACP_LBL());}
+		if(PICS_ACP_LBL) {execute (TC_CSE_DMR_UPD_015_ACP_LBL());}
 
 		//CE_SEC_00002
-		if(true) {execute (TC_CSE_DMR_CRE_012_SUB_ACPI());}
-		if(true) {execute (TC_CSE_DMR_CRE_012_CNT_ACPI());}
-		if(true) {execute (TC_CSE_DMR_UPD_014_CNT_ACPI());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_AE_ACPI());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_CNT_ACPI());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_SUB_ACPI());}
+		if(PICS_SUB_ACPI) {execute (TC_CSE_DMR_CRE_012_SUB_ACPI());}
+		if(PICS_CNT_ACPI) {execute (TC_CSE_DMR_CRE_012_CNT_ACPI());}
+		if(PICS_CNT_ACPI) {execute (TC_CSE_DMR_UPD_014_CNT_ACPI());}
+		if(PICS_AE_ACPI) {execute (TC_CSE_DMR_UPD_015_AE_ACPI());}
+		if(PICS_CNT_ACPI) {execute (TC_CSE_DMR_UPD_015_CNT_ACPI());}
+		if(PICS_SUB_ACPI) {execute (TC_CSE_DMR_UPD_015_SUB_ACPI());}
 		if(true) {execute (TC_CSE_SEC_ACP_UPD_001());}
 		if(true) {execute (TC_CSE_SEC_ACP_UPD_002());}
-		if(true) {execute (TC_CSE_DMR_CRE_004_CNT());}
-		if(true) {execute (TC_CSE_DMR_CRE_004_ACP());}
-		if(true) {execute (TC_CSE_DMR_CRE_004_SUB());}
-		if(true) {execute (TC_CSE_DMR_RET_003_ACP());}
-		if(true) {execute (TC_CSE_DMR_RET_003_CNT());}
-		if(true) {execute (TC_CSE_DMR_RET_003_SUB());}
-		if(true) {execute (TC_CSE_DMR_RET_014_ACP());}
-		if(true) {execute (TC_CSE_DMR_RET_014_AE());}
-		if(true) {execute (TC_CSE_DMR_RET_014_CNT());}
-		//if(true) {execute (TC_CSE_DMR_RET_014_CSR());} TODO TO BE IMPLEMENTED
-		if(true) {execute (TC_CSE_DMR_RET_014_SUB());}
-		if(true) {execute (TC_CSE_DMR_UPD_006_CNT_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_006_ACP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_006_SUB_LBL());}
-		if(true) {execute (TC_CSE_DMR_DEL_002_CNT());}
-		if(true) {execute (TC_CSE_DMR_DEL_002_ACP());}
-		if(true) {execute (TC_CSE_DMR_DEL_002_SUB());}
-		if(true) {execute (TC_CSE_SUB_CRE_002());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_CRE_004_CNT());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_CRE_004_ACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_CRE_004_SUB());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_003_ACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_003_CNT());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_003_SUB());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_ACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_AE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_CNT());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_CSR());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_SUB());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_UPD_006_CNT_LBL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_UPD_006_ACP_LBL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_UPD_006_SUB_LBL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_DEL_002_CNT());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_DEL_002_ACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_DEL_002_SUB());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_SUB_CRE_002());}
 		if(true) {execute (TC_CSE_SEC_ACP_001_CRE());}
 		if(true) {execute (TC_CSE_SEC_ACP_001_UPD());}
 		if(true) {execute (TC_CSE_SEC_ACP_001_RET());}
@@ -329,82 +335,85 @@ module OneM2M_TestControl_MN_profile {
 	
 		//Extendable Feature set
 		if(true) {execute (TC_CSE_DIS_001());}
-		//if(true) {execute (TC_CSE_DIS_002());}//TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DIS_002());}
 		if(true) {execute (TC_CSE_DIS_003());}
 		if(true) {execute (TC_CSE_DIS_004());}
-		if(true) {execute (TC_CSE_DIS_005());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DIS_005());}
 		if(true) {execute (TC_CSE_DIS_006());}
 		if(true) {execute (TC_CSE_DIS_007());}
-		//if(true) {execute (TC_CSE_DIS_008());}//TO BE IMPLEMENTED
-		//if(true) {execute (TC_CSE_DIS_009());}//TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DIS_008_CRB_CRA());}
+		if(true) {execute (TC_CSE_DIS_008_MS_US());}
+		if(true) {execute (TC_CSE_DIS_008_STS_STB());}
+		if(true) {execute (TC_CSE_DIS_008_EXB_EXA());}
+		if(true) {execute (TC_CSE_DIS_009());}
 		if(true) {execute (TC_CSE_DMR_CRE_001_GRP_CB());}
 		if(true) {execute (TC_CSE_DMR_CRE_001_GRP_AE());}
 		if(true) {execute (TC_CSE_DMR_CRE_002_GRP());}
 		if(true) {execute (TC_CSE_DMR_CRE_003_GRP());}
-		if(true) {execute (TC_CSE_DMR_CRE_004_GRP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_CRE_004_GRP());}
 		if(true) {execute (TC_CSE_DMR_RET_001_GRP());}
 		if(true) {execute (TC_CSE_DMR_RET_013_GRP());}
-		if(true) {execute (TC_CSE_DMR_RET_014_GRP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_RET_014_GRP());}
 		if(true) {execute (TC_CSE_DMR_UPD_001_GRP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_002_GRP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_003_GRP_LBL());}
+		if(PICS_GRP_LBL) {execute (TC_CSE_DMR_UPD_002_GRP_LBL());}
+		if(PICS_GRP_LBL) {execute (TC_CSE_DMR_UPD_003_GRP_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_004_GRP_ET_GN_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_005_GRP_EXC());}
-		if(true) {execute (TC_CSE_DMR_UPD_006_GRP_LBL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_UPD_006_GRP_LBL());}
 		if(true) {execute (TC_CSE_DMR_UPD_007_GRP_CT());}
 		if(true) {execute (TC_CSE_DMR_UPD_008_GRP_ET());}
-		//if(true) {execute (TC_CSE_DMR_UPD_009_GRP_LBL());}//TO BE IMPLEMENTED
+		if(true) {execute (TC_CSE_DMR_UPD_009_GRP_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_GRP_ET());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_GRP_MNM());}
 		if(true) {execute (TC_CSE_DMR_UPD_016_GRP_MID());}
 		if(true) {execute (TC_CSE_DMR_DEL_001_GRP());}
-		if(true) {execute (TC_CSE_DMR_DEL_002_GRP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_DMR_DEL_002_GRP());}
 		if(true) {execute (TC_CSE_GMG_CRE_001());}
 		if(true) {execute (TC_CSE_GMG_CRE_003());}
 		if(true) {execute (TC_CSE_GMG_UPD_002());}
 		if(true) {execute (TC_CSE_GMG_UPD_007());}
 		if(true) {execute (TC_CSE_GMG_UPD_008());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_GRP_LBL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_GRP_GN());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_GRP_ACPI());}
-		if(true) {execute (TC_CSE_GMG_CRE_002());}
+		if(PICS_GRP_LBL) {execute (TC_CSE_DMR_UPD_015_GRP_LBL());}
+		if(PICS_GRP_GN) {execute (TC_CSE_DMR_UPD_015_GRP_GN());}
+		if(PICS_GRP_ACPI) {execute (TC_CSE_DMR_UPD_015_GRP_ACPI());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_CRE_002());}
 		if(true) {execute (TC_CSE_GMG_CRE_004());}
 		if(true) {execute (TC_CSE_GMG_CRE_005());}
 		if(true) {execute (TC_CSE_GMG_CRE_006());}
 		if(true) {execute (TC_CSE_GMG_CRE_007());}
-		if(true) {execute (TC_CSE_GMG_UPD_001());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_UPD_001());}
 		if(true) {execute (TC_CSE_GMG_UPD_003());}
 		if(true) {execute (TC_CSE_GMG_UPD_004());}
 		if(true) {execute (TC_CSE_GMG_UPD_005());}
 		if(true) {execute (TC_CSE_GMG_UPD_006());}
 		if(true) {execute (TC_CSE_GMG_UPD_009());}
 		if(true) {execute (TC_CSE_GMG_UPD_010());}
-		if(true) {execute (TC_CSE_GMG_RET_001());}
-		if(true) {execute (TC_CSE_GMG_001_CRE());}
-		if(true) {execute (TC_CSE_GMG_001_RET());}
-		if(true) {execute (TC_CSE_GMG_001_UPD());}
-		if(true) {execute (TC_CSE_GMG_001_DEL());}
-		if(true) {execute (TC_CSE_GMG_002_CRE());}
-		if(true) {execute (TC_CSE_GMG_002_RET());}
-		if(true) {execute (TC_CSE_GMG_002_UPD());}
-		if(true) {execute (TC_CSE_GMG_002_DEL());}
-		if(true) {execute (TC_CSE_GMG_003_CRE());}
-		if(true) {execute (TC_CSE_GMG_003_RET());}
-		if(true) {execute (TC_CSE_GMG_003_UPD());}
-		if(true) {execute (TC_CSE_GMG_003_DEL());}
-		if(true) {execute (TC_CSE_GMG_004_CRE());}
-		if(true) {execute (TC_CSE_GMG_004_RET());}
-		if(true) {execute (TC_CSE_GMG_004_UPD());}
-		if(true) {execute (TC_CSE_GMG_004_DEL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_RET_001());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_001_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_001_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_001_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_001_DEL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_002_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_002_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_002_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_002_DEL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_003_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_003_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_003_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_003_DEL());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_004_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_004_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_004_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_004_DEL());}
 		if(true) {execute (TC_CSE_GMG_005_CRE());}
 		if(true) {execute (TC_CSE_GMG_005_RET());}
 		if(true) {execute (TC_CSE_GMG_005_UPD());}
 		if(true) {execute (TC_CSE_GMG_005_DEL());}
-		if(true) {execute (TC_CSE_GMG_006_CRE());}
-		if(true) {execute (TC_CSE_GMG_006_RET());}
-		if(true) {execute (TC_CSE_GMG_006_UPD());}
-		if(true) {execute (TC_CSE_GMG_006_DEL());}
-		if(true) {execute (TC_CSE_DMR_UPD_015_GRP_MACP());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_006_CRE());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_006_RET());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_006_UPD());}
+		if(PICS_ACP_SUPPORT) {execute (TC_CSE_GMG_006_DEL());}
+		if(PICS_GRP_MACP) {execute (TC_CSE_DMR_UPD_015_GRP_MACP());}
 	}
 
 }  // end of module OneM2M_TestControl_IN_profile
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index 8ce6e979309713388ab746671e55607b0ff09ce4..8c84d226ce3d86507e9bbe129b7028430064f1fe 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -377,7 +377,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 			group Create{
 				
 				/**
-				 * @desc Check that the IUT accepts an AE registration (allowed App-ID, C-AE-ID-STEM not provided by AE)  
+				 * @desc Check that the IUT accepts a create request of <AE> resource with attributes multiplicity equals to 1 and provided preprovisioned SP_relative_ AE_ID.  
 				 * 
 				 */
 				testcase TC_CSE_REG_CRE_001() runs on AeSimu system CseSystem {
@@ -386,7 +386,8 @@ module OneM2M_Testcases_CSE_Release_1 {
 					var RequestPrimitive v_request;
 					var integer v_cseBaseIndex := -1;
 					var ResourceType v_resourceType := int2;
-	                
+					var charstring v_action :=  __SCOPE__ & ": Please, make sure that the following AE-ID is allowed to register: " & PX_ALLOWED_C_AE_IDS[0];
+					
 					//Test control
 					if(not(PICS_IN_CSE)) {
 						setverdict(inconc, __SCOPE__ & ": IUT shall be IN-CSE to run this test case");
@@ -397,9 +398,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 					f_cf01Up();
 	                
 					//Preamble
-
+					action(v_action);
+					f_sleepIgnoreDef(30.0);
+					
 					//Test Body
-					v_request := valueof(m_createAe(PX_APP_ID, omit, "S-AE-ID-STEM"));	
+					v_request := valueof(m_createAe(PX_APP_ID, omit, f_getResourceAddress(-1, -, e_spRelative) & "/" & PX_ALLOWED_C_AE_IDS[0]));	
 					
 					v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, -1);
 					
@@ -510,6 +513,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					var RequestPrimitive v_request;
 					var integer v_cseBaseIndex := -1;
 					var ResourceType v_resourceType := int2;
+					var charstring v_action :=  __SCOPE__ & ": Please, make sure that the following AE-ID is not allowed to register: " & PX_NOT_ALLOWED_C_AE_IDS[0];
 					
 					//Test control
 	                
@@ -520,6 +524,8 @@ module OneM2M_Testcases_CSE_Release_1 {
 					//vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
 					//TODO: create serviceSubscribedProfile, Node, and serviceSubscribedAppRule
 					//v_cseBaseIndex := f_cse_preamble_createServiceSubscribedProfile({"C*"}); //c_CRUDNDi);
+					action(v_action);
+					f_sleepIgnoreDef(30.0);
 					
 					//Test Body	
 					//v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM"));				
@@ -566,22 +572,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					f_cf02UpCseSimuMaster();
 		  	  	
 					//Preambule
-					//v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi);
 					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
 		
 					//Test Body
-					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit)));				
+					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, "S", omit)));				
 	    									
-					//v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex);
-		  	  		
-					//mcaPort.send(m_request(v_request));
 					tc_ac.start;
 					alt{
-						[]mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))){
+						[] mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))){
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
 						}
-						[]mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))){
+						[] mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))){
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
 						}
@@ -604,6 +606,118 @@ module OneM2M_Testcases_CSE_Release_1 {
 					f_cf02DownCseSimuMaster();
 						
 				}
+				
+				/**
+				 * @desc Check that the IUT accepts a create request of <AE> resource with attributes multiplicity equals to 1 and provided character ‘S’ in AE_ID_Stem ask for a SP_relative_AE_ID 
+				 * 
+				 */
+				testcase TC_CSE_REG_CRE_006() runs on InCseSimu system CseSystem {
+
+					var RequestPrimitive v_request;
+					var integer v_cseBaseIndex := -1;
+					var ResourceType v_resourceType := int2;
+	
+					//Test control
+					if(not(PICS_MN_CSE or PICS_ASN_CSE)) {
+						setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE or ASN-CSE to run this test case");
+						stop;
+					}
+    
+					// Test component configuration
+					f_cf02UpCseSimuMaster();
+
+					//Preambule
+					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
+					
+					//Test Body
+					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S")));
+					vc_ae1.done;
+							
+					tc_ac.start;
+
+					alt {
+						[] mccPortIn.receive(mw_request(mw_createAEAnnc(PX_CSE_ID, f_getLocalResourceAddress(vc_cSEBaseIndex), -, "S"))) {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
+						}
+						[] mccPortIn.receive {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error while creating AE");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
+						}
+					}	
+					
+					// Postamble
+					f_cse_postamble_deleteResourcesCSE();
+	
+					// Tear down
+					f_cf02DownCseSimuMaster();
+		
+				}	// end of TC_CSE_REG_CRE_006
+				
+				/**
+				 * @desc Check that the IUT accepts a create request of <AE> resource with attributes multiplicity equals to 1 and provided character ‘S’ in AE_ID_Stem ask for a SP_relative_AE_ID 
+				 * 
+				 */
+				testcase TC_CSE_REG_CRE_007() runs on AeSimu system CseSystem{
+
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					
+					//Test control
+					if(not(PICS_MN_CSE)) {
+						setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE to run this test case");
+						stop;
+					}
+					
+					// Test component configuration
+					f_cf02Up();
+					
+					//Preambule
+					vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));
+					vc_cse1.done;
+					
+					v_aeIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S"));
+					
+					vc_cse1.start(f_cse_resourceAnnouncementHandler());
+					vc_cse1.done;
+					
+					//Test Body
+					tc_ac.start;
+					
+					alt {
+						[] mcaPortIn.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+							tc_ac.stop;
+							//continue to test the content
+							if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE)){
+								if (v_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID == PX_APP_ID){
+									setverdict(pass, __SCOPE__ & ": AE creation success.");
+								}else{
+									setverdict(fail, __SCOPE__ & ": Error in AE content.");
+								}
+							}else{
+								setverdict(fail, __SCOPE__ & ": primitiveContent doesn't exist");
+							}
+						}
+						[] mcaPortIn.receive {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error while creating AE");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating AE");
+						}
+					}	
+									
+					// Postamble
+					f_cse_postamble_deleteResources();
+					
+					// Tear down
+					f_cf02Down();
+
+				}	// end of TC_CSE_REG_CRE_007
 
 				/**
 				 * @desc Check that the IUT accepts an AE re-registration (allowed M2M-SP-assigned AE-ID, S-AE-ID-STEM provided by AE), transfer request to the IN-CSE 
@@ -640,15 +754,15 @@ module OneM2M_Testcases_CSE_Release_1 {
 					tc_ac.start;
 	
 					alt {
-						[] mccPort.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))) {
+						[] mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))) {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
 						}
-						[] mccPort.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))) {
+						[] mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))) {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
 						}
-						[] mccPort.receive {
+						[] mccPortIn.receive {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ": Error while creating AE");
 						}
@@ -688,15 +802,20 @@ module OneM2M_Testcases_CSE_Release_1 {
 					//Preambule
 					
 					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
-									
-					v_aeAnncIndex := f_cse_announceResource(int2, m_createAEAnnc(-, "/" & "SAE1", PX_APP_ID, PX_CSE1_ID & "/" & "SAE1"));
+							
+					//Create AEAnnc				
+					v_aeAnncIndex := f_cse_announceResource(int2, m_createAEAnnc(-, PX_CSE1_ID & "/" & "S", PX_APP_ID, PX_CSE1_ID & "/" & "S"));
+					
+					//Update AEAnnc to simulate deregistration of AE
+					v_request := f_getUpdateRequestPrimitive(f_getAnnouncedResourceType(int2),v_aeAnncIndex, valueof(m_updateAEAnncBase));//TODO 
+					//v_request.primitiveContent.aEAnnc.link := "";//TODO To fix when base specs are fixed
+					
+					f_cse_updateAnnouncedResource(v_request);
 					
 					//Test Body
-					v_request := valueof(m_updateAEAnnc(-, -, -, PX_APP_ID, -));	//TODO to double check all parameters			
+					v_request := valueof(m_updateAEAnncBase);			
 	    									
 					v_request := f_getUpdateRequestPrimitive(f_getAnnouncedResourceType(int2),v_aeAnncIndex, v_request);//TODO 
-					v_request.from_ := f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S"; 
-					v_request.primitiveContent.aEAnnc.app_ID := PX_APP_ID;
 					v_request.primitiveContent.aEAnnc.labels := {"Credential-ID:None"};
 		  	  		
 					mccPort.send(m_request(v_request));
@@ -770,7 +889,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					tc_ac.start;
 	
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+						[] mcaPortIn.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
 							tc_ac.stop;
 							//continue to test the content
 							if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE)){
@@ -783,7 +902,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 								setverdict(fail, __SCOPE__ & ": primitiveContent doesn't exist");
 							}
 						}
-						[] mcaPort.receive {
+						[] mcaPortIn.receive {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ": Error while creating AE");
 						}
@@ -840,11 +959,6 @@ module OneM2M_Testcases_CSE_Release_1 {
 								setverdict(fail, __SCOPE__ & "Resource ID not set correctly.");
 							}
 							
-							if(f_isScopeSpRelative(v_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID)){
-								setverdict(pass, __SCOPE__ & "AE ID set correctly.");
-							} else {
-								setverdict(fail, __SCOPE__ & "AE ID not set correctly.");
-							}
 						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveInverse(int2001))) -> value v_response{
 							tc_ac.stop;
@@ -967,15 +1081,17 @@ module OneM2M_Testcases_CSE_Release_1 {
 					var RequestPrimitive v_request;
 					var integer v_cseBaseIndex := -1;
 					var ResourceType v_resourceType := int2;
-					
+					var charstring v_action :=  __SCOPE__ & ": Please, make sure that the following AppId is not allowed to register: " & PX_APP_ID;
+	   
 					//Test control
 	                
 					// Test component configuration
 					f_cf01Up();
 					
-					//Preambule
-					v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule(-);//c_CRUDNDi);				
-	    									
+					//Preamble
+					action(v_action);
+					f_sleepIgnoreDef(30.0);
+											
 					// Test Body
 					v_request := valueof(m_createAe(PX_APP_ID, omit, omit));				
 	    									
@@ -1154,8 +1270,8 @@ module OneM2M_Testcases_CSE_Release_1 {
 					var ResourceType v_resourceType := int2;
 					
 					//Test control
-					if(not(PICS_MN_CSE)) {
-					   setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE to run this test case");
+					if(not(PICS_MN_CSE or PICS_ASN_CSE)) {
+					   setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE or ASN-CSE to run this test case");
 					   stop;
 					}
     
@@ -1351,12 +1467,12 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test adapter configuration
 	    			
 					// Preamble
-					v_aeIndex := f_cse_preamble_registerAeWithId("C-AE-ID-STEM");//c_CRUDNDi);
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
 					//Test Body	
-					v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM"));				
+					v_request := valueof(m_createAe(PX_APP_ID, omit, vc_resourcesList[v_aeIndex].resource.aE.aE_ID));				
 	    									
-					v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_aeIndex);
+					v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, -1);
 					
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
@@ -1394,8 +1510,8 @@ module OneM2M_Testcases_CSE_Release_1 {
 					var charstring v_action :=  __SCOPE__ & ": Please, send a CSE registration request with attributes multiplicity equals to 1";
 	   
 					//Test control
-					if(not(PICS_MN_CSE)) {
-						setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE to run this test case");
+					if(not(PICS_MN_CSE or PICS_ASN_CSE)) {
+						setverdict(inconc, __SCOPE__ & ": IUT shall be MN-CSE or ASN-CSE to run this test case");
 						stop;
 					}
 
@@ -1977,7 +2093,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 }
 				    
 				 } else if (PICS_MN_CSE) {
-					vc_remoteCseIndex := f_cse_registrationRemoteCse(m_createRemoteCSEBase);
+					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase);
 					
 					v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
 					
@@ -2178,7 +2294,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 // Test adapter configuration
 	
 					 // Preamble
-					 vc_remoteCseIndex := f_cse_registrationRemoteCse(m_createRemoteCSEBase);
+					 vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase);
 					 
 					 //Send Trigger Message
 					 v_utRequest := m_utRetrieveResource(f_getLocalResourceAddress(vc_localRemoteCseIndex), PX_CSE_ID);
@@ -2227,7 +2343,13 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 // Test adapter configuration
 	
 					 // Preamble
-					 vc_remoteCseIndex := f_cse_registrationRemoteCse(m_createRemoteCSEBase);
+                    if (PICS_IN_CSE){
+                        vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
+                    }
+                    
+                    if (PICS_MN_CSE){
+                        vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase);   
+                    }
 					 
 					v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
 	 
@@ -2504,8 +2626,14 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test adapter configuration
 
 					// Preamble
-					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
-
+                    if (PICS_MN_CSE){
+					    vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
+                    }
+                    
+                    if (PICS_IN_CSE){
+					    vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
+                    }
+                    
 					// Test Body
 					v_request := valueof(m_delete(f_getResourceAddress(vc_remoteCseIndex), f_getOriginator(vc_remoteCseIndex)));
 
@@ -2571,6 +2699,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": AE has been de-registered successfully");
+							f_removeElementFromList(vc_resourcesIndexToBeDeleted, v_aeIndex);
 						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
 							tc_ac.stop;
@@ -2619,7 +2748,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
 					
 					//Send Trigger Message
-					v_auxInteger := f_setResource(valueof(m_primitiveContentRemoteCSE(m_contentCreateRemoteCSE(omit,omit,omit,omit))), int16);
+					v_auxInteger := f_setResource(valueof(m_primitiveContentRemoteCSE(m_contentCreateRemoteCSE(omit,omit,-,-))), int16);
 					v_utRequest.to_ := f_getResourceAddress(v_auxInteger);
 					v_utRequest.from_ := "UNINITIALIZED";
 					f_sendUtPrimitive(v_utRequest, v_action);	
@@ -3362,7 +3491,222 @@ module OneM2M_Testcases_CSE_Release_1 {
 						
 				}// end group g_CSE_DMR_CRE_008			
 
+				group g_CSE_DMR_CRE_009 {
+					
+					/**
+					 * @desc Check that the IUT increaments and then copies the field value of attribute stateTag in parent container resource when contentInstance resource is created as the direct child of the parent container
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_009() runs on AeSimu system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						var integer v_contentInstanceIndex := -1;
+						var template PrimitiveContent v_contentResponse;
+					
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
+						
+						v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex);
+					
+						// Test Body
+						mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
+						
+						v_contentResponse.container := mw_contentContainerBase;
+						
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Response OK for retrieving");
+								if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == vc_resourcesList[v_containerIndex].resource.container.stateTag + 1) {
+									setverdict(pass, __SCOPE__ & ": stateTag attribute increased after creation of contentInstance resource");
+								} else {
+									setverdict(fail, __SCOPE__ & ": stateTag attribute not incremented correctly after creation of contentInstance resource");
+								}
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_009
+						
+				}// end group g_CSE_DMR_CRE_009		
+				
+				group g_CSE_DMR_CRE_010 {
+					
+					/**
+					 * @desc Check that the IUT rejects the CREATE Request of a container resource named “la” as a direct child of a container resource 
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_010() runs on AeSimu system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
+					
+						// Test Body
+						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameLatest;
+						
+						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
+					
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Not allowed to create a contentInstance resource named 'la'");
+								
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Rejected creation of contentInstance named 'la' with wrong ResponseStatusCode");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance named 'la'");
+								
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						f_checkAeSimuStatus();
+    					
+						//Check to see if the resource is NOT present
+						if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){
+						  setverdict(pass, __SCOPE__ & ":INFO: Resource not created");
+						} else {
+						  setverdict(fail, __SCOPE__ & ":ERROR: Resource created");
+						}
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_010
+						
+				}// end group g_CSE_DMR_CRE_010	
 				
+				group g_CSE_DMR_CRE_011 {
+					
+					/**
+					 * @desc Check that the IUT rejects the CREATE Request of a container resource named “ol” as a direct child of a container resource 
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_011() runs on AeSimu system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
+					
+						// Test Body
+						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameOldest;
+						
+						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
+					
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Not allowed to create a contentInstance resource named 'ol'");
+								
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Rejected creation of contentInstance named 'ol' with wrong ResponseStatusCode");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance named 'ol'");
+								
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						f_checkAeSimuStatus();
+    					
+						//Check to see if the resource is NOT present
+						if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){
+						  setverdict(pass, __SCOPE__ & ":INFO: Resource not created");
+						} else {
+						  setverdict(fail, __SCOPE__ & ":ERROR: Resource created");
+						}
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_011
+						
+				}// end group g_CSE_DMR_CRE_011
+
 				group g_CSE_DMR_CRE_012 {
 					
 					/**
@@ -3600,6 +3944,28 @@ module OneM2M_Testcases_CSE_Release_1 {
 		
 				}// end group g_CSE_DMR_CRE_013	
 				
+				group g_CSE_DMR_CRE_014 {
+					
+					/**
+					 * @desc Check that the IUT updates the currentByteSize attribute in a <container> parent resource when a new <contentInstance> resource is created. 
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_014_CNT_CIN() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_parentResourceRequest := m_createContainerBase;
+						var template RequestPrimitive v_childResourceRequest := m_createContentInstanceBase;//Default content: "AnyValue" (8 bytes length)
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						const integer c_maxByteSize := 512;	
+						
+						v_parentResourceRequest.primitiveContent.container.maxByteSize := c_maxByteSize;
+						
+						v_ae1.start(f_CSE_DMR_CRE_014(int3, v_parentResourceRequest, int4, v_childResourceRequest));		
+						v_ae1.done;
+						
+					}
+				}
+				
 				
 			}//end group Create
 			
@@ -3974,6 +4340,15 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_ae1.start(f_CSE_DMR_RET_014(int3, m_createContainerBase));//Container
 						v_ae1.done;
 					}
+					
+					testcase TC_CSE_DMR_RET_014_CSR() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+		
+						v_ae1.start(f_CSE_DMR_RET_014(int16, m_createRemoteCSEBase));//RemoteCSE
+						v_ae1.done;
+	
+					}
 
 					testcase TC_CSE_DMR_RET_014_GRP() runs on Tester system CseSystem {
 						// Local variables
@@ -5134,12 +5509,181 @@ module OneM2M_Testcases_CSE_Release_1 {
 							   if(v_primitiveContentRetrieveResource.subscription.expirationTime == v_expirationTime){
 								 setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated")
 								}
-						   }
+						   }
+						}
+					}
+					
+				} // end g_CSE_DMR_UPD_008		
+				
+				group g_CSE_DMR_UPD_009{
+					
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to update a RW attribute ATTRIBUTE_NAME of the TARGET_RESOURCE_ADDRESS resource with an UNACCEPTABLE_VALUE
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_009_CNT_ET() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var Timestamp v_expirationTime := "20001231T012345";
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+
+						v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime;
+						
+						v_ae1.start(f_CSE_DMR_UPD_009(int3, m_createContainerBase, v_updateRequest));//Container
+						v_ae1.done;
+						
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							  //Check that the resource has NOT been udpated
+							  if(ischosen(v_primitiveContentRetrieveResource.container)) {
+							   if(v_primitiveContentRetrieveResource.container.expirationTime == v_expirationTime){
+								 setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated")
+								}
+							}
+						}
+					}
+					
+					testcase TC_CSE_DMR_UPD_009_ACP_ET() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var Timestamp v_expirationTime := "20001231T012345";
+						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						
+						v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime;
+								
+						v_ae1.start(f_CSE_DMR_UPD_009(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy
+						v_ae1.done;
+						
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							  //Check that the resource has NOT been udpated
+							  if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) {
+							   if(v_primitiveContentRetrieveResource.accessControlPolicy.expirationTime == v_expirationTime){
+								 setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated")
+								}
+							}
+						}
+					}
+					
+					testcase TC_CSE_DMR_UPD_009_SUB_ET() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var Timestamp v_expirationTime := "20001231T012345";
+						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+	
+						v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime;
+			
+						v_ae1.start(f_CSE_DMR_UPD_009(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
+						v_ae1.done;
+	
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							  //Check that the resource has NOT been udpated
+							  if(ischosen(v_primitiveContentRetrieveResource.subscription)) {
+							   if(v_primitiveContentRetrieveResource.subscription.expirationTime == v_expirationTime){
+								 setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated")
+								}
+						   }
+						}
+					}
+					
+					testcase TC_CSE_DMR_UPD_009_GRP_ET() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var Timestamp v_expirationTime := "20001231T012345";
+						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						
+						v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime;
+						
+						v_ae1.start(f_CSE_DMR_UPD_009(int9, m_createGroupBase, v_updateRequest));//Group
+						v_ae1.done;
+						
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							  //Check that the resource has NOT been udpated
+							  if(ischosen(v_primitiveContentRetrieveResource.group_)) {
+							   if(v_primitiveContentRetrieveResource.group_.expirationTime == v_expirationTime){
+								 setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated")
+								}
+							}
 						}
 					}
-					
-				} // end g_CSE_DMR_UPD_008				
+	
+				} // end g_CSE_DMR_UPD_009	
+				
+				group g_CSE_DMR_UPD_010{
+
+					/**
+					 * @desc Check that the stateTag attribute of a container resource is increased when an update operation has been performed on its child resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_010() runs on AeSimu system CseSystem {
+						var MsgIn v_response;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
+						var Labels v_labels_1:= {"VALUE_1"};
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
+				   
+						// Test control
+
+						// Test component configuration
+						f_cf01Up();
+
+						// Test adapter configuration
+
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 
+		
+						// Test Body
+						if(ispresent(vc_resourcesList[v_containerIndex].resource.container.stateTag)) { 
+		
+							v_updateRequest := f_getUpdateRequestPrimitive(int3, v_containerIndex, v_updateRequest);
+							f_cse_updateResource(v_updateRequest);
 
+							mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
+
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+									tc_ac.stop;
+									if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 1) { //(Create and Delete)
+										setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented");	
+									}
+									else{
+										setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented");
+									}
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+									tc_ac.stop;
+									setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes");
+								}
+								[] tc_ac.timeout {
+									setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes");
+								}
+							}	
+				
+						}//end if
+						else{
+							setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is empty");
+						}
+		
+						// Postamble
+						f_cse_postamble_deleteResources();
+
+						// Tear down
+						f_cf01Down();
+			
+					}//end TC_CSE_DMR_UPD_010
+					
+				} // end group g_CSE_DMR_UPD_010
+				
 				group g_CSE_DMR_UPD_011{
 
 					/**
@@ -5726,7 +6270,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					testcase TC_CSE_DMR_UPD_015_AE_LBL() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels := {"MyLabel"};
-						var template RequestPrimitive v_updateRequest := m_updateAE;
+						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						
@@ -5759,7 +6303,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_015_AE_ACPI() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var template RequestPrimitive v_updateRequest := m_updateAE;
+						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var RequestPrimitive v_updateRequestPrimitive;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
@@ -5794,7 +6338,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					testcase TC_CSE_DMR_UPD_015_AE_APN() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.String v_appName := "MyAppName";
-						var template RequestPrimitive v_updateRequest := m_updateAE;
+						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						
@@ -5827,7 +6371,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					testcase TC_CSE_DMR_UPD_015_AE_POA() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var PoaList v_poaList := {"http://" & PX_AE2_ADDRESS & "/"};
-						var template RequestPrimitive v_updateRequest := m_updateAE;
+						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						
@@ -6337,7 +6881,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					testcase TC_CSE_DMR_UPD_016_AE_ET() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
-						var template RequestPrimitive v_updateRequest := m_updateAE;
+						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						
@@ -6371,7 +6915,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					testcase TC_CSE_DMR_UPD_016_AE_RR() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.Boolean v_requestReachability := true;
-						var template RequestPrimitive v_updateRequest := m_updateAE;
+						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 
@@ -6839,6 +7383,97 @@ module OneM2M_Testcases_CSE_Release_1 {
                 
                 
 				};//end of group g_CSE_DMR_DEL_002
+
+				group g_CSE_DMR_DEL_005{
+
+					/**
+					 * @desc Check that the stateTag attribute of a container resource is increased when a child resource is deleted
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_005() runs on AeSimu system CseSystem {
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1; 
+						const ResourceType c_containerResourceType := int3;          			
+            					   
+						// Test control
+            
+						// Test component configuration
+						f_cf01Up();
+            
+						// Test adapter configuration
+            
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex); 
+            			
+						if(ispresent(vc_resourcesList[v_resourceIndex].resource.container.stateTag)) {
+            				
+							v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex); 
+            				
+							// Test Body
+							mcaPort.send(m_request(m_delete(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex))));
+							            	
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response {
+									tc_ac.stop;
+									setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " delete successfully");
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+									tc_ac.stop;
+									setverdict(fail, __SCOPE__ & ": Wrong response status code");
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+									tc_ac.stop;
+									setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType)));
+								}
+								[] tc_ac.timeout {
+									setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType)));
+								}
+							}
+            	
+            	
+            	
+							mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
+            
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+									tc_ac.stop;
+									if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 2) { //(Create and Delete)
+										setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented");	
+									}
+									else{
+										setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented");
+									}
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+									tc_ac.stop;
+									setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes");
+								}
+								[] tc_ac.timeout {
+									setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes");
+								}
+							}	
+            					
+						}//end if
+						else{
+							setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is empty");
+						}
+            			
+						// Postamble
+						f_cse_postamble_deleteResources();
+            
+						// Tear down
+						f_cf01Down();
+            				
+					}//end f_CSE_DMR_DEL_005
+				} // end group g_CSE_DMR_DEL_005
                 
 				group g_CSE_DMR_DEL_006{
 
@@ -7928,7 +8563,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var integer v_acpIndex2 := -1;
 						var RequestPrimitive v_createRequestAcp1 := valueof(m_createAcp(f_getResourceAddress(-1), omit));
 						var RequestPrimitive v_createRequestAcp2 := valueof(m_createAcp(f_getResourceAddress(-1), omit));
-						var RequestPrimitive v_updateRequest := valueof(m_updateAeBase);
+						var RequestPrimitive v_updateRequest;
 						var AccessControlRule v_accessControlRule_1;
 						var AccessControlRule v_accessControlRule_2;
 						var SetOfAcrs v_setOfArcs_1;
@@ -7958,6 +8593,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						f_cse_updateResource(v_updateRequest);
 						
 						// Test Body
+						v_updateRequest := valueof(m_updateAeBase);
 						v_updateRequest.primitiveContent.aE.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex2].resource)};
 						v_updateRequest := f_getUpdateRequestPrimitive(int1, v_aeIndex, v_updateRequest);
 						
@@ -8612,6 +9248,68 @@ module OneM2M_Testcases_CSE_Release_1 {
 				// Tear down
 				f_cf01Down();
 			} // end TC_CSE_DIS_001
+			
+			/**
+			 * @desc Check that the IUT returns successfully appropriate list of discovered resource when the filter criteria is provided in the request
+			 * 
+			 */
+			testcase TC_CSE_DIS_002() runs on AeSimu system CseSystem {
+				// Local variables
+				var MsgIn v_response;
+				var integer v_aeIndex := -1;
+				var integer v_resourceIndex := -1;
+				var RequestPrimitive v_request;
+				var integer v_childResourceIndex := -1;
+				const ResourceType c_containerResourceType := int3; 
+				var Labels v_labels := {"VALUE_1"};
+				var template RequestPrimitive v_createRequest := m_createContainerBase;
+
+				// Test control
+
+				// Test component configuration
+				f_cf01Up();
+
+				// Test adapter configuration
+
+				// Preamble
+				v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+
+				v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex);
+				v_createRequest.primitiveContent.container.labels := v_labels;
+				v_childResourceIndex := f_cse_createResource(c_containerResourceType, v_createRequest, v_resourceIndex);
+				v_request := valueof(m_retrieveFilterUsageOptionLabel(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1, v_labels));
+				mcaPort.send(m_request(v_request));
+				tc_ac.start;
+				alt {
+					[] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response {
+						tc_ac.stop;
+						if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.uRIList) == 1){
+						  setverdict(pass, __SCOPE__ & ": List of discovered resources successfully returned");	
+						}
+						else
+						{
+						  setverdict(fail, __SCOPE__ & ": Wrong content available in URIList element");
+						}
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Wrong response status code");
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
+					}
+					[] tc_ac.timeout {
+						setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
+					}
+				 }	
+				
+				// Postamble
+				f_cse_postamble_deleteResources();
+
+				// Tear down
+				f_cf01Down();
+			} // end TC_CSE_DIS_002
 			        		
 			/**
 			 * @desc Check that the IUT returns the empty address list when no result matching with filter criteria is discovered
@@ -8862,6 +9560,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				var RequestPrimitive v_request;
 				var integer v_childResourceIndex := -1;
 				const ResourceType c_containerResourceType := int3; 
+				var AttributeAux v_invalidAttribute;
 			
 				// Test control
 
@@ -8876,9 +9575,8 @@ module OneM2M_Testcases_CSE_Release_1 {
 				v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex);
 				v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex); 
 				v_request := valueof(m_retrieveFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1));
-				v_request.filterCriteria.expireBefore := "20171231T012345";
-				v_request.filterCriteria.expireAfter := "20181231T012345";
-				mcaPort.send(m_request(v_request));
+				v_invalidAttribute := {name := "filterCriteria.sizeBelow", value_ := "-1"};
+				mcaPort.send(m_request(v_request, {v_invalidAttribute}));
 				tc_ac.start;
 				alt {
 				
@@ -8905,6 +9603,142 @@ module OneM2M_Testcases_CSE_Release_1 {
 				// Tear down
 				f_cf01Down();
 			} // end TC_CSE_DIS_007	
+			
+			group g_CSE_DIS_008{
+			
+				/**
+				 * @desc Check that the IUT responds the originator with an error when the originator sends a request to discover the resource TARGET_RESOURCE_ADDRESS including two conflicted filter criteria of different type FILTER_CRITERIA_CONDITION_1 and FILTER_CRITERIA_CONDITION_2 (E.G. createBefore < createdAfter)
+				 * 
+				 */
+				testcase TC_CSE_DIS_008_CRB_CRA() runs on AeSimu system CseSystem {
+					
+					//Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var FilterCriteria v_filterCriteria := valueof(m_filterCriteria);
+					
+					v_filterCriteria.createdBefore := "20171231T012345";
+					v_filterCriteria.createdAfter := "20181231T012345";
+					v_filterCriteria.filterUsage := int1;
+					
+					v_ae1.start(f_CSE_DIS_008(v_filterCriteria));
+					v_ae1.done;
+					
+				}
+					
+				testcase TC_CSE_DIS_008_MS_US() runs on AeSimu system CseSystem {
+					
+					//Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var FilterCriteria v_filterCriteria := valueof(m_filterCriteria);
+	
+					v_filterCriteria.unmodifiedSince := "20171231T012345";
+					v_filterCriteria.modifiedSince := "20181231T012345";
+					v_filterCriteria.filterUsage := int1;
+	
+					v_ae1.start(f_CSE_DIS_008(v_filterCriteria));
+					v_ae1.done;
+	
+				}
+				
+				testcase TC_CSE_DIS_008_STS_STB() runs on AeSimu system CseSystem {
+					
+					//Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var FilterCriteria v_filterCriteria := valueof(m_filterCriteria);
+	
+					v_filterCriteria.stateTagSmaller := 1;
+					v_filterCriteria.stateTagBigger := 2;
+					v_filterCriteria.filterUsage := int1;
+	
+					v_ae1.start(f_CSE_DIS_008(v_filterCriteria));
+					v_ae1.done;
+	
+				}
+				
+				testcase TC_CSE_DIS_008_EXB_EXA() runs on AeSimu system CseSystem {
+					
+					//Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var FilterCriteria v_filterCriteria := valueof(m_filterCriteria);
+
+					v_filterCriteria.expireBefore := "20171231T012345";
+					v_filterCriteria.expireAfter := "20181231T012345";
+					v_filterCriteria.filterUsage := int1;
+
+					v_ae1.start(f_CSE_DIS_008(v_filterCriteria));
+					v_ae1.done;
+
+				}
+					
+			}	// end TC_CSE_DIS_008
+			
+			/**
+			 * @desc Check that the IUT returns the empty address list when resources match the filter criteria but they do not include DISCOVERY permission
+			 * 
+			 */
+			testcase TC_CSE_DIS_009() runs on AeSimu system CseSystem {
+				// Local variables
+				var MsgIn v_response;
+				var integer v_aeIndex := -1;
+				var integer v_resourceIndex := -1;
+				var integer v_acpAuxIndex := -1;
+				var RequestPrimitive v_request;
+				const ResourceType c_containerResourceType := int3; 
+				var Labels v_labels := {"VALUE_1"};
+				var template RequestPrimitive v_createRequest := m_createContainerBase;
+
+				// Test control
+
+				// Test component configuration
+				f_cf01Up();
+
+				// Test adapter configuration
+
+				// Preamble
+				v_acpAuxIndex := f_cse_preamble_createAcpAux(-, -);//c_CRUDNDi)
+				
+				//v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});
+				v_aeIndex := f_cse_preamble_registerAe();
+				
+				f_cse_updateAcpAuxResource(int31); //Not include DISCOVERY permission
+
+				v_createRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)};
+				v_createRequest.primitiveContent.container.labels := v_labels;
+				v_resourceIndex := f_cse_createResource(c_containerResourceType, v_createRequest, v_aeIndex);
+				
+				v_request := valueof(m_retrieveFilterUsageOptionLabel(f_getResourceAddress(v_aeIndex), f_getOriginator(v_resourceIndex), int1, v_labels));
+				mcaPort.send(m_request(v_request));
+				tc_ac.start;
+				alt {
+					[] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response {
+						tc_ac.stop;
+						if(ispresent(v_response.primitive.responsePrimitive.primitiveContent)){
+						  setverdict(fail, __SCOPE__ & ": Content is not empty");	
+						}
+						else
+						{
+						  setverdict(pass, __SCOPE__ & ": Content is empty");
+						}
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Wrong response status code");
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
+					}
+					[] tc_ac.timeout {
+						setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
+					}
+				 }	
+	
+				// Postamble
+				f_cse_postamble_deleteResources();
+
+				// Tear down
+				f_cf01Down();
+			} // end TC_CSE_DIS_009
 				
 		} //end group Group Discovery
 
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 117d65a863d60d4bf77b722d1c4d01a218f15dbc..80ff4cc619d6b080f8092d71de1962e2bd69ee39 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -731,222 +731,6 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 				}// end group g_CSE_DMR_CRE_004
 				
-				group g_CSE_DMR_CRE_009 {
-					
-					/**
-					 * @desc Check that the IUT increaments and then copies the field value of attribute stateTag in parent container resource when contentInstance resource is created as the direct child of the parent container
-					 * 
-					 */
-					testcase TC_CSE_DMR_CRE_009() runs on AeSimu system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var MsgIn v_response;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						var integer v_contentInstanceIndex := -1;
-						var template PrimitiveContent v_contentResponse;
-					
-						// Test control
-				
-						// Test component configuration
-						f_cf01Up();
-				
-						// Test adapter configuration
-				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
-						
-						v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex);
-					
-						// Test Body
-						mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
-						
-						v_contentResponse.container := mw_contentContainerBase;
-						
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": Response OK for retrieving");
-								if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == vc_resourcesList[v_containerIndex].resource.container.stateTag + 1) {
-									setverdict(pass, __SCOPE__ & ": stateTag attribute increased after creation of contentInstance resource");
-								} else {
-									setverdict(fail, __SCOPE__ & ": stateTag attribute not incremented correctly after creation of contentInstance resource");
-								}
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Wrong response status code");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Error, resource elements provided not matching expected resource elements");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
-							}
-							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
-							}
-						}	
-								
-						// Postamble
-						f_cse_postamble_deleteResources();
-						
-						// Tear down
-						f_cf01Down();
-					    				
-					}//end TC_CSE_DMR_CRE_009
-						
-				}// end group g_CSE_DMR_CRE_009		
-				
-				group g_CSE_DMR_CRE_010 {
-					
-					/**
-					 * @desc Check that the IUT rejects the CREATE Request of a container resource named “la” as a direct child of a container resource 
-					 * 
-					 */
-					testcase TC_CSE_DMR_CRE_010() runs on AeSimu system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						
-						// Test control
-				
-						// Test component configuration
-						f_cf01Up();
-				
-						// Test adapter configuration
-				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
-					
-						// Test Body
-						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameLatest;
-						
-						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
-					
-						mcaPort.send(m_request(v_request));
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": Not allowed to create a contentInstance resource named 'la'");
-								
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Rejected creation of contentInstance named 'la' with wrong ResponseStatusCode");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance named 'la'");
-								
-							}
-							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4");
-							}
-						}	
-								
-						f_checkAeSimuStatus();
-    					
-						//Check to see if the resource is NOT present
-						if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){
-						  setverdict(pass, __SCOPE__ & ":INFO: Resource not created");
-						} else {
-						  setverdict(fail, __SCOPE__ & ":ERROR: Resource created");
-						}
-								
-						// Postamble
-						f_cse_postamble_deleteResources();
-						
-						// Tear down
-						f_cf01Down();
-					    				
-					}//end TC_CSE_DMR_CRE_010
-						
-				}// end group g_CSE_DMR_CRE_010	
-				
-				group g_CSE_DMR_CRE_011 {
-					
-					/**
-					 * @desc Check that the IUT rejects the CREATE Request of a container resource named “ol” as a direct child of a container resource 
-					 * 
-					 */
-					testcase TC_CSE_DMR_CRE_011() runs on AeSimu system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						
-						// Test control
-				
-						// Test component configuration
-						f_cf01Up();
-				
-						// Test adapter configuration
-				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
-					
-						// Test Body
-						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameOldest;
-						
-						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
-					
-						mcaPort.send(m_request(v_request));
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": Not allowed to create a contentInstance resource named 'ol'");
-								
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Rejected creation of contentInstance named 'ol' with wrong ResponseStatusCode");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance named 'ol'");
-								
-							}
-							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4");
-							}
-						}	
-								
-						f_checkAeSimuStatus();
-    					
-						//Check to see if the resource is NOT present
-						if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){
-						  setverdict(pass, __SCOPE__ & ":INFO: Resource not created");
-						} else {
-						  setverdict(fail, __SCOPE__ & ":ERROR: Resource created");
-						}
-								
-						// Postamble
-						f_cse_postamble_deleteResources();
-						
-						// Tear down
-						f_cf01Down();
-					    				
-					}//end TC_CSE_DMR_CRE_011
-						
-				}// end group g_CSE_DMR_CRE_011
-				
 				group g_CSE_DMR_CRE_012 {
 					
 					/**
@@ -1186,96 +970,6 @@ module OneM2M_Testcases_CSE_Release_2 {
 				
 				}// end group g_CSE_DMR_CRE_012	
 
-				group g_CSE_DMR_CRE_014{
-					
-					/**
-					 * @desc Check that the IUT updates the currentByteSize attribute in a <container> parent resource when a new <contentInstance> resource is created. 
-					 * 
-					 */
-					testcase TC_CSE_DMR_CRE_014() runs on AeSimu system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest;
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						var integer v_contentInstanceIndex := -1;
-						const integer c_maxByteSize := 512;				   
-						// Test control
-
-						// Test component configuration
-						f_cf01Up();
-
-						// Test adapter configuration
-
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-
-						v_createRequest.primitiveContent.container.maxByteSize := c_maxByteSize;
-						
-						v_createRequest := m_createContainerBase;
-				
-						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
-						
-						
-						v_contentInstanceIndex := f_cse_createResource(int4, v_createRequest, v_containerIndex);	
-
-						// Test Body
-						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstanceBase, v_containerIndex); //Default content: "AnyValue" (8 bytes length)
-	
-						mcaPort.send(m_request(v_request));
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": ContentInstance resource created");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Wrong response status code");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Error when creating contentInstance resource");
-							}
-							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4");
-							}
-						}	
-						
-						//Check currentByteSize
-						mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
-
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								if(v_response.primitive.responsePrimitive.primitiveContent.container.currentByteSize == 8) { //Default content: "AnyValue" (8 bytes length)
-									setverdict(pass, __SCOPE__ & ": CurrentByteSize attribute in content resource is incremented successfully");	
-								}
-								else{
-									setverdict(fail, __SCOPE__ & ": CurrentByteSize attribute in content resource not incremented successfully");
-								}
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
-							}
-							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
-							}
-						}	
-
-						// Postamble
-						f_cse_postamble_deleteResources();
-
-						// Tear down
-						f_cf01Down();
-		
-					}//end TC_CSE_DMR_CRE_014
-
-				}// end group g_CSE_DMR_CRE_014		
-
 				group g_CSE_DMR_CRE_015 {
 					
 					/**
@@ -3896,75 +3590,6 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 				} // end g_CSE_DMR_UPD_008				
 
-				group g_CSE_DMR_UPD_010{
-
-					/**
-					 * @desc Check that the stateTag attribute of a container resource is increased when an update operation has been performed on its child resource
-					 * 
-					 */
-					testcase TC_CSE_DMR_UPD_010() runs on AeSimu system CseSystem {
-						var MsgIn v_response;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
-						var Labels v_labels_1:= {"VALUE_1"};
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-				   
-						// Test control
-
-						// Test component configuration
-						f_cf01Up();
-
-						// Test adapter configuration
-
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-		
-						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 
-		
-						// Test Body
-						if(ispresent(vc_resourcesList[v_containerIndex].resource.container.stateTag)) { 
-		
-							v_updateRequest := f_getUpdateRequestPrimitive(int3, v_containerIndex, v_updateRequest);
-							f_cse_updateResource(v_updateRequest);
-
-							mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
-
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-									tc_ac.stop;
-									if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 1) { //(Create and Delete)
-										setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented");	
-									}
-									else{
-										setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented");
-									}
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes");
-								}
-								[] tc_ac.timeout {
-									setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes");
-								}
-							}	
-				
-						}//end if
-						else{
-							setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is empty");
-						}
-		
-						// Postamble
-						f_cse_postamble_deleteResources();
-
-						// Tear down
-						f_cf01Down();
-			
-					}//end TC_CSE_DMR_UPD_010
-					
-				} // end group g_CSE_DMR_UPD_010
-				
 				group g_CSE_DMR_UPD_014 {
 					
 					/**
@@ -4536,7 +4161,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					testcase TC_CSE_DMR_UPD_015_AE_OR() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.AnyURI v_ontoLogyRef := "MyOntologyRef";
-						var template RequestPrimitive v_updateRequest := m_updateAE;
+						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						
@@ -5208,97 +4833,6 @@ module OneM2M_Testcases_CSE_Release_2 {
                 
 				};//end of group g_CSE_DMR_DEL_004
 
-				group g_CSE_DMR_DEL_005{
-
-					/**
-					 * @desc Check that the stateTag attribute of a container resource is increased when a child resource is deleted
-					 * 
-					 */
-					testcase TC_CSE_DMR_DEL_005() runs on AeSimu system CseSystem {
-						// Local variables
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
-						var integer v_childResourceIndex := -1; 
-						const ResourceType c_containerResourceType := int3;          			
-            					   
-						// Test control
-            
-						// Test component configuration
-						f_cf01Up();
-            
-						// Test adapter configuration
-            
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex); 
-            			
-						if(ispresent(vc_resourcesList[v_resourceIndex].resource.container.stateTag)) {
-            				
-							v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex); 
-            				
-							// Test Body
-							mcaPort.send(m_request(m_delete(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex))));
-							            	
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response {
-									tc_ac.stop;
-									setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(c_containerResourceType)) & " delete successfully");
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Wrong response status code");
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(c_containerResourceType)));
-								}
-								[] tc_ac.timeout {
-									setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(c_containerResourceType)));
-								}
-							}
-            	
-            	
-            	
-							mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
-            
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-									tc_ac.stop;
-									if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 2) { //(Create and Delete)
-										setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented");	
-									}
-									else{
-										setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented");
-									}
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes");
-								}
-								[] tc_ac.timeout {
-									setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes");
-								}
-							}	
-            					
-						}//end if
-						else{
-							setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is empty");
-						}
-            			
-						// Postamble
-						f_cse_postamble_deleteResources();
-            
-						// Tear down
-						f_cf01Down();
-            				
-					}//end f_CSE_DMR_DEL_005
-				} // end group g_CSE_DMR_DEL_005
-            	
 				group g_CSE_DMR_DEL_008{
 
 					/**