diff --git a/LibOneM2M/OneM2M_Pics.ttcn b/LibOneM2M/OneM2M_Pics.ttcn
index 4df2a38fe481224306a27cb3d2e3daddd1058210..2304e73807351e18a7143274725a9388240f9971 100644
--- a/LibOneM2M/OneM2M_Pics.ttcn
+++ b/LibOneM2M/OneM2M_Pics.ttcn
@@ -140,12 +140,13 @@ module OneM2M_Pics {
 		}
 		
 		/**
-		 * @desc Non-Blocking Requests
-		 * @see  oneM2M TS-0017 A.X.Y.Z
+		 * @desc Requests handling
+		 * @see  oneM2M TS-0017 A.5.4-1
 		 */
 		group NonBlocking {
-			modulepar boolean PICS_NON_BLOCKING_REQUEST_SYNCH := true;		//TO BE DEFINED IN TS-0017
-			modulepar boolean PICS_NON_BLOCKING_REQUEST_ASYNCH := true;		//TO BE DEFINED IN TS-0017
+			modulepar boolean PICS_BLOCKING_REQUEST := true;	
+			modulepar boolean PICS_NON_BLOCKING_REQUEST_SYNCH := true;	
+			modulepar boolean PICS_NON_BLOCKING_REQUEST_ASYNCH := true;
 		}
 	}
 	
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index a40e346d0ac6b58a3e56311d332f13598f011379..7081b526f25db4c1b264f354ed2aa2f6d6126622 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -10242,11 +10242,11 @@ module OneM2M_PermutationFunctions {
 		  	 
 		  } //end group PollingChannel
 		
-		group Non_Blocking_Requests{
-
-			group Synchronous{
-
-				function f_CSE_NBR_SYN_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
+		group Response_Type {
+			
+			group Blocking_Requests {
+		
+				function f_CSE_RT_BR_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem {
 			
 					// Local variables
 					var MsgIn v_response;
@@ -10256,8 +10256,8 @@ module OneM2M_PermutationFunctions {
 					var integer v_acpAuxIndex := -1;
 						   
 					// Test control
-					if(PICS_NON_BLOCKING_REQUEST_SYNCH){
-						setverdict(inconc, __SCOPE__ & ": It is required to not support Non-blocking access resource in synchronous mode to run this test case");
+					if(not(PICS_BLOCKING_REQUEST)){
+						setverdict(inconc, __SCOPE__ & ": It is required to support Blocking access resource to run this test case");
 						stop;
 					}
 
@@ -10277,27 +10277,27 @@ module OneM2M_PermutationFunctions {
 						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 					}
 					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType := {int1, omit};		//nonBlockingRequestSynch
+					p_requestPrimitive.responseType := {int3, omit};		//BlockingRequest
 					
 					// Test Body
 
 					f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int5206))) -> value v_response {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": Operation rejected because Non-blocking access resource in synchronous mode is not supported");
+							setverdict(pass, __SCOPE__ & ": Successful operation using Blocking Request");
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ": Wrong response status code");
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Error operation have been accepted without supporting Non-Blocking Requests");
+							setverdict(fail, __SCOPE__ & ": Error while blocking request operation");
 						}
 						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+							setverdict(fail, __SCOPE__ & ": No answer while executing blocking request operation");
 						}
 					}
 	
@@ -10308,666 +10308,739 @@ module OneM2M_PermutationFunctions {
 	
 					// Tear down
 					f_cf01Down();
-						
-				}//end f_CSE_NBR_SYN_001
-		
-				function f_CSE_NBR_SYN_002(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
-			
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_acpAuxIndex := -1;
-					var template PrimitiveContent v_contentResponse;
-		   
-					// Test control
-					if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
-						setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
-						stop;
-					}
-
-					// Test component configuration
-					f_cf01Up();
-
-					// Test adapter configuration
-
-					// Preamble
 			
-					v_contentResponse.uRI := ?;
-
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-
-					if(ispresent(p_parentRequestPrimitive)) {
-						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
-						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					}else{
-						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
-					}
-					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType := {int1,omit};		//nonBlockingRequestSynch
+				}//end f_CSE_RT_BR_001				
+		
+			}
+		
+			group Non_Blocking_Requests{
 	
-					// Test Body
-
-					f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1001))) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+				group Synchronous{
+	
+					function f_CSE_NBR_SYN_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
+				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_acpAuxIndex := -1;
+							   
+						// Test control
+						if(PICS_NON_BLOCKING_REQUEST_SYNCH){
+							setverdict(inconc, __SCOPE__ & ": It is required to not support Non-blocking access resource in synchronous mode to run this test case");
+							stop;
 						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+	
+						// Test component configuration
+						f_cf01Up();
+		
+						// Test adapter configuration
+	
+						// Preamble
+		
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+		
+						if(ispresent(p_parentRequestPrimitive)) {
+							v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
+							p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+						}else{
+							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 						}
-					}
-
-					f_checkAeSimuStatus();
-
-					//Check to see if the resource is present or not
-					if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){
-						f_send(e_mca_port, m_request(m_retrieve(v_response.primitive.responsePrimitive.primitiveContent.uRI, f_getOriginator(v_aeIndex))));
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType := {int1, omit};		//nonBlockingRequestSynch
+						
+						// Test Body
+	
+						f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5206))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Request resource present");
+								setverdict(pass, __SCOPE__ & ": Operation rejected because Non-blocking access resource in synchronous mode is not supported");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Request resource not found");
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Wrong response status code in the response");
+								setverdict(fail, __SCOPE__ & ": Error operation have been accepted without supporting Non-Blocking Requests");
 							}
 							[] tc_ac.timeout {
-								setverdict(fail, testcasename() & ": No answer while retrieving resource");
+								setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
 							}
