diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index ace7fd137bca4d5034faf4cc11eb7ca6c76f3eff..45bfaefd965b08fcab8153500072d825bfb1b589 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -391,6 +391,28 @@ module OneM2M_Functions {
 			return v_resourceIndex;
 
 		}
+		
+		/**
+		 * @desc Getting last local resourceIndex saved in the vc_localResourcesList
+		 * @param p_tester Given component
+		 */
+		function f_getLatestLocalResourceIndex(in CseSimu p_component) runs on Tester return integer {
+			var integer v_resourceIndex;
+
+			f_connectInfoPort(p_component);
+
+			p_component.start(f_sendLatestLocalResourceIndex());
+			alt {
+				[]infoPort.receive(mw_resourceIndex) -> value v_resourceIndex{
+				}
+			}
+
+			p_component.done;
+			f_disconnectInfoPort(p_component);
+
+			return v_resourceIndex;
+
+		}
 							
 		/**
 		 * @desc Getting primitiveContent retrieved in an AeSimu component
@@ -490,6 +512,15 @@ module OneM2M_Functions {
 		
 		} 
 		
+		/**
+		 * @desc Sending of last local resourceIndex saved in the vc_localResourcesList
+		 */	
+		function f_sendLatestLocalResourceIndex() runs on CseSimu {
+
+			infoPort.send(lengthof(vc_localResourcesList)-1);
+		
+		} 
+		
 		/**
 		 * @desc Sending of last primitiveContent retrieved (vc_primitiveContentRetrievedResource) through InfoPort
 		 */	
@@ -938,6 +969,54 @@ module OneM2M_Functions {
 		
 			}
 			
+			/**
+				 * @desc Message exchange for the creation of a resource
+				 * @param p_resourceType Resource type of the resource to be created
+				 * @param p_requestPrimitive UPDATE request primitive to be used
+				 * @param p_resourceIndex Internal resource index which indicates the resource to be updated	 
+				 * @verdict 
+				 */
+				function f_cse_createResourceHandler(template RequestPrimitive p_request) runs on CseSimu return integer{
+				
+					var integer v_localResourceIndex := -1;
+					var integer v_parentResourceIndex := -1;
+					var ResponsePrimitive v_response;
+					var PrimitiveContent v_localResource;
+				
+					//Activate defaults when running on a PTC
+					f_cse_activateDefaults_cse1();	
+				
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(p_request)) -> value vc_request {
+							tc_ac.stop;
+							v_parentResourceIndex := f_getResourceIndex(vc_request.primitive.requestPrimitive.to_);
+							if(v_parentResourceIndex == -1) {
+								log(__SCOPE__&": ERROR: Target resource not found");
+								v_response := valueof(m_responsePrimitive(int4004,vc_request.primitive.requestPrimitive.requestIdentifier));
+						
+							} else {
+								v_localResource := f_generateLocalResource(vc_request.primitive.requestPrimitive.primitiveContent, v_parentResourceIndex, vc_request.primitive.requestPrimitive.resourceType);
+								v_localResourceIndex := f_setLocalResource(v_localResource, vc_request.primitive.requestPrimitive.resourceType, v_parentResourceIndex);
+	
+								v_response := valueof(m_responsePrimitive(int2001,vc_request.primitive.requestPrimitive.requestIdentifier));
+								v_response.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource;
+							}
+							v_response.from_ := PX_CSE1_ID;
+							v_response.to_ := vc_request.primitive.requestPrimitive.from_;
+							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc, __SCOPE__&":INFO: No creation for resource received");
+						}
+					}	
+				
+					f_checkCseSimuStatus();
+					
+					return v_localResourceIndex;
+				
+				}// end f_cse_createResourceHandler
+			
 			/**
 			 * @desc Creation of a local resource
 			 * @param p_resourceType Resource type of the resource to be created
@@ -1132,6 +1211,51 @@ module OneM2M_Functions {
 				
 			}// end f_cse_updateResource
 			
+			/**
+			 * @desc Message exchange for the update of a resource
+			 * @param p_resourceType Resource type of the resource to be created
+			 * @param p_requestPrimitive UPDATE request primitive to be used
+			 * @param p_resourceIndex Internal resource index which indicates the resource to be updated	 
+			 * @verdict 
+			 */
+			function f_cse_updateResourceHandler(integer p_resourceIndex, template RequestPrimitive p_request) runs on CseSimu {
+				
+				var integer v_targetResourceIndex := -1;
+				var ResponsePrimitive v_response;
+				
+				//Activate defaults when running on a PTC
+				f_cse_activateDefaults_cse1();	
+				
+				tc_ac.start;
+				alt {
+					[] mccPortIn.receive(mw_request(p_request)) -> value vc_request {
+						tc_ac.stop;
+						v_targetResourceIndex := f_getResourceIndex(vc_request.primitive.requestPrimitive.to_);
+						if(v_targetResourceIndex == p_resourceIndex) {
+							setverdict(pass, __SCOPE__&":INFO: Resource updated successfuly");
+							v_response := valueof(m_responsePrimitive(int2004,vc_request.primitive.requestPrimitive.requestIdentifier));
+							v_response.from_ := vc_localResourcesList[vc_cSEBaseIndex].resource.cSEBase.cSE_ID;
+							v_response.to_ := vc_request.primitive.requestPrimitive.from_;
+							f_updateLocalResource(v_targetResourceIndex, vc_request.primitive.requestPrimitive.primitiveContent);
+							v_response.primitiveContent := vc_localResourcesList[v_targetResourceIndex].resource;
+						} else {
+							setverdict(inconc, __SCOPE__&":INFO: Unexpected resource update");
+							log(__SCOPE__&": ERROR: Resource Index not valid");
+							v_response := valueof(m_responsePrimitive(int4004,vc_request.primitive.requestPrimitive.requestIdentifier));
+							v_response.from_ := PX_CSE1_ID;
+							v_response.to_ := vc_request.primitive.requestPrimitive.from_;
+						}
+						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
+					}
+					[] tc_ac.timeout {
+						setverdict(inconc, __SCOPE__&":INFO: No answer while updating resource");
+					}
+				}	
+				
+				f_checkCseSimuStatus();
+				
+			}// end f_cse_updateResourceHandler			
+			
 			/**
 			 * @desc Message exchange for the retrieval of a resource
 			 * @param p_resourceIndex Resource index of the resource to be retrieved
@@ -1457,12 +1581,11 @@ module OneM2M_Functions {
 			 * @return Internal resource index of the created resource
 			 * @verdict 
 			 */
