diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 9d2b322cb6499379efdcd06f8135c871aa76b8d6..37a8cf4d07ceed91debf3f307c6208254c35d8b7 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -2162,7 +2162,7 @@ module OneM2M_Functions {
 						v_myResource.contentInstance.resourceType := p_resourceType;
       					v_myResource.contentInstance.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
 						v_myResource.contentInstance.creationTime := fx_generateTimestamp();
-						v_myResource.contentInstance.lastModifiedTime := v_myResource.container.creationTime;											
+						v_myResource.contentInstance.lastModifiedTime := v_myResource.contentInstance.creationTime;											
 						if(not(ispresent(p_resource.contentInstance.expirationTime))) {
 							v_myResource.contentInstance.expirationTime := "20301231T012345";
 						}
@@ -2324,20 +2324,8 @@ module OneM2M_Functions {
 					log(__SCOPE__&": WARNING: Unexpected CREATE message received");
 					tc_ac.stop;
 					
-					v_parentResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-					if(v_parentResourceIndex == -1) {
-						log(__SCOPE__&": ERROR: Target resource not found");
-						v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier));
-						
-					} else {
-						v_localResource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentResourceIndex, v_request.primitive.requestPrimitive.resourceType);
-						v_localResourceIndex := f_setLocalResource(v_localResource, v_request.primitive.requestPrimitive.resourceType, v_parentResourceIndex);
+					v_localResourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive);
 	
-						v_response := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier));
-						v_response.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource;
-					}
-					v_response.from_ := PX_CSE1_ID;
-					v_response.to_ := v_request.primitive.requestPrimitive.from_;
 					mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
 					tc_ac.start(10.0);
 					repeat;
@@ -2346,25 +2334,11 @@ module OneM2M_Functions {
 					tc_ac.stop;
 					log(__SCOPE__&": WARNING: Unexpected RETRIEVE message received");
 					
-					v_localResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-					if(v_localResourceIndex == -1)
-					{ 
-						log(__SCOPE__&": ERROR: Resource Index not valid");
-						v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier));
-						v_response.from_ := PX_CSE1_ID;
-						v_response.to_ := v_request.primitive.requestPrimitive.from_;
-						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
+					f_processRetrieveRequestPrimitive(v_request.primitive.requestPrimitive);
+					if(ischosen(vc_response.primitive.responsePrimitive.primitiveContent.cSEBase)) {
+						mccPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive, {{"parentID", omit}}))); 
 					} else {
-						v_response := valueof(m_responsePrimitive(int2000,v_request.primitive.requestPrimitive.requestIdentifier));
-						v_response.from_ := PX_CSE1_ID;
-						v_response.to_ := v_request.primitive.requestPrimitive.from_;
-						v_response.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource;
-						if(ischosen(vc_localResourcesList[v_localResourceIndex].resource.cSEBase)) {
-							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response, {{"parentID", omit}}))); 
-						} else {
-							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
-						}
-						
+						mccPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 					}
 					tc_ac.start(10.0);
 					repeat;
@@ -2373,22 +2347,8 @@ module OneM2M_Functions {
 					tc_ac.stop;
 					log(__SCOPE__&": WARNING: Unexpected UPDATE message received");
 
-					v_localResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-					if(v_localResourceIndex == -1)
-					{ 
-						log(__SCOPE__&": ERROR: Resource Index not valid");
-						v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier));
-						v_response.from_ := PX_CSE1_ID;
-						v_response.to_ := v_request.primitive.requestPrimitive.from_;
-						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
-					} else {
-						v_response := valueof(m_responsePrimitive(int2004,v_request.primitive.requestPrimitive.requestIdentifier));
-						v_response.from_ := PX_CSE1_ID;
-						v_response.to_ := v_request.primitive.requestPrimitive.from_;
-						f_updateLocalResource(v_localResourceIndex, v_request.primitive.requestPrimitive.primitiveContent);
-						v_response.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource;
-						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
-					}
+					f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive);
+					mccPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 					tc_ac.start(10.0);
 					repeat;
 				}