-						}	
-					}
-
-					// Postamble
-					f_cse_postamble_deleteResources();
-
-					// Tear down
-					f_cf01Down();
+						}
 		
-				}//end f_CSE_NBR_SYN_002
+						f_checkAeSimuStatus();
+					
+						// Postamble
+						f_cse_postamble_deleteResources();
 		
-				function f_CSE_NBR_SYN_003(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in Operation p_operation) runs on AeSimu system CseSystem{
+						// Tear down
+						f_cf01Down();
+							
+					}//end f_CSE_NBR_SYN_001
 			
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_acpAuxIndex := -1;
-					var template PrimitiveContent v_contentResponseUri;
-					var template PrimitiveContent v_contentResponseRequestResource;
-					var RequestStatus v_requestStatus;
-					var URI v_requestResourceURI;
-					var ResponseStatusCode v_statusCode;
-					var template PrimitiveContent v_primitiveContent;
-   
-							// Test control
-					if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
-						setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
-						stop;
-					}
-
-					// Test component configuration
-					f_cf01Up();
-
-					// Test adapter configuration
-
-					// Preamble
-
-					v_contentResponseUri.uRI := ?;
-
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-
-					if(ispresent(p_parentRequestPrimitive)) {
-						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
-						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					}else{
-						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
-					}
-					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType := {int1, omit};		//nonBlockingRequestSynch
-
-					// Test Body
-
-					f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponseUri))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1001))) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+					function f_CSE_NBR_SYN_002(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
+				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_acpAuxIndex := -1;
+						var template PrimitiveContent v_contentResponse;
+			   
+						// Test control
+						if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
+							setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
+							stop;
 						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+	
+						// Test component configuration
+						f_cf01Up();
+	
+						// Test adapter configuration
+	
+						// Preamble
+				
+						v_contentResponse.uRI := ?;
+	
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+	
+						if(ispresent(p_parentRequestPrimitive)) {
+							v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
+							p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+						}else{
+							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 						}
-					}
-
-					f_checkAeSimuStatus();
-
-					//Check to see if the resource is present or not
-					if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){
-						v_contentResponseRequestResource.request := mw_contentRequestBase;
-						v_requestResourceURI := v_response.primitive.responsePrimitive.primitiveContent.uRI;
-						if (p_operation == int1){		//create
-							v_statusCode := int2001;
-							v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitive.primitiveContent);
-						}else if (p_operation == int2){	//retrieve
-							v_statusCode := int2000;
-							v_primitiveContent.container := mw_contentContainer_rc1;
-						}else if (p_operation == int3){	//update
-							v_statusCode := int2004;
-							v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitive.primitiveContent);
-						}else if (p_operation == int4){	//delete
-							v_statusCode := int2002;
-							v_primitiveContent.container := mw_contentContainer_rc1;
-							//v_primitiveContent := omit;
-						}
-						f_send(e_mca_port, m_request(m_retrieve(v_requestResourceURI, f_getOriginator(v_aeIndex))));
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType := {int1,omit};		//nonBlockingRequestSynch
+		
+						// Test Body
+	
+						f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponseRequestResource))) -> value v_response{
-								setverdict(pass, testcasename() & ": Request resource has been received");
-								v_requestStatus := v_response.primitive.responsePrimitive.primitiveContent.request.requestStatus;
-								if (v_requestStatus==int1){			//COMPLETED
-									tc_ac.stop;
-									if (valueof(p_requestPrimitive.requestIdentifier) ==  valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.requestIdentifier) ){
-										setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute correctly received");
-									}else{
-										setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute not correctly received");
-									}
-									
-									if (valueof(v_statusCode) ==  valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.responseStatusCode) ){
-										setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and responseStatusCode attribute correctly received");
-									}else{
-										setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and responseStatusCode attribute not correctly received");
-									}
-									
-									if (match(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.primitiveContent, v_primitiveContent) ){
-										setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and primitiveContent template correctly received");
-									}else{
-										setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and primitiveContent template not correctly received");
-									}
-									
-								}else if (v_requestStatus==int2){	//FAILED
-									tc_ac.stop;
-									setverdict(fail, testcasename() & ": RequestStatus: FAIL");
-								}else{								//PENDING, FORWARDING or PARTIALLY_COMPLETED
-									f_sleep(PX_TAC/5.0);
-									f_send(e_mca_port, m_request(m_retrieve(v_requestResourceURI, f_getOriginator(v_aeIndex))));
-									repeat;								
-								}
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1001))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Request resource not found");
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Wrong response status code in the response");
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
 							}
 							[] tc_ac.timeout {
-								setverdict(fail, testcasename() & ": No answer while retrieving resource");
+								setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
 							}
