diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 2918d7016d7e939a62e72127309bba82d1540629..6c4fc437e878ca46d6a71a9c2f1fcc2694925f91 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -35,6 +35,7 @@ module OneM2M_Functions {
 			
 			// Map
 			map(self:mcaPort, system:mcaPort);
+			map(self:mcaPortIn, system:mcaPortIn);
 			map(self:acPort, system:acPort);
 			
 			activate(a_default());
@@ -1288,6 +1289,25 @@ module OneM2M_Functions {
     
 			} //end f_compareURIs	
 			
+			/**
+			 * @desc Sending a request primitive on mcaPort on AeSimu
+			 * @param p_resourceType Resource type of the resource to be created
+			 * @param p_requestPrimitive CREATE request primitive for the resource to be created
+			 * @param p_parentIndex Internal resource index which indicates the parent of the resource to be created
+			 * @return Internal resource index of the created resource
+			 * @verdict 
+			 */
+			function f_cse_sendCreateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive := m_create, integer p_parentIndex := -1) runs on AeSimu{
+
+				var RequestPrimitive v_request;
+				var integer v_resourceIndex := -1;
+	
+				v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, p_parentIndex);
+
+				mcaPort.send(m_request(v_request));
+
+			}
+			
 		}//end group AeSimu
 			
 		group CseSimuFunctions {
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 52d52018857d363f0cdbdc956c1daaab8ea5c458..1580cbf0e53222ba1c609063e74b95ba0e271b21 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -2041,13 +2041,14 @@ module OneM2M_PermutationFunctions {
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 	
 						
-						if(p_resourceType == int23){
-							//vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
-						}
-						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);			
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
   					    						    									
 						// Test Body
 						v_request.requestIdentifier := "Existing resource";
+						
+						if(p_resourceType == int23){
+							vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
+						}
     					
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
@@ -4323,60 +4324,6 @@ module OneM2M_PermutationFunctions {
     					    				
 					}//end f_CSE_DMR_UPD_004
     				
-					function f_CSE_DMR_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
-    				
-						// Local variables
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_ae2Index := -1;
-						var integer v_resourceIndex := -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(int4004))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": Resource " & c_defaultResourceName & " of type " & int2str(enum2int(p_resourceType)) & " not found");
-							}
-							[] 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__ & ": Error while updating an unexisting resource type " & int2str(enum2int(p_resourceType)));
-							}
-							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
-							}
-						}	
-    								
-						// Postamble
-						f_cse_postamble_deleteResources();
-						
-						// Tear down
-						f_cf01Down();
-    					    				
-					}//end f_CSE_DMR_UPD_005
-    				
 					function f_CSE_DMR_UPD_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
     				
 						// Local variables
@@ -4552,38 +4499,39 @@ module OneM2M_PermutationFunctions {
     					    				
 					}//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 {
+					function f_CSE_DMR_UPD_009(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) 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;
-							   
+						var integer v_resourceIndex := -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); 				
-												
+							
+						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 {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": Operation not allowed. Attribute not updated with an unacceptable value");
+								setverdict(pass, __SCOPE__ & ": It is not possible to update an unexisting attribute of resource type " & int2str(enum2int(p_resourceType)));
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
@@ -4591,21 +4539,19 @@ module OneM2M_PermutationFunctions {
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Attribute has been updated with an unacceptable value");
+								setverdict(fail, __SCOPE__ & ": Error while updating an unexisting resource type " & int2str(enum2int(p_resourceType)));
 							}
 							[] 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 {
@@ -4771,7 +4717,7 @@ module OneM2M_PermutationFunctions {
 
 						 // Preamble
 						if(p_resourceType != int2) {
-						 	v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						 	v_aeIndex := f_cse_preamble_registerAe(-, {f_getAnnouncementTargetPoA("HTTP", PX_AE1_ADDRESS, "")});//c_CRUDNDi);
 						}
 						
 						if(p_resourceType != int1) {
@@ -4796,7 +4742,16 @@ module OneM2M_PermutationFunctions {
 						//Test Body
 						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
 						
-						mcaPort.send(m_request(v_request)); //CSEBase
+						if(p_resourceType == int23) {	//Subscription
+							v_request.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_aeIndex)};							
+						}
+						
+						mcaPort.send(m_request(v_request));
+						
+						if(p_resourceType == int23) {	//Subscription
+							f_cse_notifyProcedure_subscriptionVerificationHandler();
+						}
+						
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response {
diff --git a/OneM2M_TestControl_IN_profile.ttcn b/OneM2M_TestControl_IN_profile.ttcn
index e1074f54b54c04ee5d55b6b8412e60f19b0dd2f7..be9f03b3b4b9c72cb4cb510f40e4882e31090b49 100644
--- a/OneM2M_TestControl_IN_profile.ttcn
+++ b/OneM2M_TestControl_IN_profile.ttcn
@@ -126,10 +126,10 @@ module OneM2M_TestControl_IN_profile {
 		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_005());}
 		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_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_009_CNT_EXC());}
 		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());}