-			function f_cse_sendUpdateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_requestUpdatePrimitive := m_update, integer p_parentIndex := -1) runs on AeSimu {
+			function f_cse_sendUpdateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_requestUpdatePrimitive := m_update, integer p_targetIndex := -1) runs on AeSimu {
 
 				var RequestPrimitive v_request;
-				var integer v_resourceIndex := -1;
 				
-				v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
+				v_request := f_getUpdateRequestPrimitive(p_resourceType, p_targetIndex, p_requestUpdatePrimitive);
 
 				mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
 		
@@ -1613,7 +1736,7 @@ module OneM2M_Functions {
 								setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
 							}
 							//Send response in any case
-							v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
 							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
@@ -1645,14 +1768,14 @@ module OneM2M_Functions {
 						[] mcaPortIn.receive(mw_request(mw_notifyResponsePrimitive(p_responsePrimitive))) -> value vc_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ":INFO: Notification received with the expected content");
-							v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
 							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
 						[] mcaPortIn.receive(mw_request(mw_notifyResponsePrimitive(?))) -> value vc_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
-							v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
 							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
@@ -1786,10 +1909,8 @@ module OneM2M_Functions {
 				 * @param p_requestPrimitive Notify request to be used for the notification
 				 * @verdict 
 				 */
-				 function f_cse_notifyProcedure_notify(template (value) RequestPrimitive p_requestPrimitive) runs on CseSimu {
+				 function f_cse_notifyProcedure_notify(template RequestPrimitive p_requestPrimitive) runs on CseSimu {
 					// Local variables
-					
-					//var RequestPrimitive v_request;
 					var ResponsePrimitive v_responsePrimitive;
 					var integer v_resourceIndex := -1;
 				
@@ -1889,12 +2010,12 @@ module OneM2M_Functions {
 				
 				/**
 				 * @desc Handling of announcement of resources
-				 * @param p_from Expected originator of the request primitive
-				 * @param p_to Expected receiver of the request primitive
+				 * @param p_requestPrimitive Expected announcement primitive
+				 * @param p_responseStatusCode Response Status code to be sent as response
+				 * @param p_expectedResourceIndex Expected target parent resource of the announcemnet
 				 * @verdict 
 				 */
-				 //TODO To finalize this function
-				function f_cse_announcementProcedure_createHandler(template RequestPrimitive p_requestprimitive := ?, in ResponseStatusCode p_responseStatusCode := int2001, template(omit) integer p_expectedResourceIndex := omit) runs on CseSimu {
+				function f_cse_announcementProcedure_createHandler(template RequestPrimitive p_requestprimitive := ?, in ResponseStatusCode p_responseStatusCode := int2001, template(omit) integer p_expectedResourceIndex := omit) runs on CseSimu return integer{
 					// Local variables
 					var MsgIn v_request;
 					var integer v_parentIndex := vc_localRemoteCseIndex;
@@ -1909,39 +2030,53 @@ module OneM2M_Functions {
 					alt {
 						[] mccPortIn.receive(mw_request(p_requestprimitive)) -> value v_request {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
-							//TODO Save resource and generate required attributes
-							v_announcedResource:= f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex,v_request.primitive.requestPrimitive.resourceType);
-							v_announcedResourceIndex := f_setLocalResource(v_announcedResource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);
-							
-							if(isvalue(p_expectedResourceIndex)){
-								if(p_expectedResourceIndex == f_getResourceIndex(v_request.primitive.requestPrimitive.to_)){
-									setverdict(pass, __SCOPE__ & ":INFO: Announcement Parent Resource Address matched");
-									v_responsePrimitive := valueof(m_responsePrimitive(p_responseStatusCode,v_request.primitive.requestPrimitive.requestIdentifier));
-									v_responsePrimitive.primitiveContent := vc_localResourcesList[p_expectedResourceIndex].resource;
-								} else {
-									setverdict(fail, __SCOPE__ & ":ERROR: Announcement Parent Resource Address not matched");
-									v_responsePrimitive := valueof(m_responsePrimitive(int4000,v_request.primitive.requestPrimitive.requestIdentifier));
-									v_responsePrimitive.primitiveContent := omit;
-								}	
+							setverdict(pass, __SCOPE__ & ":INFO: Expected Announcement received");
+							v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
+							if(v_parentIndex == -1) {
+								log(__SCOPE__&": ERROR: Target resource not found");
+								v_responsePrimitive := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier));
+	
 							} else {
-								v_responsePrimitive := valueof(m_responsePrimitive(p_responseStatusCode,v_request.primitive.requestPrimitive.requestIdentifier));
-								if(p_responseStatusCode == int2001) {
-									v_responsePrimitive.primitiveContent := vc_localResourcesList[v_announcedResourceIndex].resource;
+								//Save resource and generate required attributes
+								v_announcedResource:= f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex,v_request.primitive.requestPrimitive.resourceType);
+								v_announcedResourceIndex := f_setLocalResource(v_announcedResource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);
+								
+								if(isvalue(p_expectedResourceIndex)){
+									if(valueof(p_expectedResourceIndex) == v_parentIndex){
+										setverdict(pass, __SCOPE__ & ":INFO: Announcement Parent Resource Address matched");
+										v_responsePrimitive := valueof(m_responsePrimitive(p_responseStatusCode,v_request.primitive.requestPrimitive.requestIdentifier));
+										v_responsePrimitive.primitiveContent := vc_localResourcesList[v_announcedResourceIndex].resource;
+									} else {
+										setverdict(fail, __SCOPE__ & ":ERROR: Announcement Parent Resource Address not matched");
+										v_responsePrimitive := valueof(m_responsePrimitive(int4000,v_request.primitive.requestPrimitive.requestIdentifier));
+										v_responsePrimitive.primitiveContent := omit;
+									}	
 								} else {
-									v_responsePrimitive.primitiveContent := omit;
+									v_responsePrimitive := valueof(m_responsePrimitive(p_responseStatusCode,v_request.primitive.requestPrimitive.requestIdentifier));
+									if(p_responseStatusCode == int2001) {
+										v_responsePrimitive.primitiveContent := vc_localResourcesList[v_announcedResourceIndex].resource;
+									} else {
+										v_responsePrimitive.primitiveContent := omit;
+									}
 								}
 							}
 							v_responsePrimitive.from_ := PX_CSE1_ID;
 							v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
 							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));			
 						}
+						[] mccPortIn.receive(mw_request(?)) -> value v_request {
+							setverdict(fail, __SCOPE__ & ":ERROR:  Request received with unexpected parameters");
+							v_responsePrimitive := valueof(m_responsePrimitive(int4000,v_request.primitive.requestPrimitive.requestIdentifier));
+							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+						}
 						[] tc_ac.timeout {
 							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
 						}
 					}
 				
 					f_checkCseSimuStatus();
+					
+					return v_announcedResourceIndex;
 	
 				} //end f_cse_announcementProcedure_createHandler
 			
@@ -2160,7 +2295,7 @@ module OneM2M_Functions {
     			
 				var MsgIn v_response;
 				var RequestPrimitive v_request;
-				var PrimitiveContent v_remoteCSEResource;
+				var PrimitiveContent v_localRemoteCSEResource;
 				
 				//Activate defaults when running on a PTC
 				f_cse_activateDefaults_cse1();
@@ -2175,8 +2310,8 @@ module OneM2M_Functions {
 						setverdict(pass, __SCOPE__&":INFO: Resource type remoteCSE created successfuly");
 						f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive);
 						vc_remoteCseIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16, -1);
-						v_remoteCSEResource := f_generateLocalResource(v_response.primitive.responsePrimitive.primitiveContent, vc_cSEBaseIndex, int16);
-						vc_localRemoteCseIndex := f_setLocalResource(v_remoteCSEResource, int16, vc_cSEBaseIndex);
+						v_localRemoteCSEResource := f_generateLocalResource(m_primitiveContentRemoteCSE(m_contentCreateRemoteCSE(PX_CSE_NAME,omit,PX_CSE_ID,PX_CSE_ID)),vc_cSEBaseIndex, int16);
+						vc_localRemoteCseIndex := f_setLocalResource(v_localRemoteCSEResource, int16, vc_cSEBaseIndex);
 					}
 					[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
 						tc_ac.stop;
@@ -2355,7 +2490,7 @@ module OneM2M_Functions {
 						
 						v_myResource.aEAnnc.resourceName := "aEAnnc" & int2str(v_resourceIndex);
 						v_myResource.aEAnnc.resourceType := p_resourceType;
-						v_myResource.aEAnnc.resourceID := f_resourceIdCleaner(v_myResource.aEAnnc.aE_ID);
+						v_myResource.aEAnnc.resourceID := "ae" & int2str(v_resourceIndex);
 						v_myResource.aEAnnc.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
 						v_myResource.aEAnnc.creationTime := fx_generateTimestamp();
 						v_myResource.aEAnnc.lastModifiedTime := v_myResource.aEAnnc.creationTime;
@@ -2366,7 +2501,7 @@ module OneM2M_Functions {
 						
 						v_myResource.accessControlPolicyAnnc.resourceName := "accessControlPolicyAnnc" & int2str(v_resourceIndex);
 						v_myResource.accessControlPolicyAnnc.resourceType := p_resourceType;
-						v_myResource.accessControlPolicyAnnc.resourceID := f_resourceIdCleaner(v_myResource.accessControlPolicyAnnc.resourceID);
+						v_myResource.accessControlPolicyAnnc.resourceID := "acpA" & int2str(v_resourceIndex);
 						v_myResource.accessControlPolicyAnnc.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
 						v_myResource.accessControlPolicyAnnc.creationTime := fx_generateTimestamp();
 						v_myResource.accessControlPolicyAnnc.lastModifiedTime := v_myResource.accessControlPolicyAnnc.creationTime;	
@@ -2377,7 +2512,7 @@ module OneM2M_Functions {
 						
 						v_myResource.containerAnnc.resourceName := "containerAnnc" & int2str(v_resourceIndex);
 						v_myResource.containerAnnc.resourceType := p_resourceType;
-						v_myResource.containerAnnc.resourceID := f_resourceIdCleaner(v_myResource.containerAnnc.resourceID);
+						v_myResource.containerAnnc.resourceID := "cntA" & int2str(v_resourceIndex);
 						v_myResource.containerAnnc.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
 						v_myResource.containerAnnc.creationTime := fx_generateTimestamp();
 						v_myResource.containerAnnc.lastModifiedTime := v_myResource.containerAnnc.creationTime;
@@ -2388,18 +2523,18 @@ module OneM2M_Functions {
 						
 						v_myResource.groupAnnc.resourceName := "groupAnnc" & int2str(v_resourceIndex);
 						v_myResource.groupAnnc.resourceType := p_resourceType;
-						v_myResource.groupAnnc.resourceID := f_resourceIdCleaner(v_myResource.groupAnnc.resourceID);
+						v_myResource.groupAnnc.resourceID := "grpA" & int2str(v_resourceIndex);
 						v_myResource.groupAnnc.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
 						v_myResource.groupAnnc.creationTime := fx_generateTimestamp();
 						v_myResource.groupAnnc.lastModifiedTime := v_myResource.groupAnnc.creationTime;
 					}
-				} else if (p_resourceType == int10014 and ispresent (p_resource)) { //ContentInstance Annc
+				} else if (p_resourceType == int10004 and ispresent (p_resource)) { //ContentInstance Annc
 					if(ischosen(p_resource.contentInstanceAnnc)) {
 						v_myResource.contentInstanceAnnc := valueof(p_resource.contentInstanceAnnc);
 						
 						v_myResource.contentInstanceAnnc.resourceName := "contentInstanceAnnc" & int2str(v_resourceIndex);
 						v_myResource.contentInstanceAnnc.resourceType := p_resourceType;
-						v_myResource.contentInstanceAnnc.resourceID := f_resourceIdCleaner(v_myResource.contentInstanceAnnc.resourceID);
+						v_myResource.contentInstanceAnnc.resourceID := "cinA" & int2str(v_resourceIndex);
 						v_myResource.contentInstanceAnnc.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
 						v_myResource.contentInstanceAnnc.creationTime := fx_generateTimestamp();
 						v_myResource.contentInstanceAnnc.lastModifiedTime := v_myResource.contentInstanceAnnc.creationTime;
@@ -2465,7 +2600,7 @@ module OneM2M_Functions {
 						}
 						v_myResource.contentInstance.stateTag := 0;
 						v_myResource.contentInstance.contentSize := lengthof(v_myResource.contentInstance.content);
-						v_myResource.contentInstance.content := p_resource.contentInstance.content;
+						v_myResource.contentInstance.content := valueof(p_resource.contentInstance.content);
 					}
 										
 				}	
@@ -2493,7 +2628,7 @@ module OneM2M_Functions {
 						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.labels := p_resource.remoteCSE.labels;
 					}
 					if(ispresent(p_resource.remoteCSE.announceTo)) {
-						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.announceTo := p_resource.remoteCSE.announceTo;
+						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.announceTo := {p_resource.remoteCSE.announceTo[0] & "/" & vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.resourceID & "Annc"};
 					}
 					if(ispresent(p_resource.remoteCSE.announcedAttribute)) {
 						vc_localResourcesList[p_localResourceIndex].resource.remoteCSE.announcedAttribute := p_resource.remoteCSE.announcedAttribute;
@@ -2738,6 +2873,27 @@ module OneM2M_Functions {
 					tc_ac.start(10.0);
 					repeat;
 				}
+				[] mccPortIn.receive(mw_request(mw_delete())) -> value v_request {
+					tc_ac.stop;
+					log(__SCOPE__&": WARNING: Unexpected DELETE message received");
+
+					v_localResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
+					if(v_localResourceIndex == -1)
+					{ 
+						log(__SCOPE__&": ERROR: Resource Index not valid");
+						v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier));
+						v_response.from_ := PX_CSE1_ID;
+						v_response.to_ := v_request.primitive.requestPrimitive.from_;
+						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
+					} else {
+						v_response := valueof(m_responsePrimitive(int2002,v_request.primitive.requestPrimitive.requestIdentifier));
+						v_response.from_ := PX_CSE1_ID;
+						v_response.to_ := v_request.primitive.requestPrimitive.from_;
+						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
+					}
+					tc_ac.start(10.0);
+					repeat;
+				}
 				[] mccPortIn.receive (mw_request(?)){
 					log(__SCOPE__&": WARNING: Unexpected message received");
 					repeat;
@@ -3185,7 +3341,7 @@ module OneM2M_Functions {
 
 			if (p_resourceType == int15) {//pollingChannel
 				//TODO
-				//p_request.from_ := "CnOTALLOWEDAEID";		
+
 			}
 
 			if (p_resourceType == int23) {//subscription
@@ -3209,6 +3365,9 @@ module OneM2M_Functions {
 			if(ischosen(p_contentResource.container)) {
 				return f_resourceIdCleaner(p_contentResource.container.resourceID);
 			}
+			if(ischosen(p_contentResource.containerAnnc)) {
+				return f_resourceIdCleaner(p_contentResource.containerAnnc.resourceID);
+			}
 			if(ischosen(p_contentResource.contentInstance)) {
 				return f_resourceIdCleaner(p_contentResource.contentInstance.resourceID);
 			}
@@ -3685,6 +3844,79 @@ module OneM2M_Functions {
 			return valueof(p_requestPrimitive);					
 		}
 		
+		/**
+		 * @desc Set parentID into the resource
+		 * @param p_resource Resource to be modified
+		 * @param p_parentID ParentID to be set
+		 * @return 
+		 * @verdict 
+		 */
+		function f_setParentID(PrimitiveContent p_resource, XSD.ID p_parentID) runs on Tester return PrimitiveContent {
+	
+			if (ischosen(p_resource.aE)){
+				p_resource.aE.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.accessControlPolicy)){
+				p_resource.accessControlPolicy.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.accessControlPolicyAnnc)){
+				p_resource.accessControlPolicyAnnc.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.container)){
+				p_resource.container.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.containerAnnc)){
+				p_resource.containerAnnc.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.group_)){
+				p_resource.group_.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.groupAnnc)){
+				p_resource.groupAnnc.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.serviceSubscribedAppRule)){
+				p_resource.serviceSubscribedAppRule.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.subscription)){
+				p_resource.subscription.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.locationPolicy)){
+				p_resource.locationPolicy.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.delivery)){
+				p_resource.delivery.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.mgmtCmd)){
+				p_resource.mgmtCmd.parentID := p_parentID;
+			}	
+			else if (ischosen(p_resource.node)){
+				p_resource.node.parentID := p_parentID;
+			}	
+			else if (ischosen(p_resource.remoteCSE)){
+				p_resource.remoteCSE.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.remoteCSE)){
+				p_resource.remoteCSE.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.request)){
+				p_resource.request.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.statsCollect)){
+				p_resource.statsCollect.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.statsConfig)){
+				p_resource.statsConfig.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.timeSeries)){
+				p_resource.timeSeries.parentID := p_parentID;
+			}
+			else if (ischosen(p_resource.timeSeriesAnnc)){
+				p_resource.timeSeriesAnnc.parentID := p_parentID;
+			} else {
+				log( __SCOPE__, ":INFO: Resource not having acpi attribute. Not possible to set acpi")
+			}
+			return valueof(p_resource);					
+		}
 		/**
 		 * @desc Retrieve AE_ID for a given AE resource
 		 * @param p_targetResourceIndex Internal resource index of the given resource
@@ -3875,13 +4107,13 @@ module OneM2M_Functions {
 		 * @param data Corresponding information for the correct execution of the given action
 		 * @verdict 
 		 */