-						}	
-					}
-
-					// Postamble
-					f_cse_postamble_deleteResources();
-
-					// Tear down
-					f_cf01Down();
-
-				}//end f_CSE_NBR_SYN_003
-			}//end Group Synchronous
-
-			group Asynchronous{
-		
-				function f_CSE_NBR_ASY_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
-			
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_acpAuxIndex := -1;
-		   
-					// Test control
-					if(PICS_NON_BLOCKING_REQUEST_ASYNCH){
-						setverdict(inconc, __SCOPE__ & ": It is required to not support Non-blocking access resource in asynchronous mode to run this test case");
-						stop;
-					}
-
-					// Test component configuration
-					f_cf01Up();
-
-					// Test adapter configuration
-
-					// Preamble
-
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-
-					if(ispresent(p_parentRequestPrimitive)) {
-						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
-						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					}else{
-						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
-					}
-					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType := {int2,omit};		//nonBlockingRequestAsynch
-					// Test Body
-
-					f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, omit))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": No content provided with the right status code");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": No content provided with a wrong status code");
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Content provided");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
-						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in asynchronous mode operation");
+	
+						f_checkAeSimuStatus();
+	
+						//Check to see if the resource is present or not
+						if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){
+							f_send(e_mca_port, m_request(m_retrieve(v_response.primitive.responsePrimitive.primitiveContent.uRI, f_getOriginator(v_aeIndex))));
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) {
+									tc_ac.stop;
+									setverdict(pass, testcasename() & ": Request resource present");
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Request resource not found");
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Wrong response status code in the response");
+								}
+								[] tc_ac.timeout {
+									setverdict(fail, testcasename() & ": No answer while retrieving resource");
+								}
+							}	
 						}
-					}
-
-					f_checkAeSimuStatus();
-
-					//Check to see if the resource is present or not
-					if (f_cse_isResourcePresent(v_resourceIndex)){
-						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
-					} else {
-						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
-					}
-
-					// Postamble
-					f_cse_postamble_deleteResources();
-
-					// Tear down
-					f_cf01Down();
-		
-				}//end f_CSE_NBR_ASY_001
-				
-				function f_CSE_NBR_ASY_002(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
+	
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();
 			
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_acpAuxIndex := -1;
-					var template PrimitiveContent v_contentResponse;
-		   
-					// Test control
-					if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
-						setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
-						stop;
-					}
-
-					// Test component configuration
-					f_cf01Up();
-
-					// Test adapter configuration
-
-					// Preamble
+					}//end f_CSE_NBR_SYN_002
 			
-					v_contentResponse.uRI := ?;
-
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-
-					if(ispresent(p_parentRequestPrimitive)) {
-						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
-						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					}else{
-						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
-					}
-					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType := {int2,omit};		//nonBlockingRequestAsynch
+					function f_CSE_NBR_SYN_003(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in Operation p_operation) runs on AeSimu system CseSystem{
+				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_acpAuxIndex := -1;
+						var template PrimitiveContent v_contentResponseUri;
+						var template PrimitiveContent v_contentResponseRequestResource;
+						var RequestStatus v_requestStatus;
+						var URI v_requestResourceURI;
+						var ResponseStatusCode v_statusCode;
+						var template PrimitiveContent v_primitiveContent;
+	   
+								// Test control
+						if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
+							setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
+							stop;
+						}
 	
-					// Test Body
-
-					f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
+						// Test component configuration
+						f_cf01Up();
+	
+						// Test adapter configuration
+	
+						// Preamble
+	
+						v_contentResponseUri.uRI := ?;
+	
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+	
+						if(ispresent(p_parentRequestPrimitive)) {
+							v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
+							p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+						}else{
+							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType := {int1, omit};		//nonBlockingRequestSynch
+	
+						// Test Body
+	
+						f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponseUri))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1001))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+							}
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+	
+						f_checkAeSimuStatus();
+	
+						//Check to see if the resource is present or not
+						if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){
+							v_contentResponseRequestResource.request := mw_contentRequestBase;
+							v_requestResourceURI := v_response.primitive.responsePrimitive.primitiveContent.uRI;
+							if (p_operation == int1){		//create
+								v_statusCode := int2001;
+								v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitive.primitiveContent);
+							}else if (p_operation == int2){	//retrieve
+								v_statusCode := int2000;
+								v_primitiveContent.container := mw_contentContainer_rc1;
+							}else if (p_operation == int3){	//update
+								v_statusCode := int2004;
+								v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitive.primitiveContent);
+							}else if (p_operation == int4){	//delete
+								v_statusCode := int2002;
+								v_primitiveContent.container := mw_contentContainer_rc1;
+								//v_primitiveContent := omit;
+							}
+							f_send(e_mca_port, m_request(m_retrieve(v_requestResourceURI, f_getOriginator(v_aeIndex))));
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponseRequestResource))) -> value v_response{
+									setverdict(pass, testcasename() & ": Request resource has been received");
+									v_requestStatus := v_response.primitive.responsePrimitive.primitiveContent.request.requestStatus;
+									if (v_requestStatus==int1){			//COMPLETED
+										tc_ac.stop;
+										if (valueof(p_requestPrimitive.requestIdentifier) ==  valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.requestIdentifier) ){
+											setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute correctly received");
+										}else{
+											setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute not correctly received");
+										}
+										
+										if (valueof(v_statusCode) ==  valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.responseStatusCode) ){
+											setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and responseStatusCode attribute correctly received");
+										}else{
+											setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and responseStatusCode attribute not correctly received");
+										}
+										
+										if (match(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.primitiveContent, v_primitiveContent) ){
+											setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and primitiveContent template correctly received");
+										}else{
+											setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and primitiveContent template not correctly received");
+										}
+										
+									}else if (v_requestStatus==int2){	//FAILED
+										tc_ac.stop;
+										setverdict(fail, testcasename() & ": RequestStatus: FAIL");
+									}else{								//PENDING, FORWARDING or PARTIALLY_COMPLETED
+										f_sleep(PX_TAC/5.0);
+										f_send(e_mca_port, m_request(m_retrieve(v_requestResourceURI, f_getOriginator(v_aeIndex))));
+										repeat;								
+									}
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Request resource not found");
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Wrong response status code in the response");
+								}
+								[] tc_ac.timeout {
+									setverdict(fail, testcasename() & ": No answer while retrieving resource");
+								}
+							}	
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+	
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();
+	
+					}//end f_CSE_NBR_SYN_003
+				}//end Group Synchronous
+	
+				group Asynchronous{
+			
+					function f_CSE_NBR_ASY_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
+				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_acpAuxIndex := -1;
+			   
+						// Test control
+						if(PICS_NON_BLOCKING_REQUEST_ASYNCH){
+							setverdict(inconc, __SCOPE__ & ": It is required to not support Non-blocking access resource in asynchronous mode to run this test case");
+							stop;
 						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+	
+						// Test component configuration
+						f_cf01Up();
+	
+						// Test adapter configuration
+	
+						// Preamble
+	
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+	
+						if(ispresent(p_parentRequestPrimitive)) {
+							v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
+							p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+						}else{
+							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 						}
-					}
-
-					f_checkAeSimuStatus();
-
-					//Check to see if the resource is present or not
-					if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){
-						f_send(e_mca_port, m_request(m_retrieve(v_response.primitive.responsePrimitive.primitiveContent.uRI, f_getOriginator(v_aeIndex))));
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType := {int2,omit};		//nonBlockingRequestAsynch
+						// Test Body
+	
+						f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
 						tc_ac.start;
 						alt {
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, omit))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": No content provided with the right status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, testcasename() & ": Request resource present");
+								setverdict(fail, __SCOPE__ & ": No content provided with a wrong status code");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Request resource not found");
+								setverdict(fail, __SCOPE__ & ": Content provided");
 							}
