diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 5f7bd471514c17a34286db228c4f8652a2b55a6a..2bfda7718bb832d04ffb1ecf7110850be114cdec 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -1038,7 +1038,7 @@ module OneM2M_Functions {
 			 * @param p_resourceIndex Internal resource index which indicates the resource to be updated	 
 			 * @verdict 
 			 */
-			function f_cse_updateResource(in ResourceType p_resourceType, integer p_resourceIndex, template RequestPrimitive p_request) runs on AeSimu {
+			function f_cse_updateResource(in ResourceType p_resourceType, integer p_resourceIndex, template RequestPrimitive p_request, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu {
 				
 				var RequestPrimitive v_request;
 				
@@ -1047,7 +1047,7 @@ module OneM2M_Functions {
 				
 				v_request := f_getUpdateRequestPrimitive(p_resourceType, p_resourceIndex, p_request);
 					
-				mcaPort.send(m_request(v_request));
+				mcaPort.send(m_request(v_request, p_nullFields));
 				tc_ac.start;
 				alt {
 					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index fbda2032ef332e525abd4775cc371def4e056745..a1d16c1a5145597b258864380a19106b0b636396 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -572,11 +572,31 @@ module OneM2M_Templates {
 				primitiveContent := {aEAnnc := m_contentUpdateAEAnnc}
 			};
 			
-			template (value) RequestPrimitive mw_updateContainerAnncBase modifies m_update:= {
-				requestIdentifier := testcasename() & "-m_updateContainerAnnc",
+			/**
+			 * @desc Base Reception template for update ContainerAnnc
+			 */
+			template RequestPrimitive mw_updateContainerAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
 				resourceType := int10003,
-				primitiveContent := {containerAnnc := m_contentUpdateContainerAnnc}
-			};
+				primitiveContent := {containerAnnc := ?}
+			}; 
+			
+			/**
+			 * @desc Base Reception template for update GroupAnnc
+			 */
+			template RequestPrimitive mw_updateGroupAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
+				resourceType := int10009,
+				primitiveContent := {groupAnnc := ?}
+			}; 
+			
+			/**
+			 * @desc Base Reception template for update AccessControlPolicyAnnc
+			 */
+			template RequestPrimitive mw_updateAccessControlPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
+				resourceType := int10001,
+				primitiveContent := {accessControlPolicyAnnc := ?}
+			}; 			
+			
+			
     	}//end group Update
     	
     	group Create {
@@ -2689,6 +2709,31 @@ module OneM2M_Templates {
 			disableRetrieval := omit,
 			choice := omit
 		};
+		
+		template (value) GroupAnnc_optional m_contentUpdateGroupAnnc := {
+			resourceName := omit,
+		  	resourceType := omit,
+		  	resourceID := omit,
+		  	parentID := omit,
+		  	creationTime := omit,
+		  	lastModifiedTime := omit,
+		  	labels := omit,
+		  	accessControlPolicyIDs := omit,
+		  	expirationTime := omit,
+		  	link := omit,
+		  	dynamicAuthorizationConsultationIDs := omit,
+		  	memberType := omit,
+		  	currentNrOfMembers := omit, 
+		  	maxNrOfMembers := omit,
+		  	memberIDs := omit, 
+		  	membersAccessControlPolicyIDs := omit,
+		  	memberTypeValidated := omit,
+		  	consistencyStrategy := omit, 
+		  	groupName := omit, 
+		  	semanticSupportIndicator := omit,
+		  	choice := omit
+		};	
+		
  		
 	}//end group ContentUpdate
 
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index ded2cba5dba0e7bb9da743b3bfdd4bf49cca1347..4fc52aab2ce8c285c920a41736ac3e909e962302 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -7093,7 +7093,7 @@ module OneM2M_PermutationFunctions {
 	
 				}//end f_CSE_ANNC_UPD_001
 	
-				function f_CSE_ANNC_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive) runs on CseSimu {
+				function f_CSE_ANNC_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseSimu {
 					// Local variables
 					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					var MsgIn v_request;
@@ -7156,9 +7156,8 @@ module OneM2M_PermutationFunctions {
 	
 				}//end f_CSE_ANNC_UPD_002
 	
-				function f_CSE_ANNC_UPD_003(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, template RequestPrimitive p_requestUpdatePrimitive) runs on AeSimu {
+				function f_CSE_ANNC_UPD_003(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, template RequestPrimitive p_requestUpdatePrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu {
 					//Local variables
-					var MsgIn v_request;
 					var RequestPrimitive v_updateRequest;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex;
@@ -7186,11 +7185,11 @@ module OneM2M_PermutationFunctions {
 	
 					vc_cse1.start(f_cse_announcementProcedure_deleteHandler());	
 					v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
-					mcaPort.send(m_request(v_updateRequest));
+					mcaPort.send(m_request(v_updateRequest, p_nullFields));
 	
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_request {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Resource updated successfully");
 				
@@ -7210,12 +7209,8 @@ module OneM2M_PermutationFunctions {
 		
 					vc_cse1.done;
 	
-					//Check to see if the resource is present or not
-					if (f_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))){
-						setverdict(pass, __SCOPE__ & ":INFO: Resource deleted");
-					}else {
-						setverdict(fail, __SCOPE__ & ":ERROR: Resource not deleted");
-					}
+					//Used to check that the resource has been updated
+					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
 	
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -7224,10 +7219,9 @@ module OneM2M_PermutationFunctions {
 					f_cf02Down();
 				} //end f_CSE_ANNC_UPD_003
 	
-				function f_CSE_ANNC_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu {
+				function f_CSE_ANNC_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc, template (omit) AttributeAux_list p_nullFields := omit) runs on CseSimu {
 					// Local variables
 					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-					var MsgIn v_request;
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
@@ -7262,17 +7256,17 @@ module OneM2M_PermutationFunctions {
 					p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
 	
 					// Test Body
-					v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive));
+					v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive, p_nullFields));
 	
 					tc_ac.start;
 					alt {
-						[] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request {
+						[] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value vc_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
 			
-							v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive := valueof(m_responsePrimitive(int2004,vc_request.primitive.requestPrimitive.requestIdentifier));
 							v_responsePrimitive.from_ := PX_CSE1_ID;
-							v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
+							v_responsePrimitive.to_ := vc_request.primitive.requestPrimitive.from_;
 							mccPortIn.send(m_response(v_responsePrimitive));			
 						}
 						[] tc_ac.timeout {
@@ -7288,6 +7282,328 @@ module OneM2M_PermutationFunctions {
 					f_cf02DownCseSimuMaster();
 	
 				}//end f_CSE_ANNC_UPD_005
+				
+				function f_CSE_ANNC_UPD_009(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu {
+					// Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var MsgIn v_request;
+					var RequestPrimitive v_requestUpdatePrimitive;
+					var integer v_parentIndex := -1;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex;
+					var integer v_aEAnncIndex := -1;
+					var integer v_latestResourceIndex;
+					var ResponsePrimitive v_responsePrimitive;
+					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+
+					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
+   
+					//Test control
+
+					// Test component configuration
+					f_cf02UpCseSimuMaster();
+
+					// Test adapter configuration
+					// Register the CSE
+					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
+
+					//Preamble
+
+					v_ae1.start(f_cse_createResource(int2,v_create));					
+					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
+					v_ae1.done;
+
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
+					v_ae1.done;					
+
+					v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
+					p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
+
+					// Test Body
+					v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive));
+
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
+			
+							v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.from_ := PX_CSE1_ID;
+							v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
+							mccPortIn.send(m_response(v_responsePrimitive));			
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					v_ae1.done;
+
+					// Postamble
+					f_cse_postamble_deleteResourcesCSE();
+
+					// Tear down
+					f_cf02DownCseSimuMaster();
+
+				}//end f_CSE_ANNC_UPD_009
+				
+				function f_CSE_ANNC_UPD_010(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu {
+					// Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var MsgIn v_request;
+					var RequestPrimitive v_requestUpdatePrimitive;
+					var integer v_parentIndex := -1;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex;
+					var integer v_aEAnncIndex := -1;
+					var integer v_latestResourceIndex;
+					var ResponsePrimitive v_responsePrimitive;
+					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+
+					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
+   
+					//Test control
+
+					// Test component configuration
+					f_cf02UpCseSimuMaster();
+
+					// Test adapter configuration
+					// Register the CSE
+					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
+
+					//Preamble
+
+					v_ae1.start(f_cse_createResource(int2,v_create));					
+					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
+					v_ae1.done;
+
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
+					v_ae1.done;					
+
+					v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
+					p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
+
+					// Test Body
+					v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive));
+
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
+
+							v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.from_ := PX_CSE1_ID;
+							v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
+							mccPortIn.send(m_response(v_responsePrimitive));			
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					v_ae1.done;
+
+					// Postamble
+					f_cse_postamble_deleteResourcesCSE();
+
+					// Tear down
+					f_cf02DownCseSimuMaster();
+
+				}//end f_CSE_ANNC_UPD_010
+				
+				function f_CSE_ANNC_UPD_011(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc) runs on CseSimu {
+					// Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var MsgIn v_request;
+					var RequestPrimitive v_requestUpdatePrimitive;
+					var integer v_parentIndex := -1;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex;
+					var integer v_aEAnncIndex := -1;
+					var integer v_latestResourceIndex;
+					var ResponsePrimitive v_responsePrimitive;
+					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+
+					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
+   
+					//Test control
+
+					// Test component configuration
+					f_cf02UpCseSimuMaster();
+
+					// Test adapter configuration
+					// Register the CSE
+					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
+
+					//Preamble
+
+					v_ae1.start(f_cse_createResource(int2,v_create));					
+					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
+					v_ae1.done;
+
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
+					v_ae1.done;					
+
+					v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
+					p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
+
+					// Test Body
+					v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive));
+
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value v_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
+
+							v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.from_ := PX_CSE1_ID;
+							v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
+							mccPortIn.send(m_response(v_responsePrimitive));			
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					v_ae1.done;
+
+					// Postamble
+					f_cse_postamble_deleteResourcesCSE();
+
+					// Tear down
+					f_cf02DownCseSimuMaster();
+
+				}//end f_CSE_ANNC_UPD_011
+				
+				function f_CSE_ANNC_UPD_012(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc, template (omit) AttributeAux_list p_nullFields := omit) runs on CseSimu {
+					// Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var RequestPrimitive v_requestUpdatePrimitive;
+					var integer v_parentIndex := -1;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex;
+					var integer v_aEAnncIndex := -1;
+					var integer v_latestResourceIndex;
+					var ResponsePrimitive v_responsePrimitive;
+					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+
+					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
+   
+					//Test control
+
+					// Test component configuration
+					f_cf02UpCseSimuMaster();
+
+					// Test adapter configuration
+					// Register the CSE
+					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
+
+					//Preamble
+
+					v_ae1.start(f_cse_createResource(int2,v_create));					
+					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
+					v_ae1.done;
+
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
+					v_ae1.done;					
+
+					v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
+					p_updateRequestAnnc.to_ := f_getLocalResourceAddress(lengthof(vc_localResourcesList)-1);
+
+					// Test Body
+					v_ae1.start(f_cse_updateResource(p_resourceType, v_latestResourceIndex, p_requestUpdatePrimitive, p_nullFields));
+
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value vc_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
+
+							v_responsePrimitive := valueof(m_responsePrimitive(int2004,vc_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.from_ := PX_CSE1_ID;
+							v_responsePrimitive.to_ := vc_request.primitive.requestPrimitive.from_;
+							mccPortIn.send(m_response(v_responsePrimitive));			
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					v_ae1.done;
+
+					// Postamble
+					f_cse_postamble_deleteResourcesCSE();
+
+					// Tear down
+					f_cf02DownCseSimuMaster();
+
+				}//end f_CSE_ANNC_UPD_012
+				
+				function f_CSE_ANNC_UPD_013(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, template RequestPrimitive p_requestUpdatePrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on AeSimu {
+					//Local variables
+					var RequestPrimitive v_updateRequest;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex;
+					var ResponsePrimitive v_responsePrimitive;
+					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+
+					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
+					//Test control
+
+					//Test component configuration
+					f_cf02Up();
+
+					//Register the CSE
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));	
+					vc_cse1.done;
+
+					//Preamble
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
+					v_aeIndex := f_cse_createResource(int2,v_create);
+					vc_cse1.done;
+
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc));	
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
+					vc_cse1.done;				  	
+
+					vc_cse1.start(f_cse_announcementProcedure_updateHandler());
+					v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
+					mcaPort.send(m_request(v_updateRequest, p_nullFields));
+
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Resource updated successfully");
+
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error while updating container resource");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource");
+						}
+					}
+
+					vc_cse1.done;
+
+					//Used to check that the resource has been updated
+					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+
+					//Postamble
+					f_cse_postamble_deleteResources();
+
+					// Tear down
+					f_cf02Down();
+				} //end f_CSE_ANNC_UPD_013
 	
 			}//end group Update
 			
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 5ca4f10b72eb62d91dadee1cf6831390e14c158d..91fd819f3bb04b54833bedda4415e0d63a12a955 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -7365,10 +7365,15 @@ module OneM2M_Testcases_CSE_Release_2 {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;	
+						var AttributeAux_list v_nullFields;
+						var ListOfURIs v_announceTo := {"To be deleted"};
 
-						v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};					
+						v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};		
+						
+						v_updateRequest.primitiveContent.accessControlPolicy.announceTo := v_announceTo;
+						v_nullFields := {{"announceTo", omit}};
 
