diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index ce8755aaec89b9c976699cee7cc64cfd0427c44f..40573a47fc2bd1502309ba6c6b76fa4d5b24d51c 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -10012,8 +10012,242 @@ module OneM2M_PermutationFunctions {
 	
 				} // end f_CSE_DIS_030
 									
-			} // end of Basic_Operations
-        	
+                    function f_CSE_DIS_034(template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem {
+                        // Local variables
+                        const ResourceType c_containerResourceType := int3;                        
+                        var integer v_aeIndex := -1;
+                        var integer v_resourceIndex := -1;
+                        var template RequestPrimitive v_createRequest := m_createContainerBase;
+                        var integer v_childResourceIndex_1 := -1;
+                        var integer v_childResourceIndex_2 := -1;
+                        var Labels v_labels := {"VALUE_0"};
+                        var ListOfCoordinates v_location_1 := {2.3514616, 48.8566969};
+                        var ListOfCoordinates v_location_2 := {-4.4216366, 36.7213028};
+                        var integer i;
+
+                        // Test control
+                        if(not(PICS_ACP_SUPPORT)) {
+                            log(__SCOPE__ & ":INFO: AccessControlPolicy support is required for executing this test case");
+                            stop;
+                        }
+            
+                        // Test component configuration
+                        f_cf01Up();
+            
+                        // Test adapter configuration
+            
+                        // Preamble
+                        f_cse_createAccessControlPolicyAux(-, -, int32);//c_Dis)
+                        
+                        v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+                        v_createRequest := f_setAcpId(v_createRequest, {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)});                        
+
+                        v_createRequest.primitiveContent.container.location.coordinates := v_location_1;
+                        v_createRequest.primitiveContent.container.location.type_ := int1;
+                        v_childResourceIndex_1 := f_cse_createResource(c_containerResourceType, v_createRequest, v_resourceIndex);
+                        v_createRequest.primitiveContent.container.location.coordinates := v_location_2;
+                        v_createRequest.primitiveContent.container.location.type_ := int1;
+                        v_createRequest.primitiveContent.container.labels := v_labels;
+                        v_childResourceIndex_2 := f_cse_createResource(c_containerResourceType, v_createRequest, v_resourceIndex);
+                        
+                        p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+                        p_requestPrimitive.from_ := f_getOriginator(v_resourceIndex);
+                        p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000);
+                        p_requestPrimitive.filterCriteria.filterUsage := int4;
+                        p_requestPrimitive.filterCriteria.geoQuery.geometryType := int1;
+                        p_requestPrimitive.filterCriteria.geoQuery.geometry := v_location_2;
+                        p_requestPrimitive.filterCriteria.geoQuery.geoSpatialFunction := int2;
+
+                        f_send(e_mcaPort, m_request(valueof(p_requestPrimitive)));
+                        tc_ac.start;
+                        alt {
+                            [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response {
+                                tc_ac.stop;
+                                setverdict(pass, __SCOPE__ & ": Discovery-based operation performed successfully");
+                        
+                                if(not ispresent(vc_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){
+                                    setverdict(fail, __SCOPE__ & ": Error, aggregatedResponse element not provided");
+                                }
+                                else {
+                                    for(i:=0; i<lengthof(vc_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list); i := i+1){
+                                        if(not match(vc_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i], mw_responsePrimitive(int4103))){
+                                            setverdict(fail, __SCOPE__ & ": Error, access not denied to perform operation for one responsePrimitve of aggregatedResponse");
+                                        }
+                                    }
+                                }
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Wrong response status code");
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Error while performing the operation");
+                            }
+                            [] tc_ac.timeout {
+                                setverdict(fail, __SCOPE__ & ": No answer while performing the operation");
+                            }
+                        }
+                
+                        // Postamble
+                        f_cse_postamble_deleteResources();
+        
+                        // Tear down
+                        f_cf01Down();
+            
+                    } // end f_CSE_DIS_034
+
+                    function f_CSE_DIS_035(template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem {
+                        // Local variables
+                        const ResourceType c_containerResourceType := int3;
+                        var integer v_aeIndex := -1;
+                        var integer v_resourceIndex := -1;
+                        var template RequestPrimitive v_createRequest := m_createContainerBase;
+                        var integer v_childResourceIndex := -1;
+                        var Labels v_labels := {"VALUE_0"};
+                        var ListOfCoordinates v_location := {2.3514616, 48.8566969};
+
+                        // Test control
+                        if(not(PICS_ACP_SUPPORT)) {
+                            log(__SCOPE__ & ":INFO: AccessControlPolicy support is required for executing this test case");
+                            stop;
+                        }
+            
+                        // Test component configuration
+                        f_cf01Up();
+            
+                        // Test adapter configuration
+            
+                        // Preamble
+                        f_cse_createAccessControlPolicyAux(-, -);//c_CRUDNDi)
+                        v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+                        
+                        f_cse_updateAcpAuxResource(int31); //c_CRUDN)                    
+
+                        v_createRequest.primitiveContent.container.location.coordinates := v_location;
+                        v_createRequest.primitiveContent.container.location.type_ := int1;
+                        v_childResourceIndex := f_cse_createResource(c_containerResourceType, v_createRequest, v_resourceIndex);
+                        v_createRequest.primitiveContent.container.labels := v_labels;
+                        
+                        p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+                        p_requestPrimitive.from_ := f_getOriginator(v_resourceIndex);
+                        p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000);
+                        p_requestPrimitive.filterCriteria.filterUsage := int4;
+                        p_requestPrimitive.filterCriteria.geoQuery.geometryType := int1;
+                        p_requestPrimitive.filterCriteria.geoQuery.geometry := v_location;
+                        p_requestPrimitive.filterCriteria.geoQuery.geoSpatialFunction := int2;
+
+                        f_send(e_mcaPort, m_request(valueof(p_requestPrimitive)));
+                        tc_ac.start;
+                        alt {
+                            [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response {
+                                tc_ac.stop;
+                                setverdict(pass, __SCOPE__ & ": Discovery-based operation performed successfully");
+                        
+                                if(not ispresent(vc_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){
+                                    setverdict(fail, __SCOPE__ & ": Error, aggregatedResponse element not provided");
+                                }
+                                else {
+                                    if(lengthof(vc_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != 0){
+                                        setverdict(fail, __SCOPE__ & ": Wrong number of aggregatedResponse elements");
+                                    }
+                                }
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Wrong response status code");
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Error while performing the operation");
+                            }
+                            [] tc_ac.timeout {
+                                setverdict(fail, __SCOPE__ & ": No answer while performing the operation");
+                            }
+                        }	
+                        
+                        // Postamble
+                        f_cse_postamble_deleteResources();
+        
+                        // Tear down
+                        f_cf01Down();
+            
+                    } // end f_CSE_DIS_035
+
+                    function f_CSE_DIS_036(template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem {
+                        // Local variables
+                        const ResourceType c_containerResourceType := int3;                        
+                        var integer v_aeIndex := -1;
+                        var integer v_resourceIndex := -1;
+                        var template RequestPrimitive v_createRequest := m_createContainerBase;
+                        var integer v_childResourceIndex := -1;
+                        var Labels v_labels := {"VALUE_0"};
+                        var ListOfCoordinates v_location := {2.3514616, 48.8566969};
+
+                        // Test control
+                        if(not(PICS_ACP_SUPPORT)) {
+                            log(__SCOPE__ & ":INFO: AccessControlPolicy support is required for executing this test case");
+                            stop;
+                        }
+            
+                        // Test component configuration
+                        f_cf01Up();
+            
+                        // Test adapter configuration
+
+                        // Preamble
+                        v_aeIndex := f_cse_preamble_registerAe();            
+                        f_cse_updateAcpAuxResource(int1); //Not including permissions
+                        
+                        v_createRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)};
+                        v_childResourceIndex := f_cse_createResource(c_containerResourceType, v_createRequest, v_resourceIndex);
+                        v_createRequest.primitiveContent.container.labels := v_labels;
+                        
+                        p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+                        p_requestPrimitive.from_ := f_getOriginator(v_resourceIndex);
+                        p_requestPrimitive.requestIdentifier := valueof(p_requestPrimitive.requestIdentifier) & f_rnd(1, 1000000);
+                        p_requestPrimitive.filterCriteria.filterUsage := int4;
+                        p_requestPrimitive.filterCriteria.geoQuery.geometryType := int1;
+                        p_requestPrimitive.filterCriteria.geoQuery.geometry := v_location;
+                        p_requestPrimitive.filterCriteria.geoQuery.geoSpatialFunction := int2;
+
+                        f_send(e_mcaPort, m_request(valueof(p_requestPrimitive)));
+                        tc_ac.start;
+                        alt {
+                            [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response {
+                                tc_ac.stop;
+                                setverdict(pass, __SCOPE__ & ": Discovery-based operation performed successfully");
+                        
+                                if(not ispresent(vc_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){
+                                    setverdict(fail, __SCOPE__ & ": Error, aggregatedResponse element not provided");
+                                }
+                                else {
+                                    if(lengthof(vc_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != 0){
+                                        setverdict(fail, __SCOPE__ & ": Wrong number of aggregatedResponse elements");
+                                    }
+                                }
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Wrong response status code");
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Error while performing the operation");
+                            }
+                            [] tc_ac.timeout {
+                                setverdict(fail, __SCOPE__ & ": No answer while performing the operation");
+                            }
+                        }	
+                        
+                        // Postamble
+                        f_cse_postamble_deleteResources();
+        
+                        // Tear down
+                        f_cf01Down();
+            
+                    } // end f_CSE_DIS_036            
+              } // end of Basic_Operations
 		} // end Group Discovery
 		
 		group Subscription_And_Notification {
@@ -10087,7 +10321,7 @@ module OneM2M_PermutationFunctions {
 	
 					//Tear down
 					f_cf01Down();
-				}// end f_CSE_SUB_CRE_001    
+				}// end f_CSE_SUB_CRE_001             
 
 				function f_CSE_SUB_CRE_009(in NotificationEventType p_notificationEventType) runs on AeSimu system CseSystem {
 					// Local variables
diff --git a/OneM2M_Testcases_CSE_Release_4.ttcn b/OneM2M_Testcases_CSE_Release_4.ttcn
index 9071f0495b3f43b0edddd57cde0763f4ae7e8422..4bf3c3d53690a769601c0215e26217781eab7730 100644
--- a/OneM2M_Testcases_CSE_Release_4.ttcn
+++ b/OneM2M_Testcases_CSE_Release_4.ttcn
@@ -2779,7 +2779,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 				}//end group g_CSE_DIS_029
 				
 				group g_CSE_DIS_030 {
-										
+
 					/**
 					 * @desc Check that the IUT returns the empty content in a Discovery-based OPERATION when resource has status marked as INACTIVE
 					 *
@@ -2809,7 +2809,338 @@ module OneM2M_Testcases_CSE_Release_4 {
 					}//end TC_CSE_DIS_030_DEL
 										
 				}//end group g_CSE_DIS_030
-								
+
+
+                   /**
+                    * @desc Check that the IUT returns successfully appropriate list of discovered resources when resources match the filter criteria containing geoQuery condition provided in the 
+                    request
+                    * 
+                    */
+                    testcase TC_CSE_DIS_031() runs on Tester system CseSystem {
+                        var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+                        v_ae1.start(f_CSE_DIS_031());
+                        v_ae1.done;                     
+                    }
+
+                     function f_CSE_DIS_031() runs on AeSimu system CseSystem {
+                        // Local variables
+                        const ResourceType c_containerResourceType := int3;
+                        var integer v_aeIndex := -1;
+                        var integer v_resourceIndex := -1;
+                        var integer v_childResourceIndex := -1;  
+                        var template RequestPrimitive v_requestretrievePrimitive;// m_retrieveFilterUsageOption  
+                        var ListOfCoordinates v_location := {2.3514616, 48.8566969};
+                        var template RequestPrimitive v_createRequest := m_createContainerBase;
+
+                        // Test control
+
+                        // Test component configuration
+                        f_cf01Up();
+
+                        // Test adapter configuration
+
+                        // Preamble
+                        v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+                        v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex);
+                        v_createRequest.primitiveContent.container.location.coordinates := v_location;
+                        v_createRequest.primitiveContent.container.location.type_ := int1;
+                        v_childResourceIndex := f_cse_createResource(c_containerResourceType, v_createRequest, v_resourceIndex); 
+                        
+                        v_requestretrievePrimitive := m_retrieveFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1);
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geometryType := int1;
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geometry := v_location;
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geoSpatialFunction := int2; 
+
+                        // Test Body
+                        f_send(e_mcaPort, m_request(valueof(v_requestretrievePrimitive)));
+                        tc_ac.start;
+                        alt {
+                            [] mcaPort.receive(mw_response(mw_responseDiscovery({?}))){
+                                tc_ac.stop;
+                                setverdict(pass, __SCOPE__ & ": URI List Representation available");
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Wrong response status code");
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Error while performing the operation");
+                            }
+                            [] tc_ac.timeout {
+                                setverdict(fail, __SCOPE__ & ": No answer while performing the operation");
+                            }
+                        }
+                
+                        // Postamble
+                        f_cse_postamble_deleteResources();
+
+                        // Tear down
+                        f_cf01Down();
+
+                     } // end f_CSE_DIS_031
+                        
+
+                   /**
+                    * @desc Check that the IUT returns the empty content when no result matching with filter criteria containing geoQuery condition provided in the request
+                    * 
+                    */
+                    testcase TC_CSE_DIS_032() runs on Tester system CseSystem {
+                        var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+                        v_ae1.start(f_CSE_DIS_032());
+                        v_ae1.done;                     
+                    }                
+
+                    function f_CSE_DIS_032() runs on AeSimu system CseSystem {
+                        // Local variables
+                        const ResourceType c_containerResourceType := int3;                        
+                        var integer v_aeIndex := -1;
+                        var integer v_resourceIndex := -1;
+                        var integer v_childResourceIndex := -1;  
+                        var template RequestPrimitive v_requestretrievePrimitive;// m_retrieveFilterUsageOption  
+                        var ListOfCoordinates v_location := {-4.4216366, 36.7213028};
+                        var ListOfCoordinates v_location_1 := {2.3514616, 48.8566969};
+                        var template RequestPrimitive v_createRequest := m_createContainerBase;
+                        var template (omit) ListOfURIs uRIList := {"NotInitialized"};
+                        var MsgIn v_response;
+                
+                        // Test control
+
+                        // Test component configuration
+                        f_cf01Up();
+
+                        // Test adapter configuration
+
+                        // Preamble
+                        v_aeIndex := f_cse_preamble_registerAe();//AE1 is registered;
+                        v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex);
+                        v_createRequest.primitiveContent.container.location.coordinates := v_location;
+                        v_createRequest.primitiveContent.container.location.type_ := int1;
+                        v_childResourceIndex := f_cse_createResource(c_containerResourceType, v_createRequest, v_resourceIndex);
+                        
+                        v_requestretrievePrimitive := m_retrieveFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1);
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geometryType := int1;
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geometry := v_location_1;
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geoSpatialFunction := int2; 
+
+                        // Test Body
+                        f_send(e_mcaPort, m_request(valueof(v_requestretrievePrimitive)));
+                        tc_ac.start;
+                        alt {
+                            [] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response {
+                                tc_ac.stop;
+                                if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.uRIList) == 0){
+                                  setverdict(pass, __SCOPE__ & ": No Content is present as specified");	
+                                }
+                                else
+                                {
+                                  setverdict(fail, __SCOPE__ & ": Wrong content available in URIList element");
+                                }
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Wrong response status code");
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
+                            }
+                            [] tc_ac.timeout {
+                                setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
+                            }
+                         }	
+                
+                        // Postamble
+                        f_cse_postamble_deleteResources();
+
+                        // Tear down
+                        f_cf01Down();
+            
+                    } // end f_CSE_DIS_032
+                        
+
+                   /**
+                    * @desc Check that the IUT returns the empty address list when resources match the geoQuery filter criteria but they do not include DISCOVERY permission
+                    * 
+                    */
+                    testcase TC_CSE_DIS_033() runs on Tester system CseSystem {
+                        var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                                                
+                        v_ae1.start(f_CSE_DIS_033());
+                        v_ae1.done;                     
+                    }                
+
+                    function f_CSE_DIS_033() runs on AeSimu system CseSystem {
+                        // Local variables
+                        const ResourceType c_containerResourceType := int3;
+                        var integer v_aeIndex := -1;
+                        var integer v_resourceIndex := -1;
+                        var integer v_childResourceIndex := -1;  
+                        var template RequestPrimitive v_requestretrievePrimitive;// m_retrieveFilterUsageOption   
+                        var ListOfCoordinates v_location := {2.3514616, 48.8566969};
+                        var template RequestPrimitive v_createRequest := m_createContainerBase;
+                        var Labels v_labels := {"VALUE_1"};                    
+                        var template (omit) ListOfURIs uRIList := {"NotInitialized"};
+                        var MsgIn v_response;
+                
+                        // Test control
+
+                        // Test component configuration
+                        f_cf01Up();
+
+                        // Test adapter configuration
+
+                        // Preamble
+                        f_cse_createAccessControlPolicyAux(-, -);//c_CRUDNDi)
+                        v_aeIndex := f_cse_preamble_registerAe();//AE1 is registered
+                        
+                        f_cse_updateAcpAuxResource(int31); //c_CRUDN)
+
+                        v_createRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpIndex].resource)};
+                        v_createRequest.primitiveContent.container.labels := v_labels;
+                        v_createRequest.primitiveContent.container.location.coordinates := v_location;
+                        v_createRequest.primitiveContent.container.location.type_ := int1;
+                        v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex);
+                        v_childResourceIndex := f_cse_createResource(c_containerResourceType, v_createRequest, v_resourceIndex);
+                        
+                        v_requestretrievePrimitive := m_retrieveFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1);
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geometryType := int1;
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geometry := v_location;
+                        v_requestretrievePrimitive.filterCriteria.geoQuery.geoSpatialFunction := int2; 
+
+                        // Test Body
+                        f_send(e_mcaPort, m_request(valueof(v_requestretrievePrimitive)));
+                        tc_ac.start;
+                        alt {
+                            [] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response {
+                                tc_ac.stop;
+                                if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.uRIList) == 0){
+                                  setverdict(pass, __SCOPE__ & ": No Content is present as specified");	
+                                }
+                                else
+                                {
+                                  setverdict(fail, __SCOPE__ & ": Wrong content available in URIList element");
+                                }
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Wrong response status code");
+                            }
+                            [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+                                tc_ac.stop;
+                                setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
+                            }
+                            [] tc_ac.timeout {
+                                setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
+                            }
+                         }	
+                
+                        // Postamble
+                        f_cse_postamble_deleteResources();
+
+                        // Tear down
+                        f_cf01Down();
+            
+                    } // end f_CSE_DIS_033
+                    
+				group g_CSE_DIS_034 {
+										
+					/**
+					 * @desc Check that the IUT accepts a Discovery-based OPERATION request containing geoQuery filter criteria when AE has privilege to perform the discovery operation but AE has no privilege to perform the OPERATION request
+					 *
+					 */
+					testcase TC_CSE_DIS_034_CRE() runs on Tester system CseSystem { //Create
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+						v_ae1.start(f_CSE_DIS_034(m_createContainerBase));
+						v_ae1.done;
+					}//end TC_CSE_DIS_034_CRE
+					
+					testcase TC_CSE_DIS_034_UPD() runs on Tester system CseSystem { //Update
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
+						
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+						var Labels v_labels_1:= {"VALUE_1"};
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
+						v_ae1.start(f_CSE_DIS_034(v_updateRequest));
+						v_ae1.done;
+					}//end TC_CSE_DIS_034_UPD
+					
+					testcase TC_CSE_DIS_034_DEL() runs on Tester system CseSystem { //Delete
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+						v_ae1.start(f_CSE_DIS_034(m_delete("Temporary", "Temporary")));
+						v_ae1.done;
+					}//end TC_CSE_DIS_034_DEL
+										
+				}//end group g_CSE_DIS_034 
+
+				group g_CSE_DIS_035 {
+										
+					/**
+					 * @desc Check that the IUT returns the empty content when resources match the geoQuery filter criteria but they do not include Discovery-based OPERATION permission.
+					 *
+					 */
+					testcase TC_CSE_DIS_035_CRE() runs on Tester system CseSystem { //Create
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+						v_ae1.start(f_CSE_DIS_035(m_createContainerBase));
+						v_ae1.done;
+					}//end TC_CSE_DIS_035_CRE
+					
+					testcase TC_CSE_DIS_035_UPD() runs on Tester system CseSystem { //Update
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
+						
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+						var Labels v_labels_1:= {"VALUE_1"};
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
+						v_ae1.start(f_CSE_DIS_035(v_updateRequest));
+						v_ae1.done;
+					}//end TC_CSE_DIS_035_UPD
+					
+					testcase TC_CSE_DIS_035_DEL() runs on Tester system CseSystem { //Delete
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+						v_ae1.start(f_CSE_DIS_035(m_delete("Temporary", "Temporary")));
+						v_ae1.done;
+					}//end TC_CSE_DIS_035_DEL
+										
+				}//end group g_CSE_DIS_035
+
+				group g_CSE_DIS_036 {
+										
+					/**
+					 * @desc Check that the IUT accepts a Discovery-based OPERATION request to the resource TARGET_RESOURCE_ADDRESS when AE has no privilege to perform the discovery operation
+					 *
+					 */
+					testcase TC_CSE_DIS_036_CRE() runs on Tester system CseSystem { //Create
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+						v_ae1.start(f_CSE_DIS_036(m_createContainerBase));
+						v_ae1.done;
+					}//end TC_CSE_DIS_036_CRE
+					
+					testcase TC_CSE_DIS_036_UPD() runs on Tester system CseSystem { //Update
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
+						
+						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
+						var Labels v_labels_1:= {"VALUE_1"};
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
+						v_ae1.start(f_CSE_DIS_036(v_updateRequest));
+						v_ae1.done;
+					}//end TC_CSE_DIS_036_UPD
+					
+					testcase TC_CSE_DIS_036_DEL() runs on Tester system CseSystem { //Delete
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+						v_ae1.start(f_CSE_DIS_036(m_delete("Temporary", "Temporary")));
+						v_ae1.done;
+					}//end TC_CSE_DIS_036_DEL
+										
+				}//end group g_CSE_DIS_036           
+                                
 			}//end group Basic_Operations
 				
 		}//end group Discovery