@@ -185,10 +185,9 @@ module OneM2M_TestControl_IN_profile {
 		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_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_009_SUB_MNI());}
 		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());}
@@ -218,10 +217,9 @@ module OneM2M_TestControl_IN_profile {
 		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_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_009_ACP_EXC());}
 		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());}
@@ -336,11 +334,10 @@ module OneM2M_TestControl_IN_profile {
 		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(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_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_009_GRP_EXC());}
 		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());}
diff --git a/OneM2M_TestControl_MN_profile.ttcn b/OneM2M_TestControl_MN_profile.ttcn
index fe328d7629437cacc845f8a82e71e639935b27dc..4516fc0e594446a45ef0c05fdacc8aeba7bc3fc0 100644
--- a/OneM2M_TestControl_MN_profile.ttcn
+++ b/OneM2M_TestControl_MN_profile.ttcn
@@ -149,10 +149,10 @@ module OneM2M_TestControl_MN_profile {
 		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_005());}
 		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_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_009_CNT_EXC());}
 		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());}
@@ -208,10 +208,9 @@ module OneM2M_TestControl_MN_profile {
 		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_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_009_SUB_MNI());}
 		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());}
@@ -241,10 +240,9 @@ module OneM2M_TestControl_MN_profile {
 		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_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_009_ACP_EXC());}
 		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());}
@@ -358,11 +356,10 @@ module OneM2M_TestControl_MN_profile {
 		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(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_ET());}
+		if(true) {execute (TC_CSE_DMR_UPD_009_GRP_EXC());}
 		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());}
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index cc53f03d2533768743bf5e66b76559efd4f37c32..dc06935c148d21d095d7ba70534e27fef135f626 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -450,7 +450,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf01Up();
 		  	  	
-					//Preambule
+					//Preamble
 					
 					//Test Body
 					v_request := valueof(m_createAe(PX_APP_ID, omit, "C-AE-ID-STEM"));				
@@ -520,7 +520,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf01Up();
 		  	  	
-					//Preambule
+					//Preamble
 					//vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
 					//TODO: create serviceSubscribedProfile, Node, and serviceSubscribedAppRule
 					//v_cseBaseIndex := f_cse_preamble_createServiceSubscribedProfile({"C*"}); //c_CRUDNDi);
@@ -571,26 +571,23 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
 		  	  	
-					//Preambule
+					//Preamble
 					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
 		
 					//Test Body
-					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, "S", omit)));				
+					vc_ae1.start(f_cse_sendCreateRequestPrimitive(int2, m_createAe(PX_APP_ID, -, "S", omit)));
+					vc_ae1.done;
 	    									
 					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(PX_CSE_ID, f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", -))){
 							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(PX_CSE_ID, f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/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");
 						}
@@ -626,11 +623,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
 
-					//Preambule
+					//Preamble
 					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.start(f_cse_sendCreateRequestPrimitive(int2, m_createAe(PX_APP_ID, omit, "S")));
 					vc_ae1.done;
 							
 					tc_ac.start;
@@ -640,10 +637,6 @@ module OneM2M_Testcases_CSE_Release_1 {
 							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");
 						}
@@ -676,11 +669,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf02Up();
 					
-					//Preambule
+					//Preamble
 					vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));
 					vc_cse1.done;
-					
-					v_aeIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S"));
+			
+					mcaPort.send(m_request(f_getCreateRequestPrimitive(int2, m_createAe(PX_APP_ID, omit, "S"),-1)));
 					
 					vc_cse1.start(f_cse_resourceAnnouncementHandler());
 					vc_cse1.done;
