diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index bf4c5515bccdd36cdfac1d0b55cfe4a4a007f9b7..4422099cf84eba628c36f19e9f0b85dbdc3f44bc 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -10029,11 +10029,13 @@ module OneM2M_PermutationFunctions {
 						function f_CSE_SEC_ACP_015(template RequestPrimitive p_request, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem {
 							// Local variables
 							var integer v_aeIndex := -1;
+							var integer v_ae2Index := -1;
 							var integer v_acpIndex := -1;
 							var integer v_groupIndex := -1;
 							var XSD.AnyURI v_ae2ResourceAddress;
 							var template RequestPrimitive v_groupRequest := m_createGroup(1, -, omit, int2, -, -, -);
 							var template RequestPrimitive v_createRequest := valueof(m_createAcpBase);
+							var template RequestPrimitive v_updateRequest := m_updateAeBase;
 							
 							// Test control
 	
@@ -10044,20 +10046,25 @@ module OneM2M_PermutationFunctions {
 	
 							// Preamble
 							v_aeIndex := f_cse_preamble_registerAe(-, -);
+							
+							vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, omit), -1)); // AE2 is registred
+							f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 	
-							v_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex].resource)};
+							v_ae2ResourceAddress := f_getLatestResourceAddress(vc_ae2, e_nonHierarchical, e_cseRelative);
+							v_ae2Index := f_getLatestResourceIndex(vc_ae2);
+							
+							v_groupRequest.primitiveContent.group_.memberIDs := {f_getResourceAddress(v_aeIndex)};
 							
 							v_groupIndex := f_cse_createResource(int9, v_groupRequest, -); 
 							
-							v_createRequest := m_createAcp(-, {f_getResourceId(vc_resourcesList[v_groupIndex].resource)} , -);
+							v_createRequest := m_createAcp(-, {v_ae2ResourceAddress, f_getResourceAddress(v_groupIndex, e_nonHierarchical, e_cseRelative)} , -);
 							
 							v_acpIndex := f_cse_createResource(int1, v_createRequest, -); 
 							
-							vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, omit), -1)); // AE2 is registred
+							v_updateRequest.primitiveContent.aE.accessControlPolicyIDs :=  {f_getResourceAddress(v_acpIndex)};
+							vc_ae2.start(f_cse_updateResource(int2, v_ae2Index, v_updateRequest)); // AE2 is updated
 							f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 							
-							v_ae2ResourceAddress := f_getLatestResourceAddress(vc_ae2);
-
 							// Test Body
 							p_request.to_ := v_ae2ResourceAddress;
 							p_request.from_ := f_getOriginator(v_aeIndex);
@@ -10093,12 +10100,14 @@ module OneM2M_PermutationFunctions {
 						function f_CSE_SEC_ACP_016(template RequestPrimitive p_request) runs on AeSimu system CseSystem {
 							// Local variables
 							var integer v_aeIndex := -1;
+							var integer v_ae2Index := -1;
 							var integer v_ae3Index := -1;
 							var integer v_acpIndex := -1;
 							var integer v_groupIndex := -1;
 							var XSD.AnyURI v_ae2ResourceAddress;
 							var template RequestPrimitive v_groupRequest := m_createGroup(1, -, omit, int2, -, -, -);
 							var template RequestPrimitive v_createRequest := valueof(m_createAcpBase);
+							var template RequestPrimitive v_updateRequest := m_updateAeBase;
 							
 							// Test control
 	
@@ -10116,14 +10125,21 @@ module OneM2M_PermutationFunctions {
 							
 							v_groupIndex := f_cse_createResource(int9, v_groupRequest, -); 
 							
-							v_createRequest := m_createAcp(-, {f_getResourceId(vc_resourcesList[v_groupIndex].resource)} , -);
+							
+							vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, omit), -1)); // AE2 is registred
+							f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+	
+							v_ae2ResourceAddress := f_getLatestResourceAddress(vc_ae2, e_nonHierarchical, e_cseRelative);
+							v_ae2Index := f_getLatestResourceIndex(vc_ae2);
+							
+							v_createRequest := m_createAcp(-, {v_ae2ResourceAddress, f_getResourceAddress(v_groupIndex, e_nonHierarchical, e_cseRelative)} , -);
 							
 							v_acpIndex := f_cse_createResource(int1, v_createRequest, -); 
 							
-							vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, omit), -1)); // AE2 is registred
+							v_updateRequest.primitiveContent.aE.accessControlPolicyIDs :=  {f_getResourceAddress(v_acpIndex)};
+							vc_ae2.start(f_cse_updateResource(int2, v_ae2Index, v_updateRequest)); // AE2 is updated
 							f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 							
-							v_ae2ResourceAddress := f_getLatestResourceAddress(vc_ae2);
 
 							// Test Body
 							p_request.to_ := v_ae2ResourceAddress;