-							[] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Wrong response status code in the response");
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
 							}
 							[] tc_ac.timeout {
-								setverdict(fail, testcasename() & ": No answer while retrieving resource");
+								setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in asynchronous mode operation");
 							}
-						}	
-					}
-
-					// Postamble
-					f_cse_postamble_deleteResources();
-
-					// Tear down
-					f_cf01Down();
-		
-				}//end f_CSE_NBR_ASY_002
-				
-				function f_CSE_NBR_ASY_003(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem{
-			
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_acpAuxIndex := -1;
-					var template PrimitiveContent v_contentResponse;
-   
-					// Test control
-					if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
-						setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
-						stop;
-					}
-
-					// Test component configuration
-					f_cf01Up();
-
-					// Test adapter configuration
-
-					// Preamble
-
-					v_contentResponse.uRI := ?;
-
-					v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi);
-					if(ispresent(p_parentRequestPrimitive)) {
-						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
-						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					}else{
-						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
-					}
-					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType := {int2, omit};		//nonBlockingRequestAsynch and no notification target list is provided"
-
-					f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
 						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+	
+						f_checkAeSimuStatus();
+	
+						//Check to see if the resource is present or not
+						if (f_cse_isResourcePresent(v_resourceIndex)){
+							setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+						} else {
+							setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
 						}
-					}
-
-					f_checkAeSimuStatus();
-					
-					//Test Body
-
-					//Check to see if the notification is received
-					f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode));
-
-					// Postamble
-					f_cse_postamble_deleteResources();
-
-					// Tear down
-					f_cf01Down();
-
-				}//end f_CSE_NBR_ASY_003
-				
-				function f_CSE_NBR_ASY_004(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
+	
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();
 			
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_acpAuxIndex := -1;
-					var template PrimitiveContent v_contentResponse;
-   
-					// Test control
-					if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
-						setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
-						stop;
-					}
-
-					// Test component configuration
-					f_cf01Up();
-
-					// Test adapter configuration
-
-					// Preamble
-
-					v_contentResponse.uRI := ?;
-
-					v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi);
-
-					if(ispresent(p_parentRequestPrimitive)) {
-						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
-						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					}else{
-						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
-					}
-					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType.responseTypeValue := int2;		//nonBlockingRequestAsynch
-					p_requestPrimitive.responseType.notificationURI := {};		//"...an empty notification target list is provided"
-
-					// Test Body
-
-					f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
+					}//end f_CSE_NBR_ASY_001
+					
+					function f_CSE_NBR_ASY_002(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
+				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_acpAuxIndex := -1;
+						var template PrimitiveContent v_contentResponse;
+			   
+						// Test control
+						if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
+							setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
+							stop;
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+	
+						// Test component configuration
+						f_cf01Up();
+	
+						// Test adapter configuration
+	
+						// Preamble
+				
+						v_contentResponse.uRI := ?;
+	
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+	
+						if(ispresent(p_parentRequestPrimitive)) {
+							v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
+							p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+						}else{
+							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType := {int2,omit};		//nonBlockingRequestAsynch
+		
+						// Test Body
+	
+						f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+							}
 						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+	
+						f_checkAeSimuStatus();
+	
+						//Check to see if the resource is present or not
+						if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){
+							f_send(e_mca_port, m_request(m_retrieve(v_response.primitive.responsePrimitive.primitiveContent.uRI, f_getOriginator(v_aeIndex))));
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) {
+									tc_ac.stop;
+									setverdict(pass, testcasename() & ": Request resource present");
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Request resource not found");
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Wrong response status code in the response");
+								}
+								[] tc_ac.timeout {
+									setverdict(fail, testcasename() & ": No answer while retrieving resource");
+								}
+							}	
 						}
