diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index d20143b93e0c7f1493a33be4e4dd582f96eed4d8..288a6ce28eb1ced6e4ec8c516aeb9e21512e40b2 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -423,13 +423,41 @@ module OneM2M_Functions {
 			 * @param p_tester AeSimu component
 			 * @param p_resourceIndex Index of resource to be retrieved
 			 */
-			function f_getResource(in Tester p_component, in integer p_resourceIndex := -1) runs on Tester return integer {
+			function f_getResourceFromAeSimu(in AeSimu p_component, in integer p_resourceIndex := -1) runs on Tester return integer {
 				var MyResource v_resource;
 				var integer v_resourceIndex := -1;
 			
 				f_connectInfoPort(p_component);
+				
+				p_component.start(f_sendResourceAeSimu(p_resourceIndex));
+				
+				alt {
+					[]infoPort.receive(mw_resource) -> value v_resource {
+						v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false);
+					}
+				}
 	
-				p_component.start(f_sendResource(p_resourceIndex));
+				p_component.done;
+				f_disconnectInfoPort(p_component);
+				
+				return v_resourceIndex;
+				
+			}	
+
+			
+			/**
+			 * @desc Getting a specific resource from an CseSimu component
+			 * @param p_tester AeSimu component
+			 * @param p_resourceIndex Index of resource to be retrieved
+			 */
+			function f_getResourceFromCseSimu(in CseSimu p_component, in integer p_resourceIndex := -1) runs on Tester return integer {
+				var MyResource v_resource;
+				var integer v_resourceIndex := -1;
+			
+				f_connectInfoPort(p_component);
+				
+				p_component.start(f_sendResourceCseSimu(p_resourceIndex));
+				
 				alt {
 					[]infoPort.receive(mw_resource) -> value v_resource {
 						v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false);
@@ -586,7 +614,7 @@ module OneM2M_Functions {
 			 * @desc Sending of a specific resource through InfoPort
 			 * @param p_resourceIndex Index of resource to be sent
 			 */	
-			function f_sendResource(in integer p_resourceIndex) runs on Tester {
+			function f_sendResourceAeSimu(in integer p_resourceIndex) runs on AeSimu {
 		
 				if(p_resourceIndex == -1) {
 					infoPort.send(vc_resourcesList[vc_aeAuxIndex]);  //TODO To send Ae or RemoteCSE depending on the component type
@@ -596,6 +624,20 @@ module OneM2M_Functions {
 					
 			} 	
 			
+			/**
+			 * @desc Sending of a specific resource through InfoPort
+			 * @param p_resourceIndex Index of resource to be sent
+			 */	
+			function f_sendResourceCseSimu(in integer p_resourceIndex) runs on CseSimu {
+		
+				if(p_resourceIndex == -1) {
+					infoPort.send(vc_resourcesList[vc_remoteCseIndex]);  //TODO To send Ae or RemoteCSE depending on the component type
+				} else {
+					infoPort.send(vc_resourcesList[p_resourceIndex]);
+				}
+					
+			}
+			
 			/**
 			 * @desc Sending of the latest resource through InfoPort
 			 */	
@@ -731,7 +773,7 @@ module OneM2M_Functions {
 				}
 				
 				if(vc_acpAuxIndex != -1) {
-					vc_resourcesIndexToBeDeleted := {vc_acpAuxIndex};
+					vc_resourcesIndexToBeDeleted := {vc_acpAuxIndex};//TODO Not needed
 					v_request := valueof(m_createAe(p_appId, {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)}, -));
 					
 					//TODO Test, to be removed
@@ -834,7 +876,7 @@ module OneM2M_Functions {
 					vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, c_defaultAE2Name, {f_getCompletePoA("HTTP", PX_AE2_ADDRESS, "")}), -1)); // AE2 is registred
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
-					p_ae2Index := f_getResource(vc_ae2);
+					p_ae2Index := f_getResourceFromAeSimu(vc_ae2);
 					if(ischosen(p_createRequestPrimitive.primitiveContent.subscription)){		//this condition is necessary for Subscription TCs where notification URI is set in m_createSubscriptionAdvanced
 						p_createRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(p_ae2Index)};
 					}
@@ -1128,7 +1170,8 @@ module OneM2M_Functions {
 			 * @return Internal resource index of the created auxiliar ACP resource
 			 * @verdict 
 			 */
-			function f_cse_createAccessControlPolicyAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) runs on AeSimu return integer{				var RequestPrimitive v_request;
+			function f_cse_createAccessControlPolicyAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) runs on AeSimu return integer{				
+				var RequestPrimitive v_request;
 				var integer v_acpAuxIndex := -1;
 				
 				v_request := valueof(m_createAcpAux(p_acpName := p_acpName, p_acor := p_acor, p_allowedOperations := p_allowedOperations));
@@ -1780,6 +1823,10 @@ module OneM2M_Functions {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ": Error, Non expected notification received");
 						}
+						[] mcaPortIn.receive(mw_request(mw_notifyResponsePrimitive(?))) -> value vc_request {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error, Non expected notification received");
+						}
 						[] tc_ac.timeout {
 							setverdict(pass, __SCOPE__ & ": No notification received");
 						}
@@ -3702,8 +3749,8 @@ module OneM2M_Functions {
 				}
 			} else if (p_resourceType == int9) {//group
 				if(match(valueof(p_request.primitiveContent.group_.memberIDs), v_defaultListOfURIs )){
-					if ((p_parentIndex == -1) and (isbound(vc_aeAuxIndex))){
-						p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[vc_aeAuxIndex].resource)};
+					if (p_parentIndex == -1){
+						p_request.primitiveContent.group_.memberIDs := {};
 					}else{
 						p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[p_parentIndex].resource)};
 					}
@@ -3731,7 +3778,7 @@ module OneM2M_Functions {
 				//subscriberURI
 				if(ispresent(p_request.primitiveContent.subscription.subscriberURI)) {
 					if(match(valueof(p_request.primitiveContent.subscription.subscriberURI), "NotInitialized" )){
-						p_request.primitiveContent.subscription.subscriberURI := f_getResourceAddress(vc_aeAuxIndex);
+						p_request.primitiveContent.subscription.subscriberURI := valueof(p_request.from_);
 					}
 				}
 				//accessControlPolicyIds
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index d0fc01784fc74161bdd31087c257f9f399126d2d..4b1e6af946af5957249c4bb51a1a717f5750cf1d 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -35,14 +35,12 @@ module OneM2M_TestSystem {
 		var TestSystemRole vc_testSystemRole;
 		var MyResourcesList vc_resourcesList;
 		var IntegerList vc_resourcesIndexToBeDeleted := {};
-		var integer vc_aeAuxIndex := -1;//TODO To be removed
-		var integer vc_remoteCseIndex := -1;
 		var integer vc_acpAuxIndex := -1;
-		var AccessControlPolicy_optional vc_acpAux;
 		var MsgIn vc_request;
 		var MsgIn vc_response;
 		var default vc_aeSimu := null;
 		var default vc_cseSimu := null;
+		var PrimitiveContent vc_primitiveContentRetrievedResource;
 	};
 	
 	type component AeSimu extends Tester {
@@ -51,10 +49,11 @@ module OneM2M_TestSystem {
 		port OneM2MPort mcaPortIn;
 	
 		//global variables
-		var PrimitiveContent vc_primitiveContentRetrievedResource;
+		//var PrimitiveContent vc_primitiveContentRetrievedResource;
 
 		var CseSimu vc_cse1;//For CF02 when AeSimu is master
 		var boolean vc_auxiliaryAe2Up := false;
+		var integer vc_aeAuxIndex := -1;//Specific to AeSimu
 	};
 		
 	type component CseSimu extends Tester {
@@ -69,6 +68,7 @@ module OneM2M_TestSystem {
 		var integer vc_localRemoteCseIndex := -1;
 		var integer vc_cSEBaseIndex := -1;	//Index of the CSEBase resource of the Tester inside vc_localResourcesList
 		var CseTypeID vc_cseType;	//cseType of the simulated CSE. IN =1, MN = 2
+		var integer vc_remoteCseIndex := -1;//Specific to CseSimu
 	};
 	
 	type component InCseSimu extends CseSimu {
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index b2d6d5c40e372a525bdad25bfcc72f7301710eef..fafdae9ef2034dc275f53e307e267a7267208faf 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -7281,7 +7281,7 @@ group OptionalResourceTypes {
 		MemberType memberType optional,
 		XSD.NonNegativeInteger currentNrOfMembers optional,
 		XSD.PositiveInteger maxNrOfMembers optional,
-		ListOfURIs memberIDs optional,
+		record length(0 .. infinity) of XSD.AnyURI memberIDs optional,//TODO A list that can be empty
 		ListOfURIs membersAccessControlPolicyIDs optional,
 		XSD.Boolean memberTypeValidated optional,
 		ConsistencyStrategy consistencyStrategy optional,
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 2b3ac6ef667e666f604bd93d39af346c97570f0c..f34ee631d27741f17dfe60cfbe57f618903a6ed8 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -1920,7 +1920,7 @@ module OneM2M_PermutationFunctions {
 							vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, c_defaultAE2Name, v_poaList), -1)); // AE2 is registred
 							f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 							
-							v_ae2Index := f_getResource(vc_ae2);
+							v_ae2Index := f_getResourceFromAeSimu(vc_ae2);
 							p_parentRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)};
 							vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
 						}
@@ -1957,7 +1957,7 @@ module OneM2M_PermutationFunctions {
 						f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 						vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, c_defaultAE2Name, v_poaList), -1)); // AE2 is registred
 						f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