-						v_cse1.start(f_CSE_ANNC_UPD_002(int1, v_createRequest, v_createRequestAnnc, v_updateRequest));//AccessControlPolicy
+						v_cse1.start(f_CSE_ANNC_UPD_002(int1, v_createRequest, v_createRequestAnnc, v_updateRequest, v_nullFields));//AccessControlPolicy
 						v_cse1.done;
 					}
 
@@ -7378,10 +7383,15 @@ module OneM2M_Testcases_CSE_Release_2 {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;	
+						var AttributeAux_list v_nullFields;
+						var ListOfURIs v_announceTo := {"To be deleted"};
 
 						v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						
+						v_updateRequest.primitiveContent.container.announceTo := v_announceTo;
+						v_nullFields := {{"announceTo", omit}};
   
-						v_cse1.start(f_CSE_ANNC_UPD_002(int3, v_createRequest, v_createRequestAnnc, v_updateRequest));//Container
+						v_cse1.start(f_CSE_ANNC_UPD_002(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_nullFields));//Container
 						v_cse1.done;
 					}
 
@@ -7391,10 +7401,15 @@ module OneM2M_Testcases_CSE_Release_2 {
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;	
+						var AttributeAux_list v_nullFields;
+						var ListOfURIs v_announceTo := {"To be deleted"};
 
 						v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						
+						v_updateRequest.primitiveContent.group_.announceTo := v_announceTo;
+						v_nullFields := {{"announceTo", omit}};
   
-						v_cse1.start(f_CSE_ANNC_UPD_002(int9, v_createRequest, v_createRequestAnnc, v_updateRequest));//Group
+						v_cse1.start(f_CSE_ANNC_UPD_002(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_nullFields));//Group
 						v_cse1.done;
 					}
 
