diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 29fd8f53006c6765991b4d81827c6f53a0c82979..5d7dbc785e8b11bdefcb753b6da0fb2186589e49 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -1632,7 +1632,7 @@ module OneM2M_Functions {
 							if(vc_localRemoteCseIndex != -1) {
 								//Deregistration by Registree (IUT) - Send trigger message for deregistration
 								v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(vc_localRemoteCseIndex);
-								f_sendUtPrimitive(v_utRequest, v_action & f_getLocalResourceAddress(vc_localRemoteCseIndex));	
+								f_cse_sendUtPrimitive_cseSimu(v_utRequest, v_action & f_getLocalResourceAddress(vc_localRemoteCseIndex));	
 								
 								tc_ac.start;
 								alt {
@@ -2834,7 +2834,7 @@ module OneM2M_Functions {
 				//Activate defaults when running on a PTC
 				f_cse_activateDefaults_cse1();		
 								
-				f_sendUtPrimitive(p_utRequest, p_action);
+				f_cse_sendUtPrimitive_cseSimu(p_utRequest, p_action);
 				
 				tc_ac.start;
 				alt {    				
@@ -3221,7 +3221,7 @@ module OneM2M_Functions {
 				f_cse_activateDefaults_cse1();			
 				
 				//send triggering primitive to SUT
-			  f_sendUtPrimitive(v_utRequest,v_action);
+			  f_cse_sendUtPrimitive_cseSimu(v_utRequest,v_action);
 
 				tc_ac.start;
 				alt {
@@ -4136,6 +4136,70 @@ module OneM2M_Functions {
 				}	
 		}//end group CseAltstepFunctions
 		
+		group UtFunctions {
+
+			/**
+			 * @desc Sending of an Upper Tester primitive
+			 * @param p_utRequest Action to be performed by IUT
+			 * @param p_action Description of the given action to be performed by the IUT
+			 * @verdict 
+			 */
+			function f_cse_sendUtPrimitive(template UtTriggerPrimitive p_utRequest, in universal charstring p_action) runs on AeSimu {
+				
+				if (PX_UT_IMPLEMENTED){
+					
+					p_utRequest.requestPrimitive.requestIdentifier := "m_uttriggerPrimitive" & f_rnd(1, 1000000);
+	
+					deactivate;
+					
+					f_sendUtPrimitive(p_utRequest);
+									
+					f_checkAeSimuStatus();
+					
+					activate(a_default());
+					if(vc_config == e_cf01) {
+						vc_aeSimu := activate(a_cse_cf01());
+					} else if ((vc_config == e_cf02) or (vc_config == e_cf02CseSimuMaster)) {
+						if(vc_testSystemRole == e_ae) {
+							vc_aeSimu := activate(a_cse_cf02_ae1());
+						}
+					}
+				} else {
+					action(p_action);
+				}
+			}
+		
+			/**
+			 * @desc Sending of an Upper Tester primitive
+			 * @param p_utRequest Action to be performed by IUT
+			 * @param p_action Description of the given action to be performed by the IUT
+			 * @verdict 
+			 */
+			function f_cse_sendUtPrimitive_cseSimu(template UtTriggerPrimitive p_utRequest, in universal charstring p_action) runs on CseSimu {
+				
+				if (PX_UT_IMPLEMENTED){
+					
+					p_utRequest.requestPrimitive.requestIdentifier := "m_uttriggerPrimitive" & f_rnd(1, 1000000);
+	
+					deactivate;
+					
+					f_sendUtPrimitive(p_utRequest);
+									
+					f_checkCseSimuStatus();
+					
+					activate(a_default());
+					if ((vc_config == e_cf02) or (vc_config == e_cf02CseSimuMaster)) {
+						if (vc_testSystemRole == e_cse) {
+							vc_cseSimu := activate(a_cse_cf02_cse1());
+						}
+					}
+				} else {
+					action(p_action);
+				}
+			}
+		
+		}//end group UtFunctions
+		
 	}//end cseFunctions
 	
 	group AeFunctions {
@@ -4159,7 +4223,7 @@ module OneM2M_Functions {
 					p_utRequest := m_utCreateAe;
 				}
   
-				f_sendUtPrimitive(p_utRequest, v_action);
+				f_ae_sendUtPrimitive(p_utRequest, v_action);
      		
 				tc_ac.start;
 				alt {    				
@@ -4202,7 +4266,7 @@ module OneM2M_Functions {
 					p_utRequest.requestPrimitive.primitiveContent.container := m_contentCreateContainer;
 				}
     		
-				f_sendUtPrimitive(p_utRequest, v_action);
+				f_ae_sendUtPrimitive(p_utRequest, v_action);
 				
 				tc_ac.start;
 				alt {    				
@@ -4249,7 +4313,7 @@ module OneM2M_Functions {
 					p_utRequest.requestPrimitive.primitiveContent.pollingChannel := m_contentCreatePollingChannel;
 				}
 
-				f_sendUtPrimitive(p_utRequest, v_action);
+				f_ae_sendUtPrimitive(p_utRequest, v_action);
 	
 				tc_ac.start;
 				alt {    				
@@ -4376,6 +4440,40 @@ module OneM2M_Functions {
 			}
 		}//end group AeAltstepFunctions
 		
+		group UtFunctions {
+
+			/**
+			 * @desc Sending of an Upper Tester primitive
+			 * @param p_utRequest Action to be performed by IUT
+			 * @param p_action Description of the given action to be performed by the IUT
+			 * @verdict 
+			 */
+			function f_ae_sendUtPrimitive(template UtTriggerPrimitive p_utRequest, in universal charstring p_action) runs on CseSimu {
+				
+				if (PX_UT_IMPLEMENTED){
+					
+					p_utRequest.requestPrimitive.requestIdentifier := "m_uttriggerPrimitive" & f_rnd(1, 1000000);
+	
+					deactivate;
+					
+					f_sendUtPrimitive(p_utRequest);
+									
+					f_checkCseSimuStatus();
+					
+					activate(a_default());
+					if (vc_config == e_cf03) {
+						vc_cseSimu := activate(a_ae_cf03());
+					} else if (vc_config == e_cf04) {
+						vc_cseSimu := activate(a_cse_cf04());
+					}
+				}else{
+					action(p_action);
+				}
+			}
+		
+		
+		}//end group UtFunctions
+		
 	}//end of aeFunctions
 
 
@@ -5291,6 +5389,9 @@ module OneM2M_Functions {
 				} else if (v_cleanedURI == f_getResourceId(vc_localResourcesList[vc_cSEBaseIndex].resource)) {
 					log("Non Hierarchical method: " & v_cleanedURI);
 					v_resourceIndex := vc_cSEBaseIndex;
+				} else if (p_receivedURI == vc_localResourcesList[vc_cSEBaseIndex].resource.cSEBase.cSE_ID) {
+					log("Non Hierarchical method: " & p_receivedURI);
+					v_resourceIndex := vc_cSEBaseIndex;
 				}
 			}
 			log("Resource index found: " & int2str(v_resourceIndex));
@@ -6136,13 +6237,13 @@ module OneM2M_Functions {
 				}
     				
 			} else if (f_isScopeSpRelative(p_resourceAddress)){	
-				if(v_nbOfSlashes == 2 ) {
+				if((v_nbOfSlashes == 2 ) or (v_nbOfSlashes == 1 )) {
 					return true;
 				} else {
 					return false;
 				}
 			} else if (f_isScopeAbsolute(p_resourceAddress)){
-				if(v_nbOfSlashes == 4 ) {
+				if((v_nbOfSlashes == 4 ) or (v_nbOfSlashes == 3 )){
 					return true;
 				} else {
 					return false;
@@ -6519,52 +6620,23 @@ module OneM2M_Functions {
 			 * @param p_action Description of the given action to be performed by the IUT
 			 * @verdict 
 			 */
-			function f_sendUtPrimitive(template UtTriggerPrimitive p_utRequest, in universal charstring p_action) runs on CseSimu {
+			function f_sendUtPrimitive(template UtTriggerPrimitive p_utRequest) runs on Tester {
 				
-				if (PX_UT_IMPLEMENTED){
-					
-					p_utRequest.requestPrimitive.requestIdentifier := "m_uttriggerPrimitive" & f_rnd(1, 1000000);
-	
-					deactivate;
-					utPort.send(valueof(p_utRequest));
-	
-					tc_wait.start;
-					alt{
-						[] utPort.receive(mw_utResponseOK) {
-							tc_wait.stop;
-							setverdict(pass, __SCOPE__ & " : Triggering message is successfully received!");
-						}
-						[] utPort.receive(mw_utResponseKO) {
-							tc_wait.stop;
-							setverdict(inconc, __SCOPE__ & " : Error while receiving Triggering message!");
-						}
-						[] tc_wait.timeout{
-							setverdict(inconc, __SCOPE__ & " : Timeout due to no response received from requested SUT!");
-						}
+				utPort.send(valueof(p_utRequest));
+
+				tc_wait.start;
+				alt{
+					[] utPort.receive(mw_utResponseOK) {
+						tc_wait.stop;
+						setverdict(pass, __SCOPE__ & " : Triggering message is successfully received!");
 					}
-					
-					f_checkCseSimuStatus();
-					
-					activate(a_default());
-					//In case UtPrimitive is used from AeSimu
-					/*if(vc_config == e_cf01) {
-						vc_aeSimu := activate(a_cse_cf01());
-					} else if ((vc_config == e_cf02) or (vc_config == e_cf02CseSimuMaster)) {
-						if(vc_testSystemRole == e_ae) {
-							vc_aeSimu := activate(a_cse_cf02_ae1());
-						} else if (vc_testSystemRole == e_cse) {
-							vc_cseSimu := activate(a_cse_cf02_cse1());
-						}
-					} else */
-					if (vc_config == e_cf03) {
-						vc_cseSimu := activate(a_ae_cf03());
-					} else if (vc_config == e_cf04) {
-						vc_cseSimu := activate(a_cse_cf04());
+					[] utPort.receive(mw_utResponseKO) {
+						tc_wait.stop;
+						setverdict(inconc, __SCOPE__ & " : Error while receiving Triggering message!");
+					}
+					[] tc_wait.timeout{
+						setverdict(inconc, __SCOPE__ & " : Timeout due to no response received from requested SUT!");
 					}
-				}else{
-					
-					action(p_action);
-				
 				}
 			}
 
@@ -6730,8 +6802,8 @@ module OneM2M_Functions {
 			for (i := v_length - 1; i>=0; i := i-1){
 				if(p_resourceID[i]=="/"){
 					//log("result: " & result);
-					return result;
-				}
+						return result;
+						}
 				else{
 					result := p_resourceID[i] & result;
 				}	
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index fdcd120cebdea1238d5adcb0195ca584983b6c12..f53d827a19682f6d83d1a2259d853a944ffa5af8 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -43,7 +43,7 @@ module OneM2M_PermutationFunctions {
 						
 						//Send Trigger Message
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, e_nonHierarchical, p_primitiveScope);
-						f_sendUtPrimitive(v_utRequest, v_action & f_getLocalResourceAddress(-, e_nonHierarchical, p_primitiveScope));
+						f_ae_sendUtPrimitive(v_utRequest, v_action & f_getLocalResourceAddress(-, e_nonHierarchical, p_primitiveScope));
 						
 						tc_ac.start;
 						alt {
@@ -85,7 +85,7 @@ module OneM2M_PermutationFunctions {
 	
 						//Send Trigger Message
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, e_hierarchical, p_primitiveScope);
-						f_sendUtPrimitive(v_utRequest,v_action  & f_getLocalResourceAddress(-, e_hierarchical, p_primitiveScope));
+						f_ae_sendUtPrimitive(v_utRequest,v_action  & f_getLocalResourceAddress(-, e_hierarchical, p_primitiveScope));
 							
 	
 						tc_ac.start;
@@ -135,7 +135,7 @@ module OneM2M_PermutationFunctions {
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope);
-						f_sendUtPrimitive(v_utRequest,v_action  & f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope));
+						f_ae_sendUtPrimitive(v_utRequest,v_action  & f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope));
 						
 						tc_ac.start;
 						alt {
@@ -178,7 +178,7 @@ module OneM2M_PermutationFunctions {
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope);
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope));
+						f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope));
 								
 						tc_ac.start;
 						alt {
@@ -226,7 +226,7 @@ module OneM2M_PermutationFunctions {
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						v_utRequest := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope));
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope));
+						f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope));
                         
 						tc_ac.start;
 						alt {
@@ -269,7 +269,7 @@ module OneM2M_PermutationFunctions {
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						v_utRequest := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope));
-                        f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope));
+                        f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope));
 						
 						tc_ac.start;
 						alt {
@@ -317,7 +317,7 @@ module OneM2M_PermutationFunctions {
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_auxInteger := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope);
-						f_sendUtPrimitive(v_utRequest,v_action  & f_getLocalResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope));
+						f_ae_sendUtPrimitive(v_utRequest,v_action  & f_getLocalResourceAddress(v_auxInteger, e_nonHierarchical, p_primitiveScope));
 			
 						tc_ac.start;
 						alt {
@@ -360,7 +360,7 @@ module OneM2M_PermutationFunctions {
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_auxInteger := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope);
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope));
+						f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_auxInteger, e_hierarchical, p_primitiveScope));
 				
 
 						tc_ac.start;