@@ -2396,20 +2356,8 @@ module OneM2M_Functions {
 					tc_ac.stop;
 					log(__SCOPE__&": WARNING: Unexpected DELETE message received");
 
-					v_localResourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-					if(v_localResourceIndex == -1)
-					{ 
-						log(__SCOPE__&": ERROR: Resource Index not valid");
-						v_response := valueof(m_responsePrimitive(int4004,v_request.primitive.requestPrimitive.requestIdentifier));
-						v_response.from_ := PX_CSE1_ID;
-						v_response.to_ := v_request.primitive.requestPrimitive.from_;
-						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
-					} else {
-						v_response := valueof(m_responsePrimitive(int2002,v_request.primitive.requestPrimitive.requestIdentifier));
-						v_response.from_ := PX_CSE1_ID;
-						v_response.to_ := v_request.primitive.requestPrimitive.from_;
-						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response)));
-					}
+					f_processDeleteRequestPrimitive(v_request.primitive.requestPrimitive);
+					mccPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 					tc_ac.start(10.0);
 					repeat;
 				}
@@ -3079,10 +3027,10 @@ module OneM2M_Functions {
     		
 			} else {
 				
-				log("Non Hierarchical method: " & v_cleanedURI);
 				for(i:=0; i < lengthof(vc_localResourcesList); i := i+1){
 					if(v_cleanedURI == f_getResourceId(vc_localResourcesList[i].resource)){
 						v_resourceIndex := i;
+						log("Non Hierarchical method: " & v_cleanedURI);
 						break;
 					} 
 				}
@@ -3091,6 +3039,10 @@ module OneM2M_Functions {
 			//Try CSEBase
 			if(v_resourceIndex == -1) {
 				if(v_cleanedURI == f_getResourceName(vc_localResourcesList[vc_cSEBaseIndex].resource)) {
+					log("Hierarchical method: " & v_cleanedURI);
+					v_resourceIndex := vc_cSEBaseIndex;
+				} else if (v_cleanedURI == f_getResourceId(vc_localResourcesList[vc_cSEBaseIndex].resource)) {
+					log("Non Hierarchical method: " & v_cleanedURI);
 					v_resourceIndex := vc_cSEBaseIndex;
 				}
 			}
@@ -3360,9 +3312,9 @@ module OneM2M_Functions {
 		} // end f_getAnnouncedResourceType
 		
 		/**
-		 * @desc   Proccessing of the request primitive
+		 * @desc   Proccessing of the CREATE request primitive
 		 * @param  p_request          Request primitive to be processed
-		 * @return p_response 		Response primitive to be sent back
+		 * @return Local resource index
 		 */
 		function f_processCreateRequestPrimitive(in RequestPrimitive p_request) runs on CseSimu return integer {			
 			var integer v_parentIndex := -1;
@@ -3387,7 +3339,73 @@ module OneM2M_Functions {
 				
 			return v_localResourceIndex;
 		}
+		
+		/**
+		 * @desc   Proccessing of the UPDATE request primitive
+		 * @param  p_request          Request primitive to be processed
+		 */
+		function f_processUpdateRequestPrimitive(in RequestPrimitive p_request) runs on CseSimu {			
+			var integer v_targetLocalResourceIndex := -1;
+				
+			v_targetLocalResourceIndex := f_getResourceIndex(p_request.to_);
+			if(v_targetLocalResourceIndex == -1) {
+				setverdict(inconc,__SCOPE__&": ERROR: Target resource not found");
+				vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int4004,p_request.requestIdentifier));
+		
+			} else {
+				setverdict(pass, __SCOPE__&":INFO: Resource created successfuly");
+				f_updateLocalResource(v_targetLocalResourceIndex, p_request.primitiveContent);
+				vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int2001,p_request.requestIdentifier));
+				vc_response.primitive.responsePrimitive.primitiveContent := vc_localResourcesList[v_targetLocalResourceIndex].resource;
+			}
+			vc_response.primitive.responsePrimitive.from_ := PX_CSE1_ID;
+			vc_response.primitive.responsePrimitive.to_ := p_request.from_;
+		
+		}
+	
+		/**
+		 * @desc   Proccessing of the RETRIEVE request primitive
+		 * @param  p_request          Request primitive to be processed
+		 */
+		function f_processRetrieveRequestPrimitive(in RequestPrimitive p_request) runs on CseSimu {			
+			var integer v_targetLocalResourceIndex := -1;
+				
+			v_targetLocalResourceIndex := f_getResourceIndex(p_request.to_);
+			if(v_targetLocalResourceIndex == -1) {
+				setverdict(inconc,__SCOPE__&": ERROR: Target resource not found");
+				vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int4004,p_request.requestIdentifier));
+		
+			} else {
+				setverdict(pass, __SCOPE__&":INFO: Resource created successfuly");
+				vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int2001,p_request.requestIdentifier));
+				vc_response.primitive.responsePrimitive.primitiveContent := vc_localResourcesList[v_targetLocalResourceIndex].resource;
+			}
+			vc_response.primitive.responsePrimitive.from_ := PX_CSE1_ID;
+			vc_response.primitive.responsePrimitive.to_ := p_request.from_;
+		
+		}
     				
