From 99780280ab9cbb142e8d80d4371a87b2a9d50b81 Mon Sep 17 00:00:00 2001
From: acverdugo <acverdugo@at4wireless.com>
Date: Mon, 24 Jul 2017 17:45:02 +0200
Subject: [PATCH] DMR TC ID's have updated following latest version of TP
 document. Test Objective has been included in the header of DMR TC's.

---
 OneM2M_Testcases.ttcn | 7770 +++++++++++++++++++++--------------------
 1 file changed, 4009 insertions(+), 3761 deletions(-)

diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 6fdd55f..e078073 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -1758,1509 +1758,1650 @@ module OneM2M_Testcases {
 		}//end Registration
 		
 		group Data_Management_and_Repository {
-
-			group g_CSE_DMR_RET_020 {
-					
-				testcase TC_CSE_DMR_BV_001_01() runs on CseTester system CseSystem {
-					// Local variables
-					f_CSE_DMR_BV_001(int3, m_createContainerBase, int0);//ResultContent = 0 (nothing)
-				}
-				
-				testcase TC_CSE_DMR_BV_001_02() runs on CseTester system CseSystem {
-					// Local variables
-					f_CSE_DMR_BV_001(int3, m_createContainerBase, int2);//ResultContent = 2 (hierarchical address)
-				}
-				
-				testcase TC_CSE_DMR_BV_001_03() runs on CseTester system CseSystem {
-					// Local variables
-					f_CSE_DMR_BV_001(int3, m_createContainerBase, int3);//ResultContent = 3 (attributes and hierarchichal address)
-				}
+						
+			group Create {
 				
-				function f_CSE_DMR_BV_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, ResultContent p_resultContent) runs on CseTester {
-    				
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-    										   
-					// Test control
-    				
-					// Test component configuration
-					f_cf01Up();
-    				
-					// Test adapter configuration
-    				
-					// Preamble
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-					    					
-					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
-    									
-					// Test Body
-					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := p_resultContent;
-					mcaPort.send(m_request(v_request));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST
-							tc_ac.stop;
-							setverdict(pass, testcasename() & ": Request successfully rejected");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Error while retrieving resource");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is impossible for a retrieve request ");
+				group g_CSE_DMR_CRE_001 {
+					
+					/**
+					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource on the TARGET_RESOURCE_ADDRESS of type PARENT_RESOURCE_TYPE with resource name not provided
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_001_CNT_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;//TODO useless but need to be initialized see if we can remove it
+						
+						v_createRequest.primitiveContent.container.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, -, v_notifyHandler); //Container
+						log(v_responsePrimitive);
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 						}
-						[] tc_ac.timeout {
-							setverdict(inconc, testcasename() & ": No answer while retrieving resource");
 						}
-					}	
-    								
-					// Postamble
-					f_cse_postamble_deleteResources();
-					
-					// Tear down
-					f_cf01Down();
-    				
-				}//end f_CSE_DMR_BV_001
-    				
-			} // end g_CSE_DMR_BV_001
-			
-			group g_CSE_DMR_RET_021 {
-					
-				testcase TC_CSE_DMR_BV_002_01() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+						
+					}
+						
+					testcase TC_CSE_DMR_CRE_001_CNT_AE() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.group_.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, m_createAeAux(omit,omit),v_notifyHandler);//Container
+							log(v_responsePrimitive);
+							if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+								}
+							}
+						
+						}  
 					
-					v_contentResponse.container := mw_contentContainer_rc1;
-					                        
-					f_CSE_DMR_BV_002(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
-				}
+					testcase TC_CSE_DMR_CRE_001_CNT_CNT() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
-				testcase TC_CSE_DMR_BV_002_02() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.group_ := mw_contentGroup_rc1;
-					
-					f_CSE_DMR_BV_002(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
-				}
-					
-				testcase TC_CSE_DMR_BV_002_03() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, m_createContainerBase, v_notifyHandler);//Container
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+					}
+						}
+
+					}
 					
-					v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+					testcase TC_CSE_DMR_CRE_001_GRP_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-					f_CSE_DMR_BV_002(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
-				}
-				
-				testcase TC_CSE_DMR_BV_002_04() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.schedule := mw_contentSchedule_rc1;
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
+
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int9, v_createRequest, -, v_notifyHandler);//Group
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+						}
+						}
 						
-					f_CSE_DMR_BV_002(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
-				}
-					
-				testcase TC_CSE_DMR_BV_002_05() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+					}
 						
-					f_CSE_DMR_BV_002(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
-				}
-					
-				testcase TC_CSE_DMR_BV_002_06() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.subscription := mw_contentSubscription_rc1;
+					testcase TC_CSE_DMR_CRE_001_GRP_AE() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
-					f_CSE_DMR_BV_002(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
-				}
-				
-				function f_CSE_DMR_BV_002(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
-    				
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var CseTester v_notifyHandler;
-					var integer v_aeIndex := -1;
-					var integer v_ae2Index := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_childResourceIndex := -1;
-    										   
-					// Test control
-    				
-					// Test component configuration
-					f_cf01Up();
-    				
-					// Test adapter configuration
-    				
-					// Preamble
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-					
-					if(isvalue(p_childResourceType)) {
-						if(valueof(p_childResourceType) == int23) {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
-						} else {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int9, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Group
+							if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+								}
+							}
+						
 						}
-					} 
-				
-					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
 					
-					if(p_resourceType != int15) {
-						v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
-					}
-									
-					// Test Body
-					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := int1;//Attributes
-					mcaPort.send(m_request(v_request));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
+					testcase TC_CSE_DMR_CRE_001_ACP_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
+
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int1, v_createRequest, -, v_notifyHandler);//AccessControlPolicy
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Error while retrieving resource");
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_001_ACP_AE() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
+
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int1, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//AccessControlPolicy
+							if(getverdict == pass){
+								if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+								}
+							}
+						
 						}
-						[] tc_ac.timeout {
-							setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+				
+					testcase TC_CSE_DMR_CRE_001_SCH_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.schedule.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int18, v_createRequest, -, v_notifyHandler);//Schedule
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+    					}
 						}
-					}	
-    								
-					// Postamble
-					f_cse_postamble_deleteResources();
-					
-					// Tear down
-					f_cf01Down();
-    				
-				}//end f_CSE_DMR_BV_002
-    				
-			} // end g_CSE_DMR_BV_002
-			
-			
-			group g_CSE_DMR_RET_022 {
-					
-				testcase TC_CSE_DMR_BV_003_01() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+						
+					}
 					
-					v_contentResponse.container := mw_contentContainer_rc4;
-					                        
-					f_CSE_DMR_BV_003(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
-				}
+					testcase TC_CSE_DMR_CRE_001_SCH_AE() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.schedule.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int18, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Schedule
 
-				testcase TC_CSE_DMR_BV_003_02() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.group_ := mw_contentGroup_rc4;
-					
-					f_CSE_DMR_BV_003(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
-				}
-					
-				testcase TC_CSE_DMR_BV_003_03() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.accessControlPolicy := mw_contentAcp_rc4;
+							if(getverdict == pass){
+								if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+								}
+							}
 						
-					f_CSE_DMR_BV_003(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
-				}
+						}
 				
-				testcase TC_CSE_DMR_BV_003_04() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.schedule := mw_contentSchedule_rc4;
+					testcase TC_CSE_DMR_CRE_001_SCH_SUB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-					f_CSE_DMR_BV_003(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule
-				}
-					
-				testcase TC_CSE_DMR_BV_003_05() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+						v_createRequest.primitiveContent.schedule.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int18, v_createRequest, m_createSubscriptionBase, v_notifyHandler);//Schedule
 						
-					f_CSE_DMR_BV_003(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
-				}
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+					}
+						}
 					
-				testcase TC_CSE_DMR_BV_003_06() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+					}
 					
-					v_contentResponse.subscription := mw_contentSubscription_rc4;
-
-					f_CSE_DMR_BV_003(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
-				}
-				
-				function f_CSE_DMR_BV_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
-    				
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var CseTester v_notifyHandler;
-					var integer v_aeIndex := -1;
-					var integer v_ae2Index := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_childResourceIndex := -1;
-    										   
-					// Test control
-    				
-					// Test component configuration
-					f_cf01Up();
-    				
-					// Test adapter configuration
-    				
-					// Preamble
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					testcase TC_CSE_DMR_CRE_001_PCH_AE() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						
+						v_createRequest.primitiveContent.pollingChannel.resourceName := omit;
 
-					if(isvalue(p_childResourceType)) {
-						if(valueof(p_childResourceType) == int23) {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
-						} else {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int15, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//PollingChannel
+							if(getverdict == pass){
+								if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+								}
+							}
+						
 						}
-					} 
-										
-					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
-				
-					if(p_resourceType != int15) {
-						v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);					
+					
+					testcase TC_CSE_DMR_CRE_001_SUB_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, -, v_notifyHandler);//Subscription
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 					}
-										
-					// Test Body
-					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := int4;//Attributes and child resources
-					mcaPort.send(m_request(v_request));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
+					
+					}
+					
+					testcase TC_CSE_DMR_CRE_001_SUB_AE() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Subscription
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Error while retrieving resource");
+	
+    					}
+						
+					testcase TC_CSE_DMR_CRE_001_SUB_CNT() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createContainerBase, v_notifyHandler);//Subscription
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
 						}
-						[] tc_ac.timeout {
-							setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+
+					}
+					
+					testcase TC_CSE_DMR_CRE_001_SUB_ACP() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAcpBase, v_notifyHandler);//Subscription
+    						if(getverdict == pass){
+    							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+    								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+    							}
+    						}
 						}
-					}	
-    								
-					// Postamble
-					f_cse_postamble_deleteResources();
 					
-					// Tear down
-					f_cf01Down();
-    				
-				}//end f_CSE_DMR_BV_003
-    				
-			} // end g_CSE_DMR_BV_003
-			
-			group g_CSE_DMR_RET_023 {
+					testcase TC_CSE_DMR_CRE_001_SUB_SCH() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createScheduleBase, v_notifyHandler);//Subscription
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+					}
+						}		
+					}
 					
-				testcase TC_CSE_DMR_BV_004_01() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+					testcase TC_CSE_DMR_CRE_001_SUB_GRP() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+    				
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int23, v_createRequest, m_createGroupBase, v_notifyHandler);//Subscription
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
+						}		
+					}
 					
-					v_contentResponse.container := mw_contentContainer_rc5;
-					                        
-					f_CSE_DMR_BV_004(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
-				}
+					testcase TC_CSE_DMR_CRE_001_NOD_CB() runs on CseTester system CseSystem {
+    					// Local variables
+						var template RequestPrimitive v_createRequest := m_createNodeBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						 
+						v_createRequest.primitiveContent.node.resourceName := omit;
 
-				testcase TC_CSE_DMR_BV_004_02() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.group_ := mw_contentGroup_rc5;
-					
-					f_CSE_DMR_BV_004(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
-				}
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int14, v_createRequest, -, v_notifyHandler);//Node
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
 					
-				testcase TC_CSE_DMR_BV_004_03() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+					testcase TC_CSE_DMR_CRE_001_MGC_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createMgmtCmdBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						
+						v_createRequest.primitiveContent.mgmtResource.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int12, v_createRequest, -, v_notifyHandler);//Management Command
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.mgmtResource.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
 					
-					v_contentResponse.accessControlPolicy := mw_contentAcp_rc5;
+					testcase TC_CSE_DMR_CRE_001_LCP_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createLocationPolicyBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-					f_CSE_DMR_BV_004(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
-				}
-				
-				testcase TC_CSE_DMR_BV_004_04() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+						v_createRequest.primitiveContent.locationPolicy.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int10, v_createRequest, -, v_notifyHandler);//Location Policy
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.locationPolicy.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
 					
-					v_contentResponse.schedule := mw_contentSchedule_rc5;
+					testcase TC_CSE_DMR_CRE_001_STCG_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createStatsConfigBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var RequestPrimitiveMatrix v_requestPrimitivematrix;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-					f_CSE_DMR_BV_004(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
-				}
+						v_createRequest.primitiveContent.statsConfig.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int22, v_createRequest, -, v_notifyHandler);//Stats Config
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
+						}
+					}
 					
-				testcase TC_CSE_DMR_BV_004_05() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+					testcase TC_CSE_DMR_CRE_001_STCL_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createStatsCollectBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						 
+						v_createRequest.primitiveContent.statsCollect.resourceName := omit;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int21, v_createRequest, -, v_notifyHandler);//Stats Collect
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
 					
-					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+					testcase TC_CSE_DMR_CRE_001_MSSP_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createM2mServiceSubscriptionProfileBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-					f_CSE_DMR_BV_004(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
-				}
+						v_createRequest.primitiveContent.m2mServiceSubscriptionProfile.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int11, v_createRequest, -, v_notifyHandler);//Subscription Profile
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
 					
-				testcase TC_CSE_DMR_BV_004_06() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+					testcase TC_CSE_DMR_CRE_001_ASAR_CB() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createServiceSubscribedAppRuleBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						 
+						v_createRequest.primitiveContent.serviceSubscribedAppRule.resourceName := omit;
+						v_responsePrimitive := f_CSE_DMR_CRE_001(int19, v_createRequest, -, v_notifyHandler);//Service Subscribed App
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							}
+						}
+						
+					}
 					
-					v_contentResponse.subscription := mw_contentSubscription_rc5;
-
-					f_CSE_DMR_BV_004(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
-				}
-				
-				function f_CSE_DMR_BV_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
+    				function f_CSE_DMR_CRE_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in CseTester p_notifyHandler) runs on CseTester return ResponsePrimitive {
     				
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var CseTester v_notifyHandler;
-					var integer v_aeIndex := -1;
-					var integer v_ae2Index := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_childResourceIndex := -1;
-     										   
-					// Test control
+    					// Local variables
+    					var MsgIn v_response;
+    					var RequestPrimitive v_request;
+						var integer i;
+						var integer v_parentIndex := -1;
+    					var integer v_resourceIndex := -1;
+						var integer v_ae2Index := -1;
+						var PoaList v_poaList := {"http://" & PX_AE2_ADDRESS & "/"};
+    										   
+    					// Test control
     				
-					// Test component configuration
-					f_cf01Up();
+    					// Test component configuration
+    					f_cf01Up();
     				
-					// Test adapter configuration
+    					// Test adapter configuration
     				
-					// Preamble
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-
-					if(isvalue(p_childResourceType)) {
-						if(valueof(p_childResourceType) == int23) {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
-						} else {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+    					// Preamble
+    					
+						if(ispresent(p_parentRequestPrimitive)) {
+							if(match(int23, p_parentRequestPrimitive.resourceType)){
+								v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred
+								p_parentRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
+								p_notifyHandler.start(f_subscriptionVerificationHandler(v_parentIndex));
+							}
+							v_parentIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_parentIndex);
+						}										
+    									
+    					// Test Body
+    					
+						if(match(int23, p_requestPrimitive.resourceType)){
+							v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred
+							p_requestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
+							p_notifyHandler.start(f_subscriptionVerificationHandler(v_parentIndex));
 						}
-					} 
-									
-					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
-								
+    					
+    					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
+						
+    					mcaPort.send(m_request(v_request));
+    					tc_ac.start;
+    					alt {
+    						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+    							tc_ac.stop;
+    							setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully");
+								v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, v_parentIndex);
+										vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_resourceIndex};
+								}
+    						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+    							tc_ac.stop;
+    							setverdict(fail, testcasename() & ": Error while creating resource type " & int2str(enum2int(p_resourceType)));
+    						}
+    						[] tc_ac.timeout {
+    							setverdict(inconc, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+    						}
+    					}	
+    					
+    					f_checkCseTesterStatus();
+    								
+    					// Postamble
+    					f_cse_postamble_deleteResources();
+						vc_resourcesIndexToBeDeleted := {};
+    					
+						// Tear down
+						//notifyHandler.stop;
+						f_cf01Down();
+						
+    					
+    					return v_response.primitive.responsePrimitive;
+    					    				
+    				}//end f_CSE_DMR_CRE_001
     				
-					if(p_resourceType != int15) {
-						v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);					
-					}				
-    									
-					// Test Body
-					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := int5;//attributes and child resource references
-					mcaPort.send(m_request(v_request));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
+				} // end g_CSE_DMR_CRE_001
+								
+				
+				group g_CSE_DMR_CRE_002 {
+					
+					/**
+					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with a non-existing resource name provided by AE
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_002_CNT() runs on CseTester system CseSystem {
+						// Local variables
+                        var ResponsePrimitive v_responsePrimitive;
+                        
+                        v_responsePrimitive := f_CSE_DMR_CRE_002(int3, m_createContainerBase);//container
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							} else {
+								if(v_responsePrimitive.primitiveContent.container.resourceName != c_defaultContainerResourceName){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
+								}
+							}
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
+					}
+
+					testcase TC_CSE_DMR_CRE_002_GRP() runs on CseTester system CseSystem {
+						// Local variables
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_002(int9, m_createGroupBase);//group
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							} else {
+								if(v_responsePrimitive.primitiveContent.group_.resourceName != c_defaultGroupResourceName){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
+								}
+							}
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Error while retrieving resource");
+					}
+					
+					testcase TC_CSE_DMR_CRE_002_ACP() runs on CseTester system CseSystem {
+						// Local variables
+						var ResponsePrimitive v_responsePrimitive;
+                        
+						v_responsePrimitive := f_CSE_DMR_CRE_002(int1, m_createAcpBase );//accessControlPolicy
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							} else {
+								if(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName != c_defaultAccessControlPolicyResourceName){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
+								}
+							}
 						}
-						[] tc_ac.timeout {
-							setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+					}
+
+					testcase TC_CSE_DMR_CRE_002_SCH() runs on CseTester system CseSystem {
+						// Local variables
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_002(int18, m_createScheduleBase);//Schedule
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							} else {
+								if(v_responsePrimitive.primitiveContent.schedule.resourceName != c_defaultScheduleResourceName){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
+								}
+							}
 						}
-					}	
-    								
-					// Postamble
-					f_cse_postamble_deleteResources();
-					
-					// Tear down
-					f_cf01Down();
-    				
-				}//end f_CSE_DMR_BV_004
-    				
-			} // end g_CSE_DMR_BV_004
-			
-			group g_CSE_DMR_RET_024 {
-					
-				testcase TC_CSE_DMR_BV_005_01() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.container := mw_contentContainer_rc6;
-					                        
-					f_CSE_DMR_BV_005(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
-				}
+					}
+					testcase TC_CSE_DMR_CRE_002_PCH() runs on CseTester system CseSystem {
+						// Local variables
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_002(int15, m_createPollingChannelBase);//Pollingchannel
 
-				testcase TC_CSE_DMR_BV_005_02() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							} else {
+								if(v_responsePrimitive.primitiveContent.pollingChannel.resourceName != c_defaultPollingChannelResourceName){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
+								}
+							}
+						}
+					}
 					
-					v_contentResponse.group_ := mw_contentGroup_rc6;
+					testcase TC_CSE_DMR_CRE_002_SUB() runs on CseTester system CseSystem {
+						// Local variables
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_002(int23, m_createSubscriptionBase);//Subscription
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							} else {
+								if(v_responsePrimitive.primitiveContent.subscription.resourceName != c_defaultSubscriptionResourceName){
+									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
+								}
+							}
+						}
+					}
 					
-					f_CSE_DMR_BV_005(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
-				}
+					function f_CSE_DMR_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester return ResponsePrimitive{//system CseSystem { MRO system keyword not supported on functions in Titan
+				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
+										   
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+						
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+									
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while creating resource type " & int2str(enum2int(p_resourceType)));
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+						
+						return v_response.primitive.responsePrimitive;
+				
+					}//end f_CSE_DMR_CRE_002
 					
-				testcase TC_CSE_DMR_BV_005_03() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.accessControlPolicy := mw_contentAcp_rc6;
-						
-					f_CSE_DMR_BV_005(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
-				}
+				}// end group g_CSE_DMR_CRE_002
 				
-				testcase TC_CSE_DMR_BV_005_04() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+				group g_CSE_DMR_CRE_003 {
 					
-					v_contentResponse.schedule := mw_contentSchedule_rc6;
+					/**
+					 * @desc Check that the IUT rejects the creation of a RESOURCE_TYPE resource with an existing resource name provided by AE
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_003_CNT() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_CRE_003(int3, m_createContainerBase);//container
+					}
+
+					testcase TC_CSE_DMR_CRE_003_GRP() runs on CseTester system CseSystem {
+						// Local variables
 						
-					f_CSE_DMR_BV_005(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule
-				}
-					
-				testcase TC_CSE_DMR_BV_005_05() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+						f_CSE_DMR_CRE_003(int9, m_createGroupBase);//group
+					}
 					
-					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+					testcase TC_CSE_DMR_CRE_003_ACP() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_CRE_003(int1, m_createAcpBase);//accessControlPolicy
+					}
+
+					testcase TC_CSE_DMR_CRE_003_SCH() runs on CseTester system CseSystem {
+						// Local variables
 						
-					f_CSE_DMR_BV_005(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
-				}
+						f_CSE_DMR_CRE_003(int18, m_createScheduleBase);//Schedule
+					}
+					testcase TC_CSE_DMR_CRE_003_PCH() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_CRE_003(int15, m_createPollingChannelBase);//Pollingchannel
+					}
 					
-				testcase TC_CSE_DMR_BV_005_06() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+					testcase TC_CSE_DMR_CRE_003_SUB() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_CRE_003(int23, m_createSubscriptionBase);//Subscription
+					}
 					
-					v_contentResponse.subscription := mw_contentSubscription_rc6;
-
-					f_CSE_DMR_BV_005(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
-				}
 				
-				function f_CSE_DMR_BV_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
+    				function f_CSE_DMR_CRE_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {//system CseSystem { MRO system keyword not supported on functions in Titan
     				
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var CseTester v_notifyHandler;
-					var integer v_aeIndex := -1;
-					var integer v_ae2Index := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_childResourceIndex := -1;
+    					// Local variables
+    					var MsgIn v_response;
+    					var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
     										   
-					// Test control
-    				
-					// Test component configuration
-					f_cf01Up();
+    					// Test control
     				
-					// Test adapter configuration
+    					// Test component configuration
+    					f_cf01Up(); 
     				
-					// Preamble
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-
-					if(isvalue(p_childResourceType)) {
-						if(valueof(p_childResourceType) == int23) {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
-						} else {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
-						}
-					} 
-										
-					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+    					// Test adapter configuration
     				
-					if(p_resourceType != int15) {
-						v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
-					}				
-    									
-					// Test Body
-					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := int6;//Child resource references
-					mcaPort.send(m_request(v_request));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Error while retrieving resource");
-						}
-						[] tc_ac.timeout {
-							setverdict(inconc, testcasename() & ": No answer while retrieving resource");
-						}
-					}	
+    					// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi)
+						
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 	
+						
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);			
+  					    						    									
+    					// Test Body
+						v_request.requestIdentifier := "Existing resource";
+    					
+    					mcaPort.send(m_request(v_request));
+    					tc_ac.start;
+    					alt {
+    						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4105))) -> value v_response {
+    							tc_ac.stop;
+    							setverdict(pass, testcasename() & ": Resource already exists");
+    						}
+    						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+    							tc_ac.stop;
+    							setverdict(fail, testcasename() & ": Error while creating an already existing resource");
+    						}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Creating a resource that already exists");
+							}
+    						[] tc_ac.timeout {
+    							setverdict(inconc, testcasename() & ": No answer while creating resource");
+    						}
+    					}	
     								
-					// Postamble
-					f_cse_postamble_deleteResources();
-					
-					// Tear down
-					f_cf01Down();
+    					// Postamble
+    					f_cse_postamble_deleteResources();
+    					
+						// Tear down
+						f_cf01Down();
     				
-				}//end f_CSE_DMR_BV_005
+    				}//end f_CSE_DMR_CRE_003
     				
-			} // end g_CSE_DMR_BV_005
-			
-			group g_CSE_DMR_RET_025 {
-					
-				testcase TC_CSE_DMR_BV_006_01() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.container := mw_contentContainer_rc8;
-					                        
-					f_CSE_DMR_BV_006(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
-				}
-
-				testcase TC_CSE_DMR_BV_006_02() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.group_ := mw_contentGroup_rc8;
-					
-					f_CSE_DMR_BV_006(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
-				}
-					
-				testcase TC_CSE_DMR_BV_006_03() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
-					
-					v_contentResponse.accessControlPolicy := mw_contentAcp_rc8;
-						
-					f_CSE_DMR_BV_006(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
-				}
+				}// end group g_CSE_DMR_CRE_003
 				
-				testcase TC_CSE_DMR_BV_006_04() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+				group g_CSE_DMR_CRE_004 {
 					
-					v_contentResponse.schedule := mw_contentSchedule_rc8;
-						
-					f_CSE_DMR_BV_006(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
-				}
-					
-				testcase TC_CSE_DMR_BV_006_05() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+					/**
+					 * @desc Check that the IUT rejects the creation of a RESOURCE_TYPE resource when AE has no privileges
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_004_CNT() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_CRE_004(int3, m_createContainerBase);//container
+					}
+
+					testcase TC_CSE_DMR_CRE_004_GRP() runs on CseTester system CseSystem {
+						// Local variables
+						
+						f_CSE_DMR_CRE_004(int9, m_createGroupBase);//group
+					}
 					
-					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+					testcase TC_CSE_DMR_CRE_004_ACP() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_CRE_004(int1, m_createAcpBase);//accessControlPolicy
+					}
+
+					testcase TC_CSE_DMR_CRE_004_SCH() runs on CseTester system CseSystem {
+						// Local variables
 						
-					f_CSE_DMR_BV_006(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
-				}
+						f_CSE_DMR_CRE_004(int18, m_createScheduleBase);//Schedule
+					}
+					testcase TC_CSE_DMR_CRE_004_PCH() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_CRE_004(int15, m_createPollingChannelBase);//Pollingchannel
+					}
 					
-				testcase TC_CSE_DMR_BV_006_06() runs on CseTester system CseSystem {
-					// Local variables
-					var template PrimitiveContent v_contentResponse;
+					testcase TC_CSE_DMR_CRE_004_SUB() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_CRE_004(int23, m_createSubscriptionBase);//Subscription
+					}
 					
-					v_contentResponse.subscription := mw_contentSubscription_rc8;
-
-					f_CSE_DMR_BV_006(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
-				}
 				
-				function f_CSE_DMR_BV_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
+					function f_CSE_DMR_CRE_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {//system CseSystem { MRO system keyword not supported on functions in Titan
     				
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var CseTester v_notifyHandler;
-					var integer v_aeIndex := -1;
-					var integer v_ae2Index := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_childResourceIndex := -1;
-    										   
-					// Test control
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_acpAuxIndex := -1;
+						var integer v_aeIndex := -1;
+											   
+						// Test control
+						if(not(PICS_ACP_SUPPORT)) {
+							setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case");
+							stop;
+						}
     				
-					// Test component configuration
-					f_cf01Up();
+						// Test component configuration
+						f_cf01Up(); 
     				
-					// Test adapter configuration
+						// Test adapter configuration
     				
-					// Preamble
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-
-					if(isvalue(p_childResourceType)) {
-						if(valueof(p_childResourceType) == int23) {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+						// Preamble
+						if (p_resourceType != int23) {
+							v_acpAuxIndex := f_cse_preamble_createAcpAux(-, int62);//c_RUDNDi)
 						} else {
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
-						}
-					}
-										
-					v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
-    				
-					if(p_resourceType != int15) {
-						v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
-					}				
-    									
-					// Test Body
-					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := int6;//Child resource references
-					mcaPort.send(m_request(v_request));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-							tc_ac.stop;
-							setverdict(fail, testcasename() & ": Error while retrieving resource");
-						}
-						[] tc_ac.timeout {
-							setverdict(inconc, testcasename() & ": No answer while retrieving resource");
-						}
-					}	
+							v_acpAuxIndex := f_cse_preamble_createAcpAux(-, int60);//c_UDNDi);
+						}	
+												
+						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);
+						
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Access denied to create a resource");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while creating a resource without privileges");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Resource created without creation privileges");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource");
+							}
+						}	
     								
-					// Postamble
-					f_cse_postamble_deleteResources();
-					
-					// Tear down
-					f_cf01Down();
+						// Postamble
+						f_cse_postamble_deleteResources();
+    				
+						// Tear down
+						f_cf01Down();
     				
-				}//end f_CSE_DMR_BV_006
+					}//end f_CSE_DMR_CRE_004
     				
-			} // end g_CSE_DMR_BV_006
-						
-			group Create {
+				}// end group g_CSE_DMR_CRE_004
 				
-				group g_CSE_DMR_CRE_BV_001 {
-					
-					testcase TC_CSE_DMR_CRE_BV_001_01() runs on CseTester system CseSystem {
+				group g_CSE_DMR_CRE_BV_005 {
+			
+					/**
+					 * @desc Check that the IUT rejects the CREATE Request of container resource when the RW ATTRIBUTE is provided with an invalid value
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_005_MNI() runs on CseTester system CseSystem {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;//TODO useless but need to be initialized see if we can remove it
+						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.container.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int3, v_createRequest, -, v_notifyHandler); //Container
-						log(v_responsePrimitive);
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-						}
-						}
+						v_createRequest.primitiveContent.container.maxNrOfInstances := 0;
+						v_invalidAttribute := {name := "maxNrOfInstances", value_ := "-1"};
 						
+						f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute);			
 					}
-						
-					testcase TC_CSE_DMR_CRE_BV_001_02() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_CRE_005_MBS() runs on CseTester system CseSystem {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.group_.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int3, v_createRequest, m_createAeAux(omit,omit),v_notifyHandler);//Container
-							log(v_responsePrimitive);
-							if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-								}
-							}
+						v_createRequest.primitiveContent.container.maxByteSize := 0;
+						v_invalidAttribute := {name := "maxByteSize", value_ := "-1"};
 						
-						}  
+						f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute);
+						  
+					}
 					
-					testcase TC_CSE_DMR_CRE_BV_001_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_005_MIA() runs on CseTester system CseSystem {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
-
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int3, v_createRequest, m_createContainerBase, v_notifyHandler);//Container
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-					}
-						}
-
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_001_04() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createGroupBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						v_createRequest.primitiveContent.container.maxInstanceAge := 0;
+						v_invalidAttribute := {name := "maxInstanceAge", value_ := "-1"};
 						
-						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
-
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int9, v_createRequest, -, v_notifyHandler);//Group
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-						}
-						}
+						f_CSE_DMR_CRE_005(int3, v_createRequest, v_invalidAttribute);
 						
 					}
+				
+					function f_CSE_DMR_CRE_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_invalidAttribute) runs on CseTester {
+    				
+							// Local variables
+							var MsgIn v_response;
+							var RequestPrimitive v_request;
+							var integer v_aeIndex := -1;
+									   
+							// Test control
+    				
+							// Test component configuration
+							f_cf01Up();
+    				
+							// Test adapter configuration
+    				
+							// Preamble
+							v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
 						
-					testcase TC_CSE_DMR_CRE_BV_001_05() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createGroupBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-						
-						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
-
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int9, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Group
-							if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							// Test Body
+							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+							
+    						mcaPort.send(m_request(v_request, {p_invalidAttribute}));
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+									tc_ac.stop;
+									setverdict(pass, testcasename() & ": Creation rejected for resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute " & p_invalidAttribute.name);
+								}								
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute" & p_invalidAttribute.name);
 								}
-							}
-						
-						}
-					
-					testcase TC_CSE_DMR_CRE_BV_001_06() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createAcpBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-
-						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
-
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int1, v_createRequest, -, v_notifyHandler);//AccessControlPolicy
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-						}
-						}
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_001_07() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createAcpBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-						
-						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
-
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int1, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//AccessControlPolicy
-							if(getverdict == pass){
-								if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+								[] mcaPort.receive {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Incorrect value received");
 								}
-							}
+								[] tc_ac.timeout {
+									setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));  
+								}
+							}	
+    								
+							// Postamble
+							f_cse_postamble_deleteResources();
+							
+							// Tear down
+							f_cf01Down();
+						    				
+						}//end f_CSE_DMR_CRE_005
 						
-						}
+				}// end group g_CSE_DMR_CRE_005
 				
-					testcase TC_CSE_DMR_CRE_BV_001_08() runs on CseTester system CseSystem {
+				group g_CSE_DMR_CRE_006 {
+					
+					/**
+					 * @desc Check that the IUT returns a default value to RW ATTRIBUTE in the response of a <container> CREATE Request where no a RW ATTRIBUTE is provided by AE
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_006_MNI() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.schedule.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int18, v_createRequest, -, v_notifyHandler);//Schedule
+						v_responsePrimitive := f_CSE_DMR_CRE_006(int3, v_createRequest);		
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-    					}
-						}
-						
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxNrOfInstances)){
+								setverdict(fail, testcasename(), ": Error, maxNrOfInstances attribute not provided");
+							} 
+						}	
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_001_09() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createScheduleBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-						
-						v_createRequest.primitiveContent.schedule.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int18, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Schedule
-
-							if(getverdict == pass){
-								if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-								}
-							}
-						
-						}
-				
-					testcase TC_CSE_DMR_CRE_BV_001_10() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_006_MBS() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.schedule.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int18, v_createRequest, m_createSubscriptionBase, v_notifyHandler);//Schedule
+						v_responsePrimitive := f_CSE_DMR_CRE_006(int3, v_createRequest);
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-					}
-						}
-					
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxByteSize)){
+								setverdict(fail, testcasename(), ": Error, maxByteSize attribute not provided");
+							} 
+						}	
+						  
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_001_11() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_006_MIA() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
+						v_responsePrimitive := f_CSE_DMR_CRE_006(int3, v_createRequest);
 						
-						v_createRequest.primitiveContent.pollingChannel.resourceName := omit;
-
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int15, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//PollingChannel
-							if(getverdict == pass){
-								if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxInstanceAge)){
+								setverdict(fail, testcasename(), ": Error, maxInstanceAge attribute not provided");
+							} 
+						}	
+					}
+				
+					function f_CSE_DMR_CRE_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester return ResponsePrimitive {
+    				
+							// Local variables
+							var MsgIn v_response;
+							var RequestPrimitive v_request;
+							var integer v_aeIndex := -1;
+											   
+							// Test control
+    				
+							// Test component configuration
+							f_cf01Up();
+    				
+							// Test adapter configuration
+    				
+							// Preamble
+							v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+						
+							// Test Body
+							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+    					
+							mcaPort.send(m_request(v_request));
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+									tc_ac.stop;
+									setverdict(pass, testcasename() & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType)));
 								}
-							}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType)));
+								}
+								[] tc_ac.timeout {
+									setverdict(inconc, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+								}
+							}	
+    								
+							// Postamble
+							f_cse_postamble_deleteResources();
+							
+							// Tear down
+							f_cf01Down();
 						
-						}
+							return v_response.primitive.responsePrimitive;
+    					    				
+						}//end f_CSE_DMR_CRE_006
+						
+				}// end group g_CSE_DMR_CRE_006
+				
+				group g_CSE_DMR_CRE_007 {
 					
-					testcase TC_CSE_DMR_CRE_BV_001_12() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with error when the newly created <contentInstance> results in that the field value of attribute currentNrOfInstances exceeds the field value of maxNrOfInstances in the parent container resource.
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_BV_007() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						const integer c_maxNumberOfInstances := 0;				   
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_createRequest.primitiveContent.subscription.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, -, v_notifyHandler);//Subscription
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-					}
-						}
+						v_createRequest.primitiveContent.container.maxNrOfInstances := c_maxNumberOfInstances;
+												
+						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
 					
-					}
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstance(f_getResourceAddress(v_containerIndex), "MyValue"), v_containerIndex);
 					
-					testcase TC_CSE_DMR_CRE_BV_001_13() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-						
-						v_createRequest.primitiveContent.subscription.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Subscription
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Maximun number of instances exceeded");
 							}
-						}
-	
-    					}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Bad responseStatusCode in response");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum number of instances");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
 						
-					testcase TC_CSE_DMR_CRE_BV_001_14() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_007
 						
-						v_createRequest.primitiveContent.subscription.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createContainerBase, v_notifyHandler);//Subscription
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							}
-						}
-
-					}
+				}// end group g_CSE_DMR_CRE_007		
+				
+				group g_CSE_DMR_CRE_008 {
 					
-					testcase TC_CSE_DMR_CRE_BV_001_15() runs on CseTester system CseSystem {
+					/**
+					 * @desc Checks that the IUT accepts a newly created contentInstance when the currentByteSize exceeds the field value set in maxByteSize in the parent container resource by removing enough of the oldest <contentInstance> resources to allow the creation of the new <contentInstance> resource.
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_008() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						const integer c_maxByteSize := 0;				   
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_createRequest.primitiveContent.subscription.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createAcpBase, v_notifyHandler);//Subscription
-    						if(getverdict == pass){
-    							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
-    								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-    							}
-    						}
-						}
+						v_createRequest.primitiveContent.container.maxByteSize := c_maxByteSize;
+												
+						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
 					
-					testcase TC_CSE_DMR_CRE_BV_001_16() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-						
-						v_createRequest.primitiveContent.subscription.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createScheduleBase, v_notifyHandler);//Subscription
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-					}
-						}		
-					}
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstanceBase, v_containerIndex);
 					
-					testcase TC_CSE_DMR_CRE_BV_001_17() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-    				
-						v_createRequest.primitiveContent.subscription.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createGroupBase, v_notifyHandler);//Subscription
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Maximun byte size exceeded");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Bad responseStatusCode in response");
 							}
-						}		
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_001_18() runs on CseTester system CseSystem {
-    					// Local variables
-						var template RequestPrimitive v_createRequest := m_createNodeBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-						 
-						v_createRequest.primitiveContent.node.resourceName := omit;
-
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int14, v_createRequest, -, v_notifyHandler);//Node
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+							
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum byte size");
 							}
-						}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
 						
-					}
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_008
+						
+				}// end group g_CSE_DMR_CRE_008			
+
+				group g_CSE_DMR_CRE_009 {
 					
-					testcase TC_CSE_DMR_CRE_BV_001_19() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT increaments and then copies the field value of attribute stateTag in parent container resource when contentInstance resource is created as the direct child of the parent container
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_009() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createMgmtCmdBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						var integer v_contentInstanceIndex := -1;
+						var template PrimitiveContent v_contentResponse;
+					
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_createRequest.primitiveContent.mgmtResource.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int12, v_createRequest, -, v_notifyHandler);//Management Command
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.mgmtResource.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							}
-						}
+						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
 						
-					}
+						v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex);
 					
-					testcase TC_CSE_DMR_CRE_BV_001_20() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createLocationPolicyBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						// Test Body
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
 						
-						v_createRequest.primitiveContent.locationPolicy.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int10, v_createRequest, -, v_notifyHandler);//Location Policy
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.locationPolicy.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							}
-						}
+						v_contentResponse.container := mw_contentContainerBase;
 						
-					}
+                        tc_ac.start;
+                        alt {
+                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response {
+                        		tc_ac.stop;
+                        		setverdict(pass, testcasename() & ": Response OK for retrieving");
+                        		if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == vc_resourcesList[v_containerIndex].resource.container.stateTag + 1) {
+									setverdict(pass, testcasename() & ": stateTag attribute increased after creation of contentInstance resource");
+                        		} else {
+									setverdict(fail, testcasename() & ": stateTag attribute not incremented correctly after creation of contentInstance resource");
+                        		}
+                        	}
+                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+                        		tc_ac.stop;
+                        		setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements");
+                        	}
+                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+                        		tc_ac.stop;
+                        		setverdict(fail, testcasename() & ": Error while retrieving resource");
+                        	}
+                        	[] tc_ac.timeout {
+                        		setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+                        	}
+                        }	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_009
+						
+				}// end group g_CSE_DMR_CRE_009		
+				
+				group g_CSE_DMR_CRE_010 {
 					
-					testcase TC_CSE_DMR_CRE_BV_001_21() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT rejects the CREATE Request of a container resource named “la” as a direct child of a container resource 
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_010() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createStatsConfigBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var RequestPrimitiveMatrix v_requestPrimitivematrix;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
 						
-						v_createRequest.primitiveContent.statsConfig.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int22, v_createRequest, -, v_notifyHandler);//Stats Config
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							}
-						}
-					}
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
 					
-					testcase TC_CSE_DMR_CRE_BV_001_22() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createStatsCollectBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-						 
-						v_createRequest.primitiveContent.statsCollect.resourceName := omit;
+						// Test Body
+						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameLatest;
 						
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int21, v_createRequest, -, v_notifyHandler);//Stats Collect
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
+						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
+					
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Not allowed to create a contentInstance resource named 'la'");
 							}
-						}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Rejected creation of contentInstance named 'la' with wrong ResponseStatusCode");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Accepted creation of contentInstance named 'la'");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, testcasename() & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
 						
-					}
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_010
+						
+				}// end group g_CSE_DMR_CRE_010	
+				
+				group g_CSE_DMR_CRE_011 {
 					
-					testcase TC_CSE_DMR_CRE_BV_001_23() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT rejects the CREATE Request of a container resource named “ol” as a direct child of a container resource 
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_011() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createM2mServiceSubscriptionProfileBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
 						
-						v_createRequest.primitiveContent.m2mServiceSubscriptionProfile.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int11, v_createRequest, -, v_notifyHandler);//Subscription Profile
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							}
-						}
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-					}
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
 					
-					testcase TC_CSE_DMR_CRE_BV_001_24() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createServiceSubscribedAppRuleBase;
-						var ResponsePrimitive v_responsePrimitive;
-						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
-						 
-						v_createRequest.primitiveContent.serviceSubscribedAppRule.resourceName := omit;
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int19, v_createRequest, -, v_notifyHandler);//Service Subscribed App
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							}
-						}
+						// Test Body
+						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameOldest;
 						
-					}
+						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
 					
-    				function f_CSE_DMR_CRE_BV_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in CseTester p_notifyHandler) runs on CseTester return ResponsePrimitive {
-    				
-    					// Local variables
-    					var MsgIn v_response;
-    					var RequestPrimitive v_request;
-						var integer i;
-						var integer v_parentIndex := -1;
-    					var integer v_resourceIndex := -1;
-						var integer v_ae2Index := -1;
-						var PoaList v_poaList := {"http://" & PX_AE2_ADDRESS & "/"};
-    										   
-    					// Test control
-    				
-    					// Test component configuration
-    					f_cf01Up();
-    				
-    					// Test adapter configuration
-    				
-    					// Preamble
-    					
-						if(ispresent(p_parentRequestPrimitive)) {
-							if(match(int23, p_parentRequestPrimitive.resourceType)){
-								v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred
-								p_parentRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
-								p_notifyHandler.start(f_subscriptionVerificationHandler(v_parentIndex));
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Not allowed to create a contentInstance resource named 'ol'");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Rejected creation of contentInstance named 'ol' with wrong ResponseStatusCode");
 							}
-							v_parentIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_parentIndex);
-						}										
-    									
-    					// Test Body
-    					
-						if(match(int23, p_requestPrimitive.resourceType)){
-							v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred
-							p_requestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
-							p_notifyHandler.start(f_subscriptionVerificationHandler(v_parentIndex));
-						}
-    					
-    					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Accepted creation of contentInstance named 'ol'");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
 						
-    					mcaPort.send(m_request(v_request));
-    					tc_ac.start;
-    					alt {
-    						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-    							tc_ac.stop;
-    							setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully");
-								v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, v_parentIndex);
-										vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_resourceIndex};
-								}
-    						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-    							tc_ac.stop;
-    							setverdict(fail, testcasename() & ": Error while creating resource type " & int2str(enum2int(p_resourceType)));
-    						}
-    						[] tc_ac.timeout {
-    							setverdict(inconc, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
-    						}
-    					}	
-    					
-    					f_checkCseTesterStatus();
-    								
-    					// Postamble
-    					f_cse_postamble_deleteResources();
-						vc_resourcesIndexToBeDeleted := {};
-    					
 						// Tear down
-						//notifyHandler.stop;
 						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_011
 						
-    					
-    					return v_response.primitive.responsePrimitive;
-    					    				
-    				}//end f_CSE_DMR_CRE_BV_001
-    				
-				} // end g_CSE_DMR_CRE_BV_001
-								
+				}// end group g_CSE_DMR_CRE_011
 				
-				group g_CSE_DMR_CRE_BV_002 {
+				group g_CSE_DMR_CRE_012 {
 					
-					testcase TC_CSE_DMR_CRE_BV_002_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT returns successfully after a CREATE request an empty content of created resource when the ResultContent set to 0 (Nothing)
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_012_CNT() runs on CseTester system CseSystem {
 						// Local variables
-                        var ResponsePrimitive v_responsePrimitive;
-                        
-                        v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int3, m_createContainerBase);//container
-						
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							} else {
-								if(v_responsePrimitive.primitiveContent.container.resourceName != c_defaultContainerResourceName){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
-								}
-							}
-						}
+						                        
+						f_CSE_DMR_CRE_012(int3, m_createContainerBase);//Container
 					}
 
-					testcase TC_CSE_DMR_CRE_BV_002_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_012_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int9, m_createGroupBase);//group
 						
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							} else {
-								if(v_responsePrimitive.primitiveContent.group_.resourceName != c_defaultGroupResourceName){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
-								}
-							}
-						}
+						f_CSE_DMR_CRE_012(int9, m_createGroupBase);//Group
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_002_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_012_ACP() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
-                        
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int1, m_createAcpBase );//accessControlPolicy
-						
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							} else {
-								if(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName != c_defaultAccessControlPolicyResourceName){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
-								}
-							}
-						}
+							
+						f_CSE_DMR_CRE_012(int1, m_createAcpBase);//AccessControlPolicy
 					}
-
-					testcase TC_CSE_DMR_CRE_BV_002_04() runs on CseTester system CseSystem {
+				
+					testcase TC_CSE_DMR_CRE_012_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int18, m_createScheduleBase);//Schedule
-						
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							} else {
-								if(v_responsePrimitive.primitiveContent.schedule.resourceName != c_defaultScheduleResourceName){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
-								}
-							}
-						}
+							
+						f_CSE_DMR_CRE_012(int18, m_createScheduleBase);//Schedule
 					}
-					testcase TC_CSE_DMR_CRE_BV_002_05() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_CRE_012_PCH() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int15, m_createPollingChannelBase);//Pollingchannel
-
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							} else {
-								if(v_responsePrimitive.primitiveContent.pollingChannel.resourceName != c_defaultPollingChannelResourceName){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
-								}
-							}
-						}
+							
+						f_CSE_DMR_CRE_012(int15, m_createPollingChannelBase);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_002_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_012_SUB() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
 						
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int23, m_createSubscriptionBase);//Subscription
-						
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
-								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
-							} else {
-								if(v_responsePrimitive.primitiveContent.subscription.resourceName != c_defaultSubscriptionResourceName){
-									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
-								}
-							}
-						}
+						f_CSE_DMR_CRE_012(int23, m_createSubscriptionBase);//Subscription
 					}
-					
-					function f_CSE_DMR_CRE_BV_002(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester return ResponsePrimitive{//system CseSystem { MRO system keyword not supported on functions in Titan
 				
+					function f_CSE_DMR_CRE_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
+    				
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
-						var CseTester v_notifyHandler;
-						var integer v_ae2Index := -1;
-										   
+											   
 						// Test control
-				
+    				
 						// Test component configuration
 						f_cf01Up();
-				
+    				
 						// Test adapter configuration
-				
+    				
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
-						
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-									
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
 						// Test Body
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						v_request.resultContent := int0;//Attributes
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
+							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Resource type " & int2str(enum2int(p_resourceType)) & " created successfully");
+								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while creating resource type " & int2str(enum2int(p_resourceType)));
+								setverdict(fail, testcasename() & ": Error while creating resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+								setverdict(inconc, testcasename() & ": No answer while creating resource");
 							}
 						}	
-								
+    								
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+					
 						// Tear down
 						f_cf01Down();
-						
-						return v_response.primitive.responsePrimitive;
-				
-					}//end f_CSE_DMR_CRE_BV_002
-					
-					
-				}// end group g_CSE_DMR_CRE_BV_002
-				
-				group g_CSE_DMR_CRE_BV_003 {
+    				
+					}//end f_CSE_DMR_CRE_012
+    				
+				} // end g_CSE_DMR_CRE_012							
+
+				group g_CSE_DMR_CRE_BV_013 {
 					
-					testcase TC_CSE_DMR_CRE_BV_003_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT returns successfully after a CREATE request only hierarchichal address of the created resource when the Result Content is set to 2 (hierarchical address)
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_013_CNT() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_CRE_BV_003(int3, m_createContainerBase);//container
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.uRI := mw_contentContainer_rc2;
+					                        
+						f_CSE_DMR_CRE_013(int3, m_createContainerBase, v_contentResponse);//Container
 					}
 
-					testcase TC_CSE_DMR_CRE_BV_003_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_013_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						
-						f_CSE_DMR_CRE_BV_003(int9, m_createGroupBase);//group
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.uRI := mw_contentGroup_rc2;
+					
+						f_CSE_DMR_CRE_013(int9, m_createGroupBase, v_contentResponse);//Group
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_003_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_013_ACP() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_CRE_BV_003(int1, m_createAcpBase);//accessControlPolicy
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.uRI := mw_contentAcp_rc2;
+						
+						f_CSE_DMR_CRE_013(int1, m_createAcpBase,v_contentResponse);//AccessControlPolicy
 					}
-
-					testcase TC_CSE_DMR_CRE_BV_003_04() runs on CseTester system CseSystem {
+				
+					testcase TC_CSE_DMR_CRE_013_SCH() runs on CseTester system CseSystem {
 						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.uRI := mw_contentSchedule_rc2;
 						
-						f_CSE_DMR_CRE_BV_003(int18, m_createScheduleBase);//Schedule
+						f_CSE_DMR_CRE_013(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
-					testcase TC_CSE_DMR_CRE_BV_003_05() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_CRE_013_PCH() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_CRE_BV_003(int15, m_createPollingChannelBase);//Pollingchannel
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.uRI := mw_contentPollingChannel_rc2;
+						
+						f_CSE_DMR_CRE_013(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_003_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_013_SUB() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_CRE_BV_003(int23, m_createSubscriptionBase);//Subscription
-					}
+						var template PrimitiveContent v_contentResponse;
 					
+						v_contentResponse.uRI := mw_contentSubscription_rc2;
+
+						f_CSE_DMR_CRE_013(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+					}
 				
-    				function f_CSE_DMR_CRE_BV_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {//system CseSystem { MRO system keyword not supported on functions in Titan
+					function f_CSE_DMR_CRE_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
     				
-    					// Local variables
-    					var MsgIn v_response;
-    					var RequestPrimitive v_request;
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
-						var CseTester v_notifyHandler;
-						var integer v_ae2Index := -1;
-    										   
-    					// Test control
-    				
-    					// Test component configuration
-    					f_cf01Up(); 
-    				
-    					// Test adapter configuration
-    				
-    					// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi)
-						
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 	
-						
-						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);			
-  					    						    									
-    					// Test Body
-						v_request.requestIdentifier := "Existing resource";
-    					
-    					mcaPort.send(m_request(v_request));
-    					tc_ac.start;
-    					alt {
-    						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4105))) -> value v_response {
-    							tc_ac.stop;
-    							setverdict(pass, testcasename() & ": Resource already exists");
-    						}
-    						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-    							tc_ac.stop;
-    							setverdict(fail, testcasename() & ": Error while creating an already existing resource");
-    						}
+											   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up();
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						v_request.resultContent := int2;//Attributes
+						
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
+							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Creating a resource that already exists");
+								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
 							}
-    						[] tc_ac.timeout {
-    							setverdict(inconc, testcasename() & ": No answer while creating resource");
-    						}
-    					}	
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while creating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource");
+							}
+						}	
     								
-    					// Postamble
-    					f_cse_postamble_deleteResources();
-    					
+						// Postamble
+						f_cse_postamble_deleteResources();
+					
 						// Tear down
 						f_cf01Down();
     				
-    				}//end f_CSE_DMR_CRE_BV_003
+					}//end f_CSE_DMR_CRE_013
     				
-				}// end group g_CSE_DMR_CRE_BV_003
-				
-				group g_CSE_DMR_CRE_BV_004 {
+				} // end g_CSE_DMR_CRE_013	
+							
+				group g_CSE_DMR_CRE_014 {
 					
-					testcase TC_CSE_DMR_CRE_BV_004_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT returns successfully after a CREATE request only attributes and hierarchichal address of the created resource when Result Content is set 3 (attributes and hierarchichal address)
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_014_CNT() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_CRE_BV_004(int3, m_createContainerBase);//container
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.resource := mw_contentContainer_rc3;
+					                        
+						f_CSE_DMR_CRE_014(int3, m_createContainerBase, v_contentResponse);//Container
 					}
 
-					testcase TC_CSE_DMR_CRE_BV_004_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_014_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						
-						f_CSE_DMR_CRE_BV_004(int9, m_createGroupBase);//group
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.resource := mw_contentGroup_rc3;
+					
+						f_CSE_DMR_CRE_014(int9, m_createGroupBase, v_contentResponse);//Group
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_004_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_014_ACP() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_CRE_BV_004(int1, m_createAcpBase);//accessControlPolicy
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.resource := mw_contentAcp_rc3;
+						
+						f_CSE_DMR_CRE_014(int1, m_createAcpBase,v_contentResponse);//AccessControlPolicy
 					}
-
-					testcase TC_CSE_DMR_CRE_BV_004_04() runs on CseTester system CseSystem {
+				
+					testcase TC_CSE_DMR_CRE_014_SCH() runs on CseTester system CseSystem {
 						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.resource := mw_contentSchedule_rc3;
 						
-						f_CSE_DMR_CRE_BV_004(int18, m_createScheduleBase);//Schedule
+						f_CSE_DMR_CRE_014(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
-					testcase TC_CSE_DMR_CRE_BV_004_05() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_CRE_014_PCH() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_CRE_BV_004(int15, m_createPollingChannelBase);//Pollingchannel
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.resource := mw_contentPollingChannel_rc3;
+						
+						f_CSE_DMR_CRE_014(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_004_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_014_SUB() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_CRE_BV_004(int23, m_createSubscriptionBase);//Subscription
-					}
+						var template PrimitiveContent v_contentResponse;
 					
+						v_contentResponse.resource := mw_contentSubscription_rc3;
+
+						f_CSE_DMR_CRE_014(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+					}
 				
-					function f_CSE_DMR_CRE_BV_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {//system CseSystem { MRO system keyword not supported on functions in Titan
+					function f_CSE_DMR_CRE_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var integer v_acpAuxIndex := -1;
 						var integer v_aeIndex := -1;
 											   
 						// Test control
-						if(not(PICS_ACP_SUPPORT)) {
-							setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case");
-							stop;
-						}
     				
 						// Test component configuration
-						f_cf01Up(); 
+						f_cf01Up();
     				
 						// Test adapter configuration
     				
 						// Preamble
-						if (p_resourceType != int23) {
-							v_acpAuxIndex := f_cse_preamble_createAcpAux(-, int62);//c_RUDNDi)
-						} else {
-							v_acpAuxIndex := f_cse_preamble_createAcpAux(-, int60);//c_UDNDi);
-						}	
-												
-						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);
-						
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
 						// Test Body
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						v_request.resultContent := int3;//Attributes + Hierarchichal Address
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Access denied to create a resource");
+								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while creating a resource without privileges");
+								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Resource created without creation privileges");
+								setverdict(fail, testcasename() & ": Error while creating resource");
 							}
 							[] tc_ac.timeout {
 								setverdict(inconc, testcasename() & ": No answer while creating resource");
@@ -3269,666 +3410,554 @@ module OneM2M_Testcases {
     								
 						// Postamble
 						f_cse_postamble_deleteResources();
-    				
+					
 						// Tear down
 						f_cf01Down();
     				
-					}//end f_CSE_DMR_CRE_BV_004
+					}//end f_CSE_DMR_CRE_014
     				
-				}// end group g_CSE_DMR_CRE_BV_004
+				} // end g_CSE_DMR_CRE_014
 				
-				group g_CSE_DMR_CRE_BV_005 {
-			
-					testcase TC_CSE_DMR_CRE_BV_005_01() runs on CseTester system CseSystem {
+				group g_CSE_DMR_CRE_BV_015 {
+					
+					/**
+					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute OPTIONAL_ATTRIBUTE provided
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_015_CNT_ACPI() runs on CseTester system CseSystem {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AttributeAux v_invalidAttribute;
+						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit};
+						
+						v_createRequest.primitiveContent.container.accessControlPolicyIDs := {"NotInitialized"};
+						
+						f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute);			
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_CNT_ET() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
+						
+						v_createRequest.primitiveContent.container.expirationTime := "20301231T012345";
+						
+						f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute);
+						  
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_CNT_LBL() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						const AttributeAux c_optionalAttribute := {"labels", omit};
+						
+						v_createRequest.primitiveContent.container.labels := {"MyLabel"};
+						
+						f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute);
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_CNT_MNI() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						const AttributeAux c_optionalAttribute := {"maxNrOfInstances", omit};
 						
 						v_createRequest.primitiveContent.container.maxNrOfInstances := 0;
-						v_invalidAttribute := {name := "maxNrOfInstances", value_ := "-1"};
 						
-						f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);			
+						f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute);
+						
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_005_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_CNT_MBS() runs on CseTester system CseSystem {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AttributeAux v_invalidAttribute;
+						const AttributeAux c_optionalAttribute := {"maxByteSize", omit};
 						
 						v_createRequest.primitiveContent.container.maxByteSize := 0;
-						v_invalidAttribute := {name := "maxByteSize", value_ := "-1"};
 						
-						f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);
-						  
+						f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute);
+						
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_005_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_CNT_MIA() runs on CseTester system CseSystem {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AttributeAux v_invalidAttribute;
+						const AttributeAux c_optionalAttribute := {"maxInstanceAge", omit};
 						
 						v_createRequest.primitiveContent.container.maxInstanceAge := 0;
-						v_invalidAttribute := {name := "maxInstanceAge", value_ := "-1"};
 						
-						f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);
+						f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute);
 						
 					}
-				
-					function f_CSE_DMR_CRE_BV_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_invalidAttribute) runs on CseTester {
-    				
-							// Local variables
-							var MsgIn v_response;
-							var RequestPrimitive v_request;
-							var integer v_aeIndex := -1;
-									   
-							// Test control
-    				
-							// Test component configuration
-							f_cf01Up();
-    				
-							// Test adapter configuration
-    				
-							// Preamble
-							v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+					
+					testcase TC_CSE_DMR_CRE_015_CNT_OR() runs on CseTester system CseSystem { 
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						const AttributeAux c_optionalAttribute := {"ontologyRef", omit};
 						
-							// Test Body
-							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
-							
-    						mcaPort.send(m_request(v_request, {p_invalidAttribute}));
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-									tc_ac.stop;
-									setverdict(pass, testcasename() & ": Creation rejected for resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute " & p_invalidAttribute.name);
-								}								
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, testcasename() & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType)) & " containing an invalid value for attribute" & p_invalidAttribute.name);
-								}
-								[] mcaPort.receive {
-									tc_ac.stop;
-									setverdict(fail, testcasename() & ": Incorrect value received");
-								}
-								[] tc_ac.timeout {
-									setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));  
-								}
-							}	
-    								
-							// Postamble
-							f_cse_postamble_deleteResources();
-							
-							// Tear down
-							f_cf01Down();
-						    				
-						}//end f_CSE_DMR_CRE_BV_005
+						v_createRequest.primitiveContent.container.ontologyRef := "MyOntologyRef";
+						
+						f_CSE_DMR_CRE_015(int3, v_createRequest, c_optionalAttribute);
+						
+					}					
+					
+					testcase TC_CSE_DMR_CRE_015_CIN_ET() runs on CseTester system CseSystem {//TODO
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
+						
+						v_createRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345";
+						
+						f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute);			
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_CIN_LBL() runs on CseTester system CseSystem {//TODO
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						const AttributeAux c_optionalAttribute := {"labels", omit};
+						
+						v_createRequest.primitiveContent.contentInstance.labels := {"MyLabel"};
+						
+						f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute);
+						  
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_CIN_CR() runs on CseTester system CseSystem {//TODO
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						const AttributeAux c_optionalAttribute := {"creator", omit};
+						
+						v_createRequest.primitiveContent.contentInstance.creator := "MyCreator";
+						
+						f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute);
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_CIN_CNF() runs on CseTester system CseSystem {//TODO
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						const AttributeAux c_optionalAttribute := {"contentInfo", omit};
+						
+						v_createRequest.primitiveContent.contentInstance.contentInfo := "MyContentInfo";
+						
+						f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute);
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_CIN_OR() runs on CseTester system CseSystem {//TODO
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						const AttributeAux c_optionalAttribute := {"ontologyRef", omit};
+						
+						v_createRequest.primitiveContent.contentInstance.ontologyRef := "MyOntologyRef";
+						
+						f_CSE_DMR_CRE_015(int4, v_createRequest, c_optionalAttribute);
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_ACP_ET() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
+						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
 						
-				}// end group g_CSE_DMR_CRE_BV_005
-				
-				group g_CSE_DMR_CRE_BV_006 {
+						v_createRequest.primitiveContent.accessControlPolicy.expirationTime := "20301231T012345";
+						
+						f_CSE_DMR_CRE_015(int1, v_createRequest, c_optionalAttribute);
+						
+					}
 					
-					testcase TC_CSE_DMR_CRE_BV_006_01() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_ACP_LBL() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var ResponsePrimitive v_responsePrimitive;
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
+						const AttributeAux c_optionalAttribute := {"labels", omit};
 						
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);		
+						v_createRequest.primitiveContent.accessControlPolicy.labels := {"MyLabel"};
+						
+						f_CSE_DMR_CRE_015(int1, v_createRequest, c_optionalAttribute);
 						
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxNrOfInstances)){
-								setverdict(fail, testcasename(), ": Error, maxNrOfInstances attribute not provided");
-							} 
-						}	
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_006_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_ACPI() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var ResponsePrimitive v_responsePrimitive;
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit};
 						
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);
+						v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := {"NotInitialized"};
 						
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxByteSize)){
-								setverdict(fail, testcasename(), ": Error, maxByteSize attribute not provided");
-							} 
-						}	
-						  
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);			
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_006_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_ET() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var ResponsePrimitive v_responsePrimitive;
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
 						
-						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);
+						v_createRequest.primitiveContent.subscription.expirationTime := "20301231T012345";
 						
-						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxInstanceAge)){
-								setverdict(fail, testcasename(), ": Error, maxInstanceAge attribute not provided");
-							} 
-						}	
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
+						  
 					}
-				
-					function f_CSE_DMR_CRE_BV_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester return ResponsePrimitive {
-    				
-							// Local variables
-							var MsgIn v_response;
-							var RequestPrimitive v_request;
-							var integer v_aeIndex := -1;
-											   
-							// Test control
-    				
-							// Test component configuration
-							f_cf01Up();
-    				
-							// Test adapter configuration
-    				
-							// Preamble
-							v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+					
+					testcase TC_CSE_DMR_CRE_015_SUB_LBL() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"labels", omit};
 						
-							// Test Body
-							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
-    					
-							mcaPort.send(m_request(v_request));
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-									tc_ac.stop;
-									setverdict(pass, testcasename() & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType)));
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, testcasename() & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType)));
-								}
-								[] tc_ac.timeout {
-									setverdict(inconc, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
-								}
-							}	
-    								
-							// Postamble
-							f_cse_postamble_deleteResources();
-							
-							// Tear down
-							f_cf01Down();
+						v_createRequest.primitiveContent.subscription.labels := {"MyLabel"};
 						
-							return v_response.primitive.responsePrimitive;
-    					    				
-						}//end f_CSE_DMR_CRE_BV_006
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
 						
-				}// end group g_CSE_DMR_CRE_BV_006
-				
-				group g_CSE_DMR_CRE_BV_007 {
+					}
 					
-					testcase TC_CSE_DMR_CRE_BV_007() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_ENC() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						const integer c_maxNumberOfInstances := 0;				   
-						// Test control
-				
-						// Test component configuration
-						f_cf01Up();
-				
-						// Test adapter configuration
-				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"eventNotificationCriteria", omit};
 						
-						v_createRequest.primitiveContent.container.maxNrOfInstances := c_maxNumberOfInstances;
-												
-						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
-					
-						// Test Body
-						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstance(f_getResourceAddress(v_containerIndex), "MyValue"), v_containerIndex);
-					
-						mcaPort.send(m_request(v_request));
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Maximun number of instances exceeded");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Bad responseStatusCode in response");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum number of instances");
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
-							}
-						}	
-								
-						// Postamble
-						f_cse_postamble_deleteResources();
+						v_createRequest.primitiveContent.subscription.eventNotificationCriteria := valueof(m_eventNotificationCriteria({int1}, -));
 						
-						// Tear down
-						f_cf01Down();
-					    				
-					}//end TC_CSE_DMR_CRE_BV_007
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
 						
-				}// end group g_CSE_DMR_CRE_BV_007		
-				
-				group g_CSE_DMR_CRE_BV_008 {
+					}
 					
-					testcase TC_CSE_DMR_CRE_BV_008() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_EXC() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						const integer c_maxByteSize := 0;				   
-						// Test control
-				
-						// Test component configuration
-						f_cf01Up();
-				
-						// Test adapter configuration
-				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"expirationCounter", omit};
 						
-						v_createRequest.primitiveContent.container.maxByteSize := c_maxByteSize;
-												
-						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
-					
-						// Test Body
-						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstanceBase, v_containerIndex);
-					
-						mcaPort.send(m_request(v_request));
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Maximun byte size exceeded");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Bad responseStatusCode in response");
-							}
-							
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum byte size");
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
-							}
-						}	
-								
-						// Postamble
-						f_cse_postamble_deleteResources();
+						v_createRequest.primitiveContent.subscription.expirationCounter := 1;
 						
-						// Tear down
-						f_cf01Down();
-					    				
-					}//end TC_CSE_DMR_CRE_BV_008
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
 						
-				}// end group g_CSE_DMR_CRE_BV_008			
-
-				group g_CSE_DMR_CRE_BV_009 {
+					}
 					
-					testcase TC_CSE_DMR_CRE_BV_009() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_GPI() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						var integer v_contentInstanceIndex := -1;
-						var template PrimitiveContent v_contentResponse;
-					
-						// Test control
-				
-						// Test component configuration
-						f_cf01Up();
-				
-						// Test adapter configuration
-				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"groupID", omit};
 						
-						v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex);
-					
-						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
+						v_createRequest.primitiveContent.subscription.groupID := "MyGroupID";
 						
-						v_contentResponse.container := mw_contentContainerBase;
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
 						
-                        tc_ac.start;
-                        alt {
-                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response {
-                        		tc_ac.stop;
-                        		setverdict(pass, testcasename() & ": Response OK for retrieving");
-                        		if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == vc_resourcesList[v_containerIndex].resource.container.stateTag + 1) {
-									setverdict(pass, testcasename() & ": stateTag attribute increased after creation of contentInstance resource");
-                        		} else {
-									setverdict(fail, testcasename() & ": stateTag attribute not incremented correctly after creation of contentInstance resource");
-                        		}
-                        	}
-                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-                        		tc_ac.stop;
-                        		setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements");
-                        	}
-                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-                        		tc_ac.stop;
-                        		setverdict(fail, testcasename() & ": Error while retrieving resource");
-                        	}
-                        	[] tc_ac.timeout {
-                        		setverdict(inconc, testcasename() & ": No answer while retrieving resource");
-                        	}
-                        }	
-								
-						// Postamble
-						f_cse_postamble_deleteResources();
+					}
+					
+					testcase TC_CSE_DMR_CRE_015_SUB_NFU() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"notificationForwardingURI", omit};
 						
-						// Tear down
-						f_cf01Down();
-					    				
-					}//end TC_CSE_DMR_CRE_BV_009
+						v_createRequest.primitiveContent.subscription.notificationForwardingURI := "MyForwardingURI";
 						
-				}// end group g_CSE_DMR_CRE_BV_009		
-				
-				group g_CSE_DMR_CRE_BI_010 {
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
+						
+					}
 					
-					testcase TC_CSE_DMR_CRE_BI_010() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_BN() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"batchNotify", omit};
 						
-						// Test control
-				
-						// Test component configuration
-						f_cf01Up();
-				
-						// Test adapter configuration
-				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						v_createRequest.primitiveContent.subscription.batchNotify := {0, "PT1S"};
 						
-						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
-					
-						// Test Body
-						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameLatest;
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
 						
-						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
+					}
 					
-						mcaPort.send(m_request(v_request));
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Not allowed to create a contentInstance resource named 'la'");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Rejected creation of contentInstance named 'la' with wrong ResponseStatusCode");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Accepted creation of contentInstance named 'la'");
-							}
-							[] tc_ac.timeout {
-								setverdict(fail, testcasename() & ": No answer while creating resource type 4");
-							}
-						}	
-								
-						// Postamble
-						f_cse_postamble_deleteResources();
+					testcase TC_CSE_DMR_CRE_015_SUB_RL() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"rateLimit", omit};
 						
-						// Tear down
-						f_cf01Down();
-					    				
-					}//end TC_CSE_DMR_CRE_BI_010
+						v_createRequest.primitiveContent.subscription.rateLimit := {0, omit};
 						
-				}// end group g_CSE_DMR_CRE_BI_010	
-				
-				group g_CSE_DMR_CRE_BI_011 {
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
+						
+					}
 					
-					testcase TC_CSE_DMR_CRE_BI_011() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_PSN() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"preSubscriptionNotify", omit};
 						
-						// Test control
-				
-						// Test component configuration
-						f_cf01Up();
-				
-						// Test adapter configuration
-				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						v_createRequest.primitiveContent.subscription.preSubscriptionNotify := 1;
 						
-						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
-					
-						// Test Body
-						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameOldest;
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
 						
-						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
+					}
 					
-						mcaPort.send(m_request(v_request));
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Not allowed to create a contentInstance resource named 'ol'");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Rejected creation of contentInstance named 'ol' with wrong ResponseStatusCode");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Accepted creation of contentInstance named 'ol'");
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
-							}
-						}	
-								
-						// Postamble
-						f_cse_postamble_deleteResources();
+					testcase TC_CSE_DMR_CRE_015_SUB_PN() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"pendingNotification", omit};
 						
-						// Tear down
-						f_cf01Down();
-					    				
-					}//end TC_CSE_DMR_CRE_BI_011
+						v_createRequest.primitiveContent.subscription.pendingNotification := int1;
 						
-				}// end group g_CSE_DMR_CRE_BI_011
-				
-				group g_CSE_DMR_CRE_BV_012 {
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);			
+					}
 					
-					testcase TC_CSE_DMR_CRE_BV_012_01() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_NSP() runs on CseTester system CseSystem {
 						// Local variables
-						                        
-						f_CSE_DMR_CRE_BV_012(int3, m_createContainerBase);//Container
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"notificationStoragePriority", omit};
+						
+						v_createRequest.primitiveContent.subscription.notificationStoragePriority := 1;
+						
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
+						  
 					}
-
-					testcase TC_CSE_DMR_CRE_BV_012_02() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_CRE_015_SUB_LN() runs on CseTester system CseSystem {
 						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"latestNotify", omit};
+						
+						v_createRequest.primitiveContent.subscription.latestNotify := true;
+						
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
 						
-						f_CSE_DMR_CRE_BV_012(int9, m_createGroupBase);//Group
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_012_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_NCT() runs on CseTester system CseSystem {
 						// Local variables
-							
-						f_CSE_DMR_CRE_BV_012(int1, m_createAcpBase);//AccessControlPolicy
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"notificationContentType", omit};
+						
+						v_createRequest.primitiveContent.subscription.notificationContentType := int1;
+						
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
+						
 					}
-				
-					testcase TC_CSE_DMR_CRE_BV_012_04() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_CRE_015_SUB_NEC() runs on CseTester system CseSystem {
 						// Local variables
-							
-						f_CSE_DMR_CRE_BV_012(int18, m_createScheduleBase);//Schedule
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"notificationEventCat", omit};
+						
+						v_createRequest.primitiveContent.subscription.notificationEventCat := {alt_1 := 100};
+						
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
+						
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_012_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_CR() runs on CseTester system CseSystem {
 						// Local variables
-							
-						f_CSE_DMR_CRE_BV_012(int15, m_createPollingChannelBase);//PollingChannel
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"creator", omit};
+						
+						v_createRequest.primitiveContent.subscription.creator := "MyCreator";
+						
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
+						
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_012_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_015_SUB_SU() runs on CseTester system CseSystem {
 						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						const AttributeAux c_optionalAttribute := {"subscriberURI", omit};
+						
+						v_createRequest.primitiveContent.subscription.subscriberURI := "MySubscriberURI";
+						
+						f_CSE_DMR_CRE_015(int23, v_createRequest, c_optionalAttribute);
 						
-						f_CSE_DMR_CRE_BV_012(int23, m_createSubscriptionBase);//Subscription
 					}
 				
-					function f_CSE_DMR_CRE_BV_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
+					function f_CSE_DMR_CRE_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on CseTester {
     				
-						// Local variables
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
+							// Local variables
+							var MsgIn v_response;
+							var RequestPrimitive v_request;
+							var integer v_containerIndex := -1;
+							var integer v_parentIndex := -1;
+							var integer v_acpAuxIndex := -1;
+							var CseTester v_notifyHandler;
+							var integer v_ae2Index := -1;
+							const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs";
 											   
-						// Test control
-    				
-						// Test component configuration
-						f_cf01Up();
-    				
-						// Test adapter configuration
-    				
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-					
-						// Test Body
-						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
-						v_request.resultContent := int0;//Attributes
-						
-						mcaPort.send(m_request(v_request));
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
-								tc_ac.stop;
-								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while creating resource");
+							// Test control
+							if(match(c_accessControlPolicyIDs,p_optionalAttribute.name)) {
+								if(not(PICS_ACP_SUPPORT)) {
+									setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case");
+									stop;
+								}
 							}
-							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while creating resource");
+
+							// Test component configuration
+							f_cf01Up(); 
+
+							// Test adapter configuration
+
+							// Preamble
+							if (match(c_accessControlPolicyIDs, p_optionalAttribute.name)) {
+								v_acpAuxIndex := f_cse_preamble_createAcpAux();//c_CRUDNDi)
+							}     				
+							
+							v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+							
+							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_parentIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+							
+							
+							if(p_resourceType == int4) {
+								v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
+								v_parentIndex := v_containerIndex;
 							}
-						}	
+						
+							// Test Body
+							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
+    					
+							mcaPort.send(m_request(v_request));
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
+									tc_ac.stop;
+									setverdict(pass, testcasename() & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & p_optionalAttribute.name);
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK())) -> value v_response {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " without containing attribute " & p_optionalAttribute.name);
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)) & " containing attribute" & p_optionalAttribute.name);
+								}
+								[] tc_ac.timeout {
+									setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+								}
+							}	
     								
-						// Postamble
-						f_cse_postamble_deleteResources();
-					
-						// Tear down
-						f_cf01Down();
-    				
-					}//end f_CSE_DMR_CRE_BV_012
-    				
-				} // end g_CSE_DMR_CRE_BV_012							
-
-				group g_CSE_DMR_CRE_BV_013 {
+							// Postamble
+							f_cse_postamble_deleteResources();
+							
+							// Tear down
+							f_cf01Down();
+						    					    				
+						}//end f_CSE_DMR_CRE_015
+						
+				}// end group g_CSE_DMR_CRE_015		
+				
+				group g_CSE_DMR_CRE_016 {
 					
-					testcase TC_CSE_DMR_CRE_BV_013_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announceTo provided
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_016_ACP() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.uRI := mw_contentContainer_rc2;
-					                        
-						f_CSE_DMR_CRE_BV_013(int3, m_createContainerBase, v_contentResponse);//Container
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_createRequest.primitiveContent.accessControlPolicy.announceTo := {f_getAnnouncementTargetPoA()};
+						                    
+						f_CSE_DMR_CRE_016(int1, v_createRequest, mw_createAccessControlPolicyAnnc);//AccessControlPolicy
 					}
 
-					testcase TC_CSE_DMR_CRE_BV_013_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_016_CNT() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.uRI := mw_contentGroup_rc2;
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()};
 					
-						f_CSE_DMR_CRE_BV_013(int9, m_createGroupBase, v_contentResponse);//Group
+						f_CSE_DMR_CRE_016(int3, v_createRequest, mw_createContainerAnncBase);//Container
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_013_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_016_CIN() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.uRI := mw_contentAcp_rc2;
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()};
 						
-						f_CSE_DMR_CRE_BV_013(int1, m_createAcpBase,v_contentResponse);//AccessControlPolicy
+						f_CSE_DMR_CRE_016(int4, v_createRequest, mw_createContentInstanceAnncBase);//ContentInstance
 					}
 				
-					testcase TC_CSE_DMR_CRE_BV_013_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_016_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.uRI := mw_contentSchedule_rc2;
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_createRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()};
 						
-						f_CSE_DMR_CRE_BV_013(int18, m_createScheduleBase, v_contentResponse);//Schedule
+						f_CSE_DMR_CRE_016(int9, v_createRequest, mw_createGroupAnncBase);//Group
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_013_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_016_LCP() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
+						var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit);
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_createRequest.primitiveContent.locationPolicy.announceTo := {f_getAnnouncementTargetPoA()};
+						
+						f_CSE_DMR_CRE_016(int10, v_createRequest, mw_createLocationPolicyAnncBase);//LocationPolicy
+					}
 					
-						v_contentResponse.uRI := mw_contentPollingChannel_rc2;
+					testcase TC_CSE_DMR_CRE_016_MGO() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
+						var ResponsePrimitive v_responsePrimitive;
 						
-						f_CSE_DMR_CRE_BV_013(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
+						v_createRequest.primitiveContent.mgmtResource.announceTo := {f_getAnnouncementTargetPoA()};
+
+						f_CSE_DMR_CRE_016(int13, v_createRequest, mw_createMgmtObjAnncBase);//MgmtObj
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_013_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_016_NOD() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
+						var template RequestPrimitive v_createRequest := m_createNodeBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_createRequest.primitiveContent.node.announceTo := {f_getAnnouncementTargetPoA()};
+						
+						f_CSE_DMR_CRE_016(int14, v_createRequest, mw_createNodeAnnc);//Node
+					}
 					
-						v_contentResponse.uRI := mw_contentSubscription_rc2;
+					testcase TC_CSE_DMR_CRE_016_SCH() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_createRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};
 
-						f_CSE_DMR_CRE_BV_013(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+						f_CSE_DMR_CRE_016(int18, v_createRequest, mw_createScheduleAnncBase);//Schedule
 					}
 				
-					function f_CSE_DMR_CRE_BV_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
+					function f_CSE_DMR_CRE_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
+						var integer v_parentIndex := -1;
+						var integer v_containerIndex := -1;
 											   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf02Up();
     				
 						// Test adapter configuration
     				
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						if(p_resourceType == int4) {
+							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
+							v_parentIndex := v_containerIndex;	
+						}
 					
 						// Test Body
-						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
-						v_request.resultContent := int2;//Attributes
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+							[] mccPort.receive(mw_request(p_requestAnnc)) -> value v_response {
 								tc_ac.stop;
 								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
 								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
 								setverdict(fail, testcasename() & ": Error while creating resource");
 							}
@@ -3941,101 +3970,224 @@ module OneM2M_Testcases {
 						f_cse_postamble_deleteResources();
 					
 						// Tear down
-						f_cf01Down();
+						f_cf02Down();
     				
-					}//end f_CSE_DMR_CRE_BV_013
+					}//end f_CSE_DMR_CRE_016
     				
-				} // end g_CSE_DMR_CRE_BV_013	
-							
-				group g_CSE_DMR_CRE_BV_014 {
-					
-					testcase TC_CSE_DMR_CRE_BV_014_01() runs on CseTester system CseSystem {
+				} // end g_CSE_DMR_CRE_016			
+				
+				group g_CSE_DMR_CRE_BV_017 {
+
+					/**
+					 * @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announcedAttribute provided
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_017_CNT() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.resource := mw_contentContainer_rc3;
-					                        
-						f_CSE_DMR_CRE_BV_014(int3, m_createContainerBase, v_contentResponse);//Container
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var RequestPrimitive v_requestPrimitive;
+						var XSD.NonNegativeInteger maxByteSize := 512;		//Correct value? Shall be indicated in TP?
+		
+						v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.container.maxByteSize := maxByteSize;						
+						v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};		//Correct value? Shall be indicated in TP?
+	
+						v_requestPrimitive := f_CSE_DMR_CRE_017(int3, v_createRequest, mw_createContainerAnncBase());//Container
+						
+						if(getverdict == pass){
+							//Check if maxByteSize attribute has been announced
+							if (ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){
+								if(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize != maxByteSize){
+									setverdict(fail, testcasename() & ": Error: Value of maxByteSize has not been announced successfully");
+								}else{
+									setverdict(pass, testcasename() & ": Value of maxByteSize has been announced successfully");
+								}
+							}else{
+								setverdict(fail, testcasename() & ": Error: maxByteSize has not been announced");
+							}
+						}
+					}
+	
+					testcase TC_CSE_DMR_CRE_017_CIN() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						var RequestPrimitive v_requestPrimitive;
+						var XSD.NonNegativeInteger contentSize := 512;			//Correct value? Shall be indicated in TP?
+		
+						v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.contentInstance.contentSize := contentSize;						
+						v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"contentSize"};	//Correct value? Shall be indicated in TP?
+		
+						v_requestPrimitive := f_CSE_DMR_CRE_017(int4, v_createRequest, mw_createContentInstanceAnncBase());//ContentInstance
+						
+						if(getverdict == pass){
+							//Check if contentSize attribute has been announced
+							if (ispresent(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize)){
+								if(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize != contentSize){
+									setverdict(fail, testcasename() & ": Error: Value of contentSize has not been announced successfully");
+								}else{
+									setverdict(pass, testcasename() & ": Value of contentSize has been announced successfully");
+								}
+							}else{
+								setverdict(fail, testcasename() & ": Error: contentSize has not been announced");
+							}
+						}
 					}
 
-					testcase TC_CSE_DMR_CRE_BV_014_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_CRE_017_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.resource := mw_contentGroup_rc3;
-					
-						f_CSE_DMR_CRE_BV_014(int9, m_createGroupBase, v_contentResponse);//Group
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var RequestPrimitive v_requestPrimitive;
+						var XSD.PositiveInteger maxNrOfMembers := 10;						//Correct value? Shall be indicated in TP?
+		
+						v_createRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.group_.maxNrOfMembers := maxNrOfMembers;
+						v_createRequest.primitiveContent.group_.announcedAttribute := {"maxNrOfMembers"};	//Correct value? Shall be indicated in TP?
+		
+						v_requestPrimitive := f_CSE_DMR_CRE_017(int9, v_createRequest, mw_createGroupAnncBase());//Group
+						
+						if(getverdict == pass){
+							//Check if maxNrOfMembers attribute has been announced
+							if (ispresent(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers)){
+								if(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers != maxNrOfMembers){
+									setverdict(fail, testcasename() & ": Error: Value of maxNrOfMembers has not been announced successfully");
+								}else{
+									setverdict(pass, testcasename() & ": Value of maxNrOfMembers has been announced successfully");
+								}
+							}else{
+								setverdict(fail, testcasename() & ": Error: maxNrOfMembers has not been announced");
+							}
+						}
 					}
-					
-					testcase TC_CSE_DMR_CRE_BV_014_03() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_CRE_017_LCP() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.resource := mw_contentAcp_rc3;
+						var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit);
+						var RequestPrimitive v_requestPrimitive;
+						var LocationSource locationSource := int1;//Network-based		//Correct value? Shall be indicated in TP?
+		
+						v_createRequest.primitiveContent.locationPolicy.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.locationPolicy.locationSource := locationSource;
+						v_createRequest.primitiveContent.locationPolicy.announcedAttribute := {"locationSource"};		//Correct value? Shall be indicated in TP?
+		
+						v_requestPrimitive := f_CSE_DMR_CRE_017(int10, v_createRequest, mw_createLocationPolicyAnncBase());//LocationPolicy
 						
-						f_CSE_DMR_CRE_BV_014(int1, m_createAcpBase,v_contentResponse);//AccessControlPolicy
+						if(getverdict == pass){
+							//Check if locationSource attribute has been announced
+							if (ispresent(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource)){
+								if(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource != locationSource){
+									setverdict(fail, testcasename() & ": Error: Value of locationSource has not been announced successfully");
+								}else{
+									setverdict(pass, testcasename() & ": Value of locationSource has been announced successfully");
+								}
+							}else{
+								setverdict(fail, testcasename() & ": Error: locationSource has not been announced");
+							}
+						}
 					}
-				
-					testcase TC_CSE_DMR_CRE_BV_014_04() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_CRE_017_MGO() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.resource := mw_contentSchedule_rc3;
+						var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
+						var RequestPrimitive v_requestPrimitive;
+						var XSD.String description := "Description of mgmtObj";	//Correct value? Shall be indicated in TP?
+		
+						v_createRequest.primitiveContent.mgmtResource.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.mgmtResource.description := description;			
+						v_createRequest.primitiveContent.mgmtResource.announcedAttribute := {"description"};			//Correct value? Shall be indicated in TP?
+
+						v_requestPrimitive := f_CSE_DMR_CRE_017(int13, v_createRequest, mw_createMgmtObjAnncBase());//MgmtObj
 						
-						f_CSE_DMR_CRE_BV_014(int18, m_createScheduleBase, v_contentResponse);//Schedule
+						if(getverdict == pass){
+							//Check if description attribute has been announced
+							if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource.description)){
+								if(v_requestPrimitive.primitiveContent.announcedMgmtResource.description != description){
+									setverdict(fail, testcasename() & ": Error: Value of description has not been announced successfully");
+								}else{
+									setverdict(pass, testcasename() & ": Value of description has been announced successfully");
+								}
+							}else{
+								setverdict(fail, testcasename() & ": Error: description has not been announced");
+							}
+						}
 					}
-					
-					testcase TC_CSE_DMR_CRE_BV_014_05() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_CRE_017_NOD() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.resource := mw_contentPollingChannel_rc3;
+						var template RequestPrimitive v_createRequest := m_createNodeBase;
+						var RequestPrimitive v_requestPrimitive;
+		
+						v_createRequest.primitiveContent.node.announceTo := {f_getAnnouncementTargetPoA()};
 						
-						f_CSE_DMR_CRE_BV_014(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
+						//TODO node to be done. hostedCSELink attribute (OA) to be added!!!
+		
+						v_requestPrimitive := f_CSE_DMR_CRE_017(int14, v_createRequest, mw_createNodeAnnc);//Node
 					}
-					
-					testcase TC_CSE_DMR_CRE_BV_014_06() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_CRE_017_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.resource := mw_contentSubscription_rc3;
-
-						f_CSE_DMR_CRE_BV_014(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						var RequestPrimitive v_requestPrimitive;
+						var ScheduleEntries scheduleElement := {{"0,0,0 1 2,1,1,*"}};
+		
+						v_createRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.schedule.scheduleElement := scheduleElement;			//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.schedule.announcedAttribute := {"scheduleElement"};			//Correct value? Shall be indicated in TP?
+						
+						v_requestPrimitive := f_CSE_DMR_CRE_017(int18, v_createRequest, mw_createScheduleAnncBase());//Schedule
+						
+						if(getverdict == pass){
+							//Check if scheduleElement attribute has been announced
+							if (ispresent(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement)){
+								if(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement != scheduleElement){
+									setverdict(fail, testcasename() & ": Error: Value of scheduleElement has not been announced successfully");
+								}else{
+									setverdict(pass, testcasename() & ": Value of scheduleElement has been announced successfully");
+								}
+							}else{
+								setverdict(fail, testcasename() & ": Error: scheduleElement has not been announced");
+							}
+						}
 					}
-				
-					function f_CSE_DMR_CRE_BV_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
-    				
+
+					function f_CSE_DMR_CRE_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on CseTester return RequestPrimitive{
+	
 						// Local variables
-						var MsgIn v_response;
+						var MsgIn v_anncRequest;
 						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-											   
+						var integer v_parentIndex := -1;
+						var integer v_containerIndex := -1;
+							   
 						// Test control
-    				
+	
 						// Test component configuration
-						f_cf01Up();
-    				
+						f_cf02Up();
+	
 						// Test adapter configuration
-    				
+	
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-					
+						v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						if(p_resourceType == int4) {
+							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
+							v_parentIndex := v_containerIndex;	
+						}
+	
 						// Test Body
-						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
-						v_request.resultContent := int3;//Attributes + Hierarchichal Address
-						
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
+		
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+							[] mccPort.receive(mw_request(p_requestAnnc)) -> value v_anncRequest {
 								tc_ac.stop;
 								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_anncRequest {
 								tc_ac.stop;
 								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
 								setverdict(fail, testcasename() & ": Error while creating resource");
 							}
@@ -4043,868 +4195,651 @@ module OneM2M_Testcases {
 								setverdict(inconc, testcasename() & ": No answer while creating resource");
 							}
 						}	
-    								
+					
 						// Postamble
 						f_cse_postamble_deleteResources();
-					
+	
 						// Tear down
-						f_cf01Down();
-    				
-					}//end f_CSE_DMR_CRE_BV_014
-    				
-				} // end g_CSE_DMR_CRE_BV_014
-				
-				group g_CSE_DMR_CRE_BV_015 {
-					
-					testcase TC_CSE_DMR_CRE_BV_015_01() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit};
-						
-						v_createRequest.primitiveContent.container.accessControlPolicyIDs := {"NotInitialized"};
-						
-						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);			
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_02() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
-						
-						v_createRequest.primitiveContent.container.expirationTime := "20301231T012345";
-						
-						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
-						  
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_03() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"labels", omit};
-						
-						v_createRequest.primitiveContent.container.labels := {"MyLabel"};
-						
-						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_04() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"maxNrOfInstances", omit};
-						
-						v_createRequest.primitiveContent.container.maxNrOfInstances := 0;
-						
-						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_05() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"maxByteSize", omit};
-						
-						v_createRequest.primitiveContent.container.maxByteSize := 0;
-						
-						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_06() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"maxInstanceAge", omit};
-						
-						v_createRequest.primitiveContent.container.maxInstanceAge := 0;
-						
-						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_07() runs on CseTester system CseSystem { 
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"ontologyRef", omit};
-						
-						v_createRequest.primitiveContent.container.ontologyRef := "MyOntologyRef";
-						
-						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
-						
-					}					
-					
-					testcase TC_CSE_DMR_CRE_BV_015_08() runs on CseTester system CseSystem {//TODO
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
-						
-						v_createRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345";
-						
-						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);			
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_09() runs on CseTester system CseSystem {//TODO
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"labels", omit};
-						
-						v_createRequest.primitiveContent.contentInstance.labels := {"MyLabel"};
-						
-						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);
-						  
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_10() runs on CseTester system CseSystem {//TODO
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"creator", omit};
-						
-						v_createRequest.primitiveContent.contentInstance.creator := "MyCreator";
-						
-						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_11() runs on CseTester system CseSystem {//TODO
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"contentInfo", omit};
-						
-						v_createRequest.primitiveContent.contentInstance.contentInfo := "MyContentInfo";
-						
-						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_12() runs on CseTester system CseSystem {//TODO
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"ontologyRef", omit};
-						
-						v_createRequest.primitiveContent.contentInstance.ontologyRef := "MyOntologyRef";
-						
-						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_13() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createAcpBase;
-						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
-						
-						v_createRequest.primitiveContent.accessControlPolicy.expirationTime := "20301231T012345";
-						
-						f_CSE_DMR_CRE_BV_015(int1, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_14() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createAcpBase;
-						const AttributeAux c_optionalAttribute := {"labels", omit};
-						
-						v_createRequest.primitiveContent.accessControlPolicy.labels := {"MyLabel"};
-						
-						f_CSE_DMR_CRE_BV_015(int1, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_15() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit};
-						
-						v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := {"NotInitialized"};
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);			
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_16() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
-						
-						v_createRequest.primitiveContent.subscription.expirationTime := "20301231T012345";
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
-						  
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_17() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"labels", omit};
-						
-						v_createRequest.primitiveContent.subscription.labels := {"MyLabel"};
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_18() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"eventNotificationCriteria", omit};
-						
-						v_createRequest.primitiveContent.subscription.eventNotificationCriteria := valueof(m_eventNotificationCriteria({int1}, -));
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
-						
-					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_19() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"expirationCounter", omit};
-						
-						v_createRequest.primitiveContent.subscription.expirationCounter := 1;
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
+						f_cf02Down();
 						
-					}
+						return v_anncRequest.primitive.requestPrimitive;
+	
+					}//end f_CSE_DMR_CRE_017
+	
+				} // end g_CSE_DMR_CRE_017		
+				
+			}//end group Create
+			
+			group Retrieve {
+				
+				group g_CSE_DMR_RET_001 {
 					
-					testcase TC_CSE_DMR_CRE_BV_015_20() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT returns successfully the TARGET_RESOURCE_ADDRESS resource 
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_001_CNT() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"groupID", omit};
-						
-						v_createRequest.primitiveContent.subscription.groupID := "MyGroupID";
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
-						
-					}
+						var ResponsePrimitive v_responsePrimitive;
+						var template PrimitiveContent v_contentResponse;
 					
-					testcase TC_CSE_DMR_CRE_BV_015_21() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"notificationForwardingURI", omit};
-						
-						v_createRequest.primitiveContent.subscription.notificationForwardingURI := "MyForwardingURI";
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
+						v_contentResponse.container := mw_contentContainer_rc1;
+						    
+						v_responsePrimitive := f_CSE_DMR_RET_001(int3, m_createContainerBase, v_contentResponse);//Container
 						
 					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_22() runs on CseTester system CseSystem {
+
+					testcase TC_CSE_DMR_RET_001_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"batchNotify", omit};
-						
-						v_createRequest.primitiveContent.subscription.batchNotify := {0, "PT1S"};
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
+						var ResponsePrimitive v_responsePrimitive;
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.group_ := mw_contentGroup_rc1;
+                        
+						v_responsePrimitive := f_CSE_DMR_RET_001(int9, m_createGroupBase, v_contentResponse);//Group
 						
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_015_23() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_001_ACP() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"rateLimit", omit};
-						
-						v_createRequest.primitiveContent.subscription.rateLimit := {0, omit};
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
+						var ResponsePrimitive v_responsePrimitive;
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+							
+						v_responsePrimitive := f_CSE_DMR_RET_001(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 						
 					}
-					
-					testcase TC_CSE_DMR_CRE_BV_015_24() runs on CseTester system CseSystem {
+				
+					testcase TC_CSE_DMR_RET_001_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"preSubscriptionNotify", omit};
-						
-						v_createRequest.primitiveContent.subscription.preSubscriptionNotify := 1;
+						var ResponsePrimitive v_responsePrimitive;
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.schedule := mw_contentSchedule_rc1;
 						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
+						v_responsePrimitive := f_CSE_DMR_RET_001(int18, m_createScheduleBase, v_contentResponse);//Schedule
 						
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_015_25() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_001_PCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"pendingNotification", omit};
+						var ResponsePrimitive v_responsePrimitive;
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
 						
-						v_createRequest.primitiveContent.subscription.pendingNotification := int1;
+						v_responsePrimitive := f_CSE_DMR_RET_001(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);			
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_015_26() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_001_SUB() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"notificationStoragePriority", omit};
-						
-						v_createRequest.primitiveContent.subscription.notificationStoragePriority := 1;
+						var ResponsePrimitive v_responsePrimitive;
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.subscription := mw_contentSubscription_rc1;
 						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
-						  
-					}
+						v_responsePrimitive := f_CSE_DMR_RET_001(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					
-					testcase TC_CSE_DMR_CRE_BV_015_27() runs on CseTester system CseSystem {
+					}
+				
+					function f_CSE_DMR_RET_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester return ResponsePrimitive {
+    				
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"latestNotify", omit};
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
+						    										   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up();
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_createRequest.primitiveContent.subscription.latestNotify := true;
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+    									
+						// Test Body
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
+
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Response OK for retrieving");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+							}
+						}	
+    								
+						// Postamble
+						f_cse_postamble_deleteResources();
 						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
+						// Tear down
+						f_cf01Down();
 						
-					}
+						return v_response.primitive.responsePrimitive;
+    				
+					}//end f_CSE_DMR_RET_001
+    				
+				} // end g_CSE_DMR_RET_001
+				
+				group g_CSE_DMR_RET_002 {
 					
-					testcase TC_CSE_DMR_CRE_BV_015_28() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to retrieve the resource TARGET_RESOURCE_ADDRESS which does not exist
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_002() runs on CseTester system CseSystem{
+    				
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"notificationContentType", omit};
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
 						
-						v_createRequest.primitiveContent.subscription.notificationContentType := int1;
+						var integer v_aeIndex := -1;
+						var XSD.ID v_resourceId := "nonExistingId";
+						var XSD.ID v_resourceName := "nonExistingName";
+						var XSD.ID v_targetResourceAddress;
+    										   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up();
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 		
+						
+						// Test Body
+						if((vc_addressingMethod == e_nonHierarchical) and (vc_primitiveScope == e_cseRelative)) {
+							v_targetResourceAddress := v_resourceId;
+						} else if (vc_addressingMethod == e_nonHierarchical) {
+							v_targetResourceAddress := f_getResourceAddress() & "/" & v_resourceId;
+						} else {
+							v_targetResourceAddress := f_getResourceAddress(v_aeIndex) & "/" & v_resourceName;
+						}
 						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
+						mcaPort.send(m_request(m_retrieveResource(v_targetResourceAddress, f_getOriginator(v_aeIndex))));
+
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Resource not found");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+							}
+						}	
+    								
+						// Postamble
+						f_cse_postamble_deleteResources();
 						
-					}
+						// Tear down
+						f_cf01Down();
+    				
+					}//end f_CSE_DMR_RET_002
+    				
+				} // end g_CSE_DMR_RET_002
+				
+				group g_CSE_DMR_RET_003 {
 					
-					testcase TC_CSE_DMR_CRE_BV_015_29() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to retrieve a resource TARGET_RESOURCE_ADDRESS under AE without having privileges for the RETRIEVE operation
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_003_CNT() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_RET_003(int3, m_createContainerBase);//Container
+					}
+
+					testcase TC_CSE_DMR_RET_003_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"notificationEventCat", omit};
-						
-						v_createRequest.primitiveContent.subscription.notificationEventCat := {alt_1 := 100};
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
+						f_CSE_DMR_RET_003(int9, m_createGroupBase);//Group
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_015_30() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_003_ACP() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"creator", omit};
-						
-						v_createRequest.primitiveContent.subscription.creator := "MyCreator";
+						var template RequestPrimitive v_requestPrimitive := m_createAcpBase;
 						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
+						v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
 						
+						f_CSE_DMR_RET_003(int1, v_requestPrimitive);//AccessControlPolicy
+					}
+				
+					testcase TC_CSE_DMR_RET_003_SCH() runs on CseTester system CseSystem {
+						// Local variables
+	
+						f_CSE_DMR_RET_003(int18, m_createScheduleBase);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_015_31() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_003_PCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"subscriberURI", omit};
-						
-						v_createRequest.primitiveContent.subscription.subscriberURI := "MySubscriberURI";
-						
-						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
-						
+	
+						f_CSE_DMR_RET_003(int15, m_createPollingChannelBase);//PollingChannel
+					}
+					
+					testcase TC_CSE_DMR_RET_003_SUB() runs on CseTester system CseSystem {
+							// Local variables
+	
+						f_CSE_DMR_RET_003(int23, m_createSubscriptionBase);//Subscription
 					}
 				
-					function f_CSE_DMR_CRE_BV_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on CseTester {
+					function f_CSE_DMR_RET_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
     				
-							// Local variables
-							var MsgIn v_response;
-							var RequestPrimitive v_request;
-							var integer v_containerIndex := -1;
-							var integer v_parentIndex := -1;
-							var integer v_acpAuxIndex := -1;
-							var CseTester v_notifyHandler;
-							var integer v_ae2Index := -1;
-							const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs";
-											   
-							// Test control
-							if(match(c_accessControlPolicyIDs,p_optionalAttribute.name)) {
-								if(not(PICS_ACP_SUPPORT)) {
-									setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case");
-									stop;
-								}
-							}
-
-							// Test component configuration
-							f_cf01Up(); 
-
-							// Test adapter configuration
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var XSD.ID v_acpId;
+						var integer v_aeIndex := -1;
+						var integer v_acpAuxIndex := -1;
+						var integer v_resourceIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
+    										   
+						// Test control
+						if(not(PICS_ACP_SUPPORT)) {
+							log(testcasename() & ":AccessControlPolicy support is required for executing this test case");
+							stop;
+						}
+    				
+						// Test component configuration
+						f_cf01Up();
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_acpAuxIndex := f_cse_preamble_createAcpAux(-, -);//c_CRUDNDi)
+						
+						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});//c_CRUDNDi;
+						
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+										
+ 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 	
 
-							// Preamble
-							if (match(c_accessControlPolicyIDs, p_optionalAttribute.name)) {
-								v_acpAuxIndex := f_cse_preamble_createAcpAux();//c_CRUDNDi)
-							}     				
-							
-							v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
-							
-							f_cse_preamble_subscriptionVerification(v_notifyHandler, v_parentIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-							
-							
-							if(p_resourceType == int4) {
-								v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
-								v_parentIndex := v_containerIndex;
+						f_cse_updateAcpAuxResource(int61); //c_CUDNDi
+								
+						// Test Body
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
+
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Access denied to retrieve attributes from resource type " & int2str(enum2int(p_resourceType)));
 							}
-						
-							// Test Body
-							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
-    					
-							mcaPort.send(m_request(v_request));
-							tc_ac.start;
-							alt {
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
-									tc_ac.stop;
-									setverdict(pass, testcasename() & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & p_optionalAttribute.name);
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK())) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, testcasename() & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " without containing attribute " & p_optionalAttribute.name);
-								}
-								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-									tc_ac.stop;
-									setverdict(fail, testcasename() & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)) & " containing attribute" & p_optionalAttribute.name);
-								}
-								[] tc_ac.timeout {
-									setverdict(fail, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
-								}
-							}	
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving attributes from resource without having privileges");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Retrieving attributes from resource without having privileges");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+							}
+						}	
     								
-							// Postamble
-							f_cse_postamble_deleteResources();
-							
-							// Tear down
-							f_cf01Down();
-						    					    				
-						}//end f_CSE_DMR_CRE_BV_015
+						// Postamble
+						f_cse_postamble_deleteResources();
 						
-				}// end group g_CSE_DMR_CRE_BV_015		
+						// Tear down
+						f_cf01Down();
+    				
+					}//end f_CSE_DMR_RET_003
+    				
+				} // end g_CSE_DMR_RET_003
 				
-				group g_CSE_DMR_CRE_BV_016 {
+				group g_CSE_DMR_RET_004 {
 					
-					testcase TC_CSE_DMR_CRE_BV_016_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT returns successfully the ATTRIBUTE of TARGET_RESOURCE_ADDRESS resource (“To” option)
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_004_CNT() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createAcpBase;
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_createRequest.primitiveContent.accessControlPolicy.announceTo := {f_getAnnouncementTargetPoA()};
-						                    
-						f_CSE_DMR_CRE_BV_016(int1, v_createRequest, mw_createAccessControlPolicyAnnc);//AccessControlPolicy
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
+                        
+						f_CSE_DMR_RET_004(int3, m_createContainerBase, v_contentResponse);//Container
 					}
 
-					testcase TC_CSE_DMR_CRE_BV_016_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_004_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()};
+						var template PrimitiveContent v_contentResponse;
 					
-						f_CSE_DMR_CRE_BV_016(int3, v_createRequest, mw_createContainerAnncBase);//Container
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
+												
+						f_CSE_DMR_RET_004(int9, m_createGroupBase, v_contentResponse);//Group
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_016_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_004_ACP() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()};
-						
-						f_CSE_DMR_CRE_BV_016(int4, v_createRequest, mw_createContentInstanceAnncBase);//ContentInstance
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
+							
+						f_CSE_DMR_RET_004(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
 				
-					testcase TC_CSE_DMR_CRE_BV_016_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_004_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createGroupBase;
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_createRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()};
-						
-						f_CSE_DMR_CRE_BV_016(int9, v_createRequest, mw_createGroupAnncBase);//Group
-					}
+						var template PrimitiveContent v_contentResponse;
 					
-					testcase TC_CSE_DMR_CRE_BV_016_05() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit);
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_createRequest.primitiveContent.locationPolicy.announceTo := {f_getAnnouncementTargetPoA()};
-						
-						f_CSE_DMR_CRE_BV_016(int10, v_createRequest, mw_createLocationPolicyAnncBase);//LocationPolicy
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
+							
+						f_CSE_DMR_RET_004(int18, m_createScheduleBase,v_contentResponse);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_016_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_004_PCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_createRequest.primitiveContent.mgmtResource.announceTo := {f_getAnnouncementTargetPoA()};
-
-						f_CSE_DMR_CRE_BV_016(int13, v_createRequest, mw_createMgmtObjAnncBase);//MgmtObj
-					}
+						var template PrimitiveContent v_contentResponse;
 					
-					testcase TC_CSE_DMR_CRE_BV_016_07() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createNodeBase;
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_createRequest.primitiveContent.node.announceTo := {f_getAnnouncementTargetPoA()};
-						
-						f_CSE_DMR_CRE_BV_016(int14, v_createRequest, mw_createNodeAnnc);//Node
+						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel.parentID := ?;
+							
+						f_CSE_DMR_RET_004(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_CRE_BV_016_08() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_004_SUB() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createScheduleBase;
-						var ResponsePrimitive v_responsePrimitive;
-						
-						v_createRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};
-
-						f_CSE_DMR_CRE_BV_016(int18, v_createRequest, mw_createScheduleAnncBase);//Schedule
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
+							
+						f_CSE_DMR_RET_004(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					}
 				
-					function f_CSE_DMR_CRE_BV_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on CseTester {
+					function f_CSE_DMR_RET_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var integer v_parentIndex := -1;
-						var integer v_containerIndex := -1;
-											   
+						var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
+    										   
 						// Test control
     				
 						// Test component configuration
-						f_cf02Up();
+						f_cf01Up();
     				
 						// Test adapter configuration
     				
 						// Preamble
-						v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);	
 						
-						if(p_resourceType == int4) {
-							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
-							v_parentIndex := v_containerIndex;	
-						}
-					
-						// Test Body
-						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 						
-						mcaPort.send(m_request(v_request));
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+    									
+						// Test Body
+						mcaPort.send(m_request(m_retrieveResourceAttributeToOption(f_getResourceAddress(v_resourceIndex) & v_attribute, f_getOriginator(v_resourceIndex))));
+
 						tc_ac.start;
 						alt {
-							[] mccPort.receive(mw_request(p_requestAnnc)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
+								setverdict(pass, testcasename() & ": Requested attribute retrieved successfully");
 							}
-							[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
+								setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved");
 							}
-							[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while creating resource");
+								setverdict(fail, testcasename() & ": Error while retrieving resource attribute");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while creating resource");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
 							}
 						}	
     								
 						// Postamble
 						f_cse_postamble_deleteResources();
-					
+						
 						// Tear down
-						f_cf02Down();
+						f_cf01Down();
     				
-					}//end f_CSE_DMR_CRE_BV_016
+					}//end f_CSE_DMR_RET_004
     				
-				} // end g_CSE_DMR_CRE_BV_016			
+				} // end g_CSE_DMR_RET_004
 				
-				group g_CSE_DMR_CRE_BV_017 {
-
-					testcase TC_CSE_DMR_CRE_BV_017_01() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var RequestPrimitive v_requestPrimitive;
-						var XSD.NonNegativeInteger maxByteSize := 512;		//Correct value? Shall be indicated in TP?
-		
-						v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.container.maxByteSize := maxByteSize;						
-						v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};		//Correct value? Shall be indicated in TP?
-	
-						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int3, v_createRequest, mw_createContainerAnncBase());//Container
-						
-						if(getverdict == pass){
-							//Check if maxByteSize attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){
-								if(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize != maxByteSize){
-									setverdict(fail, testcasename() & ": Error: Value of maxByteSize has not been announced successfully");
-								}else{
-									setverdict(pass, testcasename() & ": Value of maxByteSize has been announced successfully");
-								}
-							}else{
-								setverdict(fail, testcasename() & ": Error: maxByteSize has not been announced");
-							}
-						}
-					}
-	
-					testcase TC_CSE_DMR_CRE_BV_017_02() runs on CseTester system CseSystem {
+				group g_CSE_DMR_RET_005 {
+					
+					/**
+					 * @desc Check that the IUT returns  successfully the ATTRIBUTE of TARGET_RESOURCE_ADDRESS resource (“Content” option)
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_005_CNT() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						var RequestPrimitive v_requestPrimitive;
-						var XSD.NonNegativeInteger contentSize := 512;			//Correct value? Shall be indicated in TP?
-		
-						v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.contentInstance.contentSize := contentSize;						
-						v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"contentSize"};	//Correct value? Shall be indicated in TP?
-		
-						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int4, v_createRequest, mw_createContentInstanceAnncBase());//ContentInstance
-						
-						if(getverdict == pass){
-							//Check if contentSize attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize)){
-								if(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize != contentSize){
-									setverdict(fail, testcasename() & ": Error: Value of contentSize has not been announced successfully");
-								}else{
-									setverdict(pass, testcasename() & ": Value of contentSize has been announced successfully");
-								}
-							}else{
-								setverdict(fail, testcasename() & ": Error: contentSize has not been announced");
-							}
-						}
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
+						                       
+						f_CSE_DMR_RET_005(int3, m_createContainerBase, v_contentResponse);//Container
 					}
 
-					testcase TC_CSE_DMR_CRE_BV_017_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_005_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createGroupBase;
-						var RequestPrimitive v_requestPrimitive;
-						var XSD.PositiveInteger maxNrOfMembers := 10;						//Correct value? Shall be indicated in TP?
-		
-						v_createRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.group_.maxNrOfMembers := maxNrOfMembers;
-						v_createRequest.primitiveContent.group_.announcedAttribute := {"maxNrOfMembers"};	//Correct value? Shall be indicated in TP?
-		
-						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int9, v_createRequest, mw_createGroupAnncBase());//Group
-						
-						if(getverdict == pass){
-							//Check if maxNrOfMembers attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers)){
-								if(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers != maxNrOfMembers){
-									setverdict(fail, testcasename() & ": Error: Value of maxNrOfMembers has not been announced successfully");
-								}else{
-									setverdict(pass, testcasename() & ": Value of maxNrOfMembers has been announced successfully");
-								}
-							}else{
-								setverdict(fail, testcasename() & ": Error: maxNrOfMembers has not been announced");
-							}
-						}
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
+																		
+						f_CSE_DMR_RET_005(int9, m_createGroupBase, v_contentResponse);//Group
 					}
-	
-					testcase TC_CSE_DMR_CRE_BV_017_04() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_RET_005_ACP() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit);
-						var RequestPrimitive v_requestPrimitive;
-						var LocationSource locationSource := int1;//Network-based		//Correct value? Shall be indicated in TP?
-		
-						v_createRequest.primitiveContent.locationPolicy.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.locationPolicy.locationSource := locationSource;
-						v_createRequest.primitiveContent.locationPolicy.announcedAttribute := {"locationSource"};		//Correct value? Shall be indicated in TP?
-		
-						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int10, v_createRequest, mw_createLocationPolicyAnncBase());//LocationPolicy
-						
-						if(getverdict == pass){
-							//Check if locationSource attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource)){
-								if(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource != locationSource){
-									setverdict(fail, testcasename() & ": Error: Value of locationSource has not been announced successfully");
-								}else{
-									setverdict(pass, testcasename() & ": Value of locationSource has been announced successfully");
-								}
-							}else{
-								setverdict(fail, testcasename() & ": Error: locationSource has not been announced");
-							}
-						}
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
+							
+						f_CSE_DMR_RET_005(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
-	
-					testcase TC_CSE_DMR_CRE_BV_017_05() runs on CseTester system CseSystem {
+				
+					testcase TC_CSE_DMR_RET_005_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
-						var RequestPrimitive v_requestPrimitive;
-						var XSD.String description := "Description of mgmtObj";	//Correct value? Shall be indicated in TP?
-		
-						v_createRequest.primitiveContent.mgmtResource.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.mgmtResource.description := description;			
-						v_createRequest.primitiveContent.mgmtResource.announcedAttribute := {"description"};			//Correct value? Shall be indicated in TP?
-
-						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int13, v_createRequest, mw_createMgmtObjAnncBase());//MgmtObj
-						
-						if(getverdict == pass){
-							//Check if description attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource.description)){
-								if(v_requestPrimitive.primitiveContent.announcedMgmtResource.description != description){
-									setverdict(fail, testcasename() & ": Error: Value of description has not been announced successfully");
-								}else{
-									setverdict(pass, testcasename() & ": Value of description has been announced successfully");
-								}
-							}else{
-								setverdict(fail, testcasename() & ": Error: description has not been announced");
-							}
-						}
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
+								
+						f_CSE_DMR_RET_005(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
-	
-					testcase TC_CSE_DMR_CRE_BV_017_06() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_RET_005_PCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createNodeBase;
-						var RequestPrimitive v_requestPrimitive;
-		
-						v_createRequest.primitiveContent.node.announceTo := {f_getAnnouncementTargetPoA()};
-						
-						//TODO node to be done. hostedCSELink attribute (OA) to be added!!!
-		
-						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int14, v_createRequest, mw_createNodeAnnc);//Node
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel.parentID := ?;
+								
+						f_CSE_DMR_RET_005(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 					}
-	
-					testcase TC_CSE_DMR_CRE_BV_017_07() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_RET_005_SUB() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_createRequest := m_createScheduleBase;
-						var RequestPrimitive v_requestPrimitive;
-						var ScheduleEntries scheduleElement := {{"0,0,0 1 2,1,1,*"}};
-		
-						v_createRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.schedule.scheduleElement := scheduleElement;			//Correct value? Shall be indicated in TP?
-						v_createRequest.primitiveContent.schedule.announcedAttribute := {"scheduleElement"};			//Correct value? Shall be indicated in TP?
-						
-						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int18, v_createRequest, mw_createScheduleAnncBase());//Schedule
-						
-						if(getverdict == pass){
-							//Check if scheduleElement attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement)){
-								if(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement != scheduleElement){
-									setverdict(fail, testcasename() & ": Error: Value of scheduleElement has not been announced successfully");
-								}else{
-									setverdict(pass, testcasename() & ": Value of scheduleElement has been announced successfully");
-								}
-							}else{
-								setverdict(fail, testcasename() & ": Error: scheduleElement has not been announced");
-							}
-						}
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
+								
+						f_CSE_DMR_RET_005(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					}
 
-					function f_CSE_DMR_CRE_BV_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on CseTester return RequestPrimitive{
-	
+					
+					function f_CSE_DMR_RET_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
+    				
 						// Local variables
-						var MsgIn v_anncRequest;
+						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var integer v_parentIndex := -1;
-						var integer v_containerIndex := -1;
-							   
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
+    										   
 						// Test control
-	
+    				
 						// Test component configuration
-						f_cf02Up();
-	
+						f_cf01Up();
+    				
 						// Test adapter configuration
-	
+    				
 						// Preamble
-						v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-		
-						if(p_resourceType == int4) {
-							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
-							v_parentIndex := v_containerIndex;	
-						}
-	
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+    									
 						// Test Body
-						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
-		
-						mcaPort.send(m_request(v_request));
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,	{"pi"}, f_getOriginator(v_resourceIndex))));
+
 						tc_ac.start;
 						alt {
-							[] mccPort.receive(mw_request(p_requestAnnc)) -> value v_anncRequest {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
+								setverdict(pass, testcasename() & ": Requested attribute retrieved successfully");
 							}
-							[] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_anncRequest {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
+								setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved");
 							}
-							[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while creating resource");
+								setverdict(fail, testcasename() & ": Error while retrieving resource attribute");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while creating resource");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
 							}
 						}	
-					
+    								
 						// Postamble
 						f_cse_postamble_deleteResources();
-	
-						// Tear down
-						f_cf02Down();
 						
-						return v_anncRequest.primitive.requestPrimitive;
-	
-					}//end f_CSE_DMR_CRE_BV_017
-	
-				} // end g_CSE_DMR_CRE_BV_017		
-				
-			}//end group Create
-			
-			group Retrieve {
+						// Tear down
+						f_cf01Down();
+    				
+					}//end f_CSE_DMR_RET_005
+    				
+				} // end g_CSE_DMR_RET_005
 				
-				group g_CSE_DMR_RET_BV_001 {
+				group g_CSE_DMR_RET_006 {
 					
-					testcase TC_CSE_DMR_RET_BV_001_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT returns  successfully multiple attributes of TARGET_RESOURCE_ADDRESS resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_006_CNT() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container := mw_contentContainer_rc1;
-						    
-						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int3, m_createContainerBase, v_contentResponse);//Container
-						
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
+						v_contentResponse.container.creationTime := ?;
+                        
+						f_CSE_DMR_RET_006(int3, m_createContainerBase, v_contentResponse);//Container
 					}
 
-					testcase TC_CSE_DMR_RET_BV_001_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_006_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_ := mw_contentGroup_rc1;
-                        
-						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int9, m_createGroupBase, v_contentResponse);//Group
-						
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
+						v_contentResponse.group_.creationTime := ?;
+												
+						f_CSE_DMR_RET_006(int9, m_createGroupBase, v_contentResponse);//Group
 					}
 					
-					testcase TC_CSE_DMR_RET_BV_001_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_006_ACP() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
+						v_contentResponse.accessControlPolicy.creationTime := ?;
 							
-						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
-						
+						f_CSE_DMR_RET_006(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
 				
-					testcase TC_CSE_DMR_RET_BV_001_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_006_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule := mw_contentSchedule_rc1;
-						
-						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int18, m_createScheduleBase, v_contentResponse);//Schedule
-						
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
+						v_contentResponse.schedule.creationTime := ?;
+							
+						f_CSE_DMR_RET_006(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_RET_BV_001_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_006_PCH() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
-						
-						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
-						
+						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel.parentID := ?;
+						v_contentResponse.pollingChannel.creationTime := ?;
+							
+						f_CSE_DMR_RET_006(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_RET_BV_001_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_006_SUB() runs on CseTester system CseSystem {
 						// Local variables
-						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription := mw_contentSubscription_rc1;
-						
-						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
-					
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
+						v_contentResponse.subscription.creationTime := ?;
+							
+						f_CSE_DMR_RET_006(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					}
-				
-					function f_CSE_DMR_RET_BV_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester return ResponsePrimitive {
+
+					
+					function f_CSE_DMR_RET_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -4913,7 +4848,7 @@ module OneM2M_Testcases {
 						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
 						var integer v_ae2Index := -1;
-						    										   
+    										   
 						// Test control
     				
 						// Test component configuration
@@ -4929,24 +4864,25 @@ module OneM2M_Testcases {
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,
+																						{"pi", "ct"}, f_getOriginator(v_resourceIndex))));
 
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Response OK for retrieving");
+								setverdict(pass, testcasename() & ": Requested attributes retrieved successfully");
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements");
+								setverdict(fail, testcasename() & ": Error, not only requested attributes retrieved");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
+								setverdict(fail, testcasename() & ": Error while retrieving resource attributes");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attributes");
 							}
 						}	
     								
@@ -4955,26 +4891,64 @@ module OneM2M_Testcases {
 						
 						// Tear down
 						f_cf01Down();
-						
-						return v_response.primitive.responsePrimitive;
     				
-					}//end f_CSE_DMR_RET_BV_001
+					}//end f_CSE_DMR_RET_006
     				
-				} // end g_CSE_DMR_RET_BV_001
+				} // end g_CSE_DMR_RET_006
+				
+				group g_CSE_DMR_RET_007 {
+					
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to retrieve a non-existing attribute of the TARGET_RESOURCE_ADDRESS resource (“single” attribute case)
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_007_CNT_LBL() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_RET_007(int3, m_createContainerBase);//Container
+					}
+
+					testcase TC_CSE_DMR_RET_007_GRP_LBL() runs on CseTester system CseSystem {
+						// Local variables
+						
+						f_CSE_DMR_RET_007(int9, m_createGroupBase);//Group
+					}
+					
+					testcase TC_CSE_DMR_RET_007_ACP_LBL() runs on CseTester system CseSystem {
+						// Local variables
+	
+						f_CSE_DMR_RET_007(int1, m_createAcpBase);//AccessControlPolicy
+					}
 				
-				group g_CSE_DMR_RET_BO_002 {
+					testcase TC_CSE_DMR_RET_007_SCH_LBL() runs on CseTester system CseSystem {
+						// Local variables
+	
+						f_CSE_DMR_RET_007(int18, m_createScheduleBase);//Schedule
+					}
+					
+					testcase TC_CSE_DMR_RET_007_PCH_LBL() runs on CseTester system CseSystem {
+						// Local variables
+	
+						f_CSE_DMR_RET_007(int15, m_createPollingChannelBase);//PollingChannel
+					}
+					
+					testcase TC_CSE_DMR_RET_007_SUB_LBL() runs on CseTester system CseSystem {
+							// Local variables
+	
+						f_CSE_DMR_RET_007(int23, m_createSubscriptionBase);//Subscription
+					}
+
 					
-					testcase TC_CSE_DMR_RET_BO_002() runs on CseTester system CseSystem{
+					function f_CSE_DMR_RET_007(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						
 						var integer v_aeIndex := -1;
-						var XSD.ID v_resourceId := "nonExistingId";
-						var XSD.ID v_resourceName := "nonExistingName";
-						var XSD.ID v_targetResourceAddress;
-    										   
+						var integer v_resourceIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
+											   
 						// Test control
     				
 						// Test component configuration
@@ -4983,35 +4957,31 @@ module OneM2M_Testcases {
 						// Test adapter configuration
     				
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 		
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						// Test Body
-						if((vc_addressingMethod == e_nonHierarchical) and (vc_primitiveScope == e_cseRelative)) {
-							v_targetResourceAddress := v_resourceId;
-						} else if (vc_addressingMethod == e_nonHierarchical) {
-							v_targetResourceAddress := f_getResourceAddress() & "/" & v_resourceId;
-						} else {
-							v_targetResourceAddress := f_getResourceAddress(v_aeIndex) & "/" & v_resourceName;
-						}
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 						
-						mcaPort.send(m_request(m_retrieveResource(v_targetResourceAddress, f_getOriginator(v_aeIndex))));
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+    									
+						// Test Body
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
+																						{"lbl"}, f_getOriginator(v_resourceIndex))));
 
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Resource not found");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
+								setverdict(fail, testcasename() & ": Error while retrieving non existing resource attribute");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
+								setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
 							}
 						}	
     								
@@ -5021,68 +4991,64 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
     				
-					}//end f_CSE_DMR_RET_BO_002
+					}//end f_CSE_DMR_RET_007
     				
-				} // end g_CSE_DMR_RET_BO_002
+				} // end g_CSE_DMR_RET_007
 				
-				group g_CSE_DMR_RET_BO_003 {
+				group g_CSE_DMR_RET_008 {
 					
-					testcase TC_CSE_DMR_RET_BO_003_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to retrieve a non-existing attributes of the TARGET_RESOURCE_ADDRESS resource (“multiple” attributes case)
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_008_CNT_AT() runs on CseTester system CseSystem {
 						// Local variables
                         
-						f_CSE_DMR_RET_BO_003(int3, m_createContainerBase);//Container
+						f_CSE_DMR_RET_008(int3, m_createContainerBase);//Container
 					}
 
-					testcase TC_CSE_DMR_RET_BO_003_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_008_GRP_AT() runs on CseTester system CseSystem {
 						// Local variables
 						
-						f_CSE_DMR_RET_BO_003(int9, m_createGroupBase);//Group
+						f_CSE_DMR_RET_008(int9, m_createGroupBase);//Group
 					}
 					
-					testcase TC_CSE_DMR_RET_BO_003_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_008_ACP_AT() runs on CseTester system CseSystem {
 						// Local variables
-						var template RequestPrimitive v_requestPrimitive := m_createAcpBase;
-						
-						v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
-						
-						f_CSE_DMR_RET_BO_003(int1, v_requestPrimitive);//AccessControlPolicy
+	
+						f_CSE_DMR_RET_008(int1, m_createAcpBase);//AccessControlPolicy
 					}
 				
-					testcase TC_CSE_DMR_RET_BO_003_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_008_SCH_AT() runs on CseTester system CseSystem {
 						// Local variables
 	
-						f_CSE_DMR_RET_BO_003(int18, m_createScheduleBase);//Schedule
+						f_CSE_DMR_RET_008(int18, m_createScheduleBase);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_RET_BO_003_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_008_PCH_AT() runs on CseTester system CseSystem {
 						// Local variables
 	
-						f_CSE_DMR_RET_BO_003(int15, m_createPollingChannelBase);//PollingChannel
+						f_CSE_DMR_RET_008(int15, m_createPollingChannelBase);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_RET_BO_003_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_008_SUB_AT() runs on CseTester system CseSystem {
 							// Local variables
 	
-						f_CSE_DMR_RET_BO_003(int23, m_createSubscriptionBase);//Subscription
-						}
-				
-					function f_CSE_DMR_RET_BO_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
+						f_CSE_DMR_RET_008(int23, m_createSubscriptionBase);//Subscription
+					}
+
+					
+					function f_CSE_DMR_RET_008(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var XSD.ID v_acpId;
 						var integer v_aeIndex := -1;
-						var integer v_acpAuxIndex := -1;
 						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
 						var integer v_ae2Index := -1;
-    										   
+											   
 						// Test control
-						if(not(PICS_ACP_SUPPORT)) {
-							log(testcasename() & ":AccessControlPolicy support is required for executing this test case");
-							stop;
-						}
     				
 						// Test component configuration
 						f_cf01Up();
@@ -5090,35 +5056,31 @@ module OneM2M_Testcases {
 						// Test adapter configuration
     				
 						// Preamble
-						v_acpAuxIndex := f_cse_preamble_createAcpAux(-, -);//c_CRUDNDi)
-						
-						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});//c_CRUDNDi;
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
 						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-										
- 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 	
-
-						f_cse_updateAcpAuxResource(int61); //c_CUDNDi
-								
+						
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+    									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
+																						{"lbl", "at"}, f_getOriginator(v_resourceIndex))));
 
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Access denied to retrieve attributes from resource type " & int2str(enum2int(p_resourceType)));
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving attributes from resource without having privileges");
+								setverdict(fail, testcasename() & ": Error while retrieving non existing resource attributes");
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Retrieving attributes from resource without having privileges");
+								setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attributes");
 							}
 						}	
     								
@@ -5128,84 +5090,205 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
     				
-					}//end f_CSE_DMR_RET_BO_003
+					}//end f_CSE_DMR_RET_008
     				
-				} // end g_CSE_DMR_RET_BO_003
+				} // end f_CSE_DMR_RET_008
 				
-				group g_CSE_DMR_RET_BV_004 {
-					
-					
-					testcase TC_CSE_DMR_RET_BV_004_01() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.container := m_contentContainer_allOmit;
-						v_contentResponse.container.parentID := ?;
-                        
-						f_CSE_DMR_RET_BV_004(int3, m_createContainerBase, v_contentResponse);//Container
-					}
+				group g_CSE_DMR_RET_009{
 
-					testcase TC_CSE_DMR_RET_BV_004_02() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.group_ := m_contentGroup_allOmit;
-						v_contentResponse.group_.parentID := ?;
-												
-						f_CSE_DMR_RET_BV_004(int9, m_createGroupBase, v_contentResponse);//Group
-					}
+					/**
+					 * @desc Check that the IUT rejects the RETRIEVE Request of a latest resource target to a container resource that has no direct child contentInstance resources.
+					 * 
+					 */
+				  	testcase TC_CSE_DMR_RET_009() runs on CseTester system CseSystem {
+					  	// Local variables
+					  	var RequestPrimitive v_request;
+					  	var integer v_aeIndex := -1;
+					  	var integer v_containerIndex := -1;
+					  	var integer v_resourceIndex := -1;
+		    										   
+					  	// Test control
+	
+					  	// Test component configuration
+					  	f_cf01Up();
+	
+					  	// Test adapter configuration
+	
+					  	// Preamble
+					  	v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+					  	v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 	
+		
+					  	// Test Body
+					  	mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex))));
+
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Resource not found");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+							}
+						}	
 					