-					}
-
-					f_checkAeSimuStatus();
-
-					//Check if Notification is sent or not
-					
-					f_cse_notifyProcedure_noNotificationHandler();					
-
-					// Postamble
-					f_cse_postamble_deleteResources();
-
-					// Tear down
-					f_cf01Down();
-
-				}//end f_CSE_NBR_ASY_004
-				
-				function f_CSE_NBR_ASY_005(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem{
+	
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();
 			
-					// Local variables
-					var MsgIn v_response;
-					var RequestPrimitive v_request;
-					var integer v_aeIndex, v_ae2Index := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_acpAuxIndex := -1;
-					var template PrimitiveContent v_contentResponse;
-   
-					// Test control
-					if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
-						setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
-						stop;
-					}
-
-					// Test component configuration
-					f_cf01Up(true);
-
-					// Test adapter configuration
-
-					// Preamble
-
-					v_contentResponse.uRI := ?;
-
-					v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi);
-
-					f_checkAeSimuStatus();
-					
-					vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAE2Name, {f_getCompletePoA(PX_TS_AE2.mcaPortIn, "")}))); // AE2 is registred
-					
-					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
-					
-					v_ae2Index := f_getResourceFromAeSimu(vc_ae2);
+					}//end f_CSE_NBR_ASY_002
 					
-					if(ispresent(p_parentRequestPrimitive)) {
-						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
-						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					}else{
-						p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
-					}
-					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
-					p_requestPrimitive.responseType.responseTypeValue := int2;		//nonBlockingRequestAsynch
-					p_requestPrimitive.responseType.notificationURI := {f_getResourceAddress(v_aeIndex), f_getResourceAddress(v_ae2Index)};		//"...an empty notification target list is provided"
-
-					// Test Body
-
-					f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
+					function f_CSE_NBR_ASY_003(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem{
+				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_acpAuxIndex := -1;
+						var template PrimitiveContent v_contentResponse;
+	   
+						// Test control
+						if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
+							setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
+							stop;
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
+	
+						// Test component configuration
+						f_cf01Up();
+	
+						// Test adapter configuration
+	
+						// Preamble
+	
+						v_contentResponse.uRI := ?;
+	
+						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi);
+						if(ispresent(p_parentRequestPrimitive)) {
+							v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
+							p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+						}else{
+							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType := {int2, omit};		//nonBlockingRequestAsynch and no notification target list is provided"
+	
+						f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+							}
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+	
+						f_checkAeSimuStatus();
+						
+						//Test Body
+	
+						//Check to see if the notification is received
+						f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode));
+	
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();
+	
+					}//end f_CSE_NBR_ASY_003
+					
+					function f_CSE_NBR_ASY_004(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{
+				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_acpAuxIndex := -1;
+						var template PrimitiveContent v_contentResponse;
+	   
+						// Test control
+						if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
+							setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
+							stop;
 						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+	
+						// Test component configuration
+						f_cf01Up();
+	
+						// Test adapter configuration
+	
+						// Preamble
+	
+						v_contentResponse.uRI := ?;
+	
+						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi);
+	
+						if(ispresent(p_parentRequestPrimitive)) {
+							v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
+							p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+						}else{
+							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 						}
-					}
-
-					f_checkAeSimuStatus();
-
-					//Check if Notification is sent or not
-					
-					
-					vc_ae2.start(f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode)));
-					
-					f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode));
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType.responseTypeValue := int2;		//nonBlockingRequestAsynch
+						p_requestPrimitive.responseType.notificationURI := {};		//"...an empty notification target list is provided"
+	
+						// Test Body
+	
+						f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+							}
+						}
+	
+						f_checkAeSimuStatus();
+	
+						//Check if Notification is sent or not
+						
+						f_cse_notifyProcedure_noNotificationHandler();					
+	
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();
+	
+					}//end f_CSE_NBR_ASY_004
 					
-					vc_ae2.done;
-
-					// Postamble
-					f_cse_postamble_deleteResources();
-
-					// Tear down
-					f_cf01Down();
-
-				}//end f_CSE_NBR_ASY_005
+					function f_CSE_NBR_ASY_005(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem{
 				
-
-			}//end Group Asynchronous
-
-		}//end group Non_Blocking_Requests
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex, v_ae2Index := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_acpAuxIndex := -1;
+						var template PrimitiveContent v_contentResponse;
+	   
+						// Test control
+						if(not PICS_NON_BLOCKING_REQUEST_SYNCH){
+							setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case");
+							stop;
+						}
+	
+						// Test component configuration
+						f_cf01Up(true);
+	
+						// Test adapter configuration
+	
+						// Preamble
+	
+						v_contentResponse.uRI := ?;
+	
+						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi);
+	
+						f_checkAeSimuStatus();
+						
+						vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAE2Name, {f_getCompletePoA(PX_TS_AE2.mcaPortIn, "")}))); // AE2 is registred
+						
+						f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+						
+						v_ae2Index := f_getResourceFromAeSimu(vc_ae2);
+						
+						if(ispresent(p_parentRequestPrimitive)) {
+							v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
+							p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+						}else{
+							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
+						}
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType.responseTypeValue := int2;		//nonBlockingRequestAsynch
+						p_requestPrimitive.responseType.notificationURI := {f_getResourceAddress(v_aeIndex), f_getResourceAddress(v_ae2Index)};		//"...an empty notification target list is provided"
+	
+						// Test Body
+	
+						f_send(e_mca_port, m_request(valueof(p_requestPrimitive)));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation");
+							}
+						}
+	
+						f_checkAeSimuStatus();
+	
+						//Check if Notification is sent or not
+						
+						
+						vc_ae2.start(f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode)));
+						
+						f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode));
+						
+						vc_ae2.done;
+	
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();
+	
+					}//end f_CSE_NBR_ASY_005
+					
+	
+				}//end Group Asynchronous
+	
+			}//end group Non_Blocking_Requests
+		
+		}//end of group Response_Type
 	
 	}//end group CSE
 
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 19cc1cce141fb1ec4951ef409b6f7c5e62eb051e..f38a8561bec30c58e49374d536aeb918a472e990 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -4401,433 +4401,481 @@ module OneM2M_Testcases_CSE_Release_2 {
 			
 		}//end group PollingChannel
 		