-		function f_aeSimu_checkComponentDoneAndGetVerdict(AeSimu p_ae) runs on AeSimu {
+		function f_aeSimu_checkComponentDoneAndGetVerdict(Tester p_component) runs on AeSimu {
 			
 			var verdicttype v_verdict := none;
 
 			tc_ac.start(15.0);
 			alt {
-				[] p_ae.done -> value v_verdict {
+				[] p_component.done -> value v_verdict {
 					tc_ac.stop;
 				}
 				[] tc_ac.timeout {
@@ -3920,13 +4152,13 @@ module OneM2M_Functions {
 		 * @param data Corresponding information for the correct execution of the given action
 		 * @verdict 
 		 */
-		function f_cseSimu_checkComponentDoneAndGetVerdict(AeSimu p_ae) runs on CseSimu {
+		function f_cseSimu_checkComponentDoneAndGetVerdict(Tester p_component) runs on CseSimu {
 			
 			var verdicttype v_verdict := none;
 
 			tc_ac.start(15.0);
 			alt {
-				[] p_ae.done -> value v_verdict {
+				[] p_component.done -> value v_verdict {
 					tc_ac.stop;
 				}
 				[] tc_ac.timeout {
@@ -3987,9 +4219,9 @@ module OneM2M_Functions {
 		* @param MsgOut MsgOut primitive
 		 */
 
-		function f_getMsgOutPrimitive(MsgOut p_msgOut) runs on Tester return MsgOut {
+		function f_getMsgOutPrimitive(template MsgOut p_msgOut) runs on Tester return MsgOut {
 			p_msgOut.protocolBinding := vc_protocolBinding;
-			return p_msgOut; 
+			return valueof(p_msgOut); 
 		}
 		
 		function f_sendUtPrimitive(template UtTriggerPrimitive p_utRequest, in universal charstring p_action) runs on Tester {
@@ -4448,6 +4680,23 @@ module OneM2M_Functions {
 			}
 			return v_month;
 			
+		} // end f_getMonth
+		
+		/**
+		 * @desc Retrieve Time from a given timestamp
+		 * @param p_timestamp Given timestamp
+		 * @return Time
+		 */
+		function f_getTime(charstring p_timestamp) runs on Tester return integer {
+			
+			var charstring v_time := "";
+			var integer i;
+			
+			for(i := 9; i <= 14; i := i+1){
+					v_time := v_time & p_timestamp[i];
+			}
+			return str2int(v_time);
+			
 		} // end f_getYear
 		
 		/**
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 82d398975a811f6cd2da01d098737c5f419b88b8..cb1346ba83a9af5d29b77b36cba031d40218c6f5 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -16,9 +16,8 @@ module OneM2M_Templates {
 	import from XSD all;
 	import from OneM2M_Types all;
 	import from OneM2M_TypesAndValues all;
-	//import from OneM2M_AdditionalTypes all;
 	import from OneM2M_Pixits all;
-	import from OneM2M_Functions all;
+    import from OneM2M_Functions all;
 
 		
 	/**
@@ -586,7 +585,15 @@ module OneM2M_Templates {
 			   requestIdentifier := "m_updateRemoteCSEBase",
         	   primitiveContent := {remoteCSE := m_contentUpdateRemoteCSE}
         	}
-        	
+
+			/**
+			 * @desc Reception template for update remoteCSE resource
+			 */
+			template RequestPrimitive mw_updateRemoteCSE(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
+				resourceType := int16,
+				primitiveContent:= {remoteCSE := ?}
+			};
+			       	
 			template (value) RequestPrimitive m_updateAEAnncBase modifies m_update:= {
 				requestIdentifier := testcasename() & "-m_updateAEAnnc",
 				resourceType := int10002,
@@ -755,12 +762,19 @@ module OneM2M_Templates {
 			};
 			
 			/**
-			 * @desc Reception template for CREATE AEAnnc
+			 * @desc Reception template for CREATE AEAnnc for registration when AE-ID-Stem starts with S
 			 */
-			template RequestPrimitive mw_createAEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) modifies mw_create := {				
+			template RequestPrimitive mw_createAEAnnc_s_ae_id(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) modifies mw_create := {				
 				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
 			};
 
+			/**
+			 * @desc Reception template for CREATE AEAnnc as announced resource
+			 */
+			template RequestPrimitive mw_createAEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) modifies mw_create := {				
+				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc(-, p_accessControlPolicyIds)}
+			};
+			
 			template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIds := omit,template (omit) XSD.ID p_from := omit, template (omit) ResourceName p_resourceName :=  c_aeAuxName, in template (omit) PoaList p_poaList := omit) modifies m_create := {
 				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
 				requestIdentifier := testcasename() & "-m_createAe",
@@ -888,6 +902,13 @@ module OneM2M_Templates {
 				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
 			};
 			
+			/**
+			 * @desc CREATE request primitive for remoteCSE resource with poa
+			 */
+			template (value) RequestPrimitive m_createRemoteCSE_poa(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE1_ID, in PoaList p_poaList) modifies m_createRemoteCSEBase := {
+				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE_poa(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID, p_poaList)}
+			};
+			
 			/**
 			 * @desc Reception template for CREATE RemoteCSE
 			 */
@@ -978,7 +999,7 @@ module OneM2M_Templates {
 			 * @desc Reception template for CREATE ContentInstanceAnnc
 			 */
 			template RequestPrimitive mw_createContentInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
-				resourceType := int10014,
+				resourceType := int10004,
 				primitiveContent := {contentInstanceAnnc := ?}
 			};  
 			
@@ -1482,36 +1503,13 @@ module OneM2M_Templates {
 				vendorInformation := omit
 			};
 			
-			/*
-			* @desc Base NOTIFY request primitive For PolingChannel
-			*/
-		   template RequestPrimitive m_notify_pch(XSD.ID p_resourceAddress) := {
-			   operation := int5,
-			   to_ := p_resourceAddress,
-			   from_ := "NotInitialized",
-			   requestIdentifier := testcasename() & "-m_notify" & f_rnd(1, 1000000),
-			   resourceType := omit,
-			   primitiveContent := {notification := m_contentNotification_pch},
-			   roleIDs := omit,
-			   originatingTimestamp := omit,
-			   requestExpirationTimestamp := omit,
-			   resultExpirationTimestamp := omit,
-			   operationExecutionTime := omit,
-			   responseType := omit,
-			   resultPersistence := omit,
-			   resultContent := omit,
-			   eventCategory := omit,
-			   deliveryAggregation := omit,
-			   groupRequestIdentifier := omit,
-			   filterCriteria := omit,
-			   discoveryResultType := omit,
-			   tokens := omit,
-			   tokenIDs := omit,
-			   localTokenIDs := omit,
-			   tokenRequestIndicator := omit,
-			   releaseVersionIndicator := "2a",
-			   vendorInformation := omit
-		   };
+
+			/**
+			 * @desc Base NOTIFY request primitive
+			 */
+			template RequestPrimitive m_notifyNotification(XSD.ID p_resourceAddress, Notification p_notification) modifies m_notify := {
+				primitiveContent := {notification := p_notification}
+			};
 			
 			/**
 			 * @desc Base NOTIFY Aggregated request primitive
@@ -1670,7 +1668,7 @@ 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 := ?, template XSD.AnyURI p_link := ?) := {
+		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
@@ -1690,8 +1688,8 @@ module OneM2M_Templates {
 			nodeLink := *,//OA
 			requestReachability := *,//OA
 			contentSerialization := *,//OA
-			e2eSecInfo := ?, //MA
-			supportedReleaseVersions := ?, //MA
+			e2eSecInfo := *, //MA
+			supportedReleaseVersions := *, //MA//TODO It should be mandatory for AEAnnc
 			choice := omit//NA
 		};	
 		
@@ -1702,7 +1700,7 @@ module OneM2M_Templates {
 		 * @param p_appId App ID
 		 * @param p_nodeLink Node link
 		 */
-		template RemoteCSEAnnc_optional mw_contentCreateRemoteCSEAnnc (in template  Labels p_labels := ?, in template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) := {
+		template RemoteCSEAnnc_optional mw_contentCreateRemoteCSEAnnc (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
@@ -1812,7 +1810,7 @@ module OneM2M_Templates {
 		 * @desc Base reception template of primitiveContent for CREATE operation for AccessControlPolicyAnnc resource
 		 * @param p_labels Labels
 		 */
-		template AccessControlPolicyAnnc_optional mw_contentCreateAcpAnnc (in template Labels p_labels := ?) := {
+		template AccessControlPolicyAnnc_optional mw_contentCreateAcpAnnc (in template Labels p_labels := *) := {
 			resourceName := omit,//NA M
 			resourceType := omit,//NA M
 			resourceID := omit,//NA M
@@ -2001,7 +1999,7 @@ module OneM2M_Templates {
 			  parentID := omit,//NA M
 			  creationTime := omit,//NA M
 			  lastModifiedTime := omit,//NA M
-			  labels := ?,//MA
+			  labels := *,//MA
 			  accessControlPolicyIDs := ?,//MA
 			  expirationTime := ?,//MA M
 			  link := ?,
@@ -2078,7 +2076,7 @@ module OneM2M_Templates {
 			parentID := omit,//NA M
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
-			labels := ?,//MA
+			labels := *,//MA
 			accessControlPolicyIDs := ?,//MA
 			expirationTime := ?,//MA M
 			link := ?,
@@ -2178,7 +2176,7 @@ module OneM2M_Templates {
 			parentID := omit,//NA M
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
-			labels := ?,//MA
+			labels := *,//MA
 			expirationTime := ?,//MA M
 			link := ?,
 			scheduleElement := * //OA
@@ -2337,7 +2335,7 @@ module OneM2M_Templates {
 			parentID := omit,//NA M
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
-			labels := ?,//MA
+			labels := *,//MA
 			expirationTime := omit,//O NA
 			link := omit, //O NA
 			stateTag := *,// OA
@@ -2468,6 +2466,37 @@ module OneM2M_Templates {
 			choice := omit//O
 		};
     	
+		/**
+		 * @desc PrimitiveContent for CREATE operation for RemoteCSE resource with poa
+		 * @param p_name Resource name
+		 */
+		template (value) RemoteCSE_optional m_contentCreateRemoteCSE_poa (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE1_ID, in PoaList p_poaList):= {
+			resourceName := p_name,//O
+			resourceType := omit,//NP
+			resourceID := omit,//NP
+			parentID := omit,//NP
+			creationTime := omit,//NP
+			lastModifiedTime := omit,//NP
+			labels := omit,//O
+			accessControlPolicyIDs := p_accessControlPolicyIds,//O
+			expirationTime := omit,//O
+			dynamicAuthorizationConsultationIDs := omit,
+			announceTo := omit,//O
+			announcedAttribute := omit,//O
+			cseType := omit,//O
+			pointOfAccess := p_poaList,//O
+			cSEBase := valueof(p_cSEBase),//M
+			cSE_ID := valueof(p_cSE_ID),//M
+			m2M_Ext_ID := omit,//O
+			trigger_Recipient_ID := omit,//O
+			requestReachability := true,//M
+			nodeLink := omit,//O
+			triggerReferenceNumber := omit,//O
+			e2eSecInfo := omit,//O
+			supportedReleaseVersions := {"2a"}, //M
+			choice := omit//O
+		};
+		
 		/**
 		* @desc Base reception template of primitiveContent for CREATE operation for ContainerAnnc resource
 		*/
@@ -2478,7 +2507,7 @@ module OneM2M_Templates {
 			parentID := omit,//NA M
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
-			labels := ?,//MA M
+			labels := *,//MA M
 			accessControlPolicyIDs := ?,//MA
 			expirationTime := ?,//MA M
 			link := ?, //M
@@ -2552,7 +2581,7 @@ module OneM2M_Templates {
 		  parentID := omit,//NA M
 		  creationTime := omit,//NA M
 		  lastModifiedTime := omit,//NA M
-		  labels := ?,//MA
+		  labels := *,//MA
 		  accessControlPolicyIDs := ?,//MA
 		  expirationTime := ?,//MA M
 		  link := ?,
@@ -2801,7 +2830,7 @@ module OneM2M_Templates {
 			parentID := omit,//NA M
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
-			labels := ?,//MA
+			labels := *,//MA
 			accessControlPolicyIDs := ?,//MA
 			expirationTime := ?,//MA M
 			link := omit, //O NA
@@ -2832,7 +2861,7 @@ module OneM2M_Templates {
 			parentID := omit,//NA M
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
-			labels := ?,//MA
+			labels := *,//MA
 			expirationTime := omit,//NA M
 			link := omit, //O NA
 			dataGenerationTime := *,//M OA
@@ -4390,18 +4419,9 @@ module OneM2M_Templates {
 			iPEDiscoveryRequest := omit
 		};
 		
-		
-		template Notification m_contentNotification_pch := {
-			notificationEvent:= omit,
+		template Notification m_contentNotification_subscriptionVerification(XSD.ID p_creator) modifies m_contentNotification_allOmit:= {
 			verificationRequest := true,
-			subscriptionDeletion := omit,
-			subscriptionReference := omit,
-			creator :="AE_ID",
-			notificationForwardingURI := omit,
-			notificationTarget := omit,
-			targetRemovalRequest := omit,
-			targetRemovalAllowance := omit,
-			iPEDiscoveryRequest := omit
+			creator := p_creator
 		};
 		
 		template Notification mw_contentNotification_any := {
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 383bc1439d6f17b682cb5fa3236cf77e230eeb29..7d45fc3665765798be6536bdd68a0fa5a4e35f84 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -394,7 +394,8 @@ module OneM2M_PermutationFunctions {
 
 						f_cf03Up();
 
-						//Send Trigger Mesf_generateLocalResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
+						//Send Trigger Message
+                        v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_auxInteger := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope);
 						f_sendUtPrimitive(v_utRequest,v_action);
@@ -501,7 +502,8 @@ module OneM2M_PermutationFunctions {
 						//Test component configuration
 						f_cf03Up();
 	
-						//send triggeringf_generateLocalResourcelocalResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
+						//send triggering message
+                        v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_containerIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_containerIndex, -, -);
 						p_request.to_ := p_utRequest.requestPrimitive.to_;
@@ -599,7 +601,8 @@ module OneM2M_PermutationFunctions {
 					   
 					   	//Preamble
 						
-					   	//Send Trf_generateLocalResourcelResource := f_ae_generateLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))), vc_cSEBaseIndex, int2);
+					   	//Send Triggering message
+                        v_localResource := f_generateLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, omit, omit, omit))), vc_cSEBaseIndex, int2);
 						v_resourceIndex := f_setLocalResource(v_localResource, int2, vc_cSEBaseIndex);
 						p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex);
 					   	f_sendUtPrimitive(p_utRequest,p_action);
@@ -640,7 +643,8 @@ module OneM2M_PermutationFunctions {
 						//Test component configuration
 						f_cf03Up();
 
-						//send triggering f_generateLocalResourceocalResource := f_ae_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
+						//send triggering message
+                        v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex);
 						f_sendUtPrimitive(p_utRequest,p_action);
@@ -690,7 +694,8 @@ module OneM2M_PermutationFunctions {
 						//Test component configuration
 						f_cf03Up();
 		
-						//send triggerinf_generateLocalResource_localResource := f_ae_generateLocalResource(valueof(p_primitiveContent), vc_cSEBaseIndex, p_resourceType);
+						//send triggering message
+                        v_localResource := f_generateLocalResource(valueof(p_primitiveContent), vc_cSEBaseIndex, p_resourceType);
 						v_resourceIndex := f_setLocalResource(v_localResource, p_resourceType, vc_cSEBaseIndex);
 						v_utRequest := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex));
 						f_sendUtPrimitive(v_utRequest,p_action);
@@ -2950,7 +2955,7 @@ module OneM2M_PermutationFunctions {
 						// Preamble
 						
 						if (PX_MN_CSE) {
-							vc_cse1.start(f_cse_registrationRemoteCse(m_createRemoteCSEBase));
+							vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSEBase));
 						}else if (PX_IN_CSE) {
 							vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
 						}	
@@ -5200,7 +5205,7 @@ module OneM2M_PermutationFunctions {
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
 					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
 					v_ae1.done;
-					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
+					v_create.primitiveContent.aE.announceTo := {PX_CSE1_ID};
 		   
 					//Test control
 		
@@ -5268,7 +5273,7 @@ module OneM2M_PermutationFunctions {
 					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
 					v_ae1.done;
 
-					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
+					v_create.primitiveContent.aE.announceTo := {PX_CSE1_ID};
    
 					//Test control
 
@@ -7106,26 +7111,30 @@ module OneM2M_PermutationFunctions {
 					// Test adapter configuration
 			
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getAnnouncementTargetPoA()})));
 					vc_cse1.done;
 					
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					
 					//Preamble
 					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
 					v_aeIndex := f_cse_createResource(int2,v_create);
 					vc_cse1.done;
 					
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					
 					// Test Body
 					if (ispresent (p_requestUpdatePrimitive)) {
 						v_resourceIndex := f_cse_createResource(p_resourceType,p_requestCreatePrimitive);
  				      	v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
 					  	v_responsePrimitive.responseStatusCode := int2004;
 					} else {
-					  	v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_parentIndex);
+					  	v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
 					  	v_responsePrimitive.responseStatusCode := int2001;
 					}
 					
 					//Retrieve the parent resource index
-					v_AEAnncResourceIndex := f_getLatestResourceIndex(vc_cse1);
+					v_AEAnncResourceIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_AEAnncResourceIndex));	
 					mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
 
@@ -7143,6 +7152,8 @@ module OneM2M_PermutationFunctions {
 							setverdict(fail, __SCOPE__, ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
 						}
 					}
+					
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 										
 					// Postamble
 					f_cse_postamble_deleteResources();
@@ -7163,21 +7174,23 @@ module OneM2M_PermutationFunctions {
 				  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};
+				  v_create.primitiveContent.aE.announceTo := {PX_CSE1_ID};
 				  //Test control
 
 				  //Test component configuration
 				  f_cf02Up();
 
 				  //Register the CSE
-				  vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));	
-				  vc_cse1.done;
+				  vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getAnnouncementTargetPoA()})));
+				  
+				  f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 				  //Preamble
 				  vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
 				  v_aeIndex := f_cse_createResource(int2,v_create);
-				  vc_cse1.done;
-
+				  
+				  f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+				  
 				  vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc));	
 				  f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
 				  vc_cse1.done;
@@ -7189,39 +7202,89 @@ module OneM2M_PermutationFunctions {
 				  f_cf02Down();
 				} //end f_CSE_ANNC_CRE_001
 				
-				function f_CSE_ANNC_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestUpdatePrimitive := omit) runs on CseSimu {
+				function f_CSE_ANNC_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_createRequest, in template RequestPrimitive p_updateRequest := omit, in template RequestPrimitive p_createRequestAnnc) runs on CseSimu {
 					// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_parentIndex := -1;
+					var MsgIn v_request;
+					var PrimitiveContent v_announcedResource;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex;
+					var integer v_localResourceIndex := -1;
 					var integer v_remoteCSEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
-					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
-					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
-					v_ae1.done;
-
-					//TODO var template RequestPrimitive v_remoteCSEAnnc := mw_createAccessControlPolicyAnnc;
-   
+					
 					// Test control
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
 
 					// Test adapter configuration
-	
+
+					//Register the CSE
+				  	f_cse_registrationRemoteCse(mw_createRemoteCSEBase);
+				  
 					//Preamble
-					v_ae1.start(f_cse_createResource(int2,v_create));
-					v_ae1.done;
+					vc_ae1.start(f_cse_preamble_registerAe());
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
+					
+					vc_ae1.start(f_cse_createResource(p_resourceType, p_createRequest, v_aeIndex));
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_resourceIndex := f_getLatestResourceIndex(vc_ae1);
 	
 					// Test Body
-					v_ae1.start(f_cse_sendUpdateRequestPrimitive(p_resourceType, p_requestUpdatePrimitive));
-					v_ae1.done;
+					vc_ae1.start(f_cse_sendUpdateRequestPrimitive(p_resourceType, p_updateRequest, v_resourceIndex));
+					vc_ae1.done;
+					
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(mw_updateRemoteCSE(PX_CSE_ID))) -> value v_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: RemoteCSE UPDATE received");
+							
+							v_localResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
+							if(v_localResourceIndex == -1)
+							{ 
+								log(__SCOPE__&": ERROR: Resource Index not valid, target not found");
+								v_responsePrimitive := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier));
+							} else {
+								v_responsePrimitive := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
+								f_updateLocalResource(v_localResourceIndex, v_request.primitive.requestPrimitive.primitiveContent);
+								v_responsePrimitive.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource;
+							}
+							v_responsePrimitive.from_ := PX_CSE1_ID;
+							v_responsePrimitive.to_ := v_request.primitive.requestPrimitive.from_;
+							mccPortIn.send(f_getMsgOutPrimitive(m_response(valueof(v_responsePrimitive))));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					
+					f_checkCseSimuStatus();
+					
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Resource Announced CREATE received");
+		
+							//Simulate that resourceAnnc is created on CSE2
+							v_announcedResource:= f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, -1,v_request.primitive.requestPrimitive.resourceType);
+							//Set parentID correctly to remoteCSEAnnc-ID
+							v_announcedResource := f_setParentID(v_announcedResource, f_resourceIdCleaner(vc_localResourcesList[v_localResourceIndex].resource.remoteCSE.announceTo[0]));
+					
+							v_responsePrimitive := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.primitiveContent := v_announcedResource;
+							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
 					
-					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);
-						
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
 
@@ -7238,9 +7301,9 @@ module OneM2M_PermutationFunctions {
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex;
-					var integer v_CntAnncResourceIndex;
-					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
-					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
+					var integer v_containerAnncResourceIndex;
+					var template RequestPrimitive v_createContainer := m_createContainerBase;
+					v_createContainer.primitiveContent.container.announceTo := {PX_CSE1_ID};
 					
    
 					// Test control
@@ -7251,19 +7314,21 @@ module OneM2M_PermutationFunctions {
 					// Test adapter configuration
 
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));	
-					vc_cse1.done;
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getAnnouncementTargetPoA()})));
+				  
+				  	f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 	
 					//Preamble