@@ -409,7 +409,7 @@ module OneM2M_PermutationFunctions {
 					   //Send Trigger Message
 					   p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 					   p_request.to_ := p_utRequest.requestPrimitive.to_;
-					   f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
+					   f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
 	
 					   //Test behavior
 					   tc_ac.start;
@@ -463,7 +463,7 @@ module OneM2M_PermutationFunctions {
 						v_containerIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_containerIndex, -, -);
 						p_request.to_ := p_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(v_containerIndex, -, -));
+						f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(v_containerIndex, -, -));
 	
 						//Test behavior
 						tc_ac.start;
@@ -501,7 +501,7 @@ module OneM2M_PermutationFunctions {
 						//send triggering primitive to SUT
 						p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 						p_request.to_ := p_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
+						f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
 	
 						//Test behavior
 						tc_ac.start;
@@ -548,7 +548,7 @@ module OneM2M_PermutationFunctions {
 					    v_localResource := f_generateLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, -, -, omit))), vc_cSEBaseIndex, int2);
 						v_resourceIndex := f_setLocalResource(v_localResource, int2, vc_cSEBaseIndex);
 						p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex);
-					   	f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(v_resourceIndex));
+					   	f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(v_resourceIndex));
 	
 					   //Test behavior
 					   
@@ -587,7 +587,7 @@ module OneM2M_PermutationFunctions {
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 						p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex);
-						f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(v_resourceIndex));
+						f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(v_resourceIndex));
 
 						//Test behavior
 						tc_ac.start;