-					testcase TC_CSE_DMR_RET_BV_004_03() runs on CseTester system CseSystem {
+					  	// Postamble
+					  	f_cse_postamble_deleteResources();
+		
+					  	// Tear down
+					  	f_cf01Down();
+
+				  	}//end TC_CSE_DMR_RET_009
+
+			  	} // end group g_CSE_DMR_RET_009
+			  	
+				group g_CSE_DMR_RET_010{
+
+					/**
+					 * @desc Check that the IUT accepts the RETRIEVE Request of the oldest contentInstance target to a <container> resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_010() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_004(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
-					}
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						var integer v_contentInstanceIndex1 := -1; 
+						var integer v_contentInstanceIndex2 := -1;
+						var template PrimitiveContent v_contentResponse;                        
+						    										   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up();
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 	
+						
+						v_contentInstanceIndex1 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);
+						
+						v_contentInstanceIndex2 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);  
+						
+						v_contentResponse.contentInstance := mw_contentContentInstanceBase;
+						v_contentResponse.contentInstance.resourceName := vc_resourcesList[v_contentInstanceIndex1].resource.contentInstance.resourceName;
+    									
+						// Test Body
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest, f_getOriginator(v_containerIndex))));
+
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))){
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": resourceName attribute of <oldest> resource retrieved successfully");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error, resourceName attribute of <oldest> resource value not expected");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving <oldest> resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while retrieving <oldest> resource");
+							}
+						}	
+    								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+
+					}//end TC_CSE_DMR_RET_010
+
+				} // end group g_CSE_DMR_RET_010
 				
-					testcase TC_CSE_DMR_RET_BV_004_04() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.schedule := m_contentSchedule_allOmit;
-						v_contentResponse.schedule.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_004(int18, m_createScheduleBase,v_contentResponse);//Schedule
-					}
-					
-					testcase TC_CSE_DMR_RET_BV_004_05() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
-						v_contentResponse.pollingChannel.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_004(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
-					}
-					
-					testcase TC_CSE_DMR_RET_BV_004_06() runs on CseTester system CseSystem {
+				group g_CSE_DMR_RET_011{
+
+					/**
+					 * @desc Check that the IUT rejects the RETRIEVE Request of a oldest resource target to a container resource that has no direct child contentInstance resources.
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_011() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						var integer v_resourceIndex := -1;
+		    										   
+						// Test control
+	
+						// Test component configuration
+						f_cf01Up();
+	
+						// Test adapter configuration
+	
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 	
+		
+						// Test Body
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest, f_getOriginator(v_containerIndex))));
+
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Resource not found");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+							}
+						}	
 					
-						v_contentResponse.subscription := m_contentSubscription_allOmit;
-						v_contentResponse.subscription.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_004(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
-					}
+						// Postamble
+						f_cse_postamble_deleteResources();
+		
+						// Tear down
+						f_cf01Down();
+
+					}//end TC_CSE_DMR_RET_011
+
+				} // end group g_CSE_DMR_RET_011
 				
-					function f_CSE_DMR_RET_BV_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
-    				
+				group g_CSE_DMR_RET_012{
+
+					/**
+					 * @desc Check that the IUT accepts the RETRIEVE Request of the latest contentInstance target to a <container> resource7
+					 * 
+					 */
+				  	testcase TC_CSE_DMR_RET_012() runs on CseTester system CseSystem {
 						// Local variables
-						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved
 						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
-						var CseTester v_notifyHandler;
-						var integer v_ae2Index := -1;
-    										   
+						var integer v_containerIndex := -1;
+						var integer v_contentInstanceIndex1 := -1; 
+						var integer v_contentInstanceIndex2 := -1;
+						var template PrimitiveContent v_contentResponse;                        
+						    										   
 						// Test control
     				
 						// Test component configuration
@@ -5214,31 +5297,37 @@ module OneM2M_Testcases {
 						// Test adapter configuration
     				
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);	
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 	
 						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
-    									
+						v_contentInstanceIndex1 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);
+						
+						v_contentInstanceIndex2 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);  
+						
+						v_contentResponse.contentInstance := mw_contentContentInstanceBase;
+						v_contentResponse.contentInstance.resourceName := vc_resourcesList[v_contentInstanceIndex2].resource.contentInstance.resourceName;
+						 
+    					
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeToOption(f_getResourceAddress(v_resourceIndex) & v_attribute, f_getOriginator(v_resourceIndex))));
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex))));
 
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))){
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Requested attribute retrieved successfully");
+								setverdict(pass, testcasename() & ": resourceName attribute of <latest> resource retrieved successfully");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved");
+								setverdict(fail, testcasename() & ": Error, resourceName attribute of <latest> resource value not expected");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource attribute");
+								setverdict(fail, testcasename() & ": Error while retrieving <latest> resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
+								setverdict(inconc, testcasename() & ": No answer while retrieving <latest> resource");
 							}
 						}	
     								