+		/**
+		 * @desc   Proccessing of the DELETE request primitive
+		 * @param  p_request          Request primitive to be processed
+		 */
+		function f_processDeleteRequestPrimitive(in RequestPrimitive p_request) runs on CseSimu {			
+			var integer v_targetLocalResourceIndex := -1;
+				
+			v_targetLocalResourceIndex := f_getResourceIndex(p_request.to_);
+			if(v_targetLocalResourceIndex == -1) {
+				setverdict(inconc,__SCOPE__&": ERROR: Target resource not found");
+				vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int4004,p_request.requestIdentifier));
+		
+			} else {
+				setverdict(pass, __SCOPE__&":INFO: Resource created successfuly");
+				vc_response.primitive.responsePrimitive := valueof(m_responsePrimitive(int2001,p_request.requestIdentifier));
+			}
+			vc_response.primitive.responsePrimitive.from_ := PX_CSE1_ID;
+			vc_response.primitive.responsePrimitive.to_ := p_request.from_;
+		
+		}
+
 	}//end group getSetFunctions
 	
 	group CheckingFunctions {
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 72bbe9088ca7451d6a8234e48dc2e0df85c2d164..0b475b9c0c473a5cbeb7d198b0ddedfe61711aa6 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -31,13 +31,9 @@ module OneM2M_PermutationFunctions {
 						
 					function f_AE_GEN_CRE_001(PrimitiveScope p_primitiveScope) runs on CseSimu {
 						
-						var ResponsePrimitive v_responsePrimitive;
 						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
-						var UtTriggerAckPrimitive v_trigger_response;
-						var integer v_parentIndex := -1;
 						var integer v_resourceIndex := -1;
 						var MsgIn v_request;
-						var PrimitiveContent v_resource;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for container to ";
 						
 						if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) {
@@ -56,15 +52,12 @@ module OneM2M_PermutationFunctions {
 							[] mcaPortIn.receive(mw_request(mw_createContainer(-,v_utRequest.requestPrimitive.to_))) -> value v_request {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : Container creation request received successfuly");
-								v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType);
-								v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);	
-								v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-								mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(v_responsePrimitive))));
+								v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive);	
+								mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))));
 							}
-							[] mcaPortIn.receive(mw_request(?)) {
+							[] mcaPortIn.receive(mw_request(mw_createContainer())) -> value v_request {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & " : Error while creating container");
+								setverdict(fail, __SCOPE__ & " : Create Request with unexpected target");
 								mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit))))));
 								stop;
 							}
@@ -79,12 +72,8 @@ module OneM2M_PermutationFunctions {
 					}
 					function f_AE_GEN_CRE_002(PrimitiveScope p_primitiveScope) runs on CseSimu {
 						var MsgIn v_request;
-						var Integer v_parentIndex := -1;
 						var Integer v_resourceIndex := -1;
-						var ResponsePrimitive v_responsePrimitive;
 						var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
-						var UtTriggerAckPrimitive v_trigger_response;
-						var PrimitiveContent v_resource;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for container to ";
 						
 						//Test Control
@@ -102,18 +91,15 @@ module OneM2M_PermutationFunctions {
 	
 						tc_ac.start;
 						alt {
-							[] mcaPortIn.receive(mw_request(mw_createContainer(-,v_utRequest.requestPrimitive.to_))) -> value (v_request) {
+							[] mcaPortIn.receive(mw_request(mw_createContainer(-,v_utRequest.requestPrimitive.to_))) -> value v_request {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : Container creation request received successfuly");
-								v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType);
-								v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);	
-								v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive);	
+								mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))));
 							}