-						v_ae2Index := f_getResource(vc_ae2);
+						v_ae2Index := f_getResourceFromAeSimu(vc_ae2);
 						p_requestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
 						vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
 					}
@@ -2031,7 +2031,7 @@ module OneM2M_PermutationFunctions {
 							f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 							vc_ae1.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_APP_ID, -, PX_AE1_ID_STEM, "MyAe", v_poaList), -1)); // AE1 is registered
 							f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-							v_ae1Index := f_getResource(vc_ae1);
+							v_ae1Index := f_getResourceFromAeSimu(vc_ae1);
 							p_requestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae1Index)}; 
 							vc_ae1.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
 						}
@@ -5277,8 +5277,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -5301,7 +5299,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 		
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					v_ae1.done;					
 			
 					v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
@@ -5344,8 +5344,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -5368,8 +5366,10 @@ module OneM2M_PermutationFunctions {
 					v_ae1.start(f_cse_createResource(int2,v_create));					
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
+					
+					v_aeIndex := f_getLatestResourceIndex(v_ae1);
 
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 
@@ -7910,8 +7910,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -7934,8 +7932,10 @@ module OneM2M_PermutationFunctions {
 					v_ae1.start(f_cse_createResource(int2,v_create));					
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
-	
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					v_ae1.done;					
 		
 					v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
@@ -8003,7 +8003,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 	
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 	
@@ -8126,8 +8128,8 @@ module OneM2M_PermutationFunctions {
 					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
 
 					//Preamble
-
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					v_ae1.done;					
 
 					v_latestResourceIndex := f_getLatestResourceIndex(v_ae1);
@@ -8150,8 +8152,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -8175,7 +8175,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 	
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 	
@@ -8217,8 +8219,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -8242,7 +8242,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 
@@ -8278,8 +8280,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -8303,7 +8303,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 
@@ -8402,8 +8404,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -8427,7 +8427,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 
@@ -8469,8 +8471,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -8494,7 +8494,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 
@@ -8536,8 +8538,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -8561,7 +8561,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 
@@ -8602,8 +8604,6 @@ module OneM2M_PermutationFunctions {
 					var RequestPrimitive v_requestUpdatePrimitive;
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex;
-					var integer v_aEAnncIndex := -1;
 					var integer v_latestResourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
@@ -8627,7 +8627,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 
@@ -8865,7 +8867,6 @@ module OneM2M_PermutationFunctions {
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_latestResourceIndex;
-					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));
@@ -8888,7 +8889,9 @@ module OneM2M_PermutationFunctions {
 					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));		
 					v_ae1.done;
 					
-					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, vc_aeAuxIndex));
+					v_aeIndex:= f_getLatestResourceIndex(v_ae1);
+					
+					v_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cse_announcementProcedure_createHandler(p_createRequestAnnc);	
 					v_ae1.done;					
 	