@@ -5247,76 +5336,88 @@ module OneM2M_Testcases {
 						
 						// Tear down
 						f_cf01Down();
-    				
-					}//end f_CSE_DMR_RET_BV_004
-    				
-				} // end g_CSE_DMR_RET_BV_004
-				
-				group g_CSE_DMR_RET_BV_005 {
-					
+
+				  	}//end TC_CSE_DMR_RET_012
+
+			  	} // end group g_CSE_DMR_RET_012
+
+				group g_CSE_DMR_RET_013 {
 					
-					testcase TC_CSE_DMR_RET_BV_005_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT returns successfully the TARGET_RESOURCE_ADDRESS resource under CSEBase
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_013_ACP() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container := m_contentContainer_allOmit;
-						v_contentResponse.container.parentID := ?;
-						                       
-						f_CSE_DMR_RET_BV_005(int3, m_createContainerBase, v_contentResponse);//Container
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+							
+						f_CSE_DMR_RET_013(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
+						
 					}
-
-					testcase TC_CSE_DMR_RET_BV_005_02() runs on CseTester system CseSystem {
+					
+					testcase TC_CSE_DMR_RET_013_AE() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_ := m_contentGroup_allOmit;
-						v_contentResponse.group_.parentID := ?;
-																		
-						f_CSE_DMR_RET_BV_005(int9, m_createGroupBase, v_contentResponse);//Group
+						v_contentResponse.aE := mw_contentAeBase;
+							
+						f_CSE_DMR_RET_013(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
+						
 					}
+										
+					testcase TC_CSE_DMR_RET_013_CNT() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
 					
-					testcase TC_CSE_DMR_RET_BV_005_03() runs on CseTester system CseSystem {
+						v_contentResponse.container := mw_contentContainer_rc1;
+						    
+						f_CSE_DMR_RET_013(int3, m_createContainerBase, v_contentResponse);//Container
+						
+					}
+
+					testcase TC_CSE_DMR_RET_013_GRP() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_005(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
+						v_contentResponse.group_ := mw_contentGroup_rc1;
+                        
+						f_CSE_DMR_RET_013(int9, m_createGroupBase, v_contentResponse);//Group
+						
 					}
 				
-					testcase TC_CSE_DMR_RET_BV_005_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_013_CSR() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule := m_contentSchedule_allOmit;
-						v_contentResponse.schedule.parentID := ?;
-								
-						f_CSE_DMR_RET_BV_005(int18, m_createScheduleBase, v_contentResponse);//Schedule
+						v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
+							
+						f_CSE_DMR_RET_013(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
+						
 					}
-					
-					testcase TC_CSE_DMR_RET_BV_005_05() runs on CseTester system CseSystem {
+				
+					testcase TC_CSE_DMR_RET_013_SCH() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
-						v_contentResponse.pollingChannel.parentID := ?;
-								
-						f_CSE_DMR_RET_BV_005(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
+						v_contentResponse.schedule := mw_contentSchedule_rc1;
+						
+						f_CSE_DMR_RET_013(int18, m_createScheduleBase, v_contentResponse);//Schedule
+						
 					}
 					
-					testcase TC_CSE_DMR_RET_BV_005_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_013_SUB() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription := m_contentSubscription_allOmit;
-						v_contentResponse.subscription.parentID := ?;
-								
-						f_CSE_DMR_RET_BV_005(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
-						}
-
+						v_contentResponse.subscription := mw_contentSubscription_rc1;
+						
+						f_CSE_DMR_RET_013(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					
-					function f_CSE_DMR_RET_BV_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
+					}
+				
+					function f_CSE_DMR_RET_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -5325,40 +5426,48 @@ module OneM2M_Testcases {
 						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
 						var integer v_ae2Index := -1;
-    										   
+						    										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf02Up();
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							
 						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
+						} else {	//ResourceType = RemoteCSE
+													
+							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
+								
+						}
+						
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,	{"pi"}, f_getOriginator(v_resourceIndex))));
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_aeIndex))));//from AE ID
 
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Requested attribute retrieved successfully");
+								setverdict(pass, testcasename() & ": Response OK for retrieving");
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved");
+								setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements");
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource attribute");
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
+								setverdict(fail, testcasename() & ": No answer while retrieving resource");
 							}
 						}	
     								