-							[] mcaPortIn.receive(mw_request(?)) {
+							[] mcaPortIn.receive(mw_request(mw_createContainer())) -> value v_request {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & " : Error while creating container");
+								setverdict(fail, __SCOPE__ & " : Create Request with unexpected target");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 								stop;
 							}
@@ -133,9 +119,7 @@ module OneM2M_PermutationFunctions {
 						
 					function f_AE_GEN_UPD_001(PrimitiveScope p_primitiveScope) runs on CseSimu {
 						var MsgIn v_request;
-						var ResponsePrimitive v_responsePrimitive;
 						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
-						var UtTriggerAckPrimitive v_trigger_response;
 						var integer v_resourceIndex;
 						var PrimitiveContent v_localResource;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for container to ";
@@ -159,14 +143,12 @@ module OneM2M_PermutationFunctions {
 							[] mcaPortIn.receive(mw_request(mw_updateContainer(-,v_utRequest.requestPrimitive.to_))) -> value v_request {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : Container update request received successfuly");
-								v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								f_updateLocalResource(v_resourceIndex, v_request.primitive.requestPrimitive.primitiveContent);
-								v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive);
+								mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 							}
-							[] mcaPortIn.receive(mw_request(?)) {
+							[] mcaPortIn.receive(mw_request(mw_updateContainer())) {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & " : Error while updating container");
+								setverdict(fail, __SCOPE__ & " : Update Request with unexpected target");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 								stop;
 							}
@@ -181,9 +163,7 @@ module OneM2M_PermutationFunctions {
 					}
 					function f_AE_GEN_UPD_002(PrimitiveScope p_primitiveScope) runs on CseSimu {
 						var MsgIn v_request;
-						var ResponsePrimitive v_responsePrimitive;
 						var template UtTriggerPrimitive v_utRequest := m_utUpdateContainer;
-						var UtTriggerAckPrimitive v_trigger_response;
 						var integer v_resourceIndex := -1;
 						var PrimitiveContent v_localResource;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for container to ";
@@ -206,14 +186,12 @@ module OneM2M_PermutationFunctions {
 							[] mcaPortIn.receive(mw_request(mw_updateContainer(-,v_utRequest.requestPrimitive.to_))) -> value (v_request) {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : Container update request received successfuly");
-								v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								f_updateLocalResource(v_resourceIndex, v_request.primitive.requestPrimitive.primitiveContent);
-								v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive);
+								mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 							}
-							[] mcaPortIn.receive(mw_request(?)) {
+							[] mcaPortIn.receive(mw_request(mw_updateContainer())) {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & " : Error while updating container");
+								setverdict(fail, __SCOPE__ & " : Update Request with unexpected target");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 								stop;
 							}
@@ -233,11 +211,8 @@ module OneM2M_PermutationFunctions {
 						
 					function f_AE_GEN_RET_001(PrimitiveScope p_primitiveScope) runs on CseSimu {
 						var MsgIn v_request;
-						var ResponsePrimitive v_responsePrimitive;
-						var template UtTriggerPrimitive v_utRequestTemplate;
-                        var UtTriggerPrimitive v_utRequest;
-						var UtTriggerAckPrimitive v_trigger_response;
-						var integer v_resourceIndex := -1;
+						var template UtTriggerPrimitive v_utRequest;
+                        var integer v_resourceIndex := -1;
 						var PrimitiveContent v_localResource;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for container to ";
 						
@@ -251,22 +226,20 @@ module OneM2M_PermutationFunctions {
 						//Send Trigger Message
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
-						v_utRequestTemplate := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope));
-						f_sendUtPrimitive(v_utRequestTemplate,v_action & f_getLocalResourceAddress(v_resourceIndex, e_nonHierarchical, p_primitiveScope));
-                        v_utRequest := valueof(v_utRequestTemplate);
-			
+						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));
+                        
 						tc_ac.start;
 						alt {
-							[] mcaPortIn.receive(mw_request(mw_retrieve(v_utRequest.requestPrimitive.to_))) -> value (v_request) {
+							[] mcaPortIn.receive(mw_request(mw_retrieve(v_utRequest.requestPrimitive.to_))) -> value v_request {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : Container retrieve request received successfuly");
-								v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								f_processRetrieveRequestPrimitive(v_request.primitive.requestPrimitive);
+								mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 							}
-							[] mcaPortIn.receive(mw_request(?)) {
+							[] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & " : Error while retrieving container");
+								setverdict(fail, __SCOPE__ & " : Retrieve request with unexpected target");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 								stop;
 							}
@@ -281,11 +254,8 @@ module OneM2M_PermutationFunctions {
 					}
 					function f_AE_GEN_RET_002(PrimitiveScope p_primitiveScope) runs on CseSimu {
 						var MsgIn v_request;
-						var ResponsePrimitive v_responsePrimitive;
-						var template UtTriggerPrimitive v_utRequestTemplate;
-                        var UtTriggerPrimitive v_utRequest;
-						var UtTriggerAckPrimitive v_trigger_response;
-						var integer v_resourceIndex := -1;
+						var template UtTriggerPrimitive v_utRequest;
+                        var integer v_resourceIndex := -1;
 						var PrimitiveContent v_localResource;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid RETRIEVE Request for container to ";
 						
@@ -299,22 +269,20 @@ module OneM2M_PermutationFunctions {
 						//Send Trigger Message
 						v_localResource := f_generateLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), vc_cSEBaseIndex, int3);
 						v_resourceIndex := f_setLocalResource(v_localResource, int3, vc_cSEBaseIndex);
-						v_utRequestTemplate := m_utRetrieve(f_getLocalResourceAddress(v_resourceIndex, e_hierarchical, p_primitiveScope));
+						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));
-						v_utRequest := valueof(v_utRequestTemplate);
 						
 						tc_ac.start;
 						alt {
 							[] mcaPortIn.receive(mw_request(mw_retrieve(v_utRequest.requestPrimitive.to_))) -> value (v_request) {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : Container retrieve request received successfuly");
-								v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								f_processRetrieveRequestPrimitive(v_request.primitive.requestPrimitive);
+								mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 							}
-							[] mcaPortIn.receive(mw_request(?)) {
+							[] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & " : Error while retrieving container");
+								setverdict(fail, __SCOPE__ & " : Retrieve request with unexpected target");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 								stop;
 							}
@@ -334,9 +302,7 @@ module OneM2M_PermutationFunctions {
 						
 					function f_AE_GEN_DEL_001(PrimitiveScope p_primitiveScope) runs on CseSimu {
 						var MsgIn v_request;
-						var ResponsePrimitive v_responsePrimitive;
 						var template UtTriggerPrimitive v_utRequest := m_utDelete;
-						var UtTriggerAckPrimitive v_trigger_response;
 						var integer v_auxInteger;
 						var PrimitiveContent v_localResource;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid DELETE Request for container to ";
@@ -356,15 +322,15 @@ module OneM2M_PermutationFunctions {
 			
 						tc_ac.start;
 						alt {
-							[] mcaPortIn.receive(mw_request(mw_delete(v_utRequest.requestPrimitive.to_))) -> value (v_request) {
+							[] mcaPortIn.receive(mw_request(mw_delete(v_utRequest.requestPrimitive.to_))) -> value v_request {
 								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & " : Container update request received successfuly");
-								v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, omit));
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								setverdict(pass, __SCOPE__ & " : Container delete request received successfuly");
+								f_processDeleteRequestPrimitive(v_request.primitive.requestPrimitive);
+								mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 							}
-							[] mcaPortIn.receive(mw_request(?)) {
+							[] mcaPortIn.receive(mw_request(mw_delete(?))) -> value v_request {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & " : Error while updating container");
+								setverdict(fail, __SCOPE__ & " : Delete request with unexpected target");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 								stop;
 							}
@@ -379,9 +345,7 @@ module OneM2M_PermutationFunctions {
 					}
 					function f_AE_GEN_DEL_002(PrimitiveScope p_primitiveScope) runs on CseSimu {
 						var MsgIn v_request;
-						var ResponsePrimitive v_responsePrimitive;
 						var template UtTriggerPrimitive v_utRequest := m_utDelete;
-						var UtTriggerAckPrimitive v_trigger_response;
 						var integer v_auxInteger;
 						var PrimitiveContent v_localResource;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid DELETE Request for container to ";
@@ -402,15 +366,15 @@ module OneM2M_PermutationFunctions {
 
 						tc_ac.start;
 						alt {
-							[] mcaPortIn.receive(mw_request(mw_delete(v_utRequest.requestPrimitive.to_))) -> value (v_request) {
+							[] mcaPortIn.receive(mw_request(mw_delete(v_utRequest.requestPrimitive.to_))) -> value v_request {
 								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & " : Container update request received successfuly");
-								v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, omit));
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								setverdict(pass, __SCOPE__ & " : Container delete request received successfuly");
+								f_processDeleteRequestPrimitive(v_request.primitive.requestPrimitive);
+								mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 							}
-							[] mcaPortIn.receive(mw_request(?)) {
+							[] mcaPortIn.receive(mw_request(mw_delete(?))) -> value v_request {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & " : Error while updating container");
+								setverdict(fail, __SCOPE__ & " : Delete request with unexpected target");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 								stop;
 							}
@@ -491,13 +455,10 @@ module OneM2M_PermutationFunctions {
 			
 					function f_AE_DMR_CRE_003(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request, in universal charstring p_action) runs on CseSimu {
 						var MsgIn v_request;
-						var integer v_parentIndex := -1;
 						var integer v_resourceIndex := -1;
-						var PrimitiveContent v_resource;
 						var PrimitiveContent v_localResource;
 						var integer v_containerIndex := -1;
-						var ResponsePrimitive v_responsePrimitive;
-	
+						
 						//Test component configuration
 						f_cf03Up();
 	
@@ -513,19 +474,15 @@ module OneM2M_PermutationFunctions {
 						alt{
 	
 							//receive MsgIn requestPrimitive
-							[] mcaPortIn.receive(mw_request(p_request)) -> value (v_request) {
+							[] mcaPortIn.receive(mw_request(p_request)) -> value v_request {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : ContentInstance creation request is accepted!!");
-								v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType);
-								v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);	
-								v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-
+								v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive);	
 								//send back responsePrimitive
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))));
 							}
 	
-							[] mcaPortIn.receive(mw_request(mw_create)) {
+							[] mcaPortIn.receive(mw_request(mw_create)) -> value v_request{
 								tc_ac.stop;
 								setverdict(fail, __SCOPE__ & " : Unexpected CREATE request ");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
@@ -540,11 +497,8 @@ module OneM2M_PermutationFunctions {
 					}
 					function f_AE_DMR_CRE_004(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request, in universal charstring p_action) runs on CseSimu {
 						var MsgIn v_request;
-						var integer v_parentIndex := -1;
 						var integer v_resourceIndex := -1;
-						var PrimitiveContent v_resource;
-						var ResponsePrimitive v_responsePrimitive;
-	
+						
 						//Test component configuration
 						f_cf03Up();
 	
@@ -561,13 +515,9 @@ module OneM2M_PermutationFunctions {
 							[] mcaPortIn.receive(mw_request(p_request)) -> value (v_request) {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : Container creation request is accepted!!");
-								v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType);
-								v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);	
-								v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-	
+								v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive);	
 								//send back responsePrimitive
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))));
 							}
 							[] mcaPortIn.receive(mw_request(mw_create)) {
 								tc_ac.stop;
@@ -593,8 +543,7 @@ module OneM2M_PermutationFunctions {
 					   	var MsgIn v_request;
 						var integer v_resourceIndex := -1;
 					   	var PrimitiveContent v_localResource;
-					   	var ResponsePrimitive v_responsePrimitive;
-	
+					   	
 					   	f_cf03Up();
 					   
 					   	//Preamble
@@ -612,11 +561,9 @@ module OneM2M_PermutationFunctions {
 							[] mcaPortIn.receive(mw_request(p_expectedUpdateRequest)) -> value v_request {
 							   tc_ac.stop;
 							   setverdict(pass, __SCOPE__ & " : AE update request is accepted!");
-							   v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-							   f_updateLocalResource(v_resourceIndex, v_request.primitive.requestPrimitive.primitiveContent);
-							   v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-							   mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
-						   }
+							   f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive);
+							   mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
+							}
 							[] mcaPortIn.receive(mw_request(mw_update)) -> value v_request {
 							   tc_ac.stop;
 							   setverdict(fail, __SCOPE__ & " : Unexpected UPDATE request");
@@ -634,7 +581,6 @@ module OneM2M_PermutationFunctions {
 	
 					function f_AE_DMR_UPD_002(template UtTriggerPrimitive p_utRequest, template RequestPrimitive p_request, in universal charstring p_action) runs on CseSimu {
 						var MsgIn v_request;
-						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_localResource;
 						var integer v_resourceIndex := -1;
 
@@ -655,18 +601,14 @@ module OneM2M_PermutationFunctions {
 							[] mcaPortIn.receive(mw_request(p_request)) -> value (v_request) {
 								tc_ac.stop;
 								setverdict(pass, __SCOPE__ & " : Container update request is accepted!!");
-								v_resourceIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-								f_updateLocalResource(v_resourceIndex, v_request.primitive.requestPrimitive.primitiveContent);
-								v_responsePrimitive := valueof(m_responsePrimitive(int2004, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-								mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+								f_processUpdateRequestPrimitive(v_request.primitive.requestPrimitive);
+								mcaPortIn.send(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive)));
 							}
-
 							[] mcaPortIn.receive(mw_request(mw_update)) {
 								tc_ac.stop;
 								setverdict(fail, __SCOPE__ & " : Unexpected UPDATE request");
 								mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 							}
-
 							[] tc_ac.timeout{
 								setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!");
 							}
diff --git a/OneM2M_Testcases_AE_Release_1.ttcn b/OneM2M_Testcases_AE_Release_1.ttcn
index 9570871a1eed84ca1f82aff585e7a1b42e364b20..6c456ad2a20eb8b42c39fa6d63de916ce54b1d6f 100644
--- a/OneM2M_Testcases_AE_Release_1.ttcn
+++ b/OneM2M_Testcases_AE_Release_1.ttcn
@@ -812,11 +812,8 @@ module OneM2M_Testcases_AE_Release_1 {
 					//variables
 					var template UtTriggerPrimitive v_utRequest := m_utCreateContainer;
 					var MsgIn v_request;
-					var integer v_parentIndex := -1;
 					var integer v_resourceIndex := -1;
-					var PrimitiveContent v_resource;
 					var template RequestPrimitive v_requestPrimitive := mw_createContainer;
-					var ResponsePrimitive v_responsePrimitive;
 					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for container to ";
 					
 					f_cf03Up();
@@ -832,15 +829,11 @@ module OneM2M_Testcases_AE_Release_1 {
 						[] mcaPortIn.receive(mw_request(v_requestPrimitive)) -> value v_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & " : Container creation request is accepted!");
-							v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-							v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType);
-							v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);	
-							v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-							
+							v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive);	
 							//send back responsePrimitive
-							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+							mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))));
 						}