-		group Non_Blocking_Requests{
-
-			group Synchronous{
-
-				group g_CSE_NBR_SYN_001 {
-			
-					/**
-					 * @desc Check that the IUT rejects a Non-Blocking Synchronous Request if the IUT does not support the <request> resource
-					 * 
-					 */
-					testcase TC_CSE_NBR_SYN_001_CRE() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-				
-						v_ae1.start(f_CSE_NBR_SYN_001(m_createContainerBase, -)); //Create Container
-						v_ae1.done;
-				
-					}
-					
-					testcase TC_CSE_NBR_SYN_001_UPD() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Labels v_labels_1 := {"VALUE_1"};
-				
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-				
-						v_ae1.start(f_CSE_NBR_SYN_001(m_updateContainerBase, m_createContainerBase)); //Update Container
-						v_ae1.done;
-		  
-					}
-	
-					testcase TC_CSE_NBR_SYN_001_RET() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-				
-						v_ae1.start(f_CSE_NBR_SYN_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
-						v_ae1.done;
+		group Response_Type {
 		
-					}
+			group Blocking_Requests {
 			
-					testcase TC_CSE_NBR_SYN_001_DEL() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-				
-						v_ae1.start(f_CSE_NBR_SYN_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
-						v_ae1.done;
-
-					}
-
-				}// end group g_CSE_NBR_SYN_001
-		
-				group g_CSE_NBR_SYN_002{
+				/**
+				 * @desc Check that the IUT responds successfully to a Blocking Request OPERATION
+				 * 
+				 */
+				testcase TC_CSE_RT_BR_001_CRE() runs on Tester system CseSystem {
+					// Local variables
+					                        
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                    
+					v_ae1.start(f_CSE_RT_BR_001(m_createContainerBase, -, int2001));
+					v_ae1.done;
+				}
 			
-					/**
-					 * @desc Check that the IUT responds to a Non-Blocking Synchronous Request with the reference of a <request> resource provided within the Content parameter of the Response 
-					 * 
-					 */
-					testcase TC_CSE_NBR_SYN_002_CRE() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_SYN_002(m_createContainerBase, -)); //Create Container
-						v_ae1.done;
+				testcase TC_CSE_RT_BR_001_UPD() runs on Tester system CseSystem {
+					// Local variables
+					                        
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                    
+					v_ae1.start(f_CSE_RT_BR_001(m_updateContainerBase, m_createContainerBase, int2004));
+					v_ae1.done;
+				}
 
-					}
+				testcase TC_CSE_RT_BR_001_RET() runs on Tester system CseSystem {
+					// Local variables
+					                        
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                    
+					v_ae1.start(f_CSE_RT_BR_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000));
+					v_ae1.done;
+				}
 
-					testcase TC_CSE_NBR_SYN_002_UPD() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Labels v_labels_1 := {"VALUE_1"};
+				testcase TC_CSE_RT_BR_001_DEL() runs on Tester system CseSystem {
+					// Local variables
+					                        
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                    
+					v_ae1.start(f_CSE_RT_BR_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002));
+					v_ae1.done;
+				}
+						
+			}//end of group Blocking_Requests
+			
+			group Non_Blocking_Requests{
+	
+				group Synchronous{
+	
+					group g_CSE_NBR_SYN_001 {
 				
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-
-						v_ae1.start(f_CSE_NBR_SYN_002(m_updateContainerBase, m_createContainerBase)); //Update Container
-						v_ae1.done;
-  
-					}
-
-					testcase TC_CSE_NBR_SYN_002_RET() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_SYN_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_SYN_002_DEL() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_SYN_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
-						v_ae1.done;
-
-					}
-
-				}// end group g_CSE_NBR_SYN_002
+						/**
+						 * @desc Check that the IUT rejects a Non-Blocking Synchronous Request if the IUT does not support the <request> resource
+						 * 
+						 */
+						testcase TC_CSE_NBR_SYN_001_CRE() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					
+							v_ae1.start(f_CSE_NBR_SYN_001(m_createContainerBase, -)); //Create Container
+							v_ae1.done;
+					
+						}
+						
+						testcase TC_CSE_NBR_SYN_001_UPD() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var Labels v_labels_1 := {"VALUE_1"};
+					
+							v_updateRequest.primitiveContent.container.labels := v_labels_1;
+					
+							v_ae1.start(f_CSE_NBR_SYN_001(m_updateContainerBase, m_createContainerBase)); //Update Container
+							v_ae1.done;
+			  
+						}
 		