@@ -7409,10 +7424,16 @@ module OneM2M_Testcases_CSE_Release_2 {
 						var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 						var ResponsePrimitive v_responsePrimitive;	
+						var AttributeAux_list v_nullFields;
+						var ListOfURIs v_announceTo := {"To be deleted"};
+						var PrimitiveContent v_primitiveContentRetrieveResource;
   
 						v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
+						
+						v_updateRequest.primitiveContent.accessControlPolicy.announceTo := v_announceTo;
+						v_nullFields := {{"announceTo", omit}};
   
-						v_ae1.start(f_CSE_ANNC_UPD_003(int1, v_createRequestAnnc, v_createRequest, v_updateRequest));//AccessControlPolicy
+						v_ae1.start(f_CSE_ANNC_UPD_003(int1, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//AccessControlPolicy
 						v_ae1.done;
 			
 						if(getverdict == pass){
@@ -7420,11 +7441,19 @@ module OneM2M_Testcases_CSE_Release_2 {
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
 									if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.announceTo)){
-										setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL")
+										setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL");
 									}
 								}
 							}
-				
+							
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+
+							//Check that the resource has been udpated correctly
+							if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) {
+								if(ispresent(v_primitiveContentRetrieveResource.accessControlPolicy.announceTo)){
+									setverdict(fail, __SCOPE__ & ": Error: announceTo attribute not updated correctly");
+								}
+							}
 						}		
 				
 					}
