diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 965a8755334037fc16a82f2c19fd1576540264c5..7f9d0cb12a7da779ae540b4608ec7e7341287011 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -10222,26 +10222,22 @@ module OneM2M_PermutationFunctions {
 				  	var integer v_aeIndex := -1;
 				  	var integer v_resourceIndex;
 				  	var ResponsePrimitive v_responsePrimitive;
-				  	var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 				  	
-				  	v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
 				  	//Test control
 
 				  	//Test component configuration
 				  	f_cf02Up();
 
 				  	//Register the CSE
-				  	vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));	
-				  	vc_cse1.done;
+				  	vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));	
+					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;
+					v_aeIndex := f_cse_preamble_registerAe();	
 
 				  	vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc));	
 					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
-				  	vc_cse1.done;				  	
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);				  	
 				  	
 					vc_cse1.start(f_cse_announcementProcedure_deleteHandler());	
 					v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
@@ -10266,10 +10262,10 @@ module OneM2M_PermutationFunctions {
 						}
 					}
 					
-					vc_cse1.done;
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					//Check to see if the resource is present or not
-					if (f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))){
+					if (f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(vc_resourcesList[v_resourceIndex].resource))) {
 						setverdict(pass, __SCOPE__ & ":INFO: Resource deleted");
 					}else {
 						setverdict(fail, __SCOPE__ & ":ERROR: Resource not deleted");
@@ -10284,16 +10280,11 @@ module OneM2M_PermutationFunctions {
 			
 				function f_CSE_ANNC_DEL_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu system CseSystem {
 					// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-					var MsgIn v_request;
-					var integer v_parentIndex := -1;
+					var integer v_targetResourceIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_latestResourceIndex;
-					var ResponsePrimitive v_responsePrimitive;
-					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
+					var integer v_latestResourceIndex := -1;
+					var integer v_announcedResourceIndex := -1;
 					
-					v_create.primitiveContent.aE.announceTo := {PX_CSE_ID};
-   
 					// Test control
 
 					// Test component configuration
@@ -10301,40 +10292,42 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));	
 	
 					//Preamble
 					
-					v_ae1.start(f_cse_createResource(int2,v_create));					
-					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
-					v_ae1.done;
+					vc_ae1.start(f_cse_preamble_registerAe());					
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
-					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					v_aeIndex:= f_getLatestResourceIndex(vc_ae1);
 					
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
-					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
-					v_ae1.done;					
+					vc_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
+					v_announcedResourceIndex := f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);					
 	
 					// Test Body
-					v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
+					v_latestResourceIndex := f_getLatestResourceIndex(vc_ae1);
 					
-					v_ae1.start(f_cse_deleteResource(v_latestResourceIndex));
+					vc_ae1.start(f_cse_deleteResource(v_latestResourceIndex));
 	
 					tc_ac.start;
 					alt {
-						[] mccPortIn.receive(mw_request(mw_delete(f_getResourceAddress(v_latestResourceIndex)))){
+						[] mccPortIn.receive(mw_request(mw_delete(?))) -> value vc_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Delete Request received successfully");
-						}
-						[] mccPortIn.receive {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Error Delete request was not received");
+							v_targetResourceIndex := f_processDeleteRequestPrimitive(vc_request.primitive.requestPrimitive, -);
+							if(v_targetResourceIndex == v_announcedResourceIndex) {
+								setverdict(pass, __SCOPE__&":INFO: Expected Resource deleted successfuly");
+							} else {
+								setverdict(fail, __SCOPE__&":INFO: Unexpected resource to be deleted");
+							}
+							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
 						}
 						[] tc_ac.timeout {
 							setverdict(fail, __SCOPE__ & ": No answer while waiting to receive Delete request");
 						}
 					}
-					v_ae1.done;
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();