-				group g_CSE_NBR_SYN_003{
+						testcase TC_CSE_NBR_SYN_001_RET() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					
+							v_ae1.start(f_CSE_NBR_SYN_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
+							v_ae1.done;
 			
-					/**
-					 * @desc  Check that the IUT returns successfully the <request> resource after receiving a Non-Blocking Synchronous Request OPERATION and it contains the expected result in operationResult attribute
-					 * 
-					 */
-					testcase TC_CSE_NBR_SYN_003_CRE() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_SYN_003(m_createContainerBase, -, int1)); //Create Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_SYN_003_UPD() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Labels v_labels_1 := {"VALUE_1"};
+						}
 				
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-
-						v_ae1.start(f_CSE_NBR_SYN_003(m_updateContainerBase, m_createContainerBase, int3)); //Update Container
-						v_ae1.done;
-  
-					}
-
-					testcase TC_CSE_NBR_SYN_003_RET() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_SYN_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2)); //Retrieve Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_SYN_003_DEL() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_SYN_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int4)); //Delete Container
-						v_ae1.done;
-
-					}
-
-				}// end group g_CSE_NBR_SYN_003
-		
-			}// end group Synchronous	
-
-			group Asynchronous{
-				group g_CSE_NBR_ASY_001 {
+						testcase TC_CSE_NBR_SYN_001_DEL() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					
+							v_ae1.start(f_CSE_NBR_SYN_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
+							v_ae1.done;
+	
+						}
+	
+					}// end group g_CSE_NBR_SYN_001
 			
-					/**
-					 * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request without a reference to a resource containing the context of the request if the IUT does not support the <request> resource
-					 * 
-					 */
-					testcase TC_CSE_NBR_ASY_001_CRE() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_001(m_createContainerBase, -)); //Create Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_001_UPD() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Labels v_labels_1 := {"VALUE_1"};
+					group g_CSE_NBR_SYN_002{
 				
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-
-						v_ae1.start(f_CSE_NBR_ASY_001(m_updateContainerBase, m_createContainerBase)); //Update Container
-						v_ae1.done;
-  
-					}
-
-					testcase TC_CSE_NBR_ASY_001_RET() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_001_DEL() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
-						v_ae1.done;
-
-					}
-
-				}// end group g_CSE_NBR_ASY_001
+						/**
+						 * @desc Check that the IUT responds to a Non-Blocking Synchronous Request with the reference of a <request> resource provided within the Content parameter of the Response 
+						 * 
+						 */
+						testcase TC_CSE_NBR_SYN_002_CRE() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_SYN_002(m_createContainerBase, -)); //Create Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_SYN_002_UPD() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var Labels v_labels_1 := {"VALUE_1"};
+					
+							v_updateRequest.primitiveContent.container.labels := v_labels_1;
+	
+							v_ae1.start(f_CSE_NBR_SYN_002(m_updateContainerBase, m_createContainerBase)); //Update Container
+							v_ae1.done;
+	  
+						}
+	
+						testcase TC_CSE_NBR_SYN_002_RET() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_SYN_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_SYN_002_DEL() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_SYN_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
+							v_ae1.done;
+	
+						}
+	
+					}// end group g_CSE_NBR_SYN_002
+			
+					group g_CSE_NBR_SYN_003{
 				
-				group g_CSE_NBR_ASY_002{
+						/**
+						 * @desc  Check that the IUT returns successfully the <request> resource after receiving a Non-Blocking Synchronous Request OPERATION and it contains the expected result in operationResult attribute
+						 * 
+						 */
+						testcase TC_CSE_NBR_SYN_003_CRE() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_SYN_003(m_createContainerBase, -, int1)); //Create Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_SYN_003_UPD() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var Labels v_labels_1 := {"VALUE_1"};
+					
+							v_updateRequest.primitiveContent.container.labels := v_labels_1;
+	
+							v_ae1.start(f_CSE_NBR_SYN_003(m_updateContainerBase, m_createContainerBase, int3)); //Update Container
+							v_ae1.done;
+	  
+						}
+	
+						testcase TC_CSE_NBR_SYN_003_RET() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_SYN_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2)); //Retrieve Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_SYN_003_DEL() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_SYN_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int4)); //Delete Container
+							v_ae1.done;
+	
+						}
+	
+					}// end group g_CSE_NBR_SYN_003
 			