@@ -638,7 +638,7 @@ module OneM2M_PermutationFunctions {
 					    	v_resourceIndex := vc_cSEBaseIndex;
 					    }
 						v_utRequest := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex));
-						f_sendUtPrimitive(v_utRequest,p_action & f_getLocalResourceAddress(v_resourceIndex));
+						f_ae_sendUtPrimitive(v_utRequest,p_action & f_getLocalResourceAddress(v_resourceIndex));
 						
 						//Test behavior
 						tc_ac.start;
@@ -688,7 +688,7 @@ module OneM2M_PermutationFunctions {
 
 						//send triggering primitive to SUT
 						p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress();
-						f_sendUtPrimitive(p_utRequest,p_action);
+						f_ae_sendUtPrimitive(p_utRequest,p_action);
 
 						//Test behavior
 						tc_ac.start;
@@ -741,7 +741,7 @@ module OneM2M_PermutationFunctions {
 					//send triggering primitive to SUT
 					p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 					p_requestPrimitive.to_ := p_utRequest.requestPrimitive.to_;
-					f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
+					f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
 	
 					//Test behavior
 					tc_ac.start;
@@ -780,7 +780,7 @@ module OneM2M_PermutationFunctions {
 					//send triggering primitive to SUT
 					p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 					p_requestPrimitive1.to_ := p_utRequest.requestPrimitive.to_;
-					f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
+					f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
 					
 					//device model creation handler
 					v_parentResourceIndex := f_ae_createResourceHandler(p_requestPrimitive1);
@@ -829,7 +829,7 @@ module OneM2M_PermutationFunctions {
 					//Send triggering primitive to SUT
 					p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 					p_requestPrimitive.to_ := p_utRequest.requestPrimitive.to_;
-					f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
+					f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
 
 					//node resource
 					var template RequestPrimitive v_requestPrimitiveNode := mw_createNode;
@@ -899,7 +899,7 @@ module OneM2M_PermutationFunctions {
 					//Send triggering primitive to SUT
 					p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 					p_requestPrimitive1.to_ := p_utRequest.requestPrimitive.to_;
-					f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
+					f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
 					
 					//device model creation handler
 					v_parentResourceIndex := f_ae_createResourceHandler(p_requestPrimitive1);
@@ -944,7 +944,7 @@ module OneM2M_PermutationFunctions {
 					//Send triggering primitive to SUT
 					p_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 					p_requestPrimitive1.to_ := p_utRequest.requestPrimitive.to_;
-					f_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
+					f_ae_sendUtPrimitive(p_utRequest,p_action & f_getLocalResourceAddress(-, -, -));
 					
 					//Device model creation handler
 					v_parentResourceIndex := f_ae_createResourceHandler(p_requestPrimitive1);
@@ -2263,7 +2263,7 @@ module OneM2M_PermutationFunctions {
 						f_cf04Up();
 
 						//send triggering primitive to SUT
-						f_sendUtPrimitive(p_utRequest,p_action);
+					f_cse_sendUtPrimitive_cseSimu(p_utRequest,p_action);
 
 						//Test behavior
 						tc_ac.start;
@@ -2547,7 +2547,7 @@ module OneM2M_PermutationFunctions {
 						
 						//Send Trigger Message
 					    v_utRequest.requestPrimitive.to_ := f_getResourceAddress();
-					    f_sendUtPrimitive(v_utRequest, v_action);
+					    f_cse_sendUtPrimitive_cseSimu(v_utRequest, v_action);
 
 						// Test Body
 						v_request := f_getUpdateRequestPrimitive(int16, vc_remoteCseIndex, p_requestPrimitive);
@@ -7464,16 +7464,10 @@ module OneM2M_PermutationFunctions {
 			
 		}//end group Data_Management_and_Repository
 		
-		group Location {
-		  		    
-		  
-		}//end group Location
-		
 		group Group_Managment {
         
 			group Create {
                 
-                                    
 			} // end group Create
 			
 			group Retrieve {
diff --git a/OneM2M_Testcases_AE_Release_1.ttcn b/OneM2M_Testcases_AE_Release_1.ttcn
index 2610d3d2d08ad2820b0d2442944bae4a41976297..65af86006fd009701ea7eb192614f9a281cc5eb1 100644
--- a/OneM2M_Testcases_AE_Release_1.ttcn
+++ b/OneM2M_Testcases_AE_Release_1.ttcn
@@ -474,7 +474,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					//Send Trigger Message
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 					v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-					f_sendUtPrimitive(v_utRequest, v_action & f_getLocalResourceAddress(-, -, -));
+					f_ae_sendUtPrimitive(v_utRequest, v_action & f_getLocalResourceAddress(-, -, -));
 
 					//Test behavior
 					tc_ac.start;
@@ -692,7 +692,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_localResource := f_generateLocalResource(valueof(m_primitiveContentAe(m_contentCreateAe(omit, -, -, omit))), vc_cSEBaseIndex, int2);
 					v_auxInteger := f_setLocalResource(v_localResource, int2, vc_cSEBaseIndex);
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_auxInteger, -, -);
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_auxInteger, -, -));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_auxInteger, -, -));
 	
 					//Test behavior
 					tc_ac.start;
@@ -754,7 +754,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					//send triggering primitive to SUT
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(-, -, -);
 					v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(-, -, -));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(-, -, -));
 					
 					//Test behavior
 					tc_ac.start;
@@ -810,7 +810,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_containerIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_containerIndex, -, -);
 					v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_containerIndex, -, -));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_containerIndex, -, -));
 	
 					//Test behavior
 					tc_ac.start;