@@ -689,7 +682,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					tc_ac.start;
 					
 					alt {
-						[] mcaPortIn.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+						[] mcaPort.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)){
@@ -702,10 +695,6 @@ module OneM2M_Testcases_CSE_Release_1 {
 								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");
 						}
@@ -738,7 +727,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
 		  	  	
-					//Preambule
+					//Preamble
 					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
 					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S")));
 					
@@ -799,7 +788,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf04Up();
 		  	  	
-					//Preambule
+					//Preamble
 					
 					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
 							
@@ -866,7 +855,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf02Up();
 		  	  	
-					//Preambule
+					//Preamble
 					vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));
 					vc_cse1.done;
 					
@@ -1278,7 +1267,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test component configuration
 					f_cf02Up();
 
-					//Preambule
+					//Preamble
 					vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));
 					vc_cse1.done;
 	
@@ -3356,12 +3345,14 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_CRE_007() runs on AeSimu system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var template RequestPrimitive v_createRequestContainer := m_createContainerBase;
+						var template RequestPrimitive v_createRequestContentInstance := m_createContentInstanceBase;
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_containerIndex := -1;
-						const integer c_maxNumberOfInstances := 0;				   
+						var integer v_contentInstanceIndex := -1;
+						const integer c_maxNumberOfInstances := 1;				   
 						// Test control
 				
 						// Test component configuration
@@ -3372,41 +3363,45 @@ module OneM2M_Testcases_CSE_Release_1 {
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_createRequest.primitiveContent.container.maxNrOfInstances := c_maxNumberOfInstances;
+						v_createRequestContainer.primitiveContent.container.maxNrOfInstances := c_maxNumberOfInstances;
 												
-						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
+						v_containerIndex := f_cse_createResource(int3, v_createRequestContainer, v_aeIndex);		//Container
+						
+						v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex);	//ContentInstance
 					
 						// Test Body
-						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstance(f_getResourceAddress(v_containerIndex), "MyValue"), v_containerIndex);
+						
+						v_createRequestContentInstance.primitiveContent.contentInstance.resourceName := c_defaultContentInstanceResourceName & "2";	//ContentInstance 2
+						v_request := f_getCreateRequestPrimitive(int4, v_createRequestContentInstance, v_containerIndex);
 					
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": Maximun number of instances exceeded");
+								setverdict(pass, __SCOPE__ & ": ContentInstance created");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Bad responseStatusCode in response");
+								setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance exceding maximum number of instances");
+								setverdict(fail, __SCOPE__ & ": Error while creating resource type contentInstance");
 								
 							}
 							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4");
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type contentInstance");
 							}
 						}	
 								
 						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");
+						if(f_isResourceNotPresent(v_containerIndex, c_defaultContentInstanceResourceName)){
+						  setverdict(pass, __SCOPE__ & ":INFO: Oldest contentInstance has been removed to allow the creation of the new contentInstance");
 						} else {
-						  setverdict(fail, __SCOPE__ & ":ERROR: Resource created");
+						  setverdict(fail, __SCOPE__ & ":ERROR: Oldest contentInstance has not been removed to allow the creation of the new contentInstance");
 						}
 												
 						// Postamble
@@ -3426,64 +3421,72 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 * 
 					 */
 					testcase TC_CSE_DMR_CRE_008() runs on AeSimu system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						//Local variables
+						var template RequestPrimitive v_createRequestContainer := m_createContainerBase;
+						var template RequestPrimitive v_createRequestContentInstance := m_createContentInstanceBase;
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_containerIndex := -1;
-						const integer c_maxByteSize := 0;				   
+						var integer v_contentInstanceIndex := -1;
+						const integer c_maxByteSize := 10;	
+						const XSD.String c_primitiveContent1 := "Content1";
+						const XSD.String c_primitiveContent2 := "Content2";			   
 						// 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_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
-					
+	
+						v_createRequestContainer.primitiveContent.container.maxByteSize := c_maxByteSize;
+							
+						v_containerIndex := f_cse_createResource(int3, v_createRequestContainer, v_aeIndex);		//Container
+	
+						v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstance(f_getResourceAddress(v_containerIndex), c_primitiveContent1), v_containerIndex);//ContentInstance
+	
 						// Test Body
-						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstanceBase, v_containerIndex);
-					
+	
+						v_createRequestContentInstance.primitiveContent.contentInstance.content := c_primitiveContent2;	//ContentInstance 2
+						v_createRequestContentInstance.primitiveContent.contentInstance.resourceName := c_defaultContentInstanceResourceName & "2";
+						v_request := f_getCreateRequestPrimitive(int4, v_createRequestContentInstance, v_containerIndex);
+	
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": Maximun byte size exceeded");
+								setverdict(pass, __SCOPE__ & ": ContentInstance created");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Bad responseStatusCode in response");
+								setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
 							}