+					v_aeIndex := f_cse_preamble_registerAe();
 					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createContainerAnncBase(-, -)));
-					v_aeIndex := f_cse_createResource(int2,v_create);
-					vc_cse1.done;
+					v_resourceIndex := f_cse_createResource(int3,v_createContainer, v_aeIndex);
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 	
 					// Test Body
-					//Retrieve the parent resource index
-					v_CntAnncResourceIndex := f_getLatestResourceIndex(vc_cse1);
-					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_parentIndex);
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc,int4000, v_CntAnncResourceIndex));	
+					//Retrieve the parent resource index where contentInstanceAnnc must be created
+					v_containerAnncResourceIndex := f_getLatestLocalResourceIndex(vc_cse1);
+					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_resourceIndex);
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc,int4000, v_containerAnncResourceIndex));	
 					mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
 
 					tc_ac.start;
@@ -7272,7 +7337,9 @@ module OneM2M_PermutationFunctions {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__, ": Resource " & int2str(enum2int(p_resourceType)) & " created successfully");
 							if(ispresent(v_response.primitive.responsePrimitive.primitiveContent.contentInstance.announceTo)) {
-								setverdict(fail, __SCOPE__, ": Resource " & int2str(enum2int(p_resourceType)) & " contains the attribute announceTo");
+								if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.contentInstance.announceTo) != 0) {
+									setverdict(fail, __SCOPE__, ": Resource " & int2str(enum2int(p_resourceType)) & " contains the attribute announceTo");
+								}
 							}
 						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