@@ -1314,7 +1314,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_resourceIndex := f_setLocalResource(v_localResource, int4, v_containerResourceIndex);
 					
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_containerResourceIndex) & "/" & c_resourceShortNameOldest;
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_containerResourceIndex));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_containerResourceIndex));
 	
 					//Test behavior
 					tc_ac.start;
@@ -1373,7 +1373,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_resourceIndex := f_setLocalResource(v_localResource, int4, v_containerResourceIndex);
 					
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_containerResourceIndex) & "/" & c_resourceShortNameLatest;
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_containerResourceIndex));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_containerResourceIndex));
 	
 	
 					//Test behavior
@@ -1430,7 +1430,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 					v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex);
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
 	
 					//Test behavior
 					tc_ac.start;
@@ -1488,7 +1488,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_localResource := f_generateLocalResource(valueof(m_primitiveContentContentInstance(m_contentCreateContentInstance)), v_resourceIndex, int4);
 					v_resourceIndex := f_setLocalResource(v_localResource, int4, v_resourceIndex);
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex);
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
 
 					//Test behavior
 					tc_ac.start;
@@ -1548,7 +1548,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 					v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex) & "/" & c_resourceShortNameOldest;
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
 
 					//Test behavior
 					tc_ac.start;
@@ -1609,7 +1609,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 					v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex) & "/" & c_resourceShortNameLatest;
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
 
 					//Test behavior
 					tc_ac.start;