@@ -5366,93 +5475,74 @@ module OneM2M_Testcases {
 						f_cse_postamble_deleteResources();
 						
 						// Tear down
-						f_cf01Down();
-    				
-					}//end f_CSE_DMR_RET_BV_005
+						f_cf02Down();
+						
+					}//end f_CSE_DMR_RET_013
     				
-				} // end g_CSE_DMR_RET_BV_005
-				
-				group g_CSE_DMR_RET_BV_006 {
-					
+				} // end g_CSE_DMR_RET_013
+
+				group g_CSE_DMR_RET_014 {
 					
-					testcase TC_CSE_DMR_RET_BV_006_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to retrieve a resource TARGET_RESOURCE_ADDRESS under CSEBase without having privileges for the RETRIEVE operation
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_014_ACP() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.container := m_contentContainer_allOmit;
-						v_contentResponse.container.parentID := ?;
-						v_contentResponse.container.creationTime := ?;
-                        
-						f_CSE_DMR_RET_BV_006(int3, m_createContainerBase, v_contentResponse);//Container
+						var template RequestPrimitive v_requestPrimitive := m_createAcpBase;
+						
+						v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
+						
+						f_CSE_DMR_RET_014(int1, v_requestPrimitive);//AccessControlPolicy
 					}
-
-					testcase TC_CSE_DMR_RET_BV_006_02() runs on CseTester system CseSystem {
+				
+					testcase TC_CSE_DMR_RET_014_AE() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.group_ := m_contentGroup_allOmit;
-						v_contentResponse.group_.parentID := ?;
-						v_contentResponse.group_.creationTime := ?;
-												
-						f_CSE_DMR_RET_BV_006(int9, m_createGroupBase, v_contentResponse);//Group
+	
+						f_CSE_DMR_RET_014(int2, m_createPollingChannelBase);//AE
 					}
 					