@@ -8953,7 +8956,7 @@ module OneM2M_PermutationFunctions {
 				vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, PX_AE2_ID_STEM, c_defaultAE2Name, -), -1)); // AE2 is registred
 				f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
-				v_aeIndex2 := f_getResource(vc_ae2);
+				v_aeIndex2 := f_getResourceFromAeSimu(vc_ae2);
 					
 				v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex1);
 				
@@ -9650,7 +9653,7 @@ module OneM2M_PermutationFunctions {
 					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
-					v_ae2Index := f_getResource(vc_ae2);
+					v_ae2Index := f_getResourceFromAeSimu(vc_ae2);
 					
 					if(ispresent(p_parentRequestPrimitive)) {
 						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index e1c45e11bea5d1a8b0b1134937dedba81dbfabd6..fcb7a87999ae5ef940a9310b59a620f2379863b3 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -1424,7 +1424,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Resource type remoteCSE created successfully");
 							f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive);
-							vc_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16);
+							vc_remoteCseIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16);
 						}
 						[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) {
 							tc_ac.stop;
@@ -1490,7 +1490,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Resource type remoteCSE created successfully");
 							f_checkAttributesToBeSaved(int16, v_request, v_response.primitive.responsePrimitive);
-							vc_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16);
+							vc_remoteCseIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int16);
 						}
 						[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 							tc_ac.stop;
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index b76fc37ce6ae623d4c55e8d46f93c65dd89084cc..55c3c21741bbcc7155fe0ddb7a75eba4fb16de9f 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -12967,7 +12967,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 				 
 				 v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 				 
-				 v_aeIndexForResourceAddress := f_getResource(vc_ae1);
+				 v_aeIndexForResourceAddress := f_getResourceFromAeSimu(vc_ae1);
 
 				 vc_ae1.start(f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex));//PollingChannel is created;
 				 f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);