@@ -1670,7 +1670,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 					v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex);
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
 
 					//Test behavior
 					tc_ac.start;
@@ -1733,7 +1733,7 @@ module OneM2M_Testcases_AE_Release_1 {
 					v_localResource := f_generateLocalResource(valueof(m_primitiveContentContentInstance(m_contentCreateContentInstance)), v_containerResourceIndex, int4);
 					v_resourceIndex := f_setLocalResource(v_localResource, int4, v_containerResourceIndex);
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_resourceIndex);
-					f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
+					f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_resourceIndex));
 
 					//Test behavior
 					tc_ac.start;
@@ -1800,7 +1800,7 @@ module OneM2M_Testcases_AE_Release_1 {
 
 					//send triggering primitive to SUT
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress();
-					f_sendUtPrimitive(v_utRequest,v_action);
+					f_ae_sendUtPrimitive(v_utRequest,v_action);
 				  	
 					//Test behavior
 					tc_ac.start;
@@ -2120,7 +2120,7 @@ module OneM2M_Testcases_AE_Release_1 {
 			  
 			  //Trigger IUT for sending a polling request (req1)
 			  v_utRequest3 := valueof(m_utRetrievePollingChannelUri(f_getLocalResourceAddress(v_pollingChannelIndex) & "/" & c_resourceShortNamePollingChannelUri));
-			  f_sendUtPrimitive(v_utRequest3,v_action3);
+			  f_ae_sendUtPrimitive(v_utRequest3,v_action3);
 
 			  tc_ac.start;
 			  alt {
diff --git a/OneM2M_Testcases_AE_Release_3.ttcn b/OneM2M_Testcases_AE_Release_3.ttcn
index aa94949f8f36a733c155e630ef1f6bbbcd674da6..7aa4890c4a77aff50941145a2b8d57f901f00cff 100644
--- a/OneM2M_Testcases_AE_Release_3.ttcn
+++ b/OneM2M_Testcases_AE_Release_3.ttcn
@@ -1348,7 +1348,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						var template UtTriggerPrimitive v_utRequest := m_utNotify;
 						var universal charstring v_action := __SCOPE__ & ": Please, send a valid ESPrim object to " & f_getPortAddress(PX_TS_CSE1.mcaPortIn); // Test control
 						v_utRequest.requestPrimitive.to_ := f_getResourceAddress();
-						f_sendUtPrimitive(v_utRequest, v_action);
+						f_ae_sendUtPrimitive(v_utRequest, v_action);
 						
 						tc_ac.start;
 						alt {
@@ -1440,7 +1440,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						// Send triggering primitive to SUT
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_receiverRemoteCseIndex);
 						v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex));
+						f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex));
 
 						//Test behavior
 						tc_ac.start;
