diff --git a/OneM2M_Testcases_CSE_Release_4.ttcn b/OneM2M_Testcases_CSE_Release_4.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..e4b6adf9592efbbc612d7df6bbced7a2952b1456
--- /dev/null
+++ b/OneM2M_Testcases_CSE_Release_4.ttcn
@@ -0,0 +1,642 @@
+/**
+ *  Copyright Notification
+ *  No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
+ *  The copyright and the foregoing restriction extend to reproduction in all media.
+ *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
+ *  All rights reserved.
+ *  
+ *  @author     ETSI
+ *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/OneM2M_Testcases.ttcn $
+ *              $Id: OneM2M_Testcases.ttcn 347 2017-08-11 08:48:20Z reinaortega $
+ *  @desc       Module containing test cases for oneM2M
+ *
+ */
+module OneM2M_Testcases_CSE_Release_4 {
+
+	import from OneM2M_TestSystem all;
+	import from OneM2M_Templates all;
+	import from OneM2M_Types all;
+	import from OneM2M_TypesAndValues all;
+	import from OneM2M_Pixits all;
+	import from OneM2M_Pics all;
+	import from OneM2M_Functions all;
+	import from OneM2M_PermutationFunctions all;
+	import from XSD all;
+	
+	//Demos used for validation purposes
+	group oneM2M_demos {
+	
+		group helpingTestCases {//These are not part of the test suite, just for verification purposes
+			
+			testcase TC_DELETE_RESOURCES() runs on AeSimu system CseSystem {
+				
+				timer t_ac := 5.0;
+				var integer i; 
+				var XSD.ID v_resourceAddress;
+				var RequestPrimitive v_request;
+				map(self:mcaPort, system:mcaPort) param (PX_TS_AE1.mcaPort);
+					
+				for (i:=0; i<lengthof(PX_RESOURCES_TO_BE_DELETED); i:= i+1) {  
+					
+					v_resourceAddress := f_getResourceAddress() & "/" & PX_RESOURCES_TO_BE_DELETED[i]; 
+						
+					v_request := valueof(m_delete(v_resourceAddress, PX_SUPER_AE_ID));
+					    
+					f_send(e_mcaPort, m_request(v_request));
+					
+					t_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							t_ac.stop;
+							log(__SCOPE__ & ":Resource deleted");
+							setverdict(pass);
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							t_ac.stop;
+							log(__SCOPE__ & ":Error while deleting resource");
+							setverdict(fail);
+						}
+						[] mcaPort.receive {
+							t_ac.stop;
+							log(__SCOPE__ & ":Unexpected message received");
+							setverdict(inconc);
+						}
+						[] t_ac.timeout {
+							log(__SCOPE__ & ":No answer while deleting resource");
+							setverdict(inconc);
+						}	
+					}	
+				}
+			
+				unmap(self:mcaPort, system:mcaPort); 
+				stop;
+			}	
+		
+		}//end group helpingTestCases
+	
+	}//end group oneM2M_demos
+	
+	group CSE {
+		
+		group Generic {
+			
+			group Create {
+				
+			} // end of group Create
+			
+			group Retrieve {
+			} // end of group Retrieve
+			
+			group Update {
+			} // end of group Update
+			
+			group Delete {
+			} // end of group Delete
+		
+		} // end of group Generic
+		
+		group Registration {
+			
+	  	  	
+		}//end Registration
+		
+		group Data_Management_and_Repository {
+									
+			group Create {
+				
+				group g_CSE_DMR_CRE_001 {
+															
+					testcase TC_CSE_DMR_CRE_001_NOD_CB() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createNodeBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						 
+						v_createRequest.primitiveContent.node.resourceName := omit;
+
+						v_ae1.start(f_CSE_DMR_CRE_001(int14, v_createRequest, -));//Node
+						v_ae1.done;	
+												
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){
+								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_001_MGC_CB() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createMgmtCmdBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						v_createRequest.primitiveContent.mgmtCmd.resourceName := omit;
+						v_ae1.start(f_CSE_DMR_CRE_001(int12, v_createRequest, -));//Management Command
+						v_ae1.done;						 
+												
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							if(not ispresent(v_responsePrimitive.primitiveContent.mgmtCmd.resourceName)){
+								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_001_STCG_CB() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createStatsConfigBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						v_createRequest.primitiveContent.statsConfig.resourceName := omit;
+						v_ae1.start(f_CSE_DMR_CRE_001(int22, v_createRequest, -));//Stats Config
+						v_ae1.done;
+												
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){
+								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
+							}
+						}
+					}
+					
+					testcase TC_CSE_DMR_CRE_001_STCL_CB() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createStatsCollectBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						 
+						v_createRequest.primitiveContent.statsCollect.resourceName := omit;
+						
+						v_ae1.start(f_CSE_DMR_CRE_001(int21, v_createRequest, -));//Stats Collect
+						v_ae1.done;
+												
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){
+								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_001_MSSP_CB() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createM2mServiceSubscriptionProfileBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						v_createRequest.primitiveContent.m2mServiceSubscriptionProfile.resourceName := omit;
+						v_ae1.start(f_CSE_DMR_CRE_001(int11, v_createRequest, -));//Subscription Profile
+						v_ae1.done;
+												
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){
+								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_001_ASAR_CB() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createServiceSubscribedAppRuleBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						 
+						v_createRequest.primitiveContent.serviceSubscribedAppRule.resourceName := omit;
+						v_ae1.start(f_CSE_DMR_CRE_001(int19, v_createRequest, -));//Service Subscribed App
+						v_ae1.done;
+												
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){
+								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
+					
+				} // end g_CSE_DMR_CRE_001
+								
+								
+				group g_CSE_DMR_CRE_022 {
+					
+					/**
+					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announceTo provided
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_022_MGO() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
+						var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
+						
+						
+						v_createRequest.primitiveContent.mgmtResource.announceTo := {PX_TS_CSE1.cseId};
+
+						v_ae1.start(f_CSE_DMR_CRE_022(int13, v_createRequest, mw_createMgmtObjAnnc));//MgmtObj
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_CRE_022_NOD() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
+						var template RequestPrimitive v_createRequest := m_createNodeBase;
+						
+						
+						v_createRequest.primitiveContent.node.announceTo := {PX_TS_CSE1.cseId};
+						
+						v_ae1.start(f_CSE_DMR_CRE_022(int14, v_createRequest, mw_createNodeAnnc));//Node
+						v_ae1.done;
+					}
+
+				} // end g_CSE_DMR_CRE_022		
+				
+				group g_CSE_DMR_CRE_023 {
+
+					/**
+					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announcedAttribute provided
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_023_MGO() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
+						var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
+						var RequestPrimitive v_requestPrimitive;
+						var XSD.String v_description := "Description of mgmtObj";
+						
+						v_createRequest.primitiveContent.mgmtResource.announceTo := {PX_TS_CSE1.cseId};
+						v_createRequest.primitiveContent.mgmtResource.description := v_description;			
+						v_createRequest.primitiveContent.mgmtResource.announcedAttribute := {"dc"};
+
+						v_ae1.start(f_CSE_DMR_CRE_023(int13, v_createRequest, mw_createMgmtObjAnnc()));//MgmtObj
+						v_ae1.done;
+						
+						if(getverdict == pass){ 
+							//Check if description attribute has been announced
+							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
+							if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource.description)){
+								if(v_requestPrimitive.primitiveContent.announcedMgmtResource.description != v_description){
+									setverdict(fail, __SCOPE__ & ": Error: Value of description has not been announced successfully");
+								}else{
+									setverdict(pass, __SCOPE__ & ": Value of description has been announced successfully");
+								}
+							}else{
+								setverdict(fail, __SCOPE__ & ": Error: description has not been announced");
+							}
+						}
+					}
+	
+					testcase TC_CSE_DMR_CRE_023_NOD() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
+						var template RequestPrimitive v_createRequest := m_createNodeBase;
+						var RequestPrimitive v_requestPrimitive;
+						
+						v_createRequest.primitiveContent.node.announceTo := {PX_TS_CSE1.cseId};
+						
+						//TODO node to be done. hostedCSELink attribute (OA) to be added!!!
+		
+						v_ae1.start(f_CSE_DMR_CRE_023(int14, v_createRequest, mw_createNodeAnnc));//Node
+						v_ae1.done;
+					}
+	
+				} // end g_CSE_DMR_CRE_023	
+				
+			}//end group Create
+			
+			group Retrieve {
+	
+				group g_CSE_DMR_RET_017 {
+					
+					/*testcase TC_CSE_DMR_RET_017_DLV() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.delivery := m_contentDelivery_allOmit;
+						v_contentResponse.delivery.parentID := ?;
+						v_contentResponse.delivery.creationTime := ?;
+
+						v_ae1.start(f_CSE_DMR_RET_017(int6, m_createDeliveryBase, v_contentResponse));//Delivery
+						v_ae1.done;
+					}*/
+					
+					testcase TC_CSE_DMR_RET_017_MGC() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					
+						var template PrimitiveContent v_contentResponse;
+						
+						v_contentResponse.mgmtCmd := m_contentMgmtCmd_allOmit;
+						v_contentResponse.mgmtCmd.parentID := ?;
+						v_contentResponse.mgmtCmd.creationTime := ?;
+
+						v_ae1.start(f_CSE_DMR_RET_017(int12, m_createMgmtCmdBase, v_contentResponse));//MgmtCmd
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_RET_017_NOD() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						var template PrimitiveContent v_contentResponse;
+						
+						v_contentResponse.node := m_contentNode_allOmit;
+						v_contentResponse.node.parentID := ?;
+						v_contentResponse.node.creationTime := ?;
+
+						v_ae1.start(f_CSE_DMR_RET_017(int14, m_createNodeBase, v_contentResponse));//Node
+						v_ae1.done;
+					}
+									
+					testcase TC_CSE_DMR_RET_017_STCL() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						var template PrimitiveContent v_contentResponse;
+						
+						v_contentResponse.statsCollect := m_contentStatsCollect_allOmit;
+						v_contentResponse.statsCollect.parentID := ?;
+						v_contentResponse.statsCollect.creationTime := ?;
+
+						v_ae1.start(f_CSE_DMR_RET_017(int21, m_createStatsCollectBase, v_contentResponse));//StatsCollect
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_DMR_RET_017_STCG() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						var template PrimitiveContent v_contentResponse;
+						
+						v_contentResponse.statsConfig := m_contentStatsConfig_allOmit;
+						v_contentResponse.statsConfig.parentID := ?;
+						v_contentResponse.statsConfig.creationTime := ?;
+		
+						v_ae1.start(f_CSE_DMR_RET_017(int22, m_createStatsConfigBase, v_contentResponse));//StatsConfig
+						v_ae1.done;
+					}
+					
+				} // end g_CSE_DMR_RET_017
+								
+			}//end group Retrieve
+			
+			group Update {
+
+				group g_CSE_DMR_UPD_015{
+			  		
+					/**
+					 * @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
+					 */
+					testcase TC_CSE_DMR_UPD_015_NOD_LBL() runs on Tester system CseSystem {
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						var Labels v_labels := {"MyLabel"};
+						var template RequestPrimitive v_updateRequest := m_updateNodeBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						
+						v_updateRequest.primitiveContent.node.labels := v_labels;
+						
+						v_ae1.start(f_CSE_DMR_UPD_015(int14, m_createNodeBase, v_updateRequest));//Node
+						v_ae1.done;
+						
+						 
+
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							 //Check attribute 1
+							 if(ispresent(v_responsePrimitive.primitiveContent)) {
+								 if(ischosen(v_responsePrimitive.primitiveContent.node)) {
+									 if(v_responsePrimitive.primitiveContent.node.labels != v_labels){
+										 setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly")
+									 }
+								 }
+							 }
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);							
+							 
+							//Check that the resource has been udpated correctly
+							  if(ischosen(v_primitiveContentRetrieveResource.node)) {
+							   if(v_primitiveContentRetrieveResource.node.labels != v_labels){
+								setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly")
+							  }
+							}
+						 }
+					}
+					
+					testcase TC_CSE_DMR_UPD_015_NOD_ACPI() runs on Tester system CseSystem {
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						var template RequestPrimitive v_updateRequest := m_updateNodeBase;
+						var RequestPrimitive v_updateRequestPrimitive;
+						var ResponsePrimitive v_responsePrimitive;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						
+						
+						v_ae1.start(f_CSE_DMR_UPD_015(int14, m_createNodeBase, v_updateRequest, true));//Node
+						v_ae1.done;
+						
+						 
+
+						if(getverdict == pass){
+							 v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							 
+							 v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1);	
+							 //Check attribute 1
+							 if(ispresent(v_responsePrimitive.primitiveContent)) {
+								 if(ischosen(v_responsePrimitive.primitiveContent.node)) {
+									 if(v_responsePrimitive.primitiveContent.node.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){
+										 setverdict(fail, __SCOPE__ & ": Error: Access Control Policy attribute not updated correctly")
+									 }
+								 }
+							 }
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);						
+	 
+							//Check that the resource has been udpated correctly
+							  if(ischosen(v_primitiveContentRetrieveResource.node)) {
+							   if(v_primitiveContentRetrieveResource.node.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){
+								setverdict(fail, __SCOPE__ & ": Error: Access Control Policy attribute not updated correctly")
+							  }
+							}
+						 }
+					}
+					
+					testcase TC_CSE_DMR_UPD_015_NOD_HCL() runs on Tester system CseSystem {
+						
+						/* TO BE DONE */
+					}
+					
+				} // end group g_CSE_DMR_UPD_015
+			  	
+				group g_CSE_DMR_UPD_016 {
+			  		
+					/**
+					 * @desc Check that the IUT updates successfully the value of the attribute MANDATORY_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
+					*/
+					testcase TC_CSE_DMR_UPD_016_NOD_ET() runs on Tester system CseSystem {
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						var Timestamp v_expirationTime := "21001231T012345";
+						var template RequestPrimitive v_updateRequest := m_updateNodeBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						
+						v_updateRequest.primitiveContent.node.expirationTime := v_expirationTime;
+						
+						v_ae1.start(f_CSE_DMR_UPD_016(int14, m_createNodeBase, v_updateRequest));//Node
+						v_ae1.done;
+						
+						 
+
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							//Check attribute 1
+							if(ispresent(v_responsePrimitive.primitiveContent)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.node)) {
+									if(v_responsePrimitive.primitiveContent.node.expirationTime != v_expirationTime){
+										setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute not updated correctly")
+									}
+								}
+							}
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);							
+							
+						  //Check that the resource has been udpated correctly
+						  if(ischosen(v_primitiveContentRetrieveResource.node)) {
+							if(v_primitiveContentRetrieveResource.node.expirationTime != v_expirationTime){
+							  setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute not updated correctly")
+							}
+						  }
+						}
+					}
+					
+					testcase TC_CSE_DMR_UPD_016_NOD_NI() runs on Tester system CseSystem {
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					
+						var template RequestPrimitive v_updateRequest := m_updateNodeBase;
+						var XSD.Token v_targetId := "TARGET-ID";
+						var ResponsePrimitive v_responsePrimitive;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						
+						v_updateRequest.primitiveContent.node.nodeID := v_targetId;
+						
+						v_ae1.start(f_CSE_DMR_UPD_016(int14, m_createNodeBase, v_updateRequest));//Node
+						v_ae1.done;
+						
+						 
+
+						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+							//Check attribute 1
+							if(ispresent(v_responsePrimitive.primitiveContent)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.node)) {
+									if(v_responsePrimitive.primitiveContent.node.nodeID != v_targetId){
+										setverdict(fail, __SCOPE__ & ": Error: NodeID attribute not updated correctly")
+									}
+								}
+							}
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);							
+							
+							//Check that the resource has been udpated correctly
+							if(ischosen(v_primitiveContentRetrieveResource.node)) {
+							  if(v_primitiveContentRetrieveResource.node.nodeID != v_targetId){
+								setverdict(fail, __SCOPE__ & ": Error: NodeID attribute not updated correctly")
+							  }
+							}	
+						}
+					}
+										
+				} // end group g_CSE_DMR_UPD_016
+				
+			}//end group Update
+			
+			group Delete {
+			
+			}//end group Delete
+			
+		}//end group Data_Management_and_Repository
+		
+		group Subscription_And_Notification {
+	
+			group Create {
+				
+			}//end group Create
+			
+			group Notify{				
+
+			}//end group Notify
+			
+			group Update {
+				
+			}//end group Update
+			
+			group Delete {
+				
+				
+			}//end group Delete
+			
+		}//end group Subscription_And_Notification
+		
+		group Security {
+	
+			group ESPrim {
+				
+				group Notify{
+				
+									
+				}//end group Notify
+				
+			}//end group ESPrim
+			
+			group Roles {
+				
+				group Create{
+						
+				}//end group Create
+				
+				group Retrieve {
+					
+				}// end of group Retrieve	
+				
+				group Update {	
+					
+				}//end group Update		
+				
+				group Notify {	
+
+				}//end group Notify		
+				
+			}//end group Roles
+	
+			group ESCertKE {
+				
+				group Notify {
+
+				}// end of group Notify
+				
+			}// end of group ESCertKE	
+	
+			group Access_Control_Policy {
+				
+			}//end group AccessControlPolicy
+			
+		}//end group Security
+		
+		
+
+		group Device_Management {
+
+		}//end group dataManagement
+
+		group Dynamic_Authorization {
+				
+		}//end group Dynamic_Authorization
+		
+	
+		group InitialServiceProvisioning{
+
+		}// end group InitialServiceProvisioning
+	
+		group Semantic {
+
+		}// end group Semantic	
+	
+	}//end group CSE
+		
+}