-					testcase TC_CSE_DMR_RET_BV_006_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_014_CNT() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy.parentID := ?;
-						v_contentResponse.accessControlPolicy.creationTime := ?;
-							
-						f_CSE_DMR_RET_BV_006(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
+                        
+						f_CSE_DMR_RET_014(int3, m_createContainerBase);//Container
 					}
-				
-					testcase TC_CSE_DMR_RET_BV_006_04() runs on CseTester system CseSystem {
+
+					testcase TC_CSE_DMR_RET_014_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.schedule := m_contentSchedule_allOmit;
-						v_contentResponse.schedule.parentID := ?;
-						v_contentResponse.schedule.creationTime := ?;
-							
-						f_CSE_DMR_RET_BV_006(int18, m_createScheduleBase, v_contentResponse);//Schedule
+						
+						f_CSE_DMR_RET_014(int9, m_createGroupBase);//Group
 					}
 					
-					testcase TC_CSE_DMR_RET_BV_006_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_014_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
-						v_contentResponse.pollingChannel.parentID := ?;
-						v_contentResponse.pollingChannel.creationTime := ?;
-							
-						f_CSE_DMR_RET_BV_006(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
+	
+						f_CSE_DMR_RET_014(int18, m_createScheduleBase);//Schedule
 					}
-					
-					testcase TC_CSE_DMR_RET_BV_006_06() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.subscription := m_contentSubscription_allOmit;
-						v_contentResponse.subscription.parentID := ?;
-						v_contentResponse.subscription.creationTime := ?;
-							
-						f_CSE_DMR_RET_BV_006(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+										
+					testcase TC_CSE_DMR_RET_014_SUB() runs on CseTester system CseSystem {
+							// Local variables
+	
+						f_CSE_DMR_RET_014(int23, m_createSubscriptionBase);//Subscription
 						}
-
-					
-					function f_CSE_DMR_RET_BV_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
+				
+					function f_CSE_DMR_RET_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
+						var XSD.ID v_acpId;
 						var integer v_aeIndex := -1;
+						var integer v_acpAuxIndex := -1;
 						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
+						if(not(PICS_ACP_SUPPORT)) {
+							log(testcasename() & ":AccessControlPolicy support is required for executing this test case");
+							stop;
+						}
     				
 						// Test component configuration
 						f_cf01Up();
@@ -5460,32 +5550,35 @@ module OneM2M_Testcases {
 						// Test adapter configuration
     				
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						v_acpAuxIndex := f_cse_preamble_createAcpAux(-, -);//c_CRUDNDi)
 						
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});//c_CRUDNDi;
 						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
-    									
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+										
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
+
+						f_cse_updateAcpAuxResource(int61); //c_CUDNDi
+								
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,
-																						{"pi", "ct"}, f_getOriginator(v_resourceIndex))));
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_aeIndex))));//from AE ID
 
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Requested attributes retrieved successfully");
+								setverdict(pass, testcasename() & ": Access denied to retrieve attributes from resource type " & int2str(enum2int(p_resourceType)));
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, not only requested attributes retrieved");
+								setverdict(fail, testcasename() & ": Error while retrieving attributes from resource without having privileges");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource attributes");
+								setverdict(fail, testcasename() & ": Retrieving attributes from resource without having privileges");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attributes");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
 							}
 						}	
     								
@@ -5495,90 +5588,133 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
     				
-					}//end f_CSE_DMR_RET_BV_006
+					}//end f_CSE_DMR_RET_014
     				