@@ -1539,7 +1539,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						// Send triggering primitive to SUT
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -);
 						v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -));
+						f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -));
 
 						//Test behavior
 						v_notifyRequest := valueof(m_notify(f_getResourceAddress())); 
@@ -1629,7 +1629,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						// Send triggering primitive to SUT
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -);
 						v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -));
+						f_ae_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -));
 
 						//Test behavior
 						v_notifyRequest := valueof(m_notify(f_getResourceAddress())); 
@@ -1712,7 +1712,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						var template UtTriggerPrimitive v_utRequest := m_utNotify;
 						var universal charstring v_action := __SCOPE__ & ": Please, send a valid NOTIFY Request containing To set to " & f_getPortAddress(PX_TS_CSE1.mcaPortIn) & " and Content containing securityInfo object containing ESCertKe Message 1"; // Test control
 						v_utRequest.requestPrimitive.to_ := f_getResourceAddress();
-						f_sendUtPrimitive(v_utRequest, v_action);
+						f_ae_sendUtPrimitive(v_utRequest, v_action);
 						
 						tc_ac.start;
 						alt {
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index 0638c556a1411746f17f888dfc4b4c5bb67f7dd8..b45d6c2e673171fbe2d0a65510cdc2086dc5f0ee 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -1725,7 +1725,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					// Preamble
 					//send triggering primitive to SUT
-					f_sendUtPrimitive(v_utRequest,v_action);
+					f_cse_sendUtPrimitive_cseSimu(v_utRequest,v_action);
 
 					// Test Body
 					tc_ac.start;
@@ -2875,7 +2875,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 
 					 //Send Trigger Message
 					 v_utRequest := m_utRetrieve(f_getLocalResourceAddress(vc_localRemoteCseIndex));
- 				     f_sendUtPrimitive(v_utRequest, v_action & f_getLocalResourceAddress(vc_localRemoteCseIndex));
+ 				     f_cse_sendUtPrimitive_cseSimu(v_utRequest, v_action & f_getLocalResourceAddress(vc_localRemoteCseIndex));
 					 
 					 tc_ac.start;
 					 alt {
@@ -3389,7 +3389,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					//Send Trigger Message
 					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(vc_localRemoteCseIndex);
-					f_sendUtPrimitive(v_utRequest, v_action & f_getLocalResourceAddress(vc_localRemoteCseIndex));	
+					f_cse_sendUtPrimitive_cseSimu(v_utRequest, v_action & f_getLocalResourceAddress(vc_localRemoteCseIndex));	
 
 					// Test Body
 					tc_ac.start;
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 2ee97414cfd08ef2b6aae79bbd1aed7e175b224a..ba06ad6a7b590f0f7e56ebde5229724fb3b7fac5 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -3692,7 +3692,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 				   
 				   	//Trigger IUT for sending a polling request (req1)
 					v_utRequest2 := valueof(m_utRetrievePollingChannelUri(f_getLocalResourceAddress(v_localResourceIndex) & "/" & c_resourceShortNamePollingChannelUri));
-					f_sendUtPrimitive(v_utRequest2,v_action2);
+					f_cse_sendUtPrimitive_cseSimu(v_utRequest2,v_action2);
 					
 					tc_ac.start;
 				   	alt {
diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn
index 3b7054217d0cc1b2de782c215e7008ea023eac66..339cb2ff848d12bf1aefd41a8b165a8582f6cb4d 100644
--- a/OneM2M_Testcases_CSE_Release_3.ttcn
+++ b/OneM2M_Testcases_CSE_Release_3.ttcn
@@ -8001,7 +8001,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Send triggering primitive to SUT
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_receiverRemoteCseIndex);
 						v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex));