@@ -7296,55 +7363,37 @@ module OneM2M_PermutationFunctions {
 				
 				function f_CSE_ANNC_CRE_004_CseSimu(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu {
 					// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					var MsgIn v_request;
-					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex;
 					var integer v_aEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
-					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
-					v_ae1.done;
-					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
+					
+					v_create.primitiveContent.aE.announceTo := {PX_CSE1_ID};
    
 					// Test control
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
-
+					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getAnnouncementTargetPoA()}));
 					
 					//Preamble
-					v_ae1.start(f_cse_createResource(int2,v_create));
-					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
-					v_ae1.done;
+					vc_ae1.start(f_cse_createResource(int2,v_create));
+					v_aEAnncIndex := f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 					
 					// Test Body
-					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
+					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
 					
-					tc_ac.start;
-					alt {
-						[] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST received");
-							
-							if(match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_hierarchical, e_spRelative)) or 
-							match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_nonHierarchical, e_spRelative))) {
-								setverdict(pass, __SCOPE__ & ":matching ANNC_PARENT_RESOURCE_ADDRESS");     
-							} else {
-								setverdict(fail, __SCOPE__ & ":mis-matching ANNC_PARENT_RESOURCE_ADDRESS");
-							}
-										
-						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ":ERROR:  No CREATE REQUEST received");
-						}
-					}
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_aEAnncIndex);					
 					