-					/**
-					 * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request with the reference of a <request> resource provided within the Content parameter of the Response 
-					 * 
-					 */
-					testcase TC_CSE_NBR_ASY_002_CRE() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_002(m_createContainerBase, -)); //Create Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_002_UPD() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Labels v_labels_1 := {"VALUE_1"};
+				}// end group Synchronous	
+	
+				group Asynchronous{
+					group g_CSE_NBR_ASY_001 {
+				
+						/**
+						 * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request without a reference to a resource containing the context of the request if the IUT does not support the <request> resource
+						 * 
+						 */
+						testcase TC_CSE_NBR_ASY_001_CRE() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_001(m_createContainerBase, -)); //Create Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_001_UPD() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var Labels v_labels_1 := {"VALUE_1"};
+					
+							v_updateRequest.primitiveContent.container.labels := v_labels_1;
+	
+							v_ae1.start(f_CSE_NBR_ASY_001(m_updateContainerBase, m_createContainerBase)); //Update Container
+							v_ae1.done;
+	  
+						}
+	
+						testcase TC_CSE_NBR_ASY_001_RET() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_001_DEL() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
+							v_ae1.done;
+	
+						}
+	
+					}// end group g_CSE_NBR_ASY_001
+					
+					group g_CSE_NBR_ASY_002{
 				
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-
-						v_ae1.start(f_CSE_NBR_ASY_002(m_updateContainerBase, m_createContainerBase)); //Update Container
-						v_ae1.done;
-  
-					}
-
-					testcase TC_CSE_NBR_ASY_002_RET() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_002_DEL() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
-						v_ae1.done;
-
-					}
-
-				}// end group g_CSE_NBR_ASY_002
+						/**
+						 * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request with the reference of a <request> resource provided within the Content parameter of the Response 
+						 * 
+						 */
+						testcase TC_CSE_NBR_ASY_002_CRE() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_002(m_createContainerBase, -)); //Create Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_002_UPD() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var Labels v_labels_1 := {"VALUE_1"};
+					
+							v_updateRequest.primitiveContent.container.labels := v_labels_1;
+	
+							v_ae1.start(f_CSE_NBR_ASY_002(m_updateContainerBase, m_createContainerBase)); //Update Container
+							v_ae1.done;
+	  
+						}
+	
+						testcase TC_CSE_NBR_ASY_002_RET() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_002_DEL() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
+							v_ae1.done;
+	
+						}
+	
+					}// end group g_CSE_NBR_ASY_002
+					
+					group g_CSE_NBR_ASY_003{
 				
-				group g_CSE_NBR_ASY_003{
-			
-					/**
-					 * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided 
-					 * 
-					 */
-					testcase TC_CSE_NBR_ASY_003_CRE() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_003(m_createContainerBase, -, int2001)); //Create Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_003_UPD() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Labels v_labels_1 := {"VALUE_1"};
-
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-
-						v_ae1.start(f_CSE_NBR_ASY_003(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container
-						v_ae1.done;
-  
-					}
-
-					testcase TC_CSE_NBR_ASY_003_RET() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_003_DEL() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container
-						v_ae1.done;
-
-					}
-
-				}// end group g_CSE_NBR_ASY_003
+						/**
+						 * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided 
+						 * 
+						 */
+						testcase TC_CSE_NBR_ASY_003_CRE() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_003(m_createContainerBase, -, int2001)); //Create Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_003_UPD() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var Labels v_labels_1 := {"VALUE_1"};
+	
+							v_updateRequest.primitiveContent.container.labels := v_labels_1;
+	
+							v_ae1.start(f_CSE_NBR_ASY_003(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container
+							v_ae1.done;
+	  
+						}
+	
+						testcase TC_CSE_NBR_ASY_003_RET() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_003_DEL() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container
+							v_ae1.done;
+	
+						}
+	
+					}// end group g_CSE_NBR_ASY_003
+					
+					group g_CSE_NBR_ASY_004{
 				
-				group g_CSE_NBR_ASY_004{
-			
-					/**
-					 * @desc Check that the IUT does not send the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when an empty notification target list is provided 
-					 * 
-					 */
-					testcase TC_CSE_NBR_ASY_004_CRE() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_004(m_createContainerBase, -)); //Create Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_004_UPD() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Labels v_labels_1 := {"VALUE_1"};
-
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-
-						v_ae1.start(f_CSE_NBR_ASY_004(m_updateContainerBase, m_createContainerBase)); //Update Container
-						v_ae1.done;
-  
-					}
-
-					testcase TC_CSE_NBR_ASY_004_RET() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_004(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_004_DEL() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_004(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
-						v_ae1.done;
-
-					}
-
-				}// end group g_CSE_NBR_ASY_004
+						/**
+						 * @desc Check that the IUT does not send the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when an empty notification target list is provided 
+						 * 
+						 */
+						testcase TC_CSE_NBR_ASY_004_CRE() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_004(m_createContainerBase, -)); //Create Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_004_UPD() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var Labels v_labels_1 := {"VALUE_1"};
+	
+							v_updateRequest.primitiveContent.container.labels := v_labels_1;
+	
+							v_ae1.start(f_CSE_NBR_ASY_004(m_updateContainerBase, m_createContainerBase)); //Update Container
+							v_ae1.done;
+	  
+						}
+	
+						testcase TC_CSE_NBR_ASY_004_RET() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_004(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_004_DEL() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_004(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container
+							v_ae1.done;
+	
+						}
+	
+					}// end group g_CSE_NBR_ASY_004
+					
+					group g_CSE_NBR_ASY_005{
 				
-				group g_CSE_NBR_ASY_005{
-			
-					/**
-					 * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided 
-					 * 
-					 */
-					testcase TC_CSE_NBR_ASY_005_CRE() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_005(m_createContainerBase, -, int2001)); //Create Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_005_UPD() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var Labels v_labels_1 := {"VALUE_1"};
-
-						v_updateRequest.primitiveContent.container.labels := v_labels_1;
-
-						v_ae1.start(f_CSE_NBR_ASY_005(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container
-						v_ae1.done;
-  
-					}
-
-					testcase TC_CSE_NBR_ASY_005_RET() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_005(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container
-						v_ae1.done;
-
-					}
-
-					testcase TC_CSE_NBR_ASY_005_DEL() runs on Tester system CseSystem {
-						// Local variables
-						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-
-						v_ae1.start(f_CSE_NBR_ASY_005(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container
-						v_ae1.done;
-
-					}
-
-				}// end group g_CSE_NBR_ASY_005
-
-			}// end group Asynchronous	
-
-		}// end group Non_Blocking_Requests
+						/**
+						 * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided 
+						 * 
+						 */
+						testcase TC_CSE_NBR_ASY_005_CRE() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_005(m_createContainerBase, -, int2001)); //Create Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_005_UPD() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var Labels v_labels_1 := {"VALUE_1"};
+	
+							v_updateRequest.primitiveContent.container.labels := v_labels_1;
+	
+							v_ae1.start(f_CSE_NBR_ASY_005(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container
+							v_ae1.done;
+	  
+						}
+	
+						testcase TC_CSE_NBR_ASY_005_RET() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_005(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container
+							v_ae1.done;
+	
+						}
+	
+						testcase TC_CSE_NBR_ASY_005_DEL() runs on Tester system CseSystem {
+							// Local variables
+							var template RequestPrimitive v_createRequest := m_createContainerBase;
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+							v_ae1.start(f_CSE_NBR_ASY_005(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container
+							v_ae1.done;
+	
+						}
+	
+					}// end group g_CSE_NBR_ASY_005
+	
+				}// end group Asynchronous	
+	
+			}// end group Non_Blocking_Requests
 
+		}//end of group Response Type
+		
 		group Device_Management {
 			group timeSeries {