@@ -7436,10 +7465,16 @@ module OneM2M_Testcases_CSE_Release_2 {
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;	
 						var ResponsePrimitive v_responsePrimitive;	
+						var AttributeAux_list v_nullFields;
+						var ListOfURIs v_announceTo := {"To be deleted"};
+						var PrimitiveContent v_primitiveContentRetrieveResource;
   
 						v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						
+						v_updateRequest.primitiveContent.container.announceTo := v_announceTo;
+						v_nullFields := {{"announceTo", omit}};
   
-						v_ae1.start(f_CSE_ANNC_UPD_003(int3, v_createRequestAnnc, v_createRequest, v_updateRequest));//Container
+						v_ae1.start(f_CSE_ANNC_UPD_003(int3, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Container
 						v_ae1.done;
 			
 						if(getverdict == pass){
@@ -7447,11 +7482,19 @@ module OneM2M_Testcases_CSE_Release_2 {
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
 									if(ispresent(v_responsePrimitive.primitiveContent.container.announceTo)){
-										setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL")
+										setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL");
 									}
 								}
 							}
+							
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 
+							//Check that the resource has been udpated correctly
+							if(ischosen(v_primitiveContentRetrieveResource.container)) {
+								if(ispresent(v_primitiveContentRetrieveResource.container.announceTo)){
+									setverdict(fail, __SCOPE__ & ": Error: announceTo attribute not updated correctly");
+								}
+							}
 						}	
 									
 					}
@@ -7463,10 +7506,16 @@ module OneM2M_Testcases_CSE_Release_2 {
 						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;	
 						var ResponsePrimitive v_responsePrimitive;	
+						var AttributeAux_list v_nullFields;
+						var ListOfURIs v_announceTo := {"To be deleted"};
+						var PrimitiveContent v_primitiveContentRetrieveResource;
   
 						v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						
+						v_updateRequest.primitiveContent.group_.announceTo := v_announceTo;
+						v_nullFields := {{"announceTo", omit}};
   
-						v_ae1.start(f_CSE_ANNC_UPD_003(int9, v_createRequestAnnc, v_createRequest, v_updateRequest));//Group
+						v_ae1.start(f_CSE_ANNC_UPD_003(int9, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Group
 						v_ae1.done;
 			
 						if(getverdict == pass){
@@ -7474,11 +7523,19 @@ module OneM2M_Testcases_CSE_Release_2 {
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
 									if(ispresent(v_responsePrimitive.primitiveContent.group_.announceTo)){
-										setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL")
+										setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL");
 									}
 								}
 							}
+							
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 
+							//Check that the resource has been udpated correctly
+							if(ischosen(v_primitiveContentRetrieveResource.group_)) {
+								if(ispresent(v_primitiveContentRetrieveResource.group_.announceTo)){
+									setverdict(fail, __SCOPE__ & ": Error: announceTo attribute not updated correctly");
+								}
+							}
 						}	
 					}
 
@@ -7492,17 +7549,378 @@ module OneM2M_Testcases_CSE_Release_2 {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnncBase;
-						var Labels v_labels_1 := {"VALUE_1"};	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
+						var RequestPrimitive v_requestPrimitive;	
+						var Labels v_labels_1 := {"VALUE_1"};
+						var AttributeAux_list v_nullFields;
+						var Labels v_labels_2 := {"To be deleted"};	
 
 						v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
 						v_createRequest.primitiveContent.container.labels := v_labels_1;
+						
+						v_updateRequest.primitiveContent.container.labels := v_labels_2;
+						v_nullFields := {{"labels", omit}};
   
-						v_cse1.start(f_CSE_ANNC_UPD_005(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
+						v_cse1.start(f_CSE_ANNC_UPD_005(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields));//Container
 						v_cse1.done;
+						
+						if(getverdict == pass){
+							v_requestPrimitive := f_getRequestPrimitive(v_cse1);
+							if(ispresent(v_requestPrimitive.primitiveContent)) {
+								if(ischosen(v_requestPrimitive.primitiveContent.containerAnnc)) {
+									if(ispresent(v_requestPrimitive.primitiveContent.containerAnnc.labels)){
+										setverdict(fail, __SCOPE__ & ": Error: labels attribute is not set to NULL");
+									}
+								}
+							}
 
-					} //end TC_CSE_ANNC_CRE_001
-				} // end group g_CSE_ANNC_CRE_001
+						}	
+
+					}
+				} // end group g_CSE_ANNC_UPD_005
+				
+				group g_CSE_ANNC_UPD_009{
+
+					testcase TC_CSE_ANNC_UPD_009_CNT_MBS() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
+						var XSD.NonNegativeInteger v_maxByteSize := 512;
+
+						v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize;	
+						
+						v_createRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize;
+						
+						v_updateRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};
+						
+						v_updateRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize;
+  
+						v_cse1.start(f_CSE_ANNC_UPD_009(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
+						v_cse1.done;
+					}
+
+					testcase TC_CSE_ANNC_UPD_009_GRP_MT() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateGroupBase;	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateGroupAnnc;
+						var MemberType v_memberType := int3;
+
+						v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.group_.memberType := v_memberType;
+						
+						v_createRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType;
+						
+						v_updateRequest.primitiveContent.group_.announcedAttribute := {"memberType"};
+						
+						v_updateRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType;
+  
+						v_cse1.start(f_CSE_ANNC_UPD_009(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Group
+						v_cse1.done;
+					}
+
+				}// end group g_CSE_ANNC_UPD_009
+				
+				group g_CSE_ANNC_UPD_010{
+					
+					testcase TC_CSE_ANNC_UPD_010_ACP() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
+						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateAccessControlPolicyAnnc;
+						var Timestamp v_expirationTime_1 := "21001231T012345";
+						var Timestamp v_expirationTime_2 := "21101231T012345";
+
+						v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_1;	
+
+						v_createRequestAnnc.primitiveContent.accessControlPolicyAnnc.expirationTime := v_expirationTime_1;
+
+						v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_2;
+
+						v_updateRequestAnnc.primitiveContent.accessControlPolicyAnnc.expirationTime := v_expirationTime_2;
+  
+						v_cse1.start(f_CSE_ANNC_UPD_010(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
+						v_cse1.done;
+					}
+
+					testcase TC_CSE_ANNC_UPD_010_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
+						var Timestamp v_expirationTime_1 := "21001231T012345";
+						var Timestamp v_expirationTime_2 := "21101231T012345";
+
+						v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.container.expirationTime := v_expirationTime_1;	
+		
+						v_createRequestAnnc.primitiveContent.containerAnnc.expirationTime := v_expirationTime_1;
+		
+						v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime_2;
+		
+						v_updateRequestAnnc.primitiveContent.containerAnnc.expirationTime := v_expirationTime_2;
+  
+						v_cse1.start(f_CSE_ANNC_UPD_010(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
+						v_cse1.done;
+					}
+
+					testcase TC_CSE_ANNC_UPD_010_GRP() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateGroupBase;	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateGroupAnnc;
+						var Timestamp v_expirationTime_1 := "21001231T012345";
+						var Timestamp v_expirationTime_2 := "21101231T012345";
+
+						v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.group_.expirationTime := v_expirationTime_1;
+		
+						v_createRequestAnnc.primitiveContent.groupAnnc.expirationTime := v_expirationTime_1;
+		
+						v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime_2;
+		
+						v_updateRequestAnnc.primitiveContent.groupAnnc.expirationTime := v_expirationTime_2;
+  
+						v_cse1.start(f_CSE_ANNC_UPD_010(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Group
+						v_cse1.done;
+					}
+
+				}// end group g_CSE_ANNC_UPD_010
+				
+				group g_CSE_ANNC_UPD_011{
+
+					testcase TC_CSE_ANNC_UPD_011_CNT_MBS() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
+						var XSD.NonNegativeInteger v_maxByteSize_1 := 512;
+						var XSD.NonNegativeInteger v_maxByteSize_2 := 1024;
+
+						v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize_1;
+						v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};	
+		
+						v_createRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize_1;
+		
+						v_updateRequest.primitiveContent.container.maxByteSize := v_maxByteSize_2;
+		
+						v_updateRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize_2;
+  
+						v_cse1.start(f_CSE_ANNC_UPD_011(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Container
+						v_cse1.done;
+					}
+
+					testcase TC_CSE_ANNC_UPD_011_GRP_MT() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateGroupBase;	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateGroupAnnc;
+						var MemberType v_memberType_1 := int3;
+						var MemberType v_memberType_2 := int4;
+
+						v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.group_.memberType := v_memberType_1;
+						v_createRequest.primitiveContent.group_.announcedAttribute := {"memberType"};
+		
+						v_createRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType_1;
+		
+						v_updateRequest.primitiveContent.group_.memberType := v_memberType_2;
+		
+						v_updateRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType_2;
+  
+						v_cse1.start(f_CSE_ANNC_UPD_011(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc));//Group
+						v_cse1.done;
+					}
+
+				}// end group g_CSE_ANNC_UPD_011
+				
+				group g_CSE_ANNC_UPD_012{
+
+					testcase TC_CSE_ANNC_UPD_012_CNT_MBS() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateContainerAnnc;
+						var RequestPrimitive v_requestPrimitive;	
+						var XSD.NonNegativeInteger v_maxByteSize := 512;
+						var AttributeAux_list v_nullFields;
+						var ListOfNCNames v_announcedAttribute := {"ToBeDeleted"};
+
+						v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize;
+						v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};	
+
+						v_createRequestAnnc.primitiveContent.containerAnnc.maxByteSize := v_maxByteSize;
+						
+						v_updateRequest.primitiveContent.container.announcedAttribute := v_announcedAttribute;
+						v_nullFields := {{"announcedAttribute", omit}};
+  
+						v_cse1.start(f_CSE_ANNC_UPD_012(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields));//Container
+						v_cse1.done;
+						
+						if(getverdict == pass){
+							v_requestPrimitive := f_getRequestPrimitive(v_cse1);
+							if(ispresent(v_requestPrimitive.primitiveContent)) {
+								if(ischosen(v_requestPrimitive.primitiveContent.containerAnnc)) {
+									if(ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){
+										setverdict(fail, __SCOPE__ & ": Error: maxByteSize attribute is not set to NULL");
+									}
+								}
+							}
+
+						}	
+						
+					}
+
+					testcase TC_CSE_ANNC_UPD_012_GRP_MT() runs on Tester system CseSystem {
+						// Local variables
+						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateGroupBase;	
+						var template RequestPrimitive v_updateRequestAnnc := mw_updateGroupAnnc;
+						var RequestPrimitive v_requestPrimitive;	
+						var MemberType v_memberType := int3;
+						var AttributeAux_list v_nullFields;
+						var ListOfNCNames v_announcedAttribute := {"ToBeDeleted"};
+
+						v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.group_.memberType := v_memberType;
+						v_createRequest.primitiveContent.group_.announcedAttribute := {"memberType"};
+
+						v_createRequestAnnc.primitiveContent.groupAnnc.memberType := v_memberType;
+
+						v_updateRequest.primitiveContent.group_.announcedAttribute := v_announcedAttribute;
+						v_nullFields := {{"announcedAttribute", omit}};
+  
+						v_cse1.start(f_CSE_ANNC_UPD_012(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields));//Group
+						v_cse1.done;
+						
+						if(getverdict == pass){
+							v_requestPrimitive := f_getRequestPrimitive(v_cse1);
+							if(ispresent(v_requestPrimitive.primitiveContent)) {
+								if(ischosen(v_requestPrimitive.primitiveContent.groupAnnc)) {
+									if(ispresent(v_requestPrimitive.primitiveContent.groupAnnc.memberType)){
+										setverdict(fail, __SCOPE__ & ": Error: memberType attribute is not set to NULL");
+									}
+								}
+							}
+
+						}	
+					}
+
+				}// end group g_CSE_ANNC_UPD_012
+				
+				group g_CSE_ANNC_UPD_013{
+	
+					testcase TC_CSE_ANNC_UPD_013_CNT_MBS() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;	
+						var ResponsePrimitive v_responsePrimitive;	
+						var AttributeAux_list v_nullFields;
+						var ListOfNCNames v_announcedAttribute := {"ToBeDeleted"};
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						var XSD.NonNegativeInteger v_maxByteSize := 512;
+	  
+						v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize;
+						v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};
+		
+						v_updateRequest.primitiveContent.container.announcedAttribute := v_announcedAttribute;
+						v_nullFields := {{"announcedAttribute", omit}};
+	  
+						v_ae1.start(f_CSE_ANNC_UPD_013(int3, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Container
+						v_ae1.done;
+	
+						if(getverdict == pass){
+							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							if(ispresent(v_responsePrimitive.primitiveContent)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
+									if(ispresent(v_responsePrimitive.primitiveContent.container.announcedAttribute)){
+										setverdict(fail, __SCOPE__ & ": Error: announcedAttribute attribute is not set to NULL");
+									}
+								}
+							}
+			
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+	
+							//Check that the resource has been udpated correctly
+							if(ischosen(v_primitiveContentRetrieveResource.container)) {
+								if(ispresent(v_primitiveContentRetrieveResource.container.announcedAttribute)){
+									setverdict(fail, __SCOPE__ & ": Error: announcedAttribute attribute not updated correctly");
+								}
+							}
+						}	
+					
+					}
+	
+					testcase TC_CSE_ANNC_UPD_013_GRP_MT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
+						var template RequestPrimitive v_updateRequest := m_updateGroupBase;	
+						var ResponsePrimitive v_responsePrimitive;	
+						var AttributeAux_list v_nullFields;
+						var ListOfNCNames v_announcedAttribute := {"ToBeDeleted"};
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						var MemberType v_memberType := int3;
+	  
+						v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						v_createRequest.primitiveContent.group_.memberType := v_memberType;
+						v_createRequest.primitiveContent.group_.announcedAttribute := {"memberType"};
+		
+						v_updateRequest.primitiveContent.group_.announcedAttribute := v_announcedAttribute;
+						v_nullFields := {{"announcedAttribute", omit}};
+	  
+						v_ae1.start(f_CSE_ANNC_UPD_013(int9, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Group
+						v_ae1.done;
+	
+						if(getverdict == pass){
+							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							if(ispresent(v_responsePrimitive.primitiveContent)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
+									if(ispresent(v_responsePrimitive.primitiveContent.group_.announcedAttribute)){
+										setverdict(fail, __SCOPE__ & ": Error: announcedAttribute attribute is not set to NULL");
+									}
+								}
+							}
+			
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+	
+							//Check that the resource has been udpated correctly
+							if(ischosen(v_primitiveContentRetrieveResource.group_)) {
+								if(ispresent(v_primitiveContentRetrieveResource.group_.announcedAttribute)){
+									setverdict(fail, __SCOPE__ & ": Error: announcedAttribute attribute not updated correctly");
+								}
+							}
+						}	
+					}
+	
+				}// end group g_CSE_ANNC_UPD_013
 	
 			}//end group Update