-					v_ae1.done;
+					vc_ae1.done;
 
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
@@ -7356,18 +7405,16 @@ module OneM2M_PermutationFunctions {
 				
 				function f_CSE_ANNC_CRE_005_CseSimu(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu {
 					// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					var MsgIn v_request;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
+					var integer v_resourceAnncIndex := -1;
 					var integer v_aEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
+					var PrimitiveContent v_announcedResource;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
-					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
-					v_ae1.done;
-					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
-   
+					var template RequestPrimitive v_createContainer := m_createContainerBase;
+					
 					// Test control
 
 					// Test component configuration
@@ -7375,36 +7422,71 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
-	
+					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase);
+				  
+					f_checkCseSimuStatus();
+					
 					//Preamble
-					v_ae1.start(f_cse_createResource(int2,v_create));
-					f_cse_announcementProcedure_createHandler(mw_createRemoteCSEAnnc(-, -, -));
-					v_ae1.done;
-	
+					vc_ae1.start(f_cse_createResource(int2,v_create));
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
+					
+					v_createContainer.primitiveContent.container.announceTo := {"/CSE2_ID"};
+					v_createContainer.primitiveContent.container.resourceName := "TriggerAnnounceIUT";
+					vc_ae1.start(f_cse_createResource(int3,v_createContainer, v_aeIndex));
+					
+					//IUT shall announce itself by updating announceTo attribute of its remoteCSE on its registrar (CSE1)
+					f_cse_updateResourceHandler(vc_localRemoteCseIndex, mw_updateRemoteCSE);				
+					
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(mw_createContainerAnncBase(PX_CSE_ID, vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0] ))) -> value v_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Resource Announced CREATE received");
+							
+							//Simulate that resourceAnnc is created on CSE2
+							v_announcedResource:= f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, -1,v_request.primitive.requestPrimitive.resourceType);
+							//Set parentID correctly to remoteCSEAnnc-ID
+							v_announcedResource := f_setParentID(v_announcedResource, f_resourceIdCleaner(vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0]));
+										
+							v_responsePrimitive := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.primitiveContent := v_announcedResource;
+							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
 					// Test Body
-					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
-	
+					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
+					
+					//IUT shall then create the announced resource on its remoteCSEAnnc as indicated in the announceTo attribute returned by its registrar (CSE1)
+					p_createRequestAnnc.to_ := vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0];
 					tc_ac.start;
 					alt {
 						[] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST received");
-			
-							if(match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_hierarchical, e_spRelative)) or 
-							match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_nonHierarchical, e_spRelative))) {
-								setverdict(pass, __SCOPE__ & ":matching ANNC_PARENT_RESOURCE_ADDRESS");     
-							} else {
-								setverdict(fail, __SCOPE__ & ":mis-matching ANNC_PARENT_RESOURCE_ADDRESS");
-							}
-						
+							setverdict(pass, __SCOPE__ & ":INFO: Resource Announced CREATE received");
+				
+							//Simulate that resourceAnnc is created on CSE2
+							v_announcedResource:= f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, -1,v_request.primitive.requestPrimitive.resourceType);
+							//Set parentID correctly to remoteCSEAnnc-ID
+							v_announcedResource := f_setParentID(v_announcedResource, f_resourceIdCleaner(vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0]));
+							
+							v_responsePrimitive := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.primitiveContent := v_announcedResource;
+							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
 						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ":ERROR:  No CREATE REQUEST received");
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
 						}
 					}
 					
-					v_ae1.done;
+					vc_ae1.done;
 
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
@@ -7416,7 +7498,6 @@ module OneM2M_PermutationFunctions {
 				
 				function f_CSE_ANNC_CRE_006_CseSimu(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu {
 					// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					var MsgIn v_request;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
@@ -7424,10 +7505,7 @@ module OneM2M_PermutationFunctions {
 					var integer v_aEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
-					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
-					v_ae1.done;
-					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
-   
+					
 					// Test control
 
 					// Test component configuration
@@ -7435,35 +7513,20 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
-
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getAnnouncementTargetPoA()}));
+					
 					//Preamble
-					v_ae1.start(f_cse_createResource(int2,v_create));
-					v_ae1.done;
+					vc_ae1.start(f_cse_createResource(int2,v_create));
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 
 					// Test Body
-					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
-
-					tc_ac.start;
-					alt {
-						[] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST received");
+					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
 
-							if(match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_hierarchical, e_spRelative)) or 
-							match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_nonHierarchical, e_spRelative))) {
-								setverdict(pass, __SCOPE__ & ":matching ANNC_PARENT_RESOURCE_ADDRESS");     
-							} else {
-								setverdict(fail, __SCOPE__ & ":mis-matching ANNC_PARENT_RESOURCE_ADDRESS");
-							}
-		
-						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ":ERROR:  No CREATE REQUEST received");
-						}
-					}
-					
-					v_ae1.done;
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, vc_localRemoteCseIndex);
+										
+					vc_ae1.done;
 
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
@@ -7475,64 +7538,91 @@ module OneM2M_PermutationFunctions {
 				
 				function f_CSE_ANNC_CRE_007_CseSimu(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu {
 					// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					var MsgIn v_request;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex;
 					var integer v_aEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
+					var PrimitiveContent v_announcedResource;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
-					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
-					v_ae1.done;
-					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
-   
+					var template RequestPrimitive v_createContainer := m_createContainerBase;
+					
 					// Test control
-
 					// Test component configuration
-					f_cf02UpCseSimuMaster();	
-					
-					v_ae1.start(f_cse_createResource(int2,v_create));
-					v_ae1.done;
+					f_cf02UpCseSimuMaster();
 
-					// Test Body
-					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
+					// Test adapter configuration
+					// Register the CSE
+					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase);
+				  
+					f_checkCseSimuStatus();
+					
+					//Preamble
+					vc_ae1.start(f_cse_createResource(int2,v_create));
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
+					
+					v_createContainer.primitiveContent.container.announceTo := {"/CSE2_ID"};
+					v_createContainer.primitiveContent.container.resourceName := "TriggerAnnounceIUT";
+					vc_ae1.start(f_cse_createResource(int3,v_createContainer, v_aeIndex));
+					
+					//IUT shall announce itself by updating announceTo attribute of its remoteCSE on its registrar (CSE1)
+					f_cse_updateResourceHandler(vc_localRemoteCseIndex, mw_updateRemoteCSE);				
 					
 					tc_ac.start;
 					alt {
-						[] mccPortIn.receive(mw_request(mw_createRemoteCSEAnnc(-, -, -))) -> value v_request {
+						[] mccPortIn.receive(mw_request(mw_createContainerAnncBase(PX_CSE_ID, vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0] ))) -> value v_request {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST for remoteCSEAnnc received");
+							setverdict(pass, __SCOPE__ & ":INFO: Resource Announced CREATE received");
+							
+							//Simulate that resourceAnnc is created on CSE2
+							v_announcedResource:= f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, -1,v_request.primitive.requestPrimitive.resourceType);
+							//Set parentID correctly to remoteCSEAnnc-ID
+							v_announcedResource := f_setParentID(v_announcedResource, f_resourceIdCleaner(vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0]));
+										
+							v_responsePrimitive := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.primitiveContent := v_announcedResource;
+							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
 						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ":ERROR:  No CREATE REQUEST received");
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
 						}
 					}
-
+					
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					// Test Body
+					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
+					
+					//IUT shall then create the announced resource on its remoteCSEAnnc as indicated in the announceTo attribute returned by its registrar (CSE1)
+					p_createRequestAnnc.to_ := vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0];
 					tc_ac.start;
 					alt {
 						[] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST received");
-
-							if(match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_hierarchical, e_spRelative)) or 
-							match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_nonHierarchical, e_spRelative))) {
-								setverdict(pass, __SCOPE__ & ":matching ANNC_PARENT_RESOURCE_ADDRESS");     
-							} else {
-								setverdict(fail, __SCOPE__ & ":mis-matching ANNC_PARENT_RESOURCE_ADDRESS");
-							}
-
+							setverdict(pass, __SCOPE__ & ":INFO: Resource Announced CREATE received");
+				
+							//Simulate that resourceAnnc is created on CSE2
+							v_announcedResource:= f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, -1,v_request.primitive.requestPrimitive.resourceType);
+							//Set parentID correctly to remoteCSEAnnc-ID
+							v_announcedResource := f_setParentID(v_announcedResource, f_resourceIdCleaner(vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE.announceTo[0]));
+							
+							v_responsePrimitive := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier));
+							v_responsePrimitive.primitiveContent := v_announcedResource;
+							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
 						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ":ERROR:  No CREATE REQUEST received");
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
 						}
 					}
 					
