diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 51466f6ae624323dc5a4db82f84ae62b5e5315b6..cb455d20b0fe1a8da58c4e0f5f236486e3d91722 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -6407,7 +6407,7 @@ module OneM2M_PermutationFunctions {
 				  f_cf02Up();
 
 				  //Register the CSE
-				  vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));	
+				  vc_cse1.start(f_cse_registerRemoteCse(mw_createRemoteCSE));	
 				  vc_cse1.done;
 
 				  //Preamble
@@ -6485,7 +6485,7 @@ module OneM2M_PermutationFunctions {
 					// Test adapter configuration
 
 					//Register the CSE
-					vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSE));	
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)/*f_cse_registrationRemoteCse(mw_createRemoteCSE)*/);	
 					vc_cse1.done;
 	
 					//Preamble
@@ -6543,12 +6543,14 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
- 				    f_cse_registrationRemoteCse(mw_createRemoteCSE);	
+ 				    //f_cse_registrationRemoteCse(mw_createRemoteCSE);
+					f_cse_registerRemoteCse(m_createRemoteCSEBase);	
 					
 					//Preamble
-					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
 					v_ae1.start(f_cse_createResource(int2,v_create));
 					v_ae1.done;
+					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
+					
 					
 					// Test Body
 					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
@@ -6588,9 +6590,10 @@ module OneM2M_PermutationFunctions {
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex;
-					var integer v_remoteCSEAnncIndex := -1;
+					var integer v_aEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
    
 					// Test control
 
@@ -6599,12 +6602,14 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registrationRemoteCse(mw_createRemoteCSE);	
+					f_cse_registrationRemoteCse(mw_createRemoteCSE);
+						
 	
 					//Preamble
-					f_cse_announcementProcedure_createHandler(mw_createRemoteCSEAnnc(-, -, -));
 					v_ae1.start(f_cse_createResource(int2,v_create));
 					v_ae1.done;
+					f_cse_announcementProcedure_createHandler(mw_createRemoteCSEAnnc(-, -, -));
+					
 	
 					// Test Body
 					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
@@ -6644,9 +6649,10 @@ module OneM2M_PermutationFunctions {
 					var integer v_parentIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex;
-					var integer v_remoteCSEAnncIndex := -1;
+					var integer v_aEAnncIndex := -1;
 					var ResponsePrimitive v_responsePrimitive;
 					var template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
    
 					// Test control
 
@@ -6655,10 +6661,9 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registrationRemoteCse(mw_createRemoteCSE);	
+					f_cse_registerRemoteCse(mw_createRemoteCSE);	
 
 					//Preamble
-					f_cse_announcementProcedure_createHandler(mw_createRemoteCSEAnnc(-, -, -));
 					v_ae1.start(f_cse_createResource(int2,v_create));
 					v_ae1.done;
 
@@ -6693,6 +6698,182 @@ module OneM2M_PermutationFunctions {
 
 				}//end f_CSE_ANNC_CRE_006
 				
+				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 template RequestPrimitive v_create := m_createAe(PX_APP_ID, omit, omit);
+					v_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
+   
+					// Test control
+
+					// Test component configuration
+					f_cf02UpCseSimuMaster();	
+					
+					v_ae1.start(f_cse_createResource(int2,v_create));
+					v_ae1.done;
+
+					// Test Body
+					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
+					v_ae1.done;
+					
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(mw_createRemoteCSEAnnc(-, -, -))) -> value v_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: CREATE REQUEST for remoteCSEAnnc received");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No CREATE REQUEST received");
+						}
+					}
+
+					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");
+						}
+					}
+
+					// Postamble
+					f_cse_postamble_deleteResourcesCSE();
+
+					// Tear down
+					f_cf02DownCseSimuMaster();
+
+				}//end f_CSE_ANNC_CRE_007
+				
+				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_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
+   
+					// Test control
+
+					// Test component configuration
+					f_cf02UpCseSimuMaster();
+					
+					//Test adapter configuration
+					// Register the CSE
+ 					f_cse_registerRemoteCse(mw_createRemoteCSE);		
+	
+					v_ae1.start(f_cse_createResource(int2,v_create));
+					v_ae1.done;
+					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
+					
+
+					// Test Body
+					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
+					v_ae1.done;
+	
+					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");
+						}
+					}
+
+					// Postamble
+					f_cse_postamble_deleteResourcesCSE();
+
+					// Tear down
+					f_cf02DownCseSimuMaster();
+
+				}//end f_CSE_ANNC_CRE_008
+				
+				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;
+					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_create.primitiveContent.container.announceTo := {PX_CSE1_ID};
+   
+					// Test control
+
+					// Test component configuration
+					f_cf02UpCseSimuMaster();
+	
+					//Test adapter configuration
+					// Register the CSE
+					f_cse_registerRemoteCse(mw_createRemoteCSE);		
+
+					v_ae1.start(f_cse_createResource(int2,v_create));
+					v_ae1.done;
+					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
+	
+
+					// Test Body
+					v_ae1.start(f_cse_sendCreateRequestPrimitive(p_resourceType,p_requestCreatePrimitive, v_parentIndex));
+					v_ae1.done;
+
+					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");
+						}
+					}
+
+					// Postamble
+					f_cse_postamble_deleteResourcesCSE();
+
+					// Tear down
+					f_cf02DownCseSimuMaster();
+
+				}//end f_CSE_ANNC_CRE_009
+				
 			} //end group Create
 		
 		}// end group Announcement
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 28accb34dcbf702c27aa1c07411c69c8e7414727..37e653f8084fb7899a53b7df0631197bfa412192 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -7102,6 +7102,132 @@ module OneM2M_Testcases_CSE_Release_2 {
 					}
 	
 				} //end group g_CSE_ANNC_CRE_006
