diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 61eb54f37897cbb6c07f25fce60d02485a959021..1d4a0d308c7cf072f82d8669e9ee07d3d951294e 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -35,6 +35,7 @@ module OneM2M_Functions {
 			//Initialization of component variables
 			vc_config := e_cf01;
 			vc_testSystemRole := e_ae;	
+			vc_aeSimuDesc := PX_TS_AE1;	
 			
 			// Map
 			map(self:mcaPort, system:mcaPort) param (PX_TS_AE1.mcaPort);
@@ -74,6 +75,7 @@ module OneM2M_Functions {
 			//Initialization of component variables
 			vc_config := e_cf01;
 			vc_testSystemRole := e_ae;		
+			vc_aeSimuDesc := PX_TS_AE2;	
 			
 			// Map
 			map(self:mcaPort, system:mcaPort) param (PX_TS_AE2.mcaPort);
@@ -103,6 +105,7 @@ module OneM2M_Functions {
 			vc_config := e_cf02;
 			vc_testSystemRole := e_ae;	
 			vc_cse1 := CseSimu.create("CSE1") alive;
+			vc_aeSimuDesc := PX_TS_AE1;	
 				
 			// Map
 			map(self:mcaPort, system:mcaPort) param (PX_TS_AE1.mcaPort);
@@ -263,6 +266,7 @@ module OneM2M_Functions {
      		var charstring v_host;
 			vc_config := e_cf02CseSimuMaster;	
 			vc_testSystemRole := e_ae;	
+			vc_aeSimuDesc := PX_TS_AE1;	
 			
 			// Map
 			map(self:mcaPort, system:mcaPort) param (PX_TS_AE1.mcaPort);
@@ -457,6 +461,7 @@ module OneM2M_Functions {
 			var charstring v_host;
 			vc_config := e_cf06;
 			vc_testSystemRole := e_ae;	
+			vc_aeSimuDesc := PX_TS_AE1;	
 			
 			// Map
 			map(self:mcaPort, system:mcaPort) param (PX_TS_AE1.mcaPort);
@@ -492,6 +497,7 @@ module OneM2M_Functions {
 			var charstring v_host;
 			vc_config := e_cf06;
 			vc_testSystemRole := e_das;		
+			vc_dasSimuDesc := PX_TS_DAS;	
 			
 			// Map
 			map(self:mcaPort, system:mcaPort) param (PX_TS_DAS.mcaPort);
@@ -519,6 +525,7 @@ module OneM2M_Functions {
 			var charstring v_host;
 			vc_config := e_cf06DasSimuMaster;
 			vc_testSystemRole := e_das;	
+			vc_dasSimuDesc := PX_TS_DAS;	
 			
 			// Map
 			map(self:mcaPort, system:mcaPort) param (PX_TS_DAS.mcaPort);
@@ -551,6 +558,7 @@ module OneM2M_Functions {
 			var charstring v_host;
 			vc_config := e_cf06DasSimuMaster;	
 			vc_testSystemRole := e_ae;	
+			vc_aeSimuDesc := PX_TS_AE1;	
 			
 			// Map
 			map(self:mcaPort, system:mcaPort) param (PX_TS_AE1.mcaPort);
@@ -2156,7 +2164,7 @@ module OneM2M_Functions {
 				f_cse_activateDefaults_ae();		
 				i := 0;
 				while (i < 3) {			
-					v_request := f_getCreateRequestPrimitive(int30, m_createTimeSeriesInstanceBase, p_timeSeriesResourceIndex);
+					v_request := valueof(m_createTimeSeriesInstanceBase);
 					v_request.primitiveContent.timeSeriesInstance.resourceName := "MyTimeSeriesInstance" & int2str(i);
 					
 					v_resourceIndex := f_cse_createResource(int30, v_request, p_timeSeriesResourceIndex);
@@ -2637,9 +2645,26 @@ module OneM2M_Functions {
 				function f_cse_announcementProcedure_announceResource(in ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive := m_create) runs on CseSimu return integer {
 					// Local variables
 					var RequestPrimitive v_request;
-					var ResponsePrimitive v_responsePrimitive;
 					var integer v_resourceIndex := -1;
-				
+					var integer v_originalResourceIndex := -1;
+					var template PrimitiveContent v_originalResource;
+				
+					//Create original resource locally if resource type is an announced variant
+					if(p_resourceType == int10002) {
+						if(ischosen(p_requestPrimitive.primitiveContent.aEAnnc)) {
+							if(valueof(p_requestPrimitive.primitiveContent.aEAnnc.link) == "S") {
+								p_requestPrimitive.primitiveContent.aEAnnc.link := f_getLocalResourceAddress() & "S"; 
+							} else {
+								v_originalResourceIndex := f_generateAndSetLocalResource(m_primitiveContentAe(m_contentCreateAe(omit, -, PX_TS_AE1.appId,omit)), vc_cSEBaseIndex, int2);
+								p_requestPrimitive.primitiveContent := f_setLink(valueof(p_requestPrimitive.primitiveContent), f_getLocalResourceAddress(v_originalResourceIndex));
+							}
+						}
+					} else if (p_resourceType == int10003) {
+						v_originalResourceIndex := f_generateAndSetLocalResource(m_primitiveContentContainer(m_contentCreateContainer), vc_cSEBaseIndex, int3);
+						p_requestPrimitive.primitiveContent := f_setLink(valueof(p_requestPrimitive.primitiveContent), f_getLocalResourceAddress(v_originalResourceIndex));
+					}
+					//TODO Add other resource types		
+					
 					v_request := f_getCreateRequestPrimitive(f_getAnnouncedResourceType(p_resourceType), p_requestPrimitive, vc_remoteCseIndex);
 			
 					f_send(e_mccPort, m_request(v_request));
@@ -2650,6 +2675,13 @@ module OneM2M_Functions {
 							setverdict(pass, __SCOPE__&":INFO: Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly");
 							f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive);
 							v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, f_getAnnouncedResourceType(p_resourceType), vc_remoteCseIndex);
+							if(p_resourceType == int10002) {
+								if(valueof(p_requestPrimitive.primitiveContent.aEAnnc.link) == "S") {
+									v_originalResource.aE := m_contentCreateAe(omit, -, PX_TS_AE1.appId, omit);
+									v_originalResource.aE.aE_ID := vc_response.primitive.responsePrimitive.primitiveContent.aEAnnc.aE_ID; 
+									v_resourceIndex := f_generateAndSetLocalResource(valueof(v_originalResource), vc_cSEBaseIndex, int2);
+								}
+							}
 						}
 						[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
 							tc_ac.stop;
@@ -3290,7 +3322,7 @@ module OneM2M_Functions {
 			 * @param  p_resourceType      Type of the resource to be created
 			 * @return Index of internal created resource
 			 */
-			function f_generateAndSetLocalResource(in template(omit) PrimitiveContent p_resource := omit, in integer p_parentIndex := vc_cSEBaseIndex, in ResourceType p_resourceType) runs on CseSimu return Integer {
+			function f_generateAndSetLocalResource(in template(omit) PrimitiveContent p_resource := omit, in integer p_parentIndex := vc_cSEBaseIndex, in ResourceType p_resourceType) runs on CseSimu return integer {
 
 				var PrimitiveContent v_localResource;
 				var integer v_localResourceIndex;
@@ -3474,8 +3506,10 @@ module OneM2M_Functions {
 						if(not(ispresent(p_resource.aE.expirationTime))) {
 							v_myResource.aE.expirationTime := "20301231T012345";
 						}
-						v_myResource.aE.resourceID := "Cae" & int2str(v_resourceIndex);
-						v_myResource.aE.aE_ID := v_myResource.aE.resourceID;
+						if(not(ispresent(v_myResource.aE.aE_ID))) {
+							v_myResource.aE.aE_ID := "Cae" & int2str(v_resourceIndex);
+						} 
+						v_myResource.aE.resourceID := v_myResource.aE.aE_ID;
 						if(not(ispresent(p_resource.aE.resourceName))) {
 							v_myResource.aE.resourceName := "ae" & int2str(v_resourceIndex);
 						}
@@ -3858,10 +3892,22 @@ module OneM2M_Functions {
 
 				var RequestPrimitive v_request;
 				var integer v_resourceIndex := -1;
+				var integer v_originalResourceIndex := -1;
 
 				//Activate defaults when running on a PTC
 				f_cse_activateDefaults_cse1();		
 					
+				//Create original resource locally if resource type is an announced variant
+				if(p_resourceType == int10002) {
+					v_originalResourceIndex := f_generateAndSetLocalResource(m_primitiveContentAe(m_contentCreateAe(omit, -, PX_TS_AE1.appId, omit)), vc_cSEBaseIndex, int2);
+					p_requestPrimitive.primitiveContent := f_setLink(valueof(p_requestPrimitive.primitiveContent), f_getLocalResourceAddress(v_originalResourceIndex));
+				} else if (p_resourceType == int10003) {
+					v_originalResourceIndex := f_generateAndSetLocalResource(m_primitiveContentContainer(m_contentCreateContainer), vc_cSEBaseIndex, int3);
+					p_requestPrimitive.primitiveContent := f_setLink(valueof(p_requestPrimitive.primitiveContent), f_getLocalResourceAddress(v_originalResourceIndex));
+				}
+				//TODO Add other resource types		
+				
+					
 				v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, p_parentIndex);
 
 				f_send(e_mccPort, m_request(v_request));
@@ -4701,13 +4747,9 @@ module OneM2M_Functions {
 
 			p_request.requestIdentifier := valueof(p_request.requestIdentifier) & f_rnd(1, 1000000);
 			
-			if((p_resourceType != int2)) {
-				if((p_resourceType == int16) or (p_resourceType == int10016)) {
-					p_request.from_ := PX_TS_CSE1.cseId;
-				} else {	
+			if((p_resourceType != int2) and (p_resourceType != int16)) {
 					p_request.from_ := f_getOriginator(p_parentIndex, vc_testSystemRole);
 				}
-			}
 			//Only set To parameter if it has not been set yet 
 			if(valueof(p_request.to_) == "NotInitialized") {
 				p_request.to_ := f_getResourceAddress(p_parentIndex);
@@ -5115,8 +5157,6 @@ module OneM2M_Functions {
  					}	
 				} else if (ischosen(vc_resourcesList[p_targetResourceIndex].resource.remoteCSE)) {
 					return vc_resourcesList[p_targetResourceIndex].resource.remoteCSE.cSE_ID; 
-				} else if (ischosen(vc_resourcesList[p_targetResourceIndex].resource.remoteCSEAnnc)) {
-					return PX_TS_CSE1.cseId;//To double check 
 				} else {
 					return f_getOriginator(vc_resourcesList[p_targetResourceIndex].parentIndex, p_testSystemRole);
 				}
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 6a12d1389fa58b287d657ebe09f0530bfc30c232..7b90e861e16746b86be67b18b2e70edf84e7f7f9 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -897,12 +897,11 @@ module OneM2M_Templates {
 			 * @param p_appId
 			 * @param p_stemId
 			 */
-			template (value) RequestPrimitive m_createAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, XSD.ID p_parentResourceAddress, template (omit) XSD.ID p_from := omit, template (omit) XSD.ID p_appId, XSD.ID p_stemId := "") modifies m_create:= {
-				to_ := p_parentResourceAddress,
+			template (value) RequestPrimitive m_createAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_from := omit, template (omit) XSD.ID p_appId, XSD.AnyURI p_link := "NotInitialized") modifies m_create:= {
 				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
 				requestIdentifier := testcasename() & "-m_createAEAnnc",
 				resourceType := int10002,
-				primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_parentResourceAddress) & "/" & p_stemId)}
+				primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, p_link)}
 			};
 			
 			/**
@@ -913,11 +912,10 @@ module OneM2M_Templates {
 			 * @param p_appId
 			 * @param p_stemId
 			 */
-			template (value) RequestPrimitive m_createAEAnncBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_from := omit, template (omit) XSD.ID p_appId, XSD.AnyURI p_link := "NotInitialized") modifies m_create:= {
-				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
+			template (value) RequestPrimitive m_createAEAnncBase modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createAEAnnc",
 				resourceType := int10002,
-				primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, p_link)}
+				primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, omit, -, -)}
 			};
 			
 			/**
@@ -934,8 +932,8 @@ module OneM2M_Templates {
 				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"
+			template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIds := omit,template (omit) XSD.ID p_from := PX_TS_AE1.aeIdStem, template (omit) ResourceName p_resourceName :=  c_aeAuxName, in template (omit) PoaList p_poaList := omit) modifies m_create := {
+				from_ := p_from,//It should be used either omit, or "s", or "c"
 				requestIdentifier := testcasename() & "-m_createAe",
 				resourceType := int2,
 				primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}
@@ -1065,7 +1063,8 @@ module OneM2M_Templates {
 			/**
 			 * @desc Base CREATE request primitive for remoteCSE resource
 			 */
-			template (value) RequestPrimitive m_createRemoteCSEBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId) modifies m_create := {
+			template (value) RequestPrimitive m_createRemoteCSEBase(template (value) XSD.ID p_from := PX_TS_CSE1.cseId, template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId) modifies m_create := {
+				from_ := p_from,//Originator CSE-ID
 				requestIdentifier := testcasename() & "-m_createRemoteCSE",
 				resourceType := int16,
 				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
@@ -1074,7 +1073,7 @@ module OneM2M_Templates {
 			/**
 			 * @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_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId, in PoaList p_poaList) modifies m_createRemoteCSEBase := {
+			template (value) RequestPrimitive m_createRemoteCSE_poa(template (value) XSD.ID p_from := PX_TS_CSE1.cseId, template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId, in PoaList p_poaList) modifies m_createRemoteCSEBase := {
 				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE_poa(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID, p_poaList)}
 			};
 			
@@ -2394,7 +2393,7 @@ module OneM2M_Templates {
 		 * @param p_appId App ID
 		 * @param p_nodeLink Node link
 		 */
-		template (value) AEAnnc_optional m_contentCreateAEAnnc (in template (omit)  Labels p_labels, in template (omit) AcpType p_accessControlPolicyIds, template (omit) XSD.ID p_appId := PX_TS_AE1.appId, in template (omit) XSD.AnyURI p_link := omit) := {
+		template (value) AEAnnc_optional m_contentCreateAEAnnc (in template (omit)  Labels p_labels, in template (omit) AcpType p_accessControlPolicyIds, template (omit) XSD.ID p_appId := omit, in template (omit) XSD.AnyURI p_link := "NotInitialized") := {
 			resourceName := omit,//NA 
 			resourceType := omit,//NA
 			resourceID := omit,//NA
@@ -2404,12 +2403,12 @@ module OneM2M_Templates {
 			labels := p_labels,//MA
 			accessControlPolicyIDs := p_accessControlPolicyIds,//MA Special case, mandatory for announced resources
 			expirationTime := "20301231T012345",//MA
-			link := p_link,//M TODO Put the right value
-			dynamicAuthorizationConsultationIDs := omit, //TODO Check whether it is optional or mandatory for create operation			
+			link := p_link,//M
+			dynamicAuthorizationConsultationIDs := omit, //OA			
 			appName := omit,//OA
 			app_ID := p_appId,//OA
 			aE_ID := omit,//OA
-			pointOfAccess := omit, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
+			pointOfAccess := omit, //OA
 			ontologyRef := omit,//OA
 			nodeLink := omit,//OA
 			requestReachability := omit,//OA
@@ -2446,7 +2445,7 @@ module OneM2M_Templates {
 			appName := *,//OA O
 			app_ID := *,//OA M
 			aE_ID := *,//OA M
-			pointOfAccess := *, //OA O {"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
+			pointOfAccess := *, //OA O
 			ontologyRef := *,//OA O
 			nodeLink := *,//OA O
 			requestReachability := *,//OA M
@@ -2484,7 +2483,7 @@ module OneM2M_Templates {
 			pointOfAccess := *,//OA O
 			cSEBase := *,//OA M
 			cSE_ID := *,//OA M
-			requestReachability := *,//OA M {"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
+			requestReachability := *,//OA M
 			nodeLink := *,//OA O
 			contentSerialization := *,//OA O
 			e2eSecInfo := ?,//OA O
@@ -2519,7 +2518,7 @@ module OneM2M_Templates {
     		appName := omit,//O
 			app_ID := p_appId,//M
     		aE_ID := omit,//NP
-    		pointOfAccess := p_poaList, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
+    		pointOfAccess := p_poaList, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"},
     		ontologyRef := omit,//O
     		nodeLink := omit,//NP
     		requestReachability := false,//M
@@ -2555,7 +2554,7 @@ module OneM2M_Templates {
     		appName := *,//O
 			app_ID := ?,//M
     		aE_ID := omit,//NP
-    		pointOfAccess := *, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
+    		pointOfAccess := *, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"},
     		ontologyRef := *,//O
     		nodeLink := *,//NP
     		requestReachability := ?,//M
@@ -3483,8 +3482,6 @@ module OneM2M_Templates {
     	
 		/**
 		 * @desc Base primitiveContent for CREATE operation for SemanticMashupResult resource
-		 * @param TODO 
-		 * @param TODO
 		 */    	
 		template (value) SemanticMashupResult_optional m_contentCreateSemanticMashupResult  := {    	
 			resourceName := omit,	//NP
@@ -6212,7 +6209,6 @@ module OneM2M_Templates {
 			choice := omit	//O
 		}
 		
-		//TODO
 		template XSD.AnyURI mw_contentAcp_rc2 := ?;
 		
 		template Resource mw_contentAcp_rc3 := {
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index b472beed0fb894b88aff7276edd7df18e9d4576b..f02e6f90765720f47aa3cf4a1873b472d4b0d72d 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -66,7 +66,8 @@ module OneM2M_TestSystem {
 	
 		//global variables
 		//var PrimitiveContent vc_primitiveContentRetrievedResource;
-
+		var AeSimuComponentDesc vc_aeSimuDesc;
+		var AeSimuComponentDesc vc_dasSimuDesc;
 		var CseSimu vc_cse1;//For CF02 when AeSimu is master
 		var boolean vc_auxiliaryAe2Up := false;
 		var integer vc_aeAuxIndex := -1;//Specific to AeSimu
diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index c4fdaae74362dd86fc2b4a8e09c1b35aa84d6fe5..52a2df9fc4f139612595cca83730ceb47c579def 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -4408,7 +4408,7 @@ group OtherTypes {
 		/**
 		 * @desc Test System AE-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1
 		 */			
-		XSD.ID aeIdStem,
+		XSD.ID aeIdStem optional,
 		/**
 		 * @desc Test System APP-ID with App-ID format according to TS-0001-7.2-1
 		 */		
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 2c66d5d8920c7b9c1ddf79f61af8f8e48b34d964..4791e8f22ddcb9387354754533d1387f8ff0a66b 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -2603,7 +2603,7 @@ module OneM2M_PermutationFunctions {
 
 				// Preamble
 				
-				v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+				v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 				
 				vc_ae1.start(f_cse_preamble_registerAe());				
 				vc_ae1.done;
@@ -2693,7 +2693,7 @@ module OneM2M_PermutationFunctions {
 				
 				v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 
-				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 				f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				
 				v_aeIndex := f_cse_preamble_registerAe();				
@@ -3999,10 +3999,10 @@ module OneM2M_PermutationFunctions {
 						// Preamble
 						vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
 						
-						v_aEAnncIndex := f_cse_createResource_cseSimu(int10002, m_createAEAnncBase(omit, omit, PX_TS_CSE1.cseId, PX_TS_CSE1.cseId), vc_remoteCseIndex); //AEAnnnc under RemoteCSE
+						v_aEAnncIndex := f_cse_createResource_cseSimu(int10002, m_createAEAnnc(-, PX_TS_CSE1.cseId, omit, -), vc_remoteCseIndex); //AEAnnnc under RemoteCSE
 		
 						// Test Body
-	
+						
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aEAnncIndex);
 	
 						f_send(e_mccPort, m_request(v_request));
@@ -4060,7 +4060,7 @@ module OneM2M_PermutationFunctions {
 						// Test adapter configuration
     				
 						// Preamble
-						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 						f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);						
 						
 						vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
@@ -4107,7 +4107,7 @@ module OneM2M_PermutationFunctions {
 	
 						// Preamble
 						
-						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 				  		f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);						
 						
 						vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
@@ -5618,7 +5618,7 @@ module OneM2M_PermutationFunctions {
 						//Preamble
 						v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 						//Register the CSE
-						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 						f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 	
 						v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
@@ -8935,7 +8935,7 @@ module OneM2M_PermutationFunctions {
 					// Test adapter configuration
 			
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					//remoteCSE is by default the parent for an announced resource
@@ -9019,7 +9019,7 @@ module OneM2M_PermutationFunctions {
 				  f_cf02Up();
 
 				  //Register the CSE
-				  vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+				  vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 				  
 				  f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
@@ -9045,7 +9045,7 @@ module OneM2M_PermutationFunctions {
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
 					var XSD.AnyURI v_remoteCSEAnncAddress;
-					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()});
+					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
 					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 					
@@ -9109,7 +9109,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -9140,7 +9140,7 @@ module OneM2M_PermutationFunctions {
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 					var template RequestPrimitive v_createContainer := m_createContainerBase;
 					var template RequestPrimitive v_createContainerAnnc := mw_createContainerAnnc;
-					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()});
+					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
 					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 					
@@ -9205,7 +9205,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -9233,7 +9233,7 @@ module OneM2M_PermutationFunctions {
 					var integer v_aeIndex := -1;
 					var XSD.AnyURI v_remoteCSEAnncAddress;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
-					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()});
+					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
 					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 					
@@ -9289,7 +9289,7 @@ module OneM2M_PermutationFunctions {
 					
 					//Test adapter configuration
 					// Register the CSE
-					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					f_checkCseSimuStatus();
 					
@@ -9327,7 +9327,7 @@ module OneM2M_PermutationFunctions {
 	
 					//Test adapter configuration
 					// Register the CSE
-					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					f_checkCseSimuStatus();
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -9376,7 +9376,7 @@ module OneM2M_PermutationFunctions {
 					//Preamble
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 				    f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
@@ -9456,7 +9456,7 @@ module OneM2M_PermutationFunctions {
 					//Preamble
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
@@ -9539,7 +9539,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -9605,7 +9605,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -9666,7 +9666,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -9742,7 +9742,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -9809,7 +9809,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -9866,7 +9866,7 @@ module OneM2M_PermutationFunctions {
 					var XSD.AnyURI v_remoteCSEAnncAddress;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 					var template RequestPrimitive v_createRequestRemoteCseAnnc := m_createRemoteCSEAnncBase;
-					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()});
+					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
 					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 
@@ -9927,7 +9927,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -9991,7 +9991,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -10055,7 +10055,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10116,7 +10116,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10177,7 +10177,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10236,7 +10236,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10298,7 +10298,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -10366,7 +10366,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -10430,7 +10430,7 @@ module OneM2M_PermutationFunctions {
 				  	f_cf02Up();
 
 				  	//Register the CSE
-				  	vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));	
+				  	vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));	
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 				  	//Preamble
@@ -10493,7 +10493,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));	
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));	
 	
 					//Preamble
 					
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index ba9bd8f1bf6b76235d88152477bb6c4a0530093c..8601d0c1b91e37d6407f152e5f13fdff78953ec1 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -899,7 +899,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
 									
 					//Create AEAnnc				
-					v_aeAnncIndex := f_cse_announcementProcedure_announceResource(int2, m_createAEAnnc(-, f_getResourceAddress(vc_remoteCseIndex), PX_TS_CSE1.cseId & "/" & "S", PX_TS_AE1.appId, PX_TS_CSE1.cseId & "/" & "S"));
+					v_aeAnncIndex := f_cse_announcementProcedure_announceResource(int10002, m_createAEAnnc(-, -, omit, "S"));
 					
 					//Update AEAnnc to simulate deregistration of AE
 					v_request := f_getUpdateRequestPrimitive(f_getAnnouncedResourceType(int2),v_aeAnncIndex, valueof(m_updateAEAnncBase));//TODO 
@@ -2060,7 +2060,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
 									
 					//Test Body
-					v_request := valueof(m_createAEAnnc(-, f_getResourceAddress(vc_remoteCseIndex), PX_TS_CSE1.cseId & "/" & PX_ALLOWED_S_AE_IDS[0], omit, PX_TS_CSE1.cseId & "/" & PX_ALLOWED_S_AE_IDS[0]));	
+					v_request := valueof(m_createAEAnnc(-, -, omit, PX_TS_CSE1.cseId & "/" & PX_ALLOWED_S_AE_IDS[0]));	
 					
 					v_request := f_getCreateRequestPrimitive(int10002, v_request, vc_remoteCseIndex);
 					v_primitiveContent.aEAnnc := mw_contentAeAnnc_base;
@@ -2206,7 +2206,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
 									
 					//Test Body
-					v_request := valueof(m_createAEAnnc(-, f_getResourceAddress(vc_remoteCseIndex), PX_TS_CSE1.cseId & "/" & "S", PX_TS_AE1.appId, PX_TS_CSE1.cseId & "/" & "S"));	
+					v_request := valueof(m_createAEAnnc(-, -, omit, vc_cseSimuDesc.cseId & "/" & "S"));	
 					
 					v_request := f_getCreateRequestPrimitive(int10002, v_request, vc_remoteCseIndex);
 					v_primitiveContent.aEAnnc := mw_contentAeAnnc_base;
@@ -10628,7 +10628,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				
 					v_aeIndex := f_cse_preamble_registerAe();				
@@ -11193,7 +11193,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					// Preamble
 				
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				
 					v_aeIndex := f_cse_preamble_registerAe();				
diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn
index 695f7da3e9536c959339d4e9b8b522daabcce161..868ee33ca09431526737799e04d698e2c9b65275 100644
--- a/OneM2M_Testcases_CSE_Release_3.ttcn
+++ b/OneM2M_Testcases_CSE_Release_3.ttcn
@@ -369,7 +369,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						//Local variables
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase(omit, omit, PX_TS_CSE1.cseId, PX_TS_AE1.appId));
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 	
 						v_createRequest.primitiveContent.timeSeries.resourceName := omit;
@@ -387,7 +387,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						//Local variables
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase(omit, omit, PX_TS_CSE1.cseId));
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 
 						v_createRequest.primitiveContent.container.resourceName := omit;
@@ -406,7 +406,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase(omit, omit, PX_TS_CSE1.cseId));
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 
 						v_createRequest.primitiveContent.group_.resourceName := omit;
@@ -424,7 +424,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase(omit, omit, PX_TS_CSE1.cseId));
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 
 						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
@@ -623,7 +623,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase(omit, omit, PX_TS_CSE1.cseId));
+						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 
 						v_createRequest.primitiveContent.timeSeries.resourceName := omit;
@@ -9707,7 +9707,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Test adapter configuration
 
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 				  
 				  	f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 	
@@ -13308,7 +13308,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_getLatestResource(vc_ae1);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					// CSE registraion
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 					
 					// Create ontology resource at CSE1
 					v_ontologyRepResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), vc_cSEBaseIndex, int38);
@@ -13383,7 +13383,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe();
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
                     
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					vc_cse1.start(f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), v_cseBaseIndex, int38));
@@ -14436,7 +14436,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					vc_ae1.start(f_cse_preamble_registerAe());				
 					vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 										
 					// Test Body
 					v_aeIndex := f_getLatestResource(vc_ae1);
@@ -14516,7 +14516,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe();
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
                     
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					vc_cse1.start(f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), v_cseBaseIndex, int38));
@@ -14611,7 +14611,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					vc_ae1.start(f_cse_preamble_registerAe());				
 					vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()}));
 										
 					// Test Body
 					v_aeIndex := f_getLatestResource(vc_ae1);
@@ -14694,7 +14694,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe();
                     
                     // Preamble - register remoteCSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					//Create ontology Repository and ontology resource in CSE
@@ -15573,7 +15573,7 @@ module OneM2M_Testcases_CSE_Release_3 {
                     vc_ae1.start(f_cse_preamble_registerAe());              
                     vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-                    v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+                    v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
                                         
                     // Test Body
                     v_aeIndex := f_getLatestResource(vc_ae1);
@@ -16231,7 +16231,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					vc_ae1.start(f_cse_preamble_registerAe());              
 					vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()}));
+					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
 
 					// Create local <semanticMashupInstance> in remote CSE
 					v_semanticDescriptorCse1Index := f_generateAndSetLocalResource(valueof(m_primitiveContentSemanticMashupInstance(m_contentSemanticMashupInstance)), -, int24);