-				} // end g_CSE_DMR_RET_BV_006
-				
-				group g_CSE_DMR_RET_BO_007 {
+				} // end g_CSE_DMR_RET_014
+
+				group g_CSE_DMR_RET_015 {
+					
+					/**
+					 * @desc Check that the IUT returns successfully the ATTRIBUTE of TARGET_RESOURCE_ADDRESS resource (“To” option) under CSEBase
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_015_ACP() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
+							
+						f_CSE_DMR_RET_015(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
+					}
 					
+					testcase TC_CSE_DMR_RET_015_AE() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
 					
-					testcase TC_CSE_DMR_RET_BO_007_01() runs on CseTester system CseSystem {
+						v_contentResponse.aE := m_contentAe_allOmit;
+						v_contentResponse.aE.parentID := ?;
+							
+						f_CSE_DMR_RET_015(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
+					}
+															
+					testcase TC_CSE_DMR_RET_015_CNT() runs on CseTester system CseSystem {
 						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
                         
-						f_CSE_DMR_RET_BO_007(int3, m_createContainerBase);//Container
+						f_CSE_DMR_RET_015(int3, m_createContainerBase, v_contentResponse);//Container
 					}
 
-					testcase TC_CSE_DMR_RET_BO_007_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_015_GRP() runs on CseTester system CseSystem {
 						// Local variables
-						
-						f_CSE_DMR_RET_BO_007(int9, m_createGroupBase);//Group
-					}
+						var template PrimitiveContent v_contentResponse;
 					
-					testcase TC_CSE_DMR_RET_BO_007_03() runs on CseTester system CseSystem {
-						// Local variables
-	
-						f_CSE_DMR_RET_BO_007(int1, m_createAcpBase);//AccessControlPolicy
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
+												
+						f_CSE_DMR_RET_015(int9, m_createGroupBase, v_contentResponse);//Group
 					}
 				
-					testcase TC_CSE_DMR_RET_BO_007_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_015_CSR() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_007(int18, m_createScheduleBase);//Schedule
+						var template PrimitiveContent v_contentResponse;
+
+						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
+						v_contentResponse.remoteCSE.parentID := ?;
+		
+						f_CSE_DMR_RET_015(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
 					}
-					
-					testcase TC_CSE_DMR_RET_BO_007_05() runs on CseTester system CseSystem {
+				
+					testcase TC_CSE_DMR_RET_015_SCH() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_007(int15, m_createPollingChannelBase);//PollingChannel
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
+							
+						f_CSE_DMR_RET_015(int18, m_createScheduleBase,v_contentResponse);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_RET_BO_007_06() runs on CseTester system CseSystem {
-							// Local variables
-	
-						f_CSE_DMR_RET_BO_007(int23, m_createSubscriptionBase);//Subscription
-						}
-
+					testcase TC_CSE_DMR_RET_015_SUB() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
 					
-					function f_CSE_DMR_RET_BO_007(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
+							
+						f_CSE_DMR_RET_015(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+					}
+				
+					function f_CSE_DMR_RET_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
+						var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
 						var integer v_ae2Index := -1;
-											   
+    										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf02Up();
     				
 						// Test adapter configuration
     				
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);	
 						
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							
 						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
+						} else {
+							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
+						}
+						
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
-																						{"lbl"}, f_getOriginator(v_resourceIndex))));
+						mcaPort.send(m_request(m_retrieveResourceAttributeToOption(f_getResourceAddress(v_resourceIndex) & v_attribute, f_getOriginator(v_aeIndex))));//from AE ID
 
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Requested attribute retrieved successfully");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving non existing resource attribute");
+								setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist");
+								setverdict(fail, testcasename() & ": Error while retrieving resource attribute");
 							}
 							[] tc_ac.timeout {
 								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
@@ -5589,53 +5725,90 @@ module OneM2M_Testcases {
 						f_cse_postamble_deleteResources();
 						
 						// Tear down
-						f_cf01Down();
+						f_cf02Down();
     				
-					}//end f_CSE_DMR_RET_BO_007
+					}//end f_CSE_DMR_RET_015
     				
-				} // end g_CSE_DMR_RET_BO_007
-				
-				group g_CSE_DMR_RET_BO_008 {
+				} // end g_CSE_DMR_RET_015
+
+				group g_CSE_DMR_RET_016 {
+					
+					/**
+					 * @desc Check that the IUT returns successfully the ATTRIBUTE of TARGET_RESOURCE_ADDRESS resource (“Content” option) under CSEBase
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_016_ACP() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
 					
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
+							
+						f_CSE_DMR_RET_016(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
+					}
 					
-					testcase TC_CSE_DMR_RET_BO_008_01() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_016_AE() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_RET_BO_008(int3, m_createContainerBase);//Container
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.aE := m_contentAe_allOmit;
+						v_contentResponse.aE.parentID := ?;
+								
+						f_CSE_DMR_RET_016(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
 					}
-
-					testcase TC_CSE_DMR_RET_BO_008_02() runs on CseTester system CseSystem {
+										
+					testcase TC_CSE_DMR_RET_016_CNT() runs on CseTester system CseSystem {
 						// Local variables
-						
-						f_CSE_DMR_RET_BO_008(int9, m_createGroupBase);//Group
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
+						                       
+						f_CSE_DMR_RET_016(int3, m_createContainerBase, v_contentResponse);//Container
 					}
+
+					testcase TC_CSE_DMR_RET_016_GRP() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
 					
-					testcase TC_CSE_DMR_RET_BO_008_03() runs on CseTester system CseSystem {
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
+																		
+						f_CSE_DMR_RET_016(int9, m_createGroupBase, v_contentResponse);//Group
+					}
+				
+					testcase TC_CSE_DMR_RET_016_CSR() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_008(int1, m_createAcpBase);//AccessControlPolicy
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
+						v_contentResponse.remoteCSE.parentID := ?;
+								
+						f_CSE_DMR_RET_016(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
 					}
 				
-					testcase TC_CSE_DMR_RET_BO_008_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_016_SCH() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_008(int18, m_createScheduleBase);//Schedule
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
+								
+						f_CSE_DMR_RET_016(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_RET_BO_008_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_016_SUB() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_008(int15, m_createPollingChannelBase);//PollingChannel
-					}
+						var template PrimitiveContent v_contentResponse;
 					
-					testcase TC_CSE_DMR_RET_BO_008_06() runs on CseTester system CseSystem {
-							// Local variables
-	
-						f_CSE_DMR_RET_BO_008(int23, m_createSubscriptionBase);//Subscription
-						}
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
+								
+						f_CSE_DMR_RET_016(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+					}
 
 					
-					function f_CSE_DMR_RET_BO_008(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
+					function f_CSE_DMR_RET_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -5644,40 +5817,45 @@ module OneM2M_Testcases {
 						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
 						var integer v_ae2Index := -1;
-											   
+    										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						 f_cf02Up();
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+	
 						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
-						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
-																						{"lbl", "at"}, f_getOriginator(v_resourceIndex))));
+						}else{
+							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
+						}
+						
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,	{"pi"}, f_getOriginator(v_aeIndex))));//from AE ID
 
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Requested attribute retrieved successfully");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving non existing resource attributes");
+								setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist");
+								setverdict(fail, testcasename() & ": Error while retrieving resource attribute");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attributes");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
 							}
 						}	
     								
@@ -5685,114 +5863,145 @@ module OneM2M_Testcases {
 						f_cse_postamble_deleteResources();
 						
 						// Tear down
-						f_cf01Down();
+						f_cf02Down();
     				
-					}//end f_CSE_DMR_RET_BO_008
+					}//end f_CSE_DMR_RET_016
     				
-				} // end f_CSE_DMR_RET_BO_008
-				
-				group g_CSE_DMR_RET_BO_009{
-
-				  	testcase TC_CSE_DMR_RET_BO_009() runs on CseTester system CseSystem {
-					  	// Local variables
-					  	var RequestPrimitive v_request;
-					  	var integer v_aeIndex := -1;
-					  	var integer v_containerIndex := -1;
-					  	var integer v_resourceIndex := -1;
-		    										   
-					  	// Test control
-	
-					  	// Test component configuration
-					  	f_cf01Up();
-	
-					  	// Test adapter configuration
-	
-					  	// Preamble
-					  	v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-		
-					  	v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 	
-		
-					  	// Test Body
-					  	mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex))));
+				} // end g_CSE_DMR_RET_016
 
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){
-								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Resource not found");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
-							}
-						}	
+				group g_CSE_DMR_RET_017 {
 					
-					  	// Postamble
-					  	f_cse_postamble_deleteResources();
-		
-					  	// Tear down
-					  	f_cf01Down();
+					/**
+					 * @desc Check that the IUT returns  successfully multiple attributes of TARGET_RESOURCE_ADDRESS resource under CSEBase
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_BV_ACP() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
+						v_contentResponse.accessControlPolicy.creationTime := ?;
+							
+						f_CSE_DMR_RET_017(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
+					}
+										
+					testcase TC_CSE_DMR_RET_BV_AE() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.aE := m_contentAe_allOmit;
+						v_contentResponse.aE.parentID := ?;
+						v_contentResponse.aE.creationTime := ?;
+							
+						f_CSE_DMR_RET_017(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
+					}
+										
+					testcase TC_CSE_DMR_RET_BV_CNT() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
+						v_contentResponse.container.creationTime := ?;
+                        
+						f_CSE_DMR_RET_017(int3, m_createContainerBase, v_contentResponse);//Container
+					}
 
-				  	}//end TC_CSE_DMR_RET_BO_009
+					testcase TC_CSE_DMR_RET_BV_GRP() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
+						v_contentResponse.group_.creationTime := ?;
+												
+						f_CSE_DMR_RET_017(int9, m_createGroupBase, v_contentResponse);//Group
+					}
+				
+					testcase TC_CSE_DMR_RET_BV_CSR() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
 
-			  	} // end group g_CSE_DMR_RET_BO_009
-			  	
-				group g_CSE_DMR_RET_BV_010{
+						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
+						v_contentResponse.remoteCSE.parentID := ?;
+						v_contentResponse.remoteCSE.creationTime := ?;
+		
+						f_CSE_DMR_RET_017(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
+					}
+				
+					testcase TC_CSE_DMR_RET_BV_SCH() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
+						v_contentResponse.schedule.creationTime := ?;
+							
+						f_CSE_DMR_RET_017(int18, m_createScheduleBase, v_contentResponse);//Schedule
+					}
+					
+					testcase TC_CSE_DMR_RET_BV_SUB() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
+						v_contentResponse.subscription.creationTime := ?;
+							
+						f_CSE_DMR_RET_017(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+					}
 
-					testcase TC_CSE_DMR_RET_BV_010() runs on CseTester system CseSystem {
+					
+					function f_CSE_DMR_RET_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
+    				
 						// Local variables
+						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						var integer v_contentInstanceIndex1 := -1; 
-						var integer v_contentInstanceIndex2 := -1;
-						var template PrimitiveContent v_contentResponse;                        
-						    										   
+						var integer v_resourceIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
+    										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						 f_cf02Up();
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 	
-						
-						v_contentInstanceIndex1 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);
-						
-						v_contentInstanceIndex2 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);  
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+	
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 						
-						v_contentResponse.contentInstance := mw_contentContentInstanceBase;
-						v_contentResponse.contentInstance.resourceName := vc_resourcesList[v_contentInstanceIndex1].resource.contentInstance.resourceName;
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
-						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest, f_getOriginator(v_containerIndex))));
+						}else{
+							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
+						}
+						
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,
+																						{"pi", "ct"}, f_getOriginator(v_aeIndex))));//from AE ID
 
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))){
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": resourceName attribute of <oldest> resource retrieved successfully");
+								setverdict(pass, testcasename() & ": Requested attributes retrieved successfully");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, resourceName attribute of <oldest> resource value not expected");
+								setverdict(fail, testcasename() & ": Error, not only requested attributes retrieved");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving <oldest> resource");
+								setverdict(fail, testcasename() & ": Error while retrieving resource attributes");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving <oldest> resource");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attributes");
 							}
 						}	
     								
@@ -5800,115 +6009,110 @@ module OneM2M_Testcases {
 						f_cse_postamble_deleteResources();
 						
 						// Tear down
-						f_cf01Down();
+						f_cf02Down();
+    				
+					}//end f_CSE_DMR_RET_017
+    				
+				} // end g_CSE_DMR_RET_017
 
-					}//end TC_CSE_DMR_RET_BV_010
+				group g_CSE_DMR_RET_018 {
+					
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to retrieve a non-existing attribute of the TARGET_RESOURCE_ADDRESS resource (“single” attribute case) under CSEBase
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_018_ACP_LBL() runs on CseTester system CseSystem {
+						// Local variables
+	
+						f_CSE_DMR_RET_018(int1, m_createAcpBase);//AccessControlPolicy
+					}
+					
+					testcase TC_CSE_DMR_RET_018_AE_LBL() runs on CseTester system CseSystem {
+						// Local variables
+	
+						f_CSE_DMR_RET_018(int2, m_createAe(PX_APP_ID));//AE
+					}
+										
+					testcase TC_CSE_DMR_RET_018_CNT_LBL() runs on CseTester system CseSystem {
+						// Local variables
+                        
+						f_CSE_DMR_RET_018(int3, m_createContainerBase);//Container
+					}
 
-				} // end group g_CSE_DMR_RET_BV_010
+					testcase TC_CSE_DMR_RET_018_GRP_LBL() runs on CseTester system CseSystem {
+						// Local variables
+						
+						f_CSE_DMR_RET_018(int9, m_createGroupBase);//Group
+					}
 				
-				group g_CSE_DMR_RET_BO_011{
+					testcase TC_CSE_DMR_RET_018_CSR_LBL() runs on CseTester system CseSystem {
+						// Local variables
 
-					testcase TC_CSE_DMR_RET_BO_011() runs on CseTester system CseSystem {
+						f_CSE_DMR_RET_018(int16, m_createRemoteCSEBase);//RemoteCSE
+					}
+				
+					testcase TC_CSE_DMR_RET_018_SCH_LBL() runs on CseTester system CseSystem {
 						// Local variables
-						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						var integer v_resourceIndex := -1;
-		    										   
-						// Test control
-	
-						// Test component configuration
-						f_cf01Up();
 	
-						// Test adapter configuration
+						f_CSE_DMR_RET_018(int18, m_createScheduleBase);//Schedule
+					}
+										
+					testcase TC_CSE_DMR_RET_018_SUB_LBL() runs on CseTester system CseSystem {
+							// Local variables
 	
-						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-		
-						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 	
-		
-						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest, f_getOriginator(v_containerIndex))));
+						f_CSE_DMR_RET_018(int23, m_createSubscriptionBase);//Subscription
+					}
 
-						tc_ac.start;
-						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))){
-								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Resource not found");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
-							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
-								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
-							}
-						}	
 					
-						// Postamble
-						f_cse_postamble_deleteResources();
-		
-						// Tear down
-						f_cf01Down();
-
-					}//end TC_CSE_DMR_RET_BO_011
-
-				} // end group g_CSE_DMR_RET_BO_011
-				
-				group g_CSE_DMR_RET_BV_012{
-
-				  	testcase TC_CSE_DMR_RET_BV_012() runs on CseTester system CseSystem {
+					function f_CSE_DMR_RET_018(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
+    				
 						// Local variables
+						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
-						var integer v_containerIndex := -1;
-						var integer v_contentInstanceIndex1 := -1; 
-						var integer v_contentInstanceIndex2 := -1;
-						var template PrimitiveContent v_contentResponse;                        
-						    										   
+						var integer v_resourceIndex := -1;
+						var CseTester v_notifyHandler;
+						var integer v_ae2Index := -1;
+											   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						 f_cf02Up();
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 	
-						
-						v_contentInstanceIndex1 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+	
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 						
-						v_contentInstanceIndex2 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);  
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
+    									
+						}else{
+							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
+						}
 						
-						v_contentResponse.contentInstance := mw_contentContentInstanceBase;
-						v_contentResponse.contentInstance.resourceName := vc_resourcesList[v_contentInstanceIndex2].resource.contentInstance.resourceName;
-						 
-    					
-						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameLatest, f_getOriginator(v_containerIndex))));
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
+																						{"lbl"}, f_getOriginator(v_aeIndex))));//from AE ID
 
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))){
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": resourceName attribute of <latest> resource retrieved successfully");
+								setverdict(pass, testcasename() & ": Retrieved attribute does not exist");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, resourceName attribute of <latest> resource value not expected");
+								setverdict(fail, testcasename() & ": Error while retrieving non existing resource attribute");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving <latest> resource");
+								setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving <latest> resource");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
 							}
 						}	
     								
@@ -5916,85 +6120,62 @@ module OneM2M_Testcases {
 						f_cse_postamble_deleteResources();
 						
 						// Tear down
-						f_cf01Down();
-
-				  	}//end TC_CSE_DMR_RET_BV_012
-
-			  	} // end group g_CSE_DMR_RET_BV_012
+						f_cf02Down();
+    				
+					}//end f_CSE_DMR_RET_018
+    				
+				} // end g_CSE_DMR_RET_018
 
-				group g_CSE_DMR_RET_BV_013 {
-					
-					testcase TC_CSE_DMR_RET_BV_013_01() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
-							
-						f_CSE_DMR_RET_BV_013(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
-						
-					}
+				group g_CSE_DMR_RET_019 {
 					
-					testcase TC_CSE_DMR_RET_BV_013_02() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to retrieve a non-existing attribute of the TARGET_RESOURCE_ADDRESS resource (“multiple” attributes case) under CSEBase
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_019_ACP_LBL_AT() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.aE := mw_contentAeBase;
-							
-						f_CSE_DMR_RET_BV_013(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
-						
+	
+						f_CSE_DMR_RET_019(int1, m_createAcpBase);//AccessControlPolicy
 					}
-										
-					testcase TC_CSE_DMR_RET_BV_013_03() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container := mw_contentContainer_rc1;
-						    
-						f_CSE_DMR_RET_BV_013(int3, m_createContainerBase, v_contentResponse);//Container
-						
-					}
-
-					testcase TC_CSE_DMR_RET_BV_013_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_019_AE_LBL_AT() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.group_ := mw_contentGroup_rc1;
-                        
-						f_CSE_DMR_RET_BV_013(int9, m_createGroupBase, v_contentResponse);//Group
-						
+	
+						f_CSE_DMR_RET_019(int2, m_createAe(PX_APP_ID));//AE
 					}
-				
-					testcase TC_CSE_DMR_RET_BV_013_09() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
-							
-						f_CSE_DMR_RET_BV_013(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
-						
-					}
-				
-					testcase TC_CSE_DMR_RET_BV_013_11() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_RET_019_CNT_LBL_AT() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.schedule := mw_contentSchedule_rc1;
-						
-						f_CSE_DMR_RET_BV_013(int18, m_createScheduleBase, v_contentResponse);//Schedule
-						
+                        
+						f_CSE_DMR_RET_019(int3, m_createContainerBase);//Container
 					}
-					
-					testcase TC_CSE_DMR_RET_BV_013_14() runs on CseTester system CseSystem {
+
+					testcase TC_CSE_DMR_RET_019_GRP_LBL_AT() runs on CseTester system CseSystem {
 						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.subscription := mw_contentSubscription_rc1;
 						
-						f_CSE_DMR_RET_BV_013(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+						f_CSE_DMR_RET_019(int9, m_createGroupBase);//Group
+					}					
+				
+					testcase TC_CSE_DMR_RET_019_CSR_LBL_AT() runs on CseTester system CseSystem {
+						// Local variables
+
+						f_CSE_DMR_RET_019(int16, m_createRemoteCSEBase);//RemoteCSE
+					}				
+				
+					testcase TC_CSE_DMR_RET_019_SCH_LBL_AT() runs on CseTester system CseSystem {
+						// Local variables
+	
+						f_CSE_DMR_RET_019(int18, m_createScheduleBase);//Schedule
+					}
 					
+					testcase TC_CSE_DMR_RET_019_SUB_LBL_AT() runs on CseTester system CseSystem {
+							// Local variables
+	
+						f_CSE_DMR_RET_019(int23, m_createSubscriptionBase);//Subscription
 					}
-				
-					function f_CSE_DMR_RET_BV_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
+
+					
+					function f_CSE_DMR_RET_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -6003,11 +6184,11 @@ module OneM2M_Testcases {
 						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
 						var integer v_ae2Index := -1;
-						    										   
+											   
 						// Test control
     				
 						// Test component configuration
-						f_cf02Up();
+						 f_cf02Up();
     				
 						// Test adapter configuration
     				
@@ -6015,36 +6196,34 @@ module OneM2M_Testcases {
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
-							
+	
 						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
-						} else {	//ResourceType = RemoteCSE
-													
+						}else{
 							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
-								
 						}
 						
-						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_aeIndex))));//from AE ID
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
+																						{"lbl", "at"}, f_getOriginator(v_aeIndex))));//from AE ID
 
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Response OK for retrieving");
+								setverdict(pass, testcasename() & ": Retrieved attribute does not exist");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements");
+								setverdict(fail, testcasename() & ": Error while retrieving non existing resource attributes");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
+								setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist");
 							}
 							[] tc_ac.timeout {
-								setverdict(fail, testcasename() & ": No answer while retrieving resource");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource attributes");
 							}
 						}	
     								
@@ -6053,752 +6232,737 @@ module OneM2M_Testcases {
 						
 						// Tear down
 						f_cf02Down();
-						
-					}//end f_CSE_DMR_RET_BV_013
     				
-				} // end g_CSE_DMR_RET_BV_013
-
-				group g_CSE_DMR_RET_BO_014 {
-					
-					testcase TC_CSE_DMR_RET_BO_014_01() runs on CseTester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_requestPrimitive := m_createAcpBase;
-						
-						v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
-						
-						f_CSE_DMR_RET_BO_014(int1, v_requestPrimitive);//AccessControlPolicy
-					}
+					}//end f_CSE_DMR_RET_019
+    				
+				} // end f_CSE_DMR_RET_019
 				
-					testcase TC_CSE_DMR_RET_BO_014_02() runs on CseTester system CseSystem {
-						// Local variables
-	
-						f_CSE_DMR_RET_BO_014(int2, m_createPollingChannelBase);//AE
-					}
+				group g_CSE_DMR_RET_020 {
 					
-					testcase TC_CSE_DMR_RET_BO_014_03() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT rejects a RETRIEVE Request target to TARGET_RESOURCE_ADDRESS resource  when the Result Content set to RESULT_CONTENT
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_020_RCN_0() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_RET_BO_014(int3, m_createContainerBase);//Container
+						f_CSE_DMR_RET_020(int3, m_createContainerBase, int0);//ResultContent = 0 (nothing)
 					}
-
-					testcase TC_CSE_DMR_RET_BO_014_05() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_RET_020_RCN_2() runs on CseTester system CseSystem {
 						// Local variables
-						
-						f_CSE_DMR_RET_BO_014(int9, m_createGroupBase);//Group
+						f_CSE_DMR_RET_020(int3, m_createContainerBase, int2);//ResultContent = 2 (hierarchical address)
 					}
-					
-					testcase TC_CSE_DMR_RET_BO_014_11() runs on CseTester system CseSystem {
-						// Local variables
 	
-						f_CSE_DMR_RET_BO_014(int18, m_createScheduleBase);//Schedule
+					testcase TC_CSE_DMR_RET_020_RCN_3() runs on CseTester system CseSystem {
+						// Local variables
+						f_CSE_DMR_RET_020(int3, m_createContainerBase, int3);//ResultContent = 3 (attributes and hierarchichal address)
 					}
-										
-					testcase TC_CSE_DMR_RET_BO_014_14() runs on CseTester system CseSystem {
-							// Local variables
 	
-						f_CSE_DMR_RET_BO_014(int23, m_createSubscriptionBase);//Subscription
-						}
-				
-					function f_CSE_DMR_RET_BO_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
-    				
+					function f_CSE_DMR_RET_020(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, ResultContent p_resultContent) runs on CseTester {
+		
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var XSD.ID v_acpId;
 						var integer v_aeIndex := -1;
-						var integer v_acpAuxIndex := -1;
 						var integer v_resourceIndex := -1;
-						var CseTester v_notifyHandler;
-						var integer v_ae2Index := -1;
-    										   
+								   
 						// Test control
-						if(not(PICS_ACP_SUPPORT)) {
-							log(testcasename() & ":AccessControlPolicy support is required for executing this test case");
-							stop;
-						}
-    				
+		
 						// Test component configuration
 						f_cf01Up();
-    				
+		
 						// Test adapter configuration
-    				
+		
 						// Preamble
-						v_acpAuxIndex := f_cse_preamble_createAcpAux(-, -);//c_CRUDNDi)
-						
-						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});//c_CRUDNDi;
-						
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-										
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
-
-						f_cse_updateAcpAuxResource(int61); //c_CUDNDi
-								
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		    					
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+							
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_aeIndex))));//from AE ID
-
+						v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						v_request.resultContent := p_resultContent;
+						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) { //BAD REQUEST
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Access denied to retrieve attributes from resource type " & int2str(enum2int(p_resourceType)));
+								setverdict(pass, testcasename() & ": Request successfully rejected");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving attributes from resource without having privileges");
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Retrieving attributes from resource without having privileges");
+								setverdict(fail, testcasename() & ": Error, Result content set to " & int2str(enum2int(p_resultContent)) & " is impossible for a retrieve request ");
 							}
 							[] tc_ac.timeout {
 								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
 							}
 						}	
-    								
+						
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+		
 						// Tear down
 						f_cf01Down();
-    				
-					}//end f_CSE_DMR_RET_BO_014
-    				
-				} // end g_CSE_DMR_RET_BO_014
+		
+					}//end f_CSE_DMR_RET_020
+		
+				} // end g_CSE_DMR_RET_020
 
-				group g_CSE_DMR_RET_BV_015 {
-					
-					testcase TC_CSE_DMR_RET_BV_015_01() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_015(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
-					}
-					
-					testcase TC_CSE_DMR_RET_BV_015_02() runs on CseTester system CseSystem {
+				group g_CSE_DMR_RET_021 {
+		
+					/**
+					 * @desc Check that the IUT returns successfully only attributes of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 1 (attributes)
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_021_CNT() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.aE := m_contentAe_allOmit;
-						v_contentResponse.aE.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_015(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
+		
+						v_contentResponse.container := mw_contentContainer_rc1;
+		                        
+						f_CSE_DMR_RET_021(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 					}
-															
-					testcase TC_CSE_DMR_RET_BV_015_03() runs on CseTester system CseSystem {
+
+					testcase TC_CSE_DMR_RET_021_GRP() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.container := m_contentContainer_allOmit;
-						v_contentResponse.container.parentID := ?;
-                        
-						f_CSE_DMR_RET_BV_015(int3, m_createContainerBase, v_contentResponse);//Container
+		
+						v_contentResponse.group_ := mw_contentGroup_rc1;
+		
+						f_CSE_DMR_RET_021(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 					}
-
-					testcase TC_CSE_DMR_RET_BV_015_05() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_021_ACP() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.group_ := m_contentGroup_allOmit;
-						v_contentResponse.group_.parentID := ?;
-												
-						f_CSE_DMR_RET_BV_015(int9, m_createGroupBase, v_contentResponse);//Group
+		
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+			
+						f_CSE_DMR_RET_021(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 					}
-				
-					testcase TC_CSE_DMR_RET_BV_015_09() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_RET_021_SCH() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-
-						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
-						v_contentResponse.remoteCSE.parentID := ?;
 		
-						f_CSE_DMR_RET_BV_015(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
+						v_contentResponse.schedule := mw_contentSchedule_rc1;
+			
+						f_CSE_DMR_RET_021(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
 					}
-				
-					testcase TC_CSE_DMR_RET_BV_015_11() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_021_PCH() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.schedule := m_contentSchedule_allOmit;
-						v_contentResponse.schedule.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_015(int18, m_createScheduleBase,v_contentResponse);//Schedule
+		
+						v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+			
+						f_CSE_DMR_RET_021(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 					}
-					
-					testcase TC_CSE_DMR_RET_BV_015_14() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_021_SUB() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.subscription := m_contentSubscription_allOmit;
-						v_contentResponse.subscription.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_015(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+		
+						v_contentResponse.subscription := mw_contentSubscription_rc1;
+
+						f_CSE_DMR_RET_021(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
 					}
-				
-					function f_CSE_DMR_RET_BV_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
-    				
+	
+					function f_CSE_DMR_RET_021(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
+		
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved
-						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
+						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
-    										   
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
 						// Test control
-    				
+		
 						// Test component configuration
-						f_cf02Up();
-    				
+						f_cf01Up();
+		
 						// Test adapter configuration
-    				
+		
 						// Preamble
-						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);	
-						
-						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
-							
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
-    									
-						} else {
-							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+	
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
 						}
 						
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeToOption(f_getResourceAddress(v_resourceIndex) & v_attribute, f_getOriginator(v_aeIndex))));//from AE ID
-
+						v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						v_request.resultContent := int1;//Attributes
+						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Requested attribute retrieved successfully");
+								setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved");
+								setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource attribute");
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
 							}
 						}	
-    								
+						
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+		
 						// Tear down
-						f_cf02Down();
-    				
-					}//end f_CSE_DMR_RET_BV_015
-    				
-				} // end g_CSE_DMR_RET_BV_015
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_RET_021
+		
+				} // end g_CSE_DMR_RET_021
 
-				group g_CSE_DMR_RET_BV_016 {
-					
-					
-					testcase TC_CSE_DMR_RET_BV_016_01() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy.parentID := ?;
-							
-						f_CSE_DMR_RET_BV_016(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
-					}
-					
-					testcase TC_CSE_DMR_RET_BV_016_02() runs on CseTester system CseSystem {
+
+				group g_CSE_DMR_RET_022 {
+		
+					/**
+					 * @desc Check that the IUT returns successfully a list all discovered resource addresses
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_022_CNT() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.aE := m_contentAe_allOmit;
-						v_contentResponse.aE.parentID := ?;
-								
-						f_CSE_DMR_RET_BV_016(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
+		
+						v_contentResponse.container := mw_contentContainer_rc4;
+		                        
+						f_CSE_DMR_RET_022(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 					}
-										
-					testcase TC_CSE_DMR_RET_BV_016_03() runs on CseTester system CseSystem {
+
+					testcase TC_CSE_DMR_RET_022_GRP() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.container := m_contentContainer_allOmit;
-						v_contentResponse.container.parentID := ?;
-						                       
-						f_CSE_DMR_RET_BV_016(int3, m_createContainerBase, v_contentResponse);//Container
+		
+						v_contentResponse.group_ := mw_contentGroup_rc4;
+		
+						f_CSE_DMR_RET_022(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 					}
-
-					testcase TC_CSE_DMR_RET_BV_016_05() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_022_ACP() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.group_ := m_contentGroup_allOmit;
-						v_contentResponse.group_.parentID := ?;
-																		
-						f_CSE_DMR_RET_BV_016(int9, m_createGroupBase, v_contentResponse);//Group
+		
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc4;
+			
+						f_CSE_DMR_RET_022(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 					}
-				
-					testcase TC_CSE_DMR_RET_BV_016_09() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_RET_022_SCH() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
-						v_contentResponse.remoteCSE.parentID := ?;
-								
-						f_CSE_DMR_RET_BV_016(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
+		
+						v_contentResponse.schedule := mw_contentSchedule_rc4;
+			
+						f_CSE_DMR_RET_022(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule
 					}
-				
-					testcase TC_CSE_DMR_RET_BV_016_11() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_022_PCH() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.schedule := m_contentSchedule_allOmit;
-						v_contentResponse.schedule.parentID := ?;
-								
-						f_CSE_DMR_RET_BV_016(int18, m_createScheduleBase, v_contentResponse);//Schedule
+		
+						v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+			
+						f_CSE_DMR_RET_022(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 					}
-					
-					testcase TC_CSE_DMR_RET_BV_016_14() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_022_SUB() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.subscription := m_contentSubscription_allOmit;
-						v_contentResponse.subscription.parentID := ?;
-								
-						f_CSE_DMR_RET_BV_016(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
-						}
+		
+						v_contentResponse.subscription := mw_contentSubscription_rc4;
 
-					
-					function f_CSE_DMR_RET_BV_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
-    				
+						f_CSE_DMR_RET_022(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
+					}
+	
+					function f_CSE_DMR_RET_022(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
+		
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
+						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
-    										   
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
 						// Test control
-    				
+		
 						// Test component configuration
-						 f_cf02Up();
-    				
+						f_cf01Up();
+		
 						// Test adapter configuration
-    				
+		
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+							
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
 	
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
-    									
-						}else{
-							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);					
 						}
-						
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,	{"pi"}, f_getOriginator(v_aeIndex))));//from AE ID
-
+							
+						// Test Body
+						v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						v_request.resultContent := int4;//Attributes and child resources
+						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Requested attribute retrieved successfully");
+								setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, not only requested attribute retrieved");
+								setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource attribute");
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
 							}
 						}	
-    								
+						
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+		
 						// Tear down
-						f_cf02Down();
-    				
-					}//end f_CSE_DMR_RET_BV_016
-    				
-				} // end g_CSE_DMR_RET_BV_016
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_RET_022
+		
+				} // end g_CSE_DMR_RET_022
 
-				group g_CSE_DMR_RET_BV_017 {
-					
-					
-					testcase TC_CSE_DMR_RET_BV_017_01() runs on CseTester system CseSystem {
-						// Local variables
-						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy.parentID := ?;
-						v_contentResponse.accessControlPolicy.creationTime := ?;
-							
-						f_CSE_DMR_RET_BV_017(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
-					}
-										
-					testcase TC_CSE_DMR_RET_BV_017_02() runs on CseTester system CseSystem {
+				group g_CSE_DMR_RET_023 {
+		
+					/**
+					 * @desc Check that the IUT returns successfully only attributes and child resource references of TARGET_RESOURCE_ADDRESS resource when the Result Content is set to 5 (attributes and child resource references)
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_023_CNT() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.aE := m_contentAe_allOmit;
-						v_contentResponse.aE.parentID := ?;
-						v_contentResponse.aE.creationTime := ?;
-							
-						f_CSE_DMR_RET_BV_017(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
+		
+						v_contentResponse.container := mw_contentContainer_rc5;
+		                        
+						f_CSE_DMR_RET_023(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 					}
-										
-					testcase TC_CSE_DMR_RET_BV_017_03() runs on CseTester system CseSystem {
+
+					testcase TC_CSE_DMR_RET_023_GRP() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.container := m_contentContainer_allOmit;
-						v_contentResponse.container.parentID := ?;
-						v_contentResponse.container.creationTime := ?;
-                        
-						f_CSE_DMR_RET_BV_017(int3, m_createContainerBase, v_contentResponse);//Container
+		
+						v_contentResponse.group_ := mw_contentGroup_rc5;
+		
+						f_CSE_DMR_RET_023(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 					}
-
-					testcase TC_CSE_DMR_RET_BV_017_05() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_023_ACP() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.group_ := m_contentGroup_allOmit;
-						v_contentResponse.group_.parentID := ?;
-						v_contentResponse.group_.creationTime := ?;
-												
-						f_CSE_DMR_RET_BV_017(int9, m_createGroupBase, v_contentResponse);//Group
+		
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc5;
+			
+						f_CSE_DMR_RET_023(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 					}
-				
-					testcase TC_CSE_DMR_RET_BV_017_09() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_RET_023_SCH() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-
-						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
-						v_contentResponse.remoteCSE.parentID := ?;
-						v_contentResponse.remoteCSE.creationTime := ?;
 		
-						f_CSE_DMR_RET_BV_017(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
+						v_contentResponse.schedule := mw_contentSchedule_rc5;
+			
+						f_CSE_DMR_RET_023(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
 					}
-				
-					testcase TC_CSE_DMR_RET_BV_017_11() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_023_PCH() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.schedule := m_contentSchedule_allOmit;
-						v_contentResponse.schedule.parentID := ?;
-						v_contentResponse.schedule.creationTime := ?;
-							
-						f_CSE_DMR_RET_BV_017(int18, m_createScheduleBase, v_contentResponse);//Schedule
+		
+						v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+			
+						f_CSE_DMR_RET_023(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 					}
-					
-					testcase TC_CSE_DMR_RET_BV_017_14() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_023_SUB() runs on CseTester system CseSystem {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
-					
-						v_contentResponse.subscription := m_contentSubscription_allOmit;
-						v_contentResponse.subscription.parentID := ?;
-						v_contentResponse.subscription.creationTime := ?;
-							
-						f_CSE_DMR_RET_BV_017(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
-						}
+		
+						v_contentResponse.subscription := mw_contentSubscription_rc5;
 
-					
-					function f_CSE_DMR_RET_BV_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
-    				
+						f_CSE_DMR_RET_023(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
+					}
+	
+					function f_CSE_DMR_RET_023(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
+		
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
+						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
-    										   
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
 						// Test control
-    				
+		
 						// Test component configuration
-						 f_cf02Up();
-    				
+						f_cf01Up();
+		
 						// Test adapter configuration
-    				
+		
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
-	
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
-    									
-						}else{
-							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
-						}
-						
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,
-																						{"pi", "ct"}, f_getOriginator(v_aeIndex))));//from AE ID
 
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+						
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 
+					
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);					
+						}				
+							
+						// Test Body
+						v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						v_request.resultContent := int5;//attributes and child resource references
+						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Requested attributes retrieved successfully");
+								setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error, not only requested attributes retrieved");
+								setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource attributes");
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attributes");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
 							}
 						}	
-    								
+						
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+		
 						// Tear down
-						f_cf02Down();
-    				
-					}//end f_CSE_DMR_RET_BV_017
-    				
-				} // end g_CSE_DMR_RET_BV_017
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_RET_023
+		
+				} // end g_CSE_DMR_RET_023
 
-				group g_CSE_DMR_RET_BO_018 {
-					
-					
-					testcase TC_CSE_DMR_RET_BO_018_01() runs on CseTester system CseSystem {
+				group g_CSE_DMR_RET_024 {
+		
+					/**
+					 * @desc Check that the IUT returns successfully only child resource references of TARGET_RESOURCE_ADDRESS resource when Result Content is set to 6 (child resource references)
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_024_CNT() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_018(int1, m_createAcpBase);//AccessControlPolicy
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.container := mw_contentContainer_rc6;
+		                        
+						f_CSE_DMR_RET_024(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 					}
-					
-					testcase TC_CSE_DMR_RET_BO_018_02() runs on CseTester system CseSystem {
+
+					testcase TC_CSE_DMR_RET_024_GRP() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_018(int2, m_createAe(PX_APP_ID));//AE
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.group_ := mw_contentGroup_rc6;
+		
+						f_CSE_DMR_RET_024(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 					}
-										
-					testcase TC_CSE_DMR_RET_BO_018_03() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_024_ACP() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_RET_BO_018(int3, m_createContainerBase);//Container
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc6;
+			
+						f_CSE_DMR_RET_024(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 					}
-
-					testcase TC_CSE_DMR_RET_BO_018_05() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_RET_024_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						
-						f_CSE_DMR_RET_BO_018(int9, m_createGroupBase);//Group
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.schedule := mw_contentSchedule_rc6;
+			
+						f_CSE_DMR_RET_024(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule
+					}
+		
+					testcase TC_CSE_DMR_RET_024_PCH() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+			
+						f_CSE_DMR_RET_024(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 					}
-				
-					testcase TC_CSE_DMR_RET_BO_018_09() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_024_SUB() runs on CseTester system CseSystem {
 						// Local variables
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.subscription := mw_contentSubscription_rc6;
 
-						f_CSE_DMR_RET_BO_018(int16, m_createRemoteCSEBase);//RemoteCSE
-					}
-				
-					testcase TC_CSE_DMR_RET_BO_018_11() runs on CseTester system CseSystem {
-						// Local variables
-	
-						f_CSE_DMR_RET_BO_018(int18, m_createScheduleBase);//Schedule
+						f_CSE_DMR_RET_024(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
 					}
-										
-					testcase TC_CSE_DMR_RET_BO_018_14() runs on CseTester system CseSystem {
-							// Local variables
 	
-						f_CSE_DMR_RET_BO_018(int23, m_createSubscriptionBase);//Subscription
-						}
-
-					
-					function f_CSE_DMR_RET_BO_018(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
-    				
+					function f_CSE_DMR_RET_024(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
+		
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
+						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
-											   
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
 						// Test control
-    				
+		
 						// Test component configuration
-						 f_cf02Up();
-    				
+						f_cf01Up();
+		
 						// Test adapter configuration
-    				
+		
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
-	
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
-    									
-						}else{
-							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
-						}
-						
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
-																						{"lbl"}, f_getOriginator(v_aeIndex))));//from AE ID
 
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						} 
+							
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
+						}				
+							
+						// Test Body
+						v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						v_request.resultContent := int6;//Child resource references
+						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Retrieved attribute does not exist");
+								setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving non existing resource attribute");
+								setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist");
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attribute");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
 							}
 						}	
-    								
+						
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+		
 						// Tear down
-						f_cf02Down();
-    				
-					}//end f_CSE_DMR_RET_BO_018
-    				
-				} // end g_CSE_DMR_RET_BO_018
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_RET_024
+		
+				} // end g_CSE_DMR_RET_024
 
-				group g_CSE_DMR_RET_BO_019 {
-					
-					testcase TC_CSE_DMR_RET_BO_019_01() runs on CseTester system CseSystem {
+				group g_CSE_DMR_RET_025 {
+		
+					/**
+					 * @desc Check that the IUT returns successfully only child resources of TARGET_RESOURCE_ADDRESS resource when Result Content is set to 8 (child resources)
+					 * 
+					 */
+					testcase TC_CSE_DMR_RET_025_CNT() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_019(int1, m_createAcpBase);//AccessControlPolicy
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.container := mw_contentContainer_rc8;
+		                        
+						f_CSE_DMR_RET_025(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 					}
-					
-					testcase TC_CSE_DMR_RET_BO_019_02() runs on CseTester system CseSystem {
+
+					testcase TC_CSE_DMR_RET_025_GRP() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_019(int2, m_createAe(PX_APP_ID));//AE
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.group_ := mw_contentGroup_rc8;
+		
+						f_CSE_DMR_RET_025(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 					}
-					
-					testcase TC_CSE_DMR_RET_BO_019_03() runs on CseTester system CseSystem {
+		
+					testcase TC_CSE_DMR_RET_025_ACP() runs on CseTester system CseSystem {
 						// Local variables
-                        
-						f_CSE_DMR_RET_BO_019(int3, m_createContainerBase);//Container
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc8;
+			
+						f_CSE_DMR_RET_025(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 					}
-
-					testcase TC_CSE_DMR_RET_BO_019_05() runs on CseTester system CseSystem {
+	
+					testcase TC_CSE_DMR_RET_025_SCH() runs on CseTester system CseSystem {
 						// Local variables
-						
-						f_CSE_DMR_RET_BO_019(int9, m_createGroupBase);//Group
-					}					
-				
-					testcase TC_CSE_DMR_RET_BO_019_09() runs on CseTester system CseSystem {
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.schedule := mw_contentSchedule_rc8;
+			
+						f_CSE_DMR_RET_025(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
+					}
+		
+					testcase TC_CSE_DMR_RET_025_PCH() runs on CseTester system CseSystem {
 						// Local variables
-
-						f_CSE_DMR_RET_BO_019(int16, m_createRemoteCSEBase);//RemoteCSE
-					}				
-				
-					testcase TC_CSE_DMR_RET_BO_019_11() runs on CseTester system CseSystem {
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
+			
+						f_CSE_DMR_RET_025(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
+					}
+		
+					testcase TC_CSE_DMR_RET_025_SUB() runs on CseTester system CseSystem {
 						// Local variables
-	
-						f_CSE_DMR_RET_BO_019(int18, m_createScheduleBase);//Schedule
+						var template PrimitiveContent v_contentResponse;
+		
+						v_contentResponse.subscription := mw_contentSubscription_rc8;
+
+						f_CSE_DMR_RET_025(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
 					}
-					
-					testcase TC_CSE_DMR_RET_BO_019_14() runs on CseTester system CseSystem {
-							// Local variables
 	
-						f_CSE_DMR_RET_BO_019(int23, m_createSubscriptionBase);//Subscription
-						}
-
-					
-					function f_CSE_DMR_RET_BO_019(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
-    				
+					function f_CSE_DMR_RET_025(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, template ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on CseTester {
+		
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var integer v_aeIndex := -1;
-						var integer v_resourceIndex := -1;
 						var CseTester v_notifyHandler;
+						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
-											   
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+								   
 						// Test control
-    				
+		
 						// Test component configuration
-						 f_cf02Up();
-    				
+						f_cf01Up();
+		
 						// Test adapter configuration
-    				
+		
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-						
-						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
-	
-						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
-    									
-						}else{
-							v_resourceIndex := f_cse_registerRemoteCse(p_requestPrimitive);
-						}
-						
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
-																						{"lbl", "at"}, f_getOriginator(v_aeIndex))));//from AE ID
 
+						if(isvalue(p_childResourceType)) {
+							if(valueof(p_childResourceType) == int23) {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+							} else {
+								f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+							}
+						}
+							
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
+		
+						if(p_resourceType != int15) {
+							v_childResourceIndex := f_cse_createResource(valueof(p_childResourceType), p_childRequestPrimitive, v_resourceIndex);				
+						}				
+							
+						// Test Body
+						v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+						v_request.resultContent := int6;//Child resource references
+						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Retrieved attribute does not exist");
+								setverdict(pass, testcasename() & ": No child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving non existing resource attributes");
+								setverdict(fail, testcasename() & ": Child resources provided with RC set to " & int2str(enum2int(v_request.resultContent)));
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error : attribute was retrieved while it doesn't exist");
+								setverdict(fail, testcasename() & ": Error while retrieving resource");
 							}
 							[] tc_ac.timeout {
-								setverdict(inconc, testcasename() & ": No answer while retrieving resource attributes");
+								setverdict(inconc, testcasename() & ": No answer while retrieving resource");
 							}
 						}	
-    								
+						
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+		
 						// Tear down
-						f_cf02Down();
-    				
-					}//end f_CSE_DMR_RET_BO_019
-    				
-				} // end f_CSE_DMR_RET_BO_019
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_RET_025
+		
+				} // end g_CSE_DMR_RET_025
 			
 			}//end group Retrieve
 			
 			group Update {
-				group g_CSE_DMR_UPD_BV_001 {
+				group g_CSE_DMR_UPD_001 {
 					
-					testcase TC_CSE_DMR_UPD_BV_001_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT updates successfully the value of the attribute ATTRIBUTE_NAME of the TARGET_RESOURCE_ADDRESS resource 
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_001_CNT_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2:= {"VALUE_2"};
@@ -6810,7 +6974,7 @@ module OneM2M_Testcases {
 						v_createRequest.primitiveContent.container.labels := v_labels_1;
 						v_updateRequest.primitiveContent.container.labels := v_labels_2;
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int3, v_createRequest, v_updateRequest);//Container
+						v_responsePrimitive := f_CSE_DMR_UPD_001(int3, v_createRequest, v_updateRequest);//Container
 						
 						
 						if(getverdict == pass){
@@ -6825,7 +6989,7 @@ module OneM2M_Testcases {
 						}
 					}
 
-					testcase TC_CSE_DMR_UPD_BV_001_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_001_GRP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -6836,7 +7000,7 @@ module OneM2M_Testcases {
 						v_createRequest.primitiveContent.group_.labels := v_labels_1;
 						v_updateRequest.primitiveContent.group_.labels := v_labels_2;
 
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int9, v_createRequest, v_updateRequest);//Group
+						v_responsePrimitive := f_CSE_DMR_UPD_001(int9, v_createRequest, v_updateRequest);//Group
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -6850,7 +7014,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_001_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_001_ACP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -6861,7 +7025,7 @@ module OneM2M_Testcases {
 						v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2;
 
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int1, v_createRequest, v_updateRequest);//ACP
+						v_responsePrimitive := f_CSE_DMR_UPD_001(int1, v_createRequest, v_updateRequest);//ACP
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -6876,7 +7040,7 @@ module OneM2M_Testcases {
 						
 					}
 				
-					testcase TC_CSE_DMR_UPD_BV_001_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_001_SCH_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -6887,7 +7051,7 @@ module OneM2M_Testcases {
 						v_createRequest.primitiveContent.schedule.labels := v_labels_1;
 						v_updateRequest.primitiveContent.schedule.labels := v_labels_2;
 
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int18, v_createRequest, v_updateRequest);//Schedule
+						v_responsePrimitive := f_CSE_DMR_UPD_001(int18, v_createRequest, v_updateRequest);//Schedule
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -6902,7 +7066,7 @@ module OneM2M_Testcases {
 					
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_001_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_001_PCH_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -6913,7 +7077,7 @@ module OneM2M_Testcases {
 						v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1;
 						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2;
 
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int15, v_createRequest, v_updateRequest);//PollingChannel
+						v_responsePrimitive := f_CSE_DMR_UPD_001(int15, v_createRequest, v_updateRequest);//PollingChannel
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -6927,7 +7091,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_001_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_001_SUB_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -6938,7 +7102,7 @@ module OneM2M_Testcases {
 						v_createRequest.primitiveContent.subscription.labels := v_labels_1;
 						v_updateRequest.primitiveContent.subscription.labels := v_labels_2;
 
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int23, v_createRequest, v_updateRequest);//Subscription
+						v_responsePrimitive := f_CSE_DMR_UPD_001(int23, v_createRequest, v_updateRequest);//Subscription
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -6953,7 +7117,7 @@ module OneM2M_Testcases {
 					
 					}
 					
-					function f_CSE_DMR_UPD_BV_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester return ResponsePrimitive{
+					function f_CSE_DMR_UPD_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester return ResponsePrimitive{
     				
 						// Local variables
 						var MsgIn v_response;
@@ -7004,13 +7168,17 @@ module OneM2M_Testcases {
 						
 						return v_response.primitive.responsePrimitive;
     					    				
-					}//end f_CSE_DMR_UPD_BV_001
+					}//end f_CSE_DMR_UPD_001
     				
-				} // end g_CSE_DMR_UPD_BV_001
+				} // end g_CSE_DMR_UPD_001
 				
-				group g_CSE_DMR_UPD_BV_002 {
+				group g_CSE_DMR_UPD_002 {
 					
-					testcase TC_CSE_DMR_UPD_BV_002_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT adds successfully the attribute ATTRIBUTE_NAME to the TARGET_RESOURCE_ADDRESS resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_002_CNT_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
                         var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -7018,7 +7186,7 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.container.labels := v_labels_1;
                         
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int3, m_createContainerBase, v_updateRequest);//Container
+						v_responsePrimitive := f_CSE_DMR_UPD_002(int3, m_createContainerBase, v_updateRequest);//Container
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7032,7 +7200,7 @@ module OneM2M_Testcases {
 						}
 					}
 
-					testcase TC_CSE_DMR_UPD_BV_002_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_002_GRP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7040,7 +7208,7 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.group_.labels := v_labels_1;
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int9, m_createGroupBase, v_updateRequest);//Group
+						v_responsePrimitive := f_CSE_DMR_UPD_002(int9, m_createGroupBase, v_updateRequest);//Group
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7054,7 +7222,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_002_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_002_ACP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -7062,7 +7230,7 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
 							
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int1, m_createAcpBase,v_updateRequest);//AccessControlPolicy
+						v_responsePrimitive := f_CSE_DMR_UPD_002(int1, m_createAcpBase,v_updateRequest);//AccessControlPolicy
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7076,7 +7244,7 @@ module OneM2M_Testcases {
 						}
 					}
 				
-					testcase TC_CSE_DMR_UPD_BV_002_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_002_SCH_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
@@ -7084,7 +7252,7 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.schedule.labels := v_labels_1;
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int18, m_createScheduleBase,v_updateRequest);//Schedule
+						v_responsePrimitive := f_CSE_DMR_UPD_002(int18, m_createScheduleBase,v_updateRequest);//Schedule
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7098,7 +7266,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_002_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_002_PCH_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
@@ -7106,7 +7274,7 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1;
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int15, m_createPollingChannelBase,v_updateRequest);//PollingChannel
+						v_responsePrimitive := f_CSE_DMR_UPD_002(int15, m_createPollingChannelBase,v_updateRequest);//PollingChannel
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7120,7 +7288,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_002_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_002_SUB_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -7128,7 +7296,7 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.subscription.labels := v_labels_1;
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int23, m_createSubscriptionBase,v_updateRequest);//Subscription
+						v_responsePrimitive := f_CSE_DMR_UPD_002(int23, m_createSubscriptionBase,v_updateRequest);//Subscription
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7142,7 +7310,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					function f_CSE_DMR_UPD_BV_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester return ResponsePrimitive {
+					function f_CSE_DMR_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester return ResponsePrimitive {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -7193,13 +7361,17 @@ module OneM2M_Testcases {
 						
 						return v_response.primitive.responsePrimitive;
     					    				
-					}//end f_CSE_DMR_UPD_BV_002
+					}//end f_CSE_DMR_UPD_002
     				
-				} // end g_CSE_DMR_UPD_BV_002
+				} // end g_CSE_DMR_UPD_002
 				