-					v_ae1.done;
+					vc_ae1.done;
 
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
-
+										
 					// Tear down
 					f_cf02DownCseSimuMaster();
 
@@ -7540,17 +7630,12 @@ module OneM2M_PermutationFunctions {
 				
 				function f_CSE_ANNC_CRE_008_CseSimu(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu {
 					// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					var MsgIn v_request;
-					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
 					var integer v_aEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
-					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
-					v_ae1.done;
-					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
+					v_create.primitiveContent.aE.announceTo := {PX_CSE1_ID};
    
 					// Test control
 
@@ -7559,35 +7644,21 @@ module OneM2M_PermutationFunctions {
 					
 					//Test adapter configuration
 					// Register the CSE
- 					f_cse_registerRemoteCse(mw_createRemoteCSE);		
-	
-					v_ae1.start(f_cse_createResource(int2,v_create));
-					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
-					v_ae1.done;
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getAnnouncementTargetPoA()}));
+					
+					f_checkCseSimuStatus();
+					
+					vc_ae1.start(f_cse_createResource(int2,v_create));
+					v_aEAnncIndex := f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 
 					// Test Body
-					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
-	
-					tc_ac.start;
-					alt {
-						[] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST received");
-
-							if(match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_hierarchical, e_spRelative)) or 
-							match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_nonHierarchical, e_spRelative))) {
-								setverdict(pass, __SCOPE__ & ":matching ANNC_PARENT_RESOURCE_ADDRESS");     
-							} else {
-								setverdict(fail, __SCOPE__ & ":mis-matching ANNC_PARENT_RESOURCE_ADDRESS");
-							}
-
-						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ":ERROR:  No CREATE REQUEST received");
-						}
-					}
-
-					v_ae1.done;
+					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_aEAnncIndex);
+					vc_ae1.done;
+					
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
 
@@ -7598,7 +7669,6 @@ module OneM2M_PermutationFunctions {
 				
 				function f_CSE_ANNC_CRE_009_CseSimu(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu {
 					// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					var MsgIn v_request;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
@@ -7606,9 +7676,7 @@ module OneM2M_PermutationFunctions {
 					var integer v_aEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
-					v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
-					v_ae1.done;
-					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
+					v_create.primitiveContent.aE.announceTo := {PX_CSE1_ID};
    
 					// Test control
 
@@ -7617,35 +7685,19 @@ module OneM2M_PermutationFunctions {
 	
 					//Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(mw_createRemoteCSE);		
-
-					v_ae1.start(f_cse_createResource(int2,v_create));
-					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
-					v_ae1.done;
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getAnnouncementTargetPoA()}));
+					
+					f_checkCseSimuStatus();
+					vc_ae1.start(f_cse_createResource(int2,v_create));
+					v_aEAnncIndex := f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 
 					// Test Body
-					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
-
-					tc_ac.start;
-					alt {
-						[] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value v_request {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST received");
-
-							if(match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_hierarchical, e_spRelative)) or 
-							match(v_request.primitive.requestPrimitive.to_, f_getLocalResourceAddress(v_aEAnncIndex, e_nonHierarchical, e_spRelative))) {
-								setverdict(pass, __SCOPE__ & ":matching ANNC_PARENT_RESOURCE_ADDRESS");     
-							} else {
-								setverdict(fail, __SCOPE__ & ":mis-matching ANNC_PARENT_RESOURCE_ADDRESS");
-							}
-
-						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ":ERROR:  No CREATE REQUEST received");
-						}
-					}
-					
-					v_ae1.done;
+					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_aEAnncIndex);
+					vc_ae1.done;
 
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
@@ -9652,9 +9704,8 @@ module OneM2M_PermutationFunctions {
 					// Preamble
 
 					v_contentResponse.uRI := ?;
-					
-					v_aeIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE1_ID_STEM, -, {f_getAnnouncementTargetPoA(PX_PROTOCOL_BINDING_AE1, PX_AE1_ADDRESS, "")}), -1); // AE1 is registred
 
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					if(ispresent(p_parentRequestPrimitive)) {
 						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
 						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
@@ -9662,8 +9713,7 @@ module OneM2M_PermutationFunctions {
 						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 					}
 					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType.responseTypeValue := int2;		//nonBlockingRequestAsynch
-					p_requestPrimitive.responseType.notificationURI := omit;		//"...no notification target list is provided"
+					p_requestPrimitive.responseType := {int2, omit};		//nonBlockingRequestAsynch and no notification target list is provided"
 
 					mcaPort.send(f_getMsgOutPrimitive(m_request(valueof(p_requestPrimitive))));
 					tc_ac.start;
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index bcd248e470d8fc850593325ab4e2b83b5607d7b0..a4845fded71e78db6f0f5a21294ad4b4cad19c5c 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -30,7 +30,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 	
 		group helpingTestCases {//These are not part of the test suite, just for verification purposes
 			
-			testcase TC_DELETE_RESOURCES() runs on AeSimu system CseSystem {
+			testcase TC_DELETE_RESOURCES() runs on Tester system CseSystem {
+				// Local variables
+				                        
+				var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+				v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
+				v_ae1.done;
+	            
+				v_ae1.start(f_DELETE_RESOURCES());
+				v_ae1.done;
+			}
+			
+			function f_DELETE_RESOURCES() runs on AeSimu system CseSystem {
 				
 				timer t_ac := 5.0;
 				var integer i; 
@@ -694,7 +705,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					vc_ae1.start(f_cse_sendCreateRequestPrimitive(int2, m_createAe(PX_APP_ID, -, "S", omit)));
 					vc_ae1.done;
 					
-					v_requestPrimitive := mw_createAEAnnc(PX_CSE_ID & "/S", -, -, -);
+					v_requestPrimitive := mw_createAEAnnc_s_ae_id(PX_CSE_ID & "/S", -, -, -);
 					v_requestPrimitive.primitiveContent.aEAnnc.app_ID := PX_APP_ID;
 	    									
 					tc_ac.start;
@@ -773,7 +784,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					tc_ac.start;
 
 					alt {
-						[] mccPortIn.receive(mw_request(mw_createAEAnnc(PX_CSE_ID, f_getLocalResourceAddress(vc_cSEBaseIndex), -))) {
+						[] mccPortIn.receive(mw_request(mw_createAEAnnc_s_ae_id(PX_CSE_ID, f_getLocalResourceAddress(vc_cSEBaseIndex), -))) {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
 						}
@@ -908,11 +919,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 					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_s_ae_id(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_s_ae_id(f_getResourceAddress(-1,e_hierarchical, e_absolute) & "/S", "CSE_ID", -))) {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": AE creation redirected.");
 						}
@@ -1061,7 +1072,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					//Test Body
 					f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, f_getResourceId(vc_resourcesList[v_aeIndex].resource)));
 					
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(PX_CSE_ID, -, -, -)));
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc_s_ae_id(PX_CSE_ID, -, -, -)));
 					vc_cse1.done;
 
 					tc_ac.start;
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index e720da808a8db21483c22abb47929293b5507fae..dddc5edca193678f8033c42e4d6cf648aca2dac3 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -521,7 +521,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 						//Local variables
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := m_createAEAnnc(omit, omit, omit, PX_CSE1_ID);
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnnc(omit, omit, omit, PX_CSE1_ID));
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 	
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
@@ -541,7 +541,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 						//Local variables
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := m_createAEAnnc(omit, omit, omit, PX_CSE1_ID);
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnnc(omit, omit, omit, PX_CSE1_ID));
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
@@ -562,7 +562,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := m_createAEAnnc(omit, omit, omit, PX_CSE1_ID);
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnnc(omit, omit, omit, PX_CSE1_ID));
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
@@ -582,7 +582,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := m_createAEAnnc(omit, omit, omit, PX_CSE1_ID);
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnnc(omit, omit, omit, PX_CSE1_ID));
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
@@ -803,7 +803,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := m_createAEAnnc(omit, omit, omit, PX_CSE1_ID);
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnnc(omit, omit, omit, PX_CSE1_ID));
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
@@ -10326,13 +10326,14 @@ module OneM2M_Testcases_CSE_Release_2 {
 						// Local variables
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
-  
+						
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {f_getAnnouncementTargetPoA()};
+						v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {"/CSE2_ID"};
   
-						v_cse1.start(f_CSE_ANNC_CRE_002(int1, v_createRequestAnnc, v_updateRequest));//AccessControlPolicy
+						v_cse1.start(f_CSE_ANNC_CRE_002(int1, v_createRequest, v_updateRequest, v_createRequestAnnc));//AccessControlPolicy
 						v_cse1.done;
 					}
 
@@ -10340,13 +10341,14 @@ module OneM2M_Testcases_CSE_Release_2 {
 						// Local variables
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
-  
+						
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						v_updateRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()};
+						v_updateRequest.primitiveContent.container.announceTo := {"/CSE2_ID"};
   
-						v_cse1.start(f_CSE_ANNC_CRE_002(int3, v_createRequestAnnc, v_updateRequest));//Container
+						v_cse1.start(f_CSE_ANNC_CRE_002(int3, v_createRequest, v_updateRequest, v_createRequestAnnc));//Container
 						v_cse1.done;
 					}
 