-						[] mcaPortIn.receive(mw_request(mw_create)) {
+						[] mcaPortIn.receive(mw_request(mw_create)) -> value v_request{
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Unexpected CREATE request ");
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
@@ -872,13 +865,10 @@ module OneM2M_Testcases_AE_Release_1 {
 	
 					var template UtTriggerPrimitive v_utRequest := m_utCreateContentInstance;
 					var MsgIn v_request;
-					var integer v_parentIndex := -1;
 					var integer v_resourceIndex := -1;
-					var PrimitiveContent v_resource;
 					var PrimitiveContent v_localResource;
 					var integer v_containerIndex := -1;
 					var template RequestPrimitive v_requestPrimitive := mw_createContentInstance;
-					var ResponsePrimitive v_responsePrimitive;
 					var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid CREATE Request for ContentInstance to ";
 	
 					//Test component configuration
@@ -899,15 +889,11 @@ module OneM2M_Testcases_AE_Release_1 {
 						[] mcaPortIn.receive(mw_request(v_requestPrimitive)) -> value v_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & " : ContentInstance creation request is accepted!!");
-							v_parentIndex := f_getResourceIndex(v_request.primitive.requestPrimitive.to_);
-							v_resource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, v_parentIndex, v_request.primitive.requestPrimitive.resourceType);
-							v_resourceIndex := f_setLocalResource(v_resource, v_request.primitive.requestPrimitive.resourceType, v_parentIndex);	
-							v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
-	
+							v_resourceIndex := f_processCreateRequestPrimitive(v_request.primitive.requestPrimitive);	
 							//send back responsePrimitive
-							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
+							mcaPortIn.send(f_getMsgOutPrimitive(f_getMsgOutPrimitive(m_response(vc_response.primitive.responsePrimitive))));
 						}
-						[] mcaPortIn.receive(mw_request(mw_create)) {
+						[] mcaPortIn.receive(mw_request(mw_create)) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Unexpected CREATE request ");
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
@@ -1470,7 +1456,7 @@ module OneM2M_Testcases_AE_Release_1 {
 							v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
-						[] mcaPortIn.receive(mw_request(mw_retrieve(?))) {
+						[] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Retrieve Request for unexpected target");
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
@@ -1532,7 +1518,7 @@ module OneM2M_Testcases_AE_Release_1 {
 							v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
-						[] mcaPortIn.receive(mw_request(mw_retrieve(?))) {
+						[] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Retrieve Request for unexpected target");
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
@@ -1590,7 +1576,7 @@ module OneM2M_Testcases_AE_Release_1 {
 							v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
-						[] mcaPortIn.receive(mw_request(mw_retrieve(?))) {
+						[] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Retrieve Request for unexpected target");
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
@@ -1650,7 +1636,7 @@ module OneM2M_Testcases_AE_Release_1 {
 							v_responsePrimitive := valueof(m_responsePrimitive(int2000, v_request.primitive.requestPrimitive.requestIdentifier, vc_localResourcesList[v_resourceIndex].resource));
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 						}
-						[] mcaPortIn.receive(mw_request(mw_retrieve(?))) {
+						[] mcaPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Retrieve Request for unexpected target");
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
@@ -1717,9 +1703,10 @@ module OneM2M_Testcases_AE_Release_1 {
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 							tc_ac.stop;
 						}
-						[] mcaPortIn.receive (mw_request(mw_delete(?))) {
+						[] mcaPortIn.receive (mw_request(mw_delete(?))) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Delete request for unexpected target");
+							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 						}
 						[] tc_ac.timeout{
 							setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!");
@@ -1779,9 +1766,10 @@ module OneM2M_Testcases_AE_Release_1 {
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 							tc_ac.stop;
 						}
-						[] mcaPortIn.receive (mw_request(mw_delete(?))) {
+						[] mcaPortIn.receive (mw_request(mw_delete(?))) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Delete request for unexpected target");
+							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 						}
 						[] tc_ac.timeout{
 							setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!");
@@ -1841,9 +1829,10 @@ module OneM2M_Testcases_AE_Release_1 {
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 							tc_ac.stop;
 						}
-						[] mcaPortIn.receive (mw_request(mw_delete(?))) {
+						[] mcaPortIn.receive (mw_request(mw_delete(?))) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Delete request for unexpected target");
+							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 						}
 						[] tc_ac.timeout{
 							setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!");
@@ -1905,9 +1894,10 @@ module OneM2M_Testcases_AE_Release_1 {
 							mcaPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
 							tc_ac.stop;
 						}
-						[] mcaPortIn.receive (mw_request(mw_delete(?))) {
+						[] mcaPortIn.receive (mw_request(mw_delete(?))) -> value v_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & " : Delete request for unexpected target");
+							mcaPortIn.send(f_getMsgOutPrimitive(m_response(valueof(m_responsePrimitive(int4004, v_request.primitive.requestPrimitive.requestIdentifier, omit)))));
 						}
 						[] tc_ac.timeout{
 							setverdict(fail, __SCOPE__ & " : Timeout due to no response received from requested SUT!");