-							
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Accepted creation of contentInstance exceding maximum byte size");
-								
+								setverdict(fail, __SCOPE__ & ": Error while creating resource type contentInstance");
+			
 							}
 							[] tc_ac.timeout {
-								setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4");
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type contentInstance");
 							}
 						}	
-								
+			
 						f_checkAeSimuStatus();
-						
-						//Check to see if the resource is present or not
-						if(f_isResourceNotPresent(v_containerIndex, f_getResourceName(v_request.primitiveContent))){
-							setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+	
+						//Check to see if the resource is NOT present
+						if(f_isResourceNotPresent(v_containerIndex, c_defaultContentInstanceResourceName)){
+						  setverdict(pass, __SCOPE__ & ":INFO: Oldest contentInstance has been removed to allow the creation of the new contentInstance");
 						} else {
-							setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+						  setverdict(fail, __SCOPE__ & ":ERROR: Oldest contentInstance has not been removed to allow the creation of the new contentInstance");
 						}
-								
+							
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+	
 						// Tear down
 						f_cf01Down();
 					    				
@@ -5126,75 +5129,73 @@ module OneM2M_Testcases_CSE_Release_1 {
 						}
 					}
 					
-				} // end g_CSE_DMR_UPD_004
-				
-				group g_CSE_DMR_UPD_005{
+				} // end g_CSE_DMR_UPD_004				
 					