@@ -10354,13 +10356,14 @@ module OneM2M_Testcases_CSE_Release_2 {
 						// Local variables
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
-  
+						
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						v_updateRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()};
+						v_updateRequest.primitiveContent.group_.announceTo := {"/CSE2_ID"};
   
-						v_cse1.start(f_CSE_ANNC_CRE_002(int9, v_createRequestAnnc, v_updateRequest));//Group
+						v_cse1.start(f_CSE_ANNC_CRE_002(int9, v_createRequest, v_updateRequest, v_createRequestAnnc));//Group
 						v_cse1.done;
 					}
 					
@@ -10368,13 +10371,14 @@ module OneM2M_Testcases_CSE_Release_2 {
 						// Local variables
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
+						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnncBase;
   
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						v_updateRequest.primitiveContent.timeSeries.announceTo := {f_getAnnouncementTargetPoA()};
+						v_updateRequest.primitiveContent.timeSeries.announceTo := {"/CSE2_ID"};
   
-						v_cse1.start(f_CSE_ANNC_CRE_002(int29, v_createRequestAnnc, v_updateRequest));//TimeSeries
+						v_cse1.start(f_CSE_ANNC_CRE_002(int29, v_createRequest, v_updateRequest, v_createRequestAnnc));//TimeSeries
 						v_cse1.done;
 					}
 				} //end group g_CSE_ANNC_CRE_002
@@ -10494,7 +10498,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 	  
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {"/CSE2_ID"};
 	  
 						 v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
 						 v_cse1.done;
@@ -10508,7 +10512,7 @@ module OneM2M_Testcases_CSE_Release_2 {
   
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.container.announceTo := {"/CSE2_ID"};
   
 						 v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container
 						 v_cse1.done;
@@ -10537,7 +10541,7 @@ module OneM2M_Testcases_CSE_Release_2 {
   
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						 v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.group_.announceTo := {"/CSE2_ID"};
   
 						 v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int9, v_createRequestAnnc, v_createRequest));//Group
 						 v_cse1.done;
@@ -10551,7 +10555,7 @@ module OneM2M_Testcases_CSE_Release_2 {
   
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						 v_createRequest.primitiveContent.timeSeries.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.timeSeries.announceTo := {"/CSE2_ID"};
   
 						 v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int29, v_createRequestAnnc, v_createRequest));//TimeSeries
 						 v_cse1.done;
@@ -10565,7 +10569,7 @@ module OneM2M_Testcases_CSE_Release_2 {
   
 						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
 						v_cse1.done;
-						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {"/CSE2_ID"};
   
 						 v_cse1.start(f_CSE_ANNC_CRE_005_CseSimu(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance
 						 v_cse1.done;
@@ -10586,7 +10590,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
   
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
+						 v_cse1.done;
 						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
   
 						 v_cse1.start(f_CSE_ANNC_CRE_006_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
@@ -10679,8 +10683,8 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
 	  
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
-						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
+						 v_cse1.done;
+						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {"/CSE2_ID"};
 	  
 						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
 						 v_cse1.done;
@@ -10693,8 +10697,8 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
 	  
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
-						 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						 v_cse1.done;
+						 v_createRequest.primitiveContent.container.announceTo := {"/CSE2_ID"};
 	  
 						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container
 						 v_cse1.done;
@@ -10707,8 +10711,8 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc;
 	  
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
-						 v_createRequest.primitiveContent.contentInstance.announceTo := {PX_CSE1_ID};
+						 v_cse1.done;
+						 v_createRequest.primitiveContent.contentInstance.announceTo := {"/CSE2_ID"};
 	  
 						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
 						 v_cse1.done;
@@ -10722,8 +10726,8 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
 	  
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
-						 v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						 v_cse1.done;
+						 v_createRequest.primitiveContent.group_.announceTo := {"/CSE2_ID"};
 	  
 						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int9, v_createRequestAnnc, v_createRequest));//Group
 						 v_cse1.done;
@@ -10736,10 +10740,9 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnncBase;
   
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
-						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
-						 v_createRequest.primitiveContent.accessControlPolicy.announcedAttribute := {"mbs"};
-  
+						 v_cse1.done;
+						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {"/CSE2_ID"};
+						 
 						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int29, v_createRequestAnnc, v_createRequest));//TimeSeries
 						 v_cse1.done;
 					}
@@ -10750,11 +10753,9 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
 						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesInstanceAnncBase;
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
+						 v_cse1.done;
 						 
-						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
-						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {"/CSE2_ID"};
   
 						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance
 						 v_cse1.done;
@@ -10775,10 +10776,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
   
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
+						 v_cse1.done;
 						 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
 						 v_createRequest.primitiveContent.container.announcedAttribute := {"mbs"};
-  
+						 v_createRequestAnnc.primitiveContent.containerAnnc.maxByteSize := ?;
+						 
 						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container
 						 v_cse1.done;
 					}
@@ -10790,10 +10792,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc;
   
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
+						 v_cse1.done;
 						 v_createRequest.primitiveContent.contentInstance.announceTo := {PX_CSE1_ID};
 						 v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"cnf"};
-  
+						 v_createRequestAnnc.primitiveContent.contentInstanceAnnc.contentInfo:= ?;
+						 
 						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
 						 v_cse1.done;
 					}
@@ -10805,10 +10808,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
   
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
+						 v_cse1.done;
 						 v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
 						 v_createRequest.primitiveContent.group_.announcedAttribute := {"mt"};
-  
+						 v_createRequestAnnc.primitiveContent.groupAnnc.memberType:= ?;
+						 
 						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int9, v_createRequestAnnc, v_createRequest));//Group
 						 v_cse1.done;
 
@@ -10820,13 +10824,12 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnncBase;
 						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
+						 v_cse1.done;
 						 
-						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
 						 v_createRequest.primitiveContent.timeSeries.announceTo := {PX_CSE1_ID};
 						 v_createRequest.primitiveContent.timeSeries.announcedAttribute := {"mbs"};
-  
+						 v_createRequestAnnc.primitiveContent.timeSeriesAnnc.maxByteSize := ?;
+						 
 						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int29, v_createRequestAnnc, v_createRequest));//TimeSeries
 						 v_cse1.done;
 					}
@@ -10837,11 +10840,12 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
 						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesInstanceAnncBase;
 	  
-						v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
+						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
+						 v_cse1.done;
 						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_CSE1_ID};
 						 v_createRequest.primitiveContent.timeSeriesInstance.announcedAttribute := {"cs"};
-	  
+						 v_createRequestAnnc.primitiveContent.timeSeriesInstanceAnnc.contentSize := ?;
+						 
 						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance
 						 v_cse1.done;
 					}
@@ -10859,11 +10863,12 @@ module OneM2M_Testcases_CSE_Release_2 {
 						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						 var template RequestPrimitive v_createRequest := m_createContainerBase;
 						 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
-	  
-						 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
-						v_cse1.done;
+	    				 v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1));
+						 v_cse1.done;
+						 
 						 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
 						 v_createRequest.primitiveContent.container.labels := {"MyLabel"};
+						 v_createRequestAnnc.primitiveContent.containerAnnc.labels := ?;
 	  
 						 v_cse1.start(f_CSE_ANNC_CRE_009_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container
 						 v_cse1.done;
@@ -12528,6 +12533,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 				// Local variables
 				var integer v_aeIndex := -1;
 				var integer v_resourceIndex := -1;
+				var integer v_acpAuxIndex := -1;
 				var RequestPrimitive v_request;
 				var MsgIn v_response;
 				var RequestPrimitive v_requestNotify;
@@ -12541,20 +12547,19 @@ module OneM2M_Testcases_CSE_Release_2 {
 	
 				// Preamble
 				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
-				vc_cse1.done;
+				f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				
-				vc_acpAuxIndex := f_cse_createAccessControlPolicyAux(-, -,-);
+				v_acpAuxIndex := f_cse_preamble_createAcpAux();
 				
-				//v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)}, {f_getAnnouncementTargetPoA("HTTP", PX_AE1_ADDRESS, "")});//AE1 is registred;
-				v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)}, -);//AE1 is registred;
+				v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//AE1 is registred;
 				
 				v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
 				
-				v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_aeIndex)));
+				v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
 				
 				mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
 				
-				v_requestNotify := valueof(m_notify_pch(f_getResourceAddress(v_aeIndex)));
+				v_requestNotify := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification("C-Unknown-AE-ID")));
 				
 				vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
 				
@@ -13630,7 +13635,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 								setverdict(inconc, __SCOPE__ & ": missingDataList attribute not present");
 							} else {
 								if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.timeSeries.missingDataList.alt_)) {
-									if(v_missingDataPointTimestamp < v_response.primitive.responsePrimitive.primitiveContent.timeSeries.missingDataList.alt_[0]) {
+									if(f_getTime(v_missingDataPointTimestamp) < f_getTime(v_response.primitive.responsePrimitive.primitiveContent.timeSeries.missingDataList.alt_[0])) {
 										setverdict(pass, __SCOPE__ & ": missingData point inserted in missingDataList");
 									} else {
 										setverdict(fail, __SCOPE__ & ": missingData point not inserted in missingDataList");
@@ -13701,7 +13706,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					var XSD.NonNegativeInteger v_missingDataPointNumber := 1;
 					var template PrimitiveContent v_contentNotification := {timeSeries := mw_contentTimeSeries(?,v_missingDataPointNumber)}; 
 	
-					v_eventNotificationCriteria.missingData := valueof(m_missingData(v_missingDataPointNumber, "1000"));
+					v_eventNotificationCriteria.missingData := valueof(m_missingData(v_missingDataPointNumber, "P60"));
 
 					// Test control
 
@@ -13805,7 +13810,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ":ERROR: Notification received");
 							//Send response in any case
-							v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
 							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}