+						f_cse_sendUtPrimitive_cseSimu(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex));
 
 						//Test behavior
 						tc_ac.start;
@@ -8098,7 +8098,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Send triggering primitive to SUT
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -);
 						v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -));
+						f_cse_sendUtPrimitive_cseSimu(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -));
 
 						//Test behavior
 						v_notifyRequest := valueof(m_notify(f_getResourceAddress())); 
@@ -8189,7 +8189,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Send triggering primitive to SUT
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -);
 						v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -));
+						f_cse_sendUtPrimitive_cseSimu(v_utRequest,v_action & f_getLocalResourceAddress(v_receiverRemoteCseIndex, -, -));
 
 						//Test behavior
 						v_notifyRequest := valueof(m_notify(f_getResourceAddress())); 
@@ -8271,7 +8271,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Send triggering primitive to SUT
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(vc_remoteCseIndex, -, -);
 						v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(vc_remoteCseIndex, -, -));
+						f_cse_sendUtPrimitive_cseSimu(v_utRequest,v_action & f_getLocalResourceAddress(vc_remoteCseIndex, -, -));
 
 						//Test behavior
 						tc_ac.start;
@@ -8410,7 +8410,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Send triggering primitive to SUT
 						v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(vc_remoteCseIndex, -, -);
 						v_requestPrimitive.to_ := v_utRequest.requestPrimitive.to_;
-						f_sendUtPrimitive(v_utRequest,v_action & f_getLocalResourceAddress(-, -, -));
+						f_cse_sendUtPrimitive_cseSimu(v_utRequest,v_action & f_getLocalResourceAddress(-, -, -));
 
 						//Test behavior
 						tc_ac.start;
@@ -9048,7 +9048,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var template UtTriggerPrimitive v_utRequest := m_utNotify;
 						var universal charstring v_action := __SCOPE__ & ": Please, send a valid NOTIFY Request containing To set to " & f_getPortAddress(PX_TS_CSE1.mccPortIn) & " and Content containing securityInfo object containing ESCertKe Message 1"; // Test control
 						v_utRequest.requestPrimitive.to_ := f_getResourceAddress();
-						f_sendUtPrimitive(v_utRequest, v_action);
+						f_cse_sendUtPrimitive_cseSimu(v_utRequest, v_action);
 						
 						tc_ac.start;
 						alt {