-				group g_CSE_DMR_UPD_BV_003 {
+				group g_CSE_DMR_UPD_003 {
 					
-					testcase TC_CSE_DMR_UPD_BV_003_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT deletes successfully the attribute ATTRIBUTE_NAME from the TARGET_RESOURCE_ADDRESS resource 
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_003_CNT_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7213,7 +7385,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
                         
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_003(int3, v_createRequest, v_updateRequest, v_nullFields);//Container
+						v_responsePrimitive := f_CSE_DMR_UPD_003(int3, v_createRequest, v_updateRequest, v_nullFields);//Container
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7229,7 +7401,7 @@ module OneM2M_Testcases {
 						}
 					}
 
-					testcase TC_CSE_DMR_UPD_BV_003_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_003_GRP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7243,7 +7415,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_003(int9, v_createRequest, v_updateRequest, v_nullFields);//Group
+						v_responsePrimitive := f_CSE_DMR_UPD_003(int9, v_createRequest, v_updateRequest, v_nullFields);//Group
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7257,7 +7429,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_003_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_003_ACP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7271,7 +7443,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
 							
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_003(int1, v_createRequest, v_updateRequest, v_nullFields);//AccessControlPolicy
+						v_responsePrimitive := f_CSE_DMR_UPD_003(int1, v_createRequest, v_updateRequest, v_nullFields);//AccessControlPolicy
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7285,7 +7457,7 @@ module OneM2M_Testcases {
 						}
 					}
 				
-					testcase TC_CSE_DMR_UPD_BV_003_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_003_SCH_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7299,7 +7471,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_003(int18, v_createRequest, v_updateRequest, v_nullFields);//Schedule
+						v_responsePrimitive := f_CSE_DMR_UPD_003(int18, v_createRequest, v_updateRequest, v_nullFields);//Schedule
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7313,7 +7485,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_003_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_003_PCH_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7327,7 +7499,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_003(int15, v_createRequest, v_updateRequest, v_nullFields);//PollingChannel
+						v_responsePrimitive := f_CSE_DMR_UPD_003(int15, v_createRequest, v_updateRequest, v_nullFields);//PollingChannel
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7341,7 +7513,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_003_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_003_SUB_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7355,7 +7527,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_003(int23, v_createRequest, v_updateRequest, v_nullFields);//Subscription
+						v_responsePrimitive := f_CSE_DMR_UPD_003(int23, v_createRequest, v_updateRequest, v_nullFields);//Subscription
 						
 						if(getverdict == pass){
 							//Check attribute 1
@@ -7369,7 +7541,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					function f_CSE_DMR_UPD_BV_003(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester return ResponsePrimitive {
+					function f_CSE_DMR_UPD_003(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester return ResponsePrimitive {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -7422,13 +7594,17 @@ module OneM2M_Testcases {
 						
 						return v_response.primitive.responsePrimitive;
     					    				
-					}//end f_CSE_DMR_UPD_BV_003
+					}//end f_CSE_DMR_UPD_003
     				
-				} // end g_CSE_DMR_UPD_BV_003
+				} // end g_CSE_DMR_UPD_003
 				
-				group g_CSE_DMR_UPD_BV_004 {
+				group g_CSE_DMR_UPD_004 {
 					
-					testcase TC_CSE_DMR_UPD_BV_004_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT updates  the value of the attribute ATTRIBUTE_NAME_1, and creates the ATTRIBUTE_NAME_2 and deletes the ATTRIBUTE_NAME_3 of the TARGET_RESOURCE_ADDRESS resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7444,7 +7620,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_004(int3, v_createRequest, v_updateRequest, v_nullFields);//Container
+						v_responsePrimitive := f_CSE_DMR_UPD_004(int3, v_createRequest, v_updateRequest, v_nullFields);//Container
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
@@ -7466,7 +7642,7 @@ module OneM2M_Testcases {
 						}
 					}
 
-					testcase TC_CSE_DMR_UPD_BV_004_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_004_GRP_ET_GN_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var XSD.String v_groupName_1 := "VALUE_1";
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -7484,7 +7660,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
                         
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_004(int9, v_createRequest, v_updateRequest, v_nullFields);//Group
+						v_responsePrimitive := f_CSE_DMR_UPD_004(int9, v_createRequest, v_updateRequest, v_nullFields);//Group
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
@@ -7506,7 +7682,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_004_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_004_ACP_PV_AT_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7533,7 +7709,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
       							
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_004(int1, v_createRequest, v_updateRequest, v_nullFields);//AccessControlPolicy
+						v_responsePrimitive := f_CSE_DMR_UPD_004(int1, v_createRequest, v_updateRequest, v_nullFields);//AccessControlPolicy
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
@@ -7555,7 +7731,7 @@ module OneM2M_Testcases {
 						}
 					}
 				
-					testcase TC_CSE_DMR_UPD_BV_004_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_004_SCH_SE_AT_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7571,7 +7747,7 @@ module OneM2M_Testcases {
                 						
 						v_nullFields := {{"labels", omit}};
 						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_004(int18, v_createRequest, v_updateRequest, v_nullFields);//Schedule
+						v_responsePrimitive := f_CSE_DMR_UPD_004(int18, v_createRequest, v_updateRequest, v_nullFields);//Schedule
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
@@ -7593,7 +7769,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_004_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_004_PCH_LBL_ACP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -7610,7 +7786,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"labels", omit}};
       						
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_004(int15, v_createRequest, v_updateRequest, v_nullFields);//PollingChannel
+						v_responsePrimitive := f_CSE_DMR_UPD_004(int15, v_createRequest, v_updateRequest, v_nullFields);//PollingChannel
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
@@ -7630,7 +7806,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					testcase TC_CSE_DMR_UPD_BV_004_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_004_SUB_ET_LBL_EXC() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var AttributeAux_list v_nullFields;
@@ -7645,7 +7821,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"expirationCounter", omit}};
       							
-						v_responsePrimitive := f_CSE_DMR_UPD_BV_004(int23, v_createRequest, v_updateRequest, v_nullFields);//Subscription
+						v_responsePrimitive := f_CSE_DMR_UPD_004(int23, v_createRequest, v_updateRequest, v_nullFields);//Subscription
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
@@ -7667,7 +7843,7 @@ module OneM2M_Testcases {
     					}
 					}
 					
-					function f_CSE_DMR_UPD_BV_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester return ResponsePrimitive {
+					function f_CSE_DMR_UPD_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester return ResponsePrimitive {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -7718,13 +7894,17 @@ module OneM2M_Testcases {
 						
 						return v_response.primitive.responsePrimitive;
     					    				
-					}//end f_CSE_DMR_UPD_BV_004
+					}//end f_CSE_DMR_UPD_004
     				
-				} // end g_CSE_DMR_UPD_BV_004
+				} // end g_CSE_DMR_UPD_004
 				