-					/**
-					 * @desc Check that the IUT responds with an error when the AE tries to update an attribute of a  TARGET_RESOURCE_ADDRESS resource which does not exist
-					 * 
-					 */
-					testcase TC_CSE_DMR_UPD_005_CNT_EXC() runs on Tester system CseSystem {
-						// Local variables
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var XSD.PositiveInteger v_expirationCounter := 1;
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						
-						v_updateRequest.primitiveContent := {container_update_invalid := m_contentUpdateContainer_invalid};
-
-						v_updateRequest.primitiveContent.container_update_invalid.expirationCounter := v_expirationCounter;
-						
-						v_ae1.start(f_CSE_DMR_UPD_005(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
-					}
-
-					testcase TC_CSE_DMR_UPD_005_GRP_EXC() runs on Tester system CseSystem {
-						// Local variables
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var XSD.PositiveInteger v_expirationCounter := 1;
-						var template RequestPrimitive v_createRequest := m_createGroupBase;
-						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
-						
-						v_updateRequest.primitiveContent := {group_update_invalid := m_contentUpdateGroup_invalid};
-						
-						v_updateRequest.primitiveContent.group_update_invalid.expirationCounter := v_expirationCounter;
-						
-						v_ae1.start(f_CSE_DMR_UPD_005(int9, v_createRequest, v_updateRequest));//Group
-						v_ae1.done;
-					}
+				/**
+				 * @desc Check that the IUT responds with an error when the AE tries to update an attribute of a TARGET_RESOURCE_ADDRESS resource when the resource does not exist
+				 * 
+				 */
+				testcase TC_CSE_DMR_UPD_005() runs on AeSimu system CseSystem {
+					//Local variables
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var ResourceType v_resourceType := int3;	//container
+					var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+					var XSD.ID v_resourceId := "nonExistingId";
+					var XSD.ID v_resourceName := "nonExistingName";
+					var XSD.ID v_targetResourceAddress;
+										   
+					// Test control
 					
-					testcase TC_CSE_DMR_UPD_005_ACP_EXC() runs on Tester system CseSystem {
-						// Local variables
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var XSD.PositiveInteger v_expirationCounter := 1;
-						var template RequestPrimitive v_createRequest := m_createAcpBase;
-						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
-						
-						v_updateRequest.primitiveContent := {aCP_update_invalid := m_contentUpdateAcp_invalid};
-						
-						v_updateRequest.primitiveContent.aCP_update_invalid.expirationCounter := v_expirationCounter;
-								
-						v_ae1.start(f_CSE_DMR_UPD_005(int1, v_createRequest, v_updateRequest));//AccessControlPolicy
-						v_ae1.done;
+					// Test component configuration
+					f_cf01Up();
+					
+					// Test adapter configuration
+					
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+									
+					// Test Body
+					if((PX_ADDRESSING_METHOD == e_nonHierarchical) and (PX_PRIMITIVE_SCOPE == e_cseRelative)) {
+						v_targetResourceAddress := v_resourceId;
+					} else if (PX_ADDRESSING_METHOD == e_nonHierarchical) {
+						v_targetResourceAddress := f_getResourceAddress() & "/" & v_resourceId;
+					} else {
+						v_targetResourceAddress := f_getResourceAddress(v_aeIndex) & "/" & v_resourceName;
 					}
-				
-					testcase TC_CSE_DMR_UPD_005_SUB_MNI() runs on Tester system CseSystem {
-						// Local variables
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var XSD.NonNegativeInteger v_maxNrOfInstances := 5;
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
-
-						v_updateRequest.primitiveContent := {subscription_update_invalid := m_contentUpdateSubscription_invalid};
-						
-						v_updateRequest.primitiveContent.subscription_update_invalid.maxNrOfInstances := v_maxNrOfInstances;
+					
+					v_request := f_getUpdateRequestPrimitive(v_resourceType, v_aeIndex, v_updateRequest);
+					v_request.to_ := v_targetResourceAddress;
+					
+					mcaPort.send(m_request(v_request));
+					
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Operation not allowed because resource does not exist");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){
+							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 in a non existing resource");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(v_resourceType)));
+						}
+					}	
 								
-						v_ae1.start(f_CSE_DMR_UPD_005(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
-					}
+					f_checkAeSimuStatus();
+					
+					// Postamble
+					f_cse_postamble_deleteResources();
 					
-				} // end g_CSE_DMR_UPD_005
+					// Tear down
+					f_cf01Down();
+				}
 				
 				group g_CSE_DMR_UPD_006{
 					
@@ -5521,96 +5522,64 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 * @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 {
+					testcase TC_CSE_DMR_UPD_009_CNT_EXC() runs on Tester system CseSystem {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Timestamp v_expirationTime := "20001231T012345";
+						var XSD.PositiveInteger v_expirationCounter := 1;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var PrimitiveContent v_primitiveContentRetrieveResource;
+	
+						v_updateRequest.primitiveContent := {container_update_invalid := m_contentUpdateContainer_invalid};
 
-						v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime;
-						
-						v_ae1.start(f_CSE_DMR_UPD_009(int3, m_createContainerBase, v_updateRequest));//Container
+						v_updateRequest.primitiveContent.container_update_invalid.expirationCounter := v_expirationCounter;
+	
+						v_ae1.start(f_CSE_DMR_UPD_009(int3, v_createRequest, 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 {
+
+					testcase TC_CSE_DMR_UPD_009_GRP_EXC() 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
+						var XSD.PositiveInteger v_expirationCounter := 1;
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
+	
+						v_updateRequest.primitiveContent := {group_update_invalid := m_contentUpdateGroup_invalid};
+	
+						v_updateRequest.primitiveContent.group_update_invalid.expirationCounter := v_expirationCounter;
+	
+						v_ae1.start(f_CSE_DMR_UPD_009(int9, v_createRequest, 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.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 {
+
+					testcase TC_CSE_DMR_UPD_009_ACP_EXC() 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;
+						var XSD.PositiveInteger v_expirationCounter := 1;
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
+						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 	
-						v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime;
+						v_updateRequest.primitiveContent := {aCP_update_invalid := m_contentUpdateAcp_invalid};
+	
+						v_updateRequest.primitiveContent.aCP_update_invalid.expirationCounter := v_expirationCounter;
 			
-						v_ae1.start(f_CSE_DMR_UPD_009(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
+						v_ae1.start(f_CSE_DMR_UPD_009(int1, v_createRequest, 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.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 {
+
+					testcase TC_CSE_DMR_UPD_009_SUB_MNI() 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
+						var XSD.NonNegativeInteger v_maxNrOfInstances := 5;
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
+
+						v_updateRequest.primitiveContent := {subscription_update_invalid := m_contentUpdateSubscription_invalid};
+	
+						v_updateRequest.primitiveContent.subscription_update_invalid.maxNrOfInstances := v_maxNrOfInstances;
+			
+						v_ae1.start(f_CSE_DMR_UPD_009(int23, v_createRequest, 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.group_)) {
-							   if(v_primitiveContentRetrieveResource.group_.expirationTime == v_expirationTime){
-								 setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute updated")
-								}
-							}
-						}
 					}
 	
 				} // end g_CSE_DMR_UPD_009