+				
+				group g_CSE_ANNC_CRE_007 {
+					
+					testcase TC_CSE_ANNC_CRE_007_ACP() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createAcpBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
+	  
+						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
+	  
+						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
+						 v_cse1.done;
+					}
+	
+					testcase TC_CSE_ANNC_CRE_007_CNT() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createContainerBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+	  
+						 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+	  
+						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container
+						 v_cse1.done;
+					}
+	
+					testcase TC_CSE_ANNC_CRE_007_CIN() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc;
+	  
+						 v_createRequest.primitiveContent.contentInstance.announceTo := {PX_CSE1_ID};
+	  
+						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
+						 v_cse1.done;
+	
+					}
+	
+					testcase TC_CSE_ANNC_CRE_007_GRP() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createGroupBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
+	  
+						 v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+	  
+						 v_cse1.start(f_CSE_ANNC_CRE_007_CseSimu(int9, v_createRequestAnnc, v_createRequest));//Group
+						 v_cse1.done;
+					}
+	
+				} //end group g_CSE_ANNC_CRE_007
+				
+				group g_CSE_ANNC_CRE_008 {
+					
+					testcase TC_CSE_ANNC_CRE_008_ACP_MBS() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createAcpBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
+  
+						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.accessControlPolicy.announcedAttribute := {"maxByteSize"};
+  
+						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
+						 v_cse1.done;
+					}
+
+					testcase TC_CSE_ANNC_CRE_007_CNT_CNF() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createContainerBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+  
+						 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.container.announcedAttribute := {"contentInfo"};
+  
+						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container
+						 v_cse1.done;
+					}
+
+					testcase TC_CSE_ANNC_CRE_007_CIN_MT() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc;
+  
+						 v_createRequest.primitiveContent.contentInstance.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.container.announcedAttribute := {"memberType"};
+  
+						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
+						 v_cse1.done;
+
+					}
+
+					testcase TC_CSE_ANNC_CRE_007_GRP_LOI() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createGroupBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnncBase;
+  
+						 v_createRequest.primitiveContent.group_.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.container.announcedAttribute := {"locationContainerID"};
+   
+						 v_cse1.start(f_CSE_ANNC_CRE_008_CseSimu(int9, v_createRequestAnnc, v_createRequest));//Group
+						 v_cse1.done;
+					}
+
+				} //end group g_CSE_ANNC_CRE_008
+				
+				group g_CSE_ANNC_CRE_009 {
+					
+					testcase TC_CSE_ANNC_CRE_009_CNT() runs on Tester system CseSystem {
+						//Local variables
+						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var template RequestPrimitive v_createRequest := m_createContainerBase;
+						 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnncBase;
+	  
+						 v_createRequest.primitiveContent.container.announceTo := {PX_CSE1_ID};
+						 v_createRequest.primitiveContent.container.labels := {"MyLabel"};
+	  
+						 v_cse1.start(f_CSE_ANNC_CRE_009_CseSimu(int3, v_createRequestAnnc, v_createRequest));//Container
+						 v_cse1.done;
+					}
+				} //end group g_CSE_ANNC_CRE_009
 			}
 		}//end group Announcement