-				group g_CSE_DMR_UPD_BI_005{
+				group g_CSE_DMR_UPD_005{
 					
-					testcase TC_CSE_DMR_UPD_BI_005_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to update an attribute of a  TARGET_RESOURCE_ADDRESS resource which does not exist
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_005_CNT_EXC() runs on CseTester system CseSystem {
 						// Local variables
 						var XSD.PositiveInteger v_expirationCounter := 1;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -7733,10 +7913,10 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.container_update_invalid.expirationCounter := v_expirationCounter;
 						
-						f_CSE_DMR_UPD_BI_005(int3, m_createContainerBase, v_updateRequest);//Container
+						f_CSE_DMR_UPD_005(int3, m_createContainerBase, v_updateRequest);//Container
 					}
 
-					testcase TC_CSE_DMR_UPD_BI_005_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_005_GRP_EXC() runs on CseTester system CseSystem {
 						// Local variables
 						var XSD.PositiveInteger v_expirationCounter := 1;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7745,10 +7925,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.group_update_invalid.expirationCounter := v_expirationCounter;
 						
-						f_CSE_DMR_UPD_BI_005(int9, m_createGroupBase, v_updateRequest);//Group
+						f_CSE_DMR_UPD_005(int9, m_createGroupBase, v_updateRequest);//Group
 					}
 					
-					testcase TC_CSE_DMR_UPD_BI_005_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_005_ACP_EXC() runs on CseTester system CseSystem {
 						// Local variables
 						var XSD.PositiveInteger v_expirationCounter := 1;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -7757,10 +7937,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.aCP_update_invalid.expirationCounter := v_expirationCounter;
 								
-						f_CSE_DMR_UPD_BI_005(int1, m_createAcpBase, v_updateRequest);//AccessControlPolicy
+						f_CSE_DMR_UPD_005(int1, m_createAcpBase, v_updateRequest);//AccessControlPolicy
 					}
 				
-					testcase TC_CSE_DMR_UPD_BI_005_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_005_SCH_EXCLBL() runs on CseTester system CseSystem {
 						// Local variables
 						var XSD.PositiveInteger v_expirationCounter := 1;
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
@@ -7769,10 +7949,10 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.schedule_update_invalid.expirationCounter := v_expirationCounter;
 										
-						f_CSE_DMR_UPD_BI_005(int18, m_createScheduleBase, v_updateRequest);//Schedule
+						f_CSE_DMR_UPD_005(int18, m_createScheduleBase, v_updateRequest);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_UPD_BI_005_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_005_PCH_EXC() runs on CseTester system CseSystem {
 						// Local variables
 						var XSD.PositiveInteger v_expirationCounter := 1;
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
@@ -7781,10 +7961,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.pollingChannel_update_invalid.expirationCounter := v_expirationCounter;
 							
-						f_CSE_DMR_UPD_BI_005(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel
+						f_CSE_DMR_UPD_005(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_UPD_BI_005_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_005_SUB_LBLMNI() runs on CseTester system CseSystem {
 						// Local variables
 						var XSD.NonNegativeInteger v_maxNrOfInstances := 5;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -7793,10 +7973,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.subscription_update_invalid.maxNrOfInstances := v_maxNrOfInstances;
 								
-						f_CSE_DMR_UPD_BI_005(int23, m_createSubscriptionBase, v_updateRequest);//Subscription
+						f_CSE_DMR_UPD_005(int23, m_createSubscriptionBase, v_updateRequest);//Subscription
 					}
 					
-					function f_CSE_DMR_UPD_BI_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester {
+					function f_CSE_DMR_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -7844,33 +8024,37 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
     					    				
-					}//end f_CSE_DMR_UPD_BI_005
+					}//end f_CSE_DMR_UPD_005
     				
-				} // end g_CSE_DMR_UPD_BI_005
+				} // end g_CSE_DMR_UPD_005
 				
-				group g_CSE_DMR_UPD_BO_006{
+				group g_CSE_DMR_UPD_006{
 					
-					testcase TC_CSE_DMR_UPD_BO_006_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to update the attribute ATTRIBUTE_NAME of a TARGET_RESOURCE_ADDRESS resource without having privileges for the UPDATE operation
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_006_CNT_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 
 						v_updateRequest.primitiveContent.container.labels := v_labels_1;
 						
-						f_CSE_DMR_UPD_BO_006(int3, m_createContainerBase, v_updateRequest);//Container
+						f_CSE_DMR_UPD_006(int3, m_createContainerBase, v_updateRequest);//Container
 					}
 
-					testcase TC_CSE_DMR_UPD_BO_006_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_006_GRP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 
 						v_updateRequest.primitiveContent.group_.labels := v_labels_1;
 						
-						f_CSE_DMR_UPD_BO_006(int9, m_createGroupBase, v_updateRequest);//Group
+						f_CSE_DMR_UPD_006(int9, m_createGroupBase, v_updateRequest);//Group
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_006_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_006_ACP_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -7880,40 +8064,40 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
 								
-						f_CSE_DMR_UPD_BO_006(int1, v_requestPrimitive, v_updateRequest);//AccessControlPolicy
+						f_CSE_DMR_UPD_006(int1, v_requestPrimitive, v_updateRequest);//AccessControlPolicy
 					}
 				
-					testcase TC_CSE_DMR_UPD_BO_006_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_006_SCH_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 
 						v_updateRequest.primitiveContent.schedule.labels := v_labels_1;
 										
-						f_CSE_DMR_UPD_BO_006(int18, m_createScheduleBase, v_updateRequest);//Schedule
+						f_CSE_DMR_UPD_006(int18, m_createScheduleBase, v_updateRequest);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_006_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_006_PCH_LBL() runs on CseTester system CseSystem {
 						// Local variable
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 
 						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1;
 							
-						f_CSE_DMR_UPD_BO_006(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel
+						f_CSE_DMR_UPD_006(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_006_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_006_SUB_LBL() runs on CseTester system CseSystem {
 						// Local variables
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 
 						v_updateRequest.primitiveContent.subscription.labels := v_labels_1;
 								
-						f_CSE_DMR_UPD_BO_006(int23, m_createSubscriptionBase, v_updateRequest);//Subscription
-						}
+						f_CSE_DMR_UPD_006(int23, m_createSubscriptionBase, v_updateRequest);//Subscription
+					}
 					
-					function f_CSE_DMR_UPD_BO_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester {
+					function f_CSE_DMR_UPD_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -7973,14 +8157,18 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
     					    				
-					}//end f_CSE_DMR_UPD_BO_006
+					}//end f_CSE_DMR_UPD_006
     				
-				} // end g_CSE_DMR_UPD_BO_006				
+				} // end g_CSE_DMR_UPD_006				
 								
 				
-				group g_CSE_DMR_UPD_BO_007{
+				group g_CSE_DMR_UPD_007{
 					
-					testcase TC_CSE_DMR_UPD_BO_007_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to update a non-RW attribute ATTRIBUTE_NAME of a TARGET_RESOURCE_ADDRESS resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_007_CNT_CT() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_creationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -7988,10 +8176,10 @@ module OneM2M_Testcases {
 						v_updateRequest.primitiveContent := {container_update_invalid := m_contentUpdateContainer_invalid};
 						v_updateRequest.primitiveContent.container_update_invalid.creationTime := v_creationTime;
 						
-						f_CSE_DMR_UPD_BO_007(int3, m_createContainerBase, v_updateRequest);//Container
+						f_CSE_DMR_UPD_007(int3, m_createContainerBase, v_updateRequest);//Container
 					}
 
-					testcase TC_CSE_DMR_UPD_BO_007_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_007_GRP_CT() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_creationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7999,10 +8187,10 @@ module OneM2M_Testcases {
 						v_updateRequest.primitiveContent := {group_update_invalid := m_contentUpdateGroup_invalid};
 						v_updateRequest.primitiveContent.group_update_invalid.creationTime := v_creationTime;
 						
-						f_CSE_DMR_UPD_BO_007(int9, m_createGroupBase, v_updateRequest);//Group
+						f_CSE_DMR_UPD_007(int9, m_createGroupBase, v_updateRequest);//Group
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_007_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_007_ACP_CT() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_creationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -8010,10 +8198,10 @@ module OneM2M_Testcases {
 						v_updateRequest.primitiveContent := {aCP_update_invalid := m_contentUpdateAcp_invalid};
 						v_updateRequest.primitiveContent.aCP_update_invalid.creationTime := v_creationTime;
 								
-						f_CSE_DMR_UPD_BO_007(int1, m_createAcpBase, v_updateRequest);//AccessControlPolicy
+						f_CSE_DMR_UPD_007(int1, m_createAcpBase, v_updateRequest);//AccessControlPolicy
 					}
 				
-					testcase TC_CSE_DMR_UPD_BO_007_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_007_SCH_CT() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_creationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
@@ -8021,10 +8209,10 @@ module OneM2M_Testcases {
 						v_updateRequest.primitiveContent := {schedule_update_invalid := m_contentUpdateSchedule_invalid};
 						v_updateRequest.primitiveContent.schedule_update_invalid.creationTime := v_creationTime;
 										
-						f_CSE_DMR_UPD_BO_007(int18, m_createScheduleBase, v_updateRequest);//Schedule
+						f_CSE_DMR_UPD_007(int18, m_createScheduleBase, v_updateRequest);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_007_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_007_PCH_CT() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_creationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
@@ -8032,10 +8220,10 @@ module OneM2M_Testcases {
 						v_updateRequest.primitiveContent := {pollingChannel_update_invalid := m_contentUpdatePollingChannel_invalid};
 						v_updateRequest.primitiveContent.pollingChannel_update_invalid.creationTime := v_creationTime;
 							
-						f_CSE_DMR_UPD_BO_007(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel
+						f_CSE_DMR_UPD_007(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_007_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_007_SUB_CT() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_creationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -8043,10 +8231,10 @@ module OneM2M_Testcases {
 						v_updateRequest.primitiveContent := {subscription_update_invalid := m_contentUpdateSubscription_invalid};
 						v_updateRequest.primitiveContent.subscription_update_invalid.creationTime := v_creationTime;
 								
-						f_CSE_DMR_UPD_BO_007(int23, m_createSubscriptionBase, v_updateRequest);//Subscription
-						}
+						f_CSE_DMR_UPD_007(int23, m_createSubscriptionBase, v_updateRequest);//Subscription
+					}
 					
-					function f_CSE_DMR_UPD_BO_007(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester {
+					function f_CSE_DMR_UPD_007(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -8099,13 +8287,17 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
     					    				
-					}//end f_CSE_DMR_UPD_BO_007
+					}//end f_CSE_DMR_UPD_007
     				
-				} // end g_CSE_DMR_UPD_BO_007			
+				} // end g_CSE_DMR_UPD_007			
 				
-				group g_CSE_DMR_UPD_BO_008{
+				group g_CSE_DMR_UPD_008{
 					
-					testcase TC_CSE_DMR_UPD_BO_008_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to delete a mandatory RW attribute ATTRIBUTE_NAME of a TARGET_RESOURCE_ADDRESS resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_008_CNT_ET() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_expirationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -8115,10 +8307,10 @@ module OneM2M_Testcases {
 
 						v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime;
 						
-						f_CSE_DMR_UPD_BO_008(int3, m_createContainerBase, v_updateRequest, v_nullFields);//Container
+						f_CSE_DMR_UPD_008(int3, m_createContainerBase, v_updateRequest, v_nullFields);//Container
 					}
 
-					testcase TC_CSE_DMR_UPD_BO_008_02() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_008_GRP_ET() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_expirationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -8128,10 +8320,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime;
 						
-						f_CSE_DMR_UPD_BO_008(int9, m_createGroupBase, v_updateRequest, v_nullFields);//Group
+						f_CSE_DMR_UPD_008(int9, m_createGroupBase, v_updateRequest, v_nullFields);//Group
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_008_03() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_008_ACP_ET() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_expirationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -8141,10 +8333,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime;
 								
-						f_CSE_DMR_UPD_BO_008(int1, m_createAcpBase, v_updateRequest, v_nullFields);//AccessControlPolicy
+						f_CSE_DMR_UPD_008(int1, m_createAcpBase, v_updateRequest, v_nullFields);//AccessControlPolicy
 					}
 				
-					testcase TC_CSE_DMR_UPD_BO_008_04() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_008_SCH_ET() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_expirationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
@@ -8154,10 +8346,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.schedule.expirationTime := v_expirationTime;
 										
-						f_CSE_DMR_UPD_BO_008(int18, m_createScheduleBase, v_updateRequest, v_nullFields);//Schedule
+						f_CSE_DMR_UPD_008(int18, m_createScheduleBase, v_updateRequest, v_nullFields);//Schedule
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_008_05() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_008_PCH_ET() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_expirationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
@@ -8167,10 +8359,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.pollingChannel.expirationTime := v_expirationTime;
 							
-						f_CSE_DMR_UPD_BO_008(int15, m_createPollingChannelBase, v_updateRequest, v_nullFields);//PollingChannel
+						f_CSE_DMR_UPD_008(int15, m_createPollingChannelBase, v_updateRequest, v_nullFields);//PollingChannel
 					}
 					
-					testcase TC_CSE_DMR_UPD_BO_008_06() runs on CseTester system CseSystem {
+					testcase TC_CSE_DMR_UPD_008_SUB_ET() runs on CseTester system CseSystem {
 						// Local variables
 						var Timestamp v_expirationTime := "20001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -8180,10 +8372,10 @@ module OneM2M_Testcases {
 						
 						v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime;
 								
-						f_CSE_DMR_UPD_BO_008(int23, m_createSubscriptionBase, v_updateRequest, v_nullFields);//Subscription
-						}
+						f_CSE_DMR_UPD_008(int23, m_createSubscriptionBase, v_updateRequest, v_nullFields);//Subscription
+					}
 					
-					function f_CSE_DMR_UPD_BO_008(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester {
+					function f_CSE_DMR_UPD_008(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive, template (omit) AttributeAux_list p_nullFields := omit) runs on CseTester {
     				
 						// Local variables
 						var MsgIn v_response;
@@ -8236,13 +8428,17 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
     					    				
-					}//end f_CSE_DMR_UPD_BO_008
+					}//end f_CSE_DMR_UPD_008
     				
-				} // end g_CSE_DMR_UPD_BO_008				
+				} // end g_CSE_DMR_UPD_008				
 
-				group g_CSE_DMR_UPD_BV_010{
+				group g_CSE_DMR_UPD_010{
 
-					testcase TC_CSE_DMR_UPD_BV_010() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the stateTag attribute of a container resource is increased when an update operation has been performed on its child resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_010() runs on CseTester system CseSystem {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_containerIndex := -1;
@@ -8301,13 +8497,17 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
 			
-					}//end TC_CSE_DMR_UPD_BV_010
+					}//end TC_CSE_DMR_UPD_010
 					
-				} // end group g_CSE_DMR_UPD_BV_010
+				} // end group g_CSE_DMR_UPD_010
 				
-				group g_CSE_DMR_UPD_BV_011{
+				group g_CSE_DMR_UPD_011{
 
-					testcase TC_CSE_DMR_UPD_BV_011() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT rejects the UPDATE Request of an existing contentInstance resource with error “OPERATION_NOT_ALLOWED”
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_011() runs on CseTester system CseSystem {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
@@ -8362,13 +8562,17 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
 
-					}//end TC_CSE_DMR_UPD_BV_011
+					}//end TC_CSE_DMR_UPD_011
 	
-				} // end group g_CSE_DMR_UPD_BV_011
+				} // end group g_CSE_DMR_UPD_011
 				
-				group g_CSE_DMR_UPD_BI_012{
+				group g_CSE_DMR_UPD_012{
 
-				  	testcase TC_CSE_DMR_UPD_BI_012() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT rejects the UPDATE Request of a latest resource as a direct child of a <container> resource with error “OPERATION_NOT_ALLOWED”
+					 * 
+					 */
+				  	testcase TC_CSE_DMR_UPD_012() runs on CseTester system CseSystem {
 					  	// Local variables
 					  	var MsgIn v_response;
 					  	var RequestPrimitive v_request;
@@ -8425,13 +8629,17 @@ module OneM2M_Testcases {
 					  	// Tear down
 					  	f_cf01Down();
 
-				  	}//end TC_CSE_DMR_UPD_BI_012
+				  	}//end TC_CSE_DMR_UPD_012
 
-			  	} // end group g_CSE_DMR_UPD_BI_012
+			  	} // end group g_CSE_DMR_UPD_012
 			  	
-				group g_CSE_DMR_UPD_BI_013{
+				group g_CSE_DMR_UPD_013{
 
-				  	testcase TC_CSE_DMR_UPD_BI_013() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT rejects the UPDATE Request of an oldest resource as a direct child of a <container> resource with error “OPERATION_NOT_ALLOWED”
+					 * 
+					 */
+				  	testcase TC_CSE_DMR_UPD_013() runs on CseTester system CseSystem {
 					  	// Local variables
 					  	var MsgIn v_response;
 					  	var RequestPrimitive v_request;
@@ -8488,59 +8696,63 @@ module OneM2M_Testcases {
 					  	// Tear down
 					  	f_cf01Down();
 
-				  	}//end TC_CSE_DMR_UPD_BI_013
+				  	}//end TC_CSE_DMR_UPD_013
 
-			  	} // end group g_CSE_DMR_UPD_BI_013
+			  	} // end group g_CSE_DMR_UPD_013
 
 			}//end group Update
 			
 			group Delete {
 			
-				group g_CSE_DMR_DEL_BV_001{
+				group g_CSE_DMR_DEL_001{
 
-                	testcase TC_CSE_DMR_DEL_BV_001_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT accepts the deletion of a RESOURCE_TYPE resource
+					 * 
+					 */
+                	testcase TC_CSE_DMR_DEL_001_CNT() runs on CseTester system CseSystem {
                 		// Local variables
                 		
-                		f_CSE_DMR_DEL_BV_001(int3, m_createContainerBase);//Container
+						f_CSE_DMR_DEL_001(int3, m_createContainerBase);//Container
                 		
                 		if(getverdict == pass){
                 			//check if "MyRessource" container resource isn't present in the IUT (for exemple attempt to update the resource)
                 		};
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_001_02() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_001_GRP() runs on CseTester system CseSystem {
                 		// Local variables
                 		
-                		f_CSE_DMR_DEL_BV_001(int9, m_createGroupBase);//Group
+						f_CSE_DMR_DEL_001(int9, m_createGroupBase);//Group
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_001_03() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_001_ACP() runs on CseTester system CseSystem {
                 		// Local variables
                 
-                		f_CSE_DMR_DEL_BV_001(int1, m_createAcpBase);//AccessControlPolicy
+						f_CSE_DMR_DEL_001(int1, m_createAcpBase);//AccessControlPolicy
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_001_04() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_001_SCH() runs on CseTester system CseSystem {
                 		// Local variables
                 
-                		f_CSE_DMR_DEL_BV_001(int18, m_createScheduleBase);//Schedule
+						f_CSE_DMR_DEL_001(int18, m_createScheduleBase);//Schedule
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_001_05() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_001_PCH() runs on CseTester system CseSystem {
                 		// Local variables
                 
-                		f_CSE_DMR_DEL_BV_001(int15, m_createPollingChannelBase);//PollingChannel
+						f_CSE_DMR_DEL_001(int15, m_createPollingChannelBase);//PollingChannel
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_001_06() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_001_SUB() runs on CseTester system CseSystem {
                 			// Local variables
                 
-                		f_CSE_DMR_DEL_BV_001(int23, m_createSubscriptionBase);//Subscription
+						f_CSE_DMR_DEL_001(int23, m_createSubscriptionBase);//Subscription
                 	};	
                 
                 
                 
-                	function f_CSE_DMR_DEL_BV_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on CseTester {
+                	function f_CSE_DMR_DEL_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on CseTester {
                 		// Local variables
                 		var MsgIn v_response;
                 		var RequestPrimitive v_request;
@@ -8588,50 +8800,54 @@ module OneM2M_Testcases {
                 		// Tear down
                 		f_cf01Down();
                 							
-                	};//end f_CSE_DMR_DEL_BV_001
+                	};//end f_CSE_DMR_DEL_001
                 
-                };//end of group g_CSE_DMR_DEL_BV_001
+                };//end of group g_CSE_DMR_DEL_001
                 
-                group g_CSE_DMR_DEL_BV_002{
+                group g_CSE_DMR_DEL_002{
                 
-                	testcase TC_CSE_DMR_DEL_BV_002_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to delete the resource TARGET_RESOURCE_ADDRESS without having privileges for the DELETE operation
+					 * 
+					 */
+                	testcase TC_CSE_DMR_DEL_002_CNT() runs on CseTester system CseSystem {
                 		// Local variables
                 		
-                		f_CSE_DMR_DEL_BV_002(int3, m_createContainerBase);//Container
+						f_CSE_DMR_DEL_002(int3, m_createContainerBase);//Container
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_002_02() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_002_GRP() runs on CseTester system CseSystem {
                 		// Local variables
                 		
-                		f_CSE_DMR_DEL_BV_002(int9, m_createGroupBase);//Group
+						f_CSE_DMR_DEL_002(int9, m_createGroupBase);//Group
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_002_03() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_002_ACP() runs on CseTester system CseSystem {
                 		// Local variables
                 
-                		f_CSE_DMR_DEL_BV_002(int1, m_createAcpBase);//AccessControlPolicy
+						f_CSE_DMR_DEL_002(int1, m_createAcpBase);//AccessControlPolicy
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_002_04() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_002_SCH() runs on CseTester system CseSystem {
                 		// Local variables
                 
-                		f_CSE_DMR_DEL_BV_002(int18, m_createScheduleBase);//Schedule
+						f_CSE_DMR_DEL_002(int18, m_createScheduleBase);//Schedule
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_002_05() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_002_PCH() runs on CseTester system CseSystem {
                 		// Local variables
                 
-                		f_CSE_DMR_DEL_BV_002(int15, m_createPollingChannelBase);//PollingChannel
+						f_CSE_DMR_DEL_002(int15, m_createPollingChannelBase);//PollingChannel
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_002_06() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_002_SUB() runs on CseTester system CseSystem {
                 			// Local variables
                 
-                		f_CSE_DMR_DEL_BV_002(int23, m_createSubscriptionBase);//Subscription
+						f_CSE_DMR_DEL_002(int23, m_createSubscriptionBase);//Subscription
                 	};
                 
                 
-                	function f_CSE_DMR_DEL_BV_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on CseTester {
+                	function f_CSE_DMR_DEL_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive) runs on CseTester {
                 		// Local variables
                 		var MsgIn v_response;
                 		var RequestPrimitive v_request;
@@ -8733,13 +8949,17 @@ module OneM2M_Testcases {
                 		// Tear down
                 		f_cf01Down();
                 							
-                	};//end f_CSE_DMR_DEL_BV_002
+                	};//end f_CSE_DMR_DEL_002
                 	
-                };//end of group g_CSE_DMR_DEL_BV_002
+                };//end of group g_CSE_DMR_DEL_002
                 
-                group g_CSE_DMR_DEL_BV_003{
+                group g_CSE_DMR_DEL_003{
                 	
-                	testcase TC_CSE_DMR_DEL_BV_003_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when the AE tries to delete the resource TARGET_RESOURCE_ADDRESS which does not exist
+					 * 
+					 */
+                	testcase TC_CSE_DMR_DEL_003() runs on CseTester system CseSystem {
                 	
                 		// Local variables
                 		var MsgIn v_response;
@@ -8787,49 +9007,53 @@ module OneM2M_Testcases {
                 		// Tear down
                 		f_cf01Down();
                 							
-                	};//end f_CSE_DMR_DEL_BV_003
-                };//end of group g_CSE_DMR_DEL_BV_003
+                	};//end f_CSE_DMR_DEL003
+                };//end of group g_CSE_DMR_DEL_003
                 
-                group g_CSE_DMR_DEL_BV_004{
+                group g_CSE_DMR_DEL_004{
                 	
-                	testcase TC_CSE_DMR_DEL_BV_004_01() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT responds with an error when AE tries to delete a child resource of a RESOURCE_TYPE resource when this resource has been already deleted
+					 * 
+					 */
+                	testcase TC_CSE_DMR_DEL_004_CNT() runs on CseTester system CseSystem {
                 		// Local variables
                 		
-                		f_CSE_DMR_DEL_BV_004(int3, m_createContainerBase, int3, m_createContainerBase);//Container
+						f_CSE_DMR_DEL_004(int3, m_createContainerBase, int3, m_createContainerBase);//Container
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_004_02() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_004_GRP() runs on CseTester system CseSystem {
                 		// Local variables
                 		
-                		f_CSE_DMR_DEL_BV_004(int9, m_createGroupBase, int23, m_createSubscriptionBase);//Group
+						f_CSE_DMR_DEL_004(int9, m_createGroupBase, int23, m_createSubscriptionBase);//Group
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_004_03() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_004_ACP() runs on CseTester system CseSystem {
                 		// Local variables
                 
-                		f_CSE_DMR_DEL_BV_004(int1, m_createAcpBase, int23, m_createSubscriptionBase);//AccessControlPolicy
+						f_CSE_DMR_DEL_004(int1, m_createAcpBase, int23, m_createSubscriptionBase);//AccessControlPolicy
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_004_04() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_004_SCH() runs on CseTester system CseSystem {
                 		// Local variables
                 
-                		f_CSE_DMR_DEL_BV_004(int18, m_createScheduleBase, int23, m_createSubscriptionBase);//Schedule
+						f_CSE_DMR_DEL_004(int18, m_createScheduleBase, int23, m_createSubscriptionBase);//Schedule
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_004_05() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_004_PCH() runs on CseTester system CseSystem {
                 		// Local variables
                 		// don't exist pollingChannel's child resource
-                		//f_CSE_DMR_DEL_BV_004(int15, m_createPollingChannelBase, int23, m_createSubscriptionBase);//PollingChannel  TODO ResourceType needed is PollingChannelURI
+                		//f_CSE_DMR_DEL_004(int15, m_createPollingChannelBase, int23, m_createSubscriptionBase);//PollingChannel  TODO ResourceType needed is PollingChannelURI
                 	};
                 
-                	testcase TC_CSE_DMR_DEL_BV_004_06() runs on CseTester system CseSystem {
+                	testcase TC_CSE_DMR_DEL_004_SUB() runs on CseTester system CseSystem {
                 			// Local variables
                 
-                		f_CSE_DMR_DEL_BV_004(int23, m_createSubscriptionBase, int18, m_createScheduleBase);//Subscription
+						f_CSE_DMR_DEL_004(int23, m_createSubscriptionBase, int18, m_createScheduleBase);//Subscription
                 	};	
                 
                 
-                	function f_CSE_DMR_DEL_BV_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, ResourceType p_childResourceType, template RequestPrimitive p_createRequestPrimitiveChildResource) runs on CseTester {
+                	function f_CSE_DMR_DEL_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, ResourceType p_childResourceType, template RequestPrimitive p_createRequestPrimitiveChildResource) runs on CseTester {
                 		// Local variables
                 		var MsgIn v_response;
                 		var RequestPrimitive v_request;
@@ -8901,12 +9125,16 @@ module OneM2M_Testcases {
                 		// Tear down
                 		f_cf01Down();
                 						
-                	};//end f_CSE_DMR_DEL_BV_004
-				};//end of group g_CSE_DMR_DEL_BV_004
+                	};//end f_CSE_DMR_DEL_004
+				};//end of group g_CSE_DMR_DEL_004
 
-				group g_CSE_DMR_DEL_BV_005{
+				group g_CSE_DMR_DEL_005{
 
-            		testcase TC_CSE_DMR_DEL_BV_005() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the stateTag attribute of a container resource is increased when a child resource is deleted
+					 * 
+					 */
+            		testcase TC_CSE_DMR_DEL_005() runs on CseTester system CseSystem {
             			// Local variables
             			var MsgIn v_response;
             			var RequestPrimitive v_request;
@@ -8985,12 +9213,16 @@ module OneM2M_Testcases {
             			// Tear down
             			f_cf01Down();
             				
-            		}//end f_CSE_DMR_DEL_BV_005
-            	} // end group g_CSE_DMR_DEL_BV_005
+            		}//end f_CSE_DMR_DEL_005
+            	} // end group g_CSE_DMR_DEL_005
             	
-				group g_CSE_DMR_DEL_BV_006{
+				group g_CSE_DMR_DEL_006{
 
-					testcase TC_CSE_DMR_DEL_BV_006() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT decreases the field value of attribute currentNrOfInstances and currentByteSize of parent container when a latest contentInstance resource is deleted successfully
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_006() runs on CseTester system CseSystem {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
@@ -9043,12 +9275,16 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
             				
-					}//end f_CSE_DMR_DEL_BV_006
-				} // end group g_CSE_DMR_DEL_BV_006
+					}//end f_CSE_DMR_DEL_006
+				} // end group g_CSE_DMR_DEL_006
 				
-				group g_CSE_DMR_DEL_BV_007{
+				group g_CSE_DMR_DEL_007{
 
-					testcase TC_CSE_DMR_DEL_BV_007() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT accepts the DELETE Request of the latest contentInstance resource target to a container resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_007() runs on CseTester system CseSystem {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
@@ -9117,12 +9353,16 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
             				
-					}//end f_CSE_DMR_DEL_BV_007
-				} // end group g_CSE_DMR_DEL_BV_007
+					}//end f_CSE_DMR_DEL_007
+				} // end group g_CSE_DMR_DEL_007
 				
-				group g_CSE_DMR_DEL_BO_008{
+				group g_CSE_DMR_DEL_008{
 
-					testcase TC_CSE_DMR_DEL_BO_008() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT rejects the DELETE  request of a latest resource in a container resource that has no direct child contentInstance resources.
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_008() runs on CseTester system CseSystem {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
@@ -9168,12 +9408,16 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
             				
-					}//end f_CSE_DMR_DEL_BO_008
-				} // end group g_CSE_DMR_DEL_BO_008
+					}//end f_CSE_DMR_DEL_008
+				} // end group g_CSE_DMR_DEL_008
 				
-				group g_CSE_DMR_DEL_BV_009{
+				group g_CSE_DMR_DEL_009{
 
-					testcase TC_CSE_DMR_DEL_BV_009() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT accepts the DELETE Request of the oldest contentInstance resource target to a container resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_009() runs on CseTester system CseSystem {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
@@ -9242,12 +9486,16 @@ module OneM2M_Testcases {
 						// Tear down
 						f_cf01Down();
             				
-					}//end f_CSE_DMR_DEL_BV_009
-				} // end group g_CSE_DMR_DEL_BV_009
+					}//end f_CSE_DMR_DEL_009
+				} // end group g_CSE_DMR_DEL_009
 				
-				group g_CSE_DMR_DEL_BO_010{
+				group g_CSE_DMR_DEL_010{
 
-					testcase TC_CSE_DMR_DEL_BO_010() runs on CseTester system CseSystem {
+					/**
+					 * @desc Check that the IUT rejects the DELETE  request of a oldest resource in a container resource that has no direct child contentInstance resources.
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_010() runs on CseTester system CseSystem {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
@@ -9292,8 +9540,8 @@ module OneM2M_Testcases {
             
 						// Tear down
 						f_cf01Down();	
-					}//end f_CSE_DMR_DEL_BO_010
-				} // end group g_CSE_DMR_DEL_BO_010
+					}//end f_CSE_DMR_DEL_010
+				} // end group g_CSE_DMR_DEL_010
 				
 			}//end group Delete
 			
-- 
GitLab