diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 6f24b1f2327c56271af9370df064ae91832a838e..68b138ce26c4217731f791a1f838ff03d9f48c01 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -57,6 +57,7 @@ module OneM2M_Functions {
 				vc_ae2 := AeSimu.create("AE2") alive;
 				vc_ae2.start(f_cf01UpAe2());
 				vc_ae2.done;
+				f_connectInfoPort(vc_ae2);
 			}
 				
 			//Initialze the IUT
@@ -127,6 +128,7 @@ module OneM2M_Functions {
 			vc_cse1.done;
 				
 			// Connect
+			f_connectInfoPort(vc_cse1);
 			
 			//Initialze the IUT
 							
@@ -205,6 +207,7 @@ module OneM2M_Functions {
 			vc_cseSimu := activate(a_cse_cf02_cse1());
 			vc_ae1.start(f_cf02UpAe1());
 			vc_ae1.done;
+			f_connectInfoPort(vc_ae1);
 				
 			//Initialize CSE2
 			 if(p_auxiliaryCse2Required) {
@@ -212,6 +215,8 @@ module OneM2M_Functions {
 				 vc_cse2 := CseSimu.create("CSE2") alive;
 				 vc_cse2.start(f_cf02UpCse2());
 				 vc_cse2.done;
+				 connect(self:mccPortInternal, vc_cse2:mccPortInternal);
+				 f_connectInfoPort(vc_cse2);
 			 }	
 			
 			//Initialze the IUT
@@ -248,7 +253,7 @@ module OneM2M_Functions {
       
 			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, vc_cseSimuDesc.mccPort.serialization };
 			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding_in, vc_cseSimuDesc.mccPortIn.serialization };
-			
+				 
 			activate(a_default());
 			vc_cseSimu := activate(a_cse_cf02_cse1());
 							
@@ -326,6 +331,7 @@ module OneM2M_Functions {
 				vc_cse2 := CseSimu.create("CSE2") alive;
 				vc_cse2.start(f_cf03UpCse2());
 				vc_cse2.done;
+				f_connectInfoPort(vc_cse2);
 			}
 					
 			//Initialze the IUT
@@ -408,6 +414,7 @@ module OneM2M_Functions {
 				vc_cse2 := CseSimu.create("CSE2") alive;
 				vc_cse2.start(f_cf04UpCse2());
 				vc_cse2.done;
+				f_connectInfoPort(vc_cse2);
 			}
 			
 			// Connect
@@ -474,6 +481,8 @@ module OneM2M_Functions {
 			vc_ae1 := AeSimu.create("AE1") alive;
 			vc_ae1.start(f_cf01Up());
 			vc_ae1.done;
+			f_connectInfoPort(vc_ae1);
+			
 		} // end f_cf05Up
 		
 		/**
@@ -509,6 +518,8 @@ module OneM2M_Functions {
 			vc_das := AeSimu.create("DAS") alive;
 			vc_das.start(f_cf06UpDas());
 			vc_das.done;
+			f_connectInfoPort(vc_das);
+			
 								
 		} // end f_cf06Up		
 
@@ -570,6 +581,8 @@ module OneM2M_Functions {
 			vc_ae1 := AeSimu.create("AE1") alive;
 			vc_ae1.start(f_cf06UpAe1());
 			vc_ae1.done;
+			f_connectInfoPort(vc_ae1);
+			
 										
 		} // end f_cf06UpDasSimuMaster
 
@@ -657,6 +670,7 @@ module OneM2M_Functions {
 				if(vc_ae2.alive) {
 					vc_ae2.start(f_cf01DownAe2());
 					vc_ae2.done;
+					f_disconnectInfoPort(vc_ae2);
 				}
 			}
 		
@@ -683,9 +697,12 @@ module OneM2M_Functions {
 			if(PX_UT_IMPLEMENTED){
 				unmap(self:utPort, system:utPort);
 			}
-			unmap(vc_cse1:mccPort, system:mccPort);
-			unmap(vc_cse1:mccPortIn, system:mccPortIn);
-			unmap(vc_cse1:acPort, system:acPort);
+			
+			if(vc_cse1.alive) {
+				vc_cse1.start(f_cf02DownCse());
+				vc_cse1.done;
+				f_disconnectInfoPort(vc_cse1);
+			}
 		
 		}// end f_cf02Down
 		
@@ -700,11 +717,54 @@ module OneM2M_Functions {
 			if(PX_UT_IMPLEMENTED){
 				unmap(self:utPort, system:utPort);
 			}
-			unmap(vc_ae1:mcaPort, system:mcaPort);
-			unmap(vc_ae1:acPort, system:acPort);
+			if (vc_cseSimuDesc.cseName != "CSE2_NAME") {
+				if(vc_ae1.alive) {
+					vc_ae1.start(f_cf02DownAe());
+					vc_ae1.done;
+					f_disconnectInfoPort(vc_ae1);
+				}
+				if(vc_auxiliaryCse2Up) {
+					if(vc_cse2.alive) {
+						vc_cse2.start(f_cf02DownCse());
+						vc_cse2.done;
+						disconnect(self:mccPortInternal, vc_cse2:mccPortInternal);
+						f_disconnectInfoPort(vc_cse2);
+					}
+				}
+			}
 		
 		}// end f_cf02DownCseSimuMaster
 		
+		/**
+		 * @desc Ports unmapping
+		 */
+		function f_cf02DownCse() runs on CseSimu {
+				
+			unmap(self:mccPort, system:mccPort);
+			unmap(self:mccPortIn, system:mccPortIn);
+			unmap(self:acPort, system:acPort);
+			if(PX_UT_IMPLEMENTED){
+				unmap(self:utPort, system:utPort);
+			}
+			
+		
+		}// end f_cf02DownCse
+		
+		/**
+		 * @desc Ports unmapping
+		 */
+		function f_cf02DownAe() runs on AeSimu {
+				
+			unmap(self:mcaPort, system:mcaPort);
+			unmap(self:mcaPortIn, system:mcaPortIn);
+			unmap(self:acPort, system:acPort);
+			if(PX_UT_IMPLEMENTED){
+				unmap(self:utPort, system:utPort);
+			}
+			
+		
+		}// end f_cf02DownCse
+		
 		/**
 		 * @desc Ports unmapping for Config 03
 		 */
@@ -719,6 +779,8 @@ module OneM2M_Functions {
 				if(vc_cse2.alive) {
 					vc_cse2.start(f_cf03DownCse2());
 					vc_cse2.done;
+					disconnect(self:mccPortInternal, vc_cse2:mccPortInternal);
+					f_disconnectInfoPort(vc_cse2);
 				}
 			}
 		}// end f_cf03Down
@@ -749,6 +811,8 @@ module OneM2M_Functions {
 				if(vc_cse2.alive) {
 					vc_cse2.start(f_cf04DownCse2());
 					vc_cse2.done;
+					disconnect(self:mccPortInternal, vc_cse2:mccPortInternal);
+					f_disconnectInfoPort(vc_cse2);
 				}
 			}
 		}// end f_cf04Down
@@ -765,15 +829,18 @@ module OneM2M_Functions {
 		}// end f_cf04DownCse2
 
 		function f_cf05Down() runs on ScefSimu system ScefSystem {
+			
+			unmap(self:mcnPort, system:mcnPort);
+			unmap(self:mcnPortIn, system:mcnPortIn);
+			unmap(self:acPort, system:acPort);
+			
 			if(vc_ae1.alive) {
 				vc_ae1.start(f_cf01Down());
 				vc_ae1.done;
+				f_disconnectInfoPort(vc_ae1);
 			}
 			
-			deactivate;
-			unmap(self:mcnPort, system:mcnPort);
-			unmap(self:mcnPortIn, system:mcnPortIn);
-			unmap(self:acPort, system:acPort);
+			
 		} // end f_cf05Down
 		
 		/**
@@ -787,9 +854,12 @@ module OneM2M_Functions {
 			if(PX_UT_IMPLEMENTED){
 				unmap(self:utPort, system:utPort);
 			}
-			unmap(vc_das:mcaPort, system:mcaPort);
-			unmap(vc_das:mcaPort, system:mcaPort);
-			unmap(vc_das:acPort, system:acPort);
+			if(vc_das.alive) {
+				vc_das.start(f_cf01Down());
+				vc_das.done;
+				f_disconnectInfoPort(vc_das);
+			}
+			
 		}// end f_cf06Down
 		
 		/**
@@ -803,9 +873,13 @@ module OneM2M_Functions {
 			if(PX_UT_IMPLEMENTED) {
 				unmap(self:utPort, system:utPort);
 			}
-			unmap(vc_ae2:mcaPort, system:mcaPort);
-			unmap(vc_ae2:mcaPortIn, system:mcaPortIn);
-			unmap(vc_ae2:acPort, system:acPort);
+			
+			if(vc_ae1.alive) {
+				vc_ae1.start(f_cf01Down());
+				vc_ae1.done;
+				f_disconnectInfoPort(vc_ae1);
+			}
+			
 		}// end f_cf06DownCseSimuMaster
 		
 		
@@ -851,7 +925,7 @@ module OneM2M_Functions {
 				var ResponsePrimitive v_response;
 				
 				f_connectInfoPort(p_component);
-		
+				
 				p_component.start(f_sendResponsePrimitive());
 				alt {
 					[]infoPort.receive(mw_responsePrimitiveforInfoPort) -> value v_response {
@@ -859,8 +933,9 @@ module OneM2M_Functions {
 				}
 				
 				p_component.done;
+				
 				f_disconnectInfoPort(p_component);
-					
+				
 				return v_response;
 					
 			}
@@ -873,7 +948,7 @@ module OneM2M_Functions {
 				var RequestPrimitive v_request;
 	
 				f_connectInfoPort(p_component);
-	
+				
 				p_component.start(f_sendRequestPrimitive());
 				alt {
 					[]infoPort.receive(mw_requestPrimitiveforInfoPort) -> value v_request {
@@ -881,8 +956,9 @@ module OneM2M_Functions {
 				}
 	
 				p_component.done;
+				
 				f_disconnectInfoPort(p_component);
-		
+				
 				return v_request;
 		
 			}
@@ -895,7 +971,6 @@ module OneM2M_Functions {
 				var PrimitiveContent v_primitiveContent;
 				
 				f_connectInfoPort(p_ae);
-		
 				p_ae.start(f_sendPrimitiveContentRetrievedResource());
 				alt {
 					[]infoPort.receive(mw_primitiveContent) -> value v_primitiveContent {
@@ -917,8 +992,6 @@ module OneM2M_Functions {
 				var MyResource v_resource;
 				var integer v_resourceIndex := -1;
 				
-				f_connectInfoPort(p_cse);
-		
 				p_cse.start(f_sendRemoteCseResource());
 				alt {
 					[]infoPort.receive(mw_resource) -> value v_resource {
@@ -927,8 +1000,7 @@ module OneM2M_Functions {
 				}
 		
 				p_cse.done;
-				f_disconnectInfoPort(p_cse);
-					
+				
 				return v_resourceIndex;
 					
 			}
@@ -942,8 +1014,6 @@ module OneM2M_Functions {
 				var MyResource v_resource;
 				var integer v_resourceIndex := -1;
 			
-				f_connectInfoPort(p_component);
-				
 				p_component.start(f_sendResourceAeSimu(p_resourceIndex));
 				
 				alt {
@@ -953,7 +1023,6 @@ module OneM2M_Functions {
 				}
 	
 				p_component.done;
-				f_disconnectInfoPort(p_component);
 				
 				return v_resourceIndex;
 				
@@ -969,8 +1038,6 @@ module OneM2M_Functions {
 				var MyResource v_resource;
 				var integer v_resourceIndex := -1;
 			
-				f_connectInfoPort(p_component);
-				
 				p_component.start(f_sendResourceCseSimu(p_resourceIndex));
 				
 				alt {
@@ -980,7 +1047,6 @@ module OneM2M_Functions {
 				}
 	
 				p_component.done;
-				f_disconnectInfoPort(p_component);
 				
 				return v_resourceIndex;
 				
@@ -995,8 +1061,6 @@ module OneM2M_Functions {
 				var MyResource v_resource;
 				var integer v_resourceIndex := -1;
 		
-				f_connectInfoPort(p_component);
-
 				p_component.start(f_sendLatestResource());
 				alt {
 					[]infoPort.receive(mw_resource) -> value v_resource {
@@ -1005,8 +1069,7 @@ module OneM2M_Functions {
 				}
 
 				p_component.done;
-				f_disconnectInfoPort(p_component);
-			
+				
 				return v_resourceIndex;
 			
 			}
@@ -1018,8 +1081,6 @@ module OneM2M_Functions {
 			function f_getLatestResourceIndex(in Tester p_component) runs on Tester return integer {
 				var integer v_resourceIndex;
 
-				f_connectInfoPort(p_component);
-
 				p_component.start(f_sendLatestResourceIndex());
 				alt {
 					[]infoPort.receive(mw_resourceIndex) -> value v_resourceIndex{
@@ -1027,8 +1088,7 @@ module OneM2M_Functions {
 				}
 
 				p_component.done;
-				f_disconnectInfoPort(p_component);
-
+				
 				return v_resourceIndex;
 
 			}
@@ -1040,8 +1100,6 @@ module OneM2M_Functions {
 			function f_getLatestResourceAddress(in Tester p_component, AddressingMethod p_addressingMethod := PX_ADDRESSING_METHOD, PrimitiveScope p_primitiveScope := PX_PRIMITIVE_SCOPE) runs on Tester return XSD.ID {
 				var XSD.ID v_resourceAddress;
 
-				f_connectInfoPort(p_component);
-
 				p_component.start(f_sendLatestResourceAddress(p_addressingMethod, p_primitiveScope));
 				alt {
 					[]infoPort.receive(mw_resourceAddress) -> value v_resourceAddress{
@@ -1049,8 +1107,7 @@ module OneM2M_Functions {
 				}
 
 				p_component.done;
-				f_disconnectInfoPort(p_component);
-
+				
 				return v_resourceAddress;
 
 			}
@@ -1064,8 +1121,6 @@ module OneM2M_Functions {
 				var MyResource v_resource;
 				var integer v_resourceIndex := -1;
 		
-				f_connectInfoPort(p_component);
-
 				p_component.start(f_sendLatestLocalResource());
 				alt {
 					[]infoPort.receive(mw_resource) -> value v_resource {
@@ -1074,8 +1129,7 @@ module OneM2M_Functions {
 				}
 
 				p_component.done;
-				f_disconnectInfoPort(p_component);
-			
+				
 				return v_resourceIndex;
 			
 			}
@@ -1087,8 +1141,6 @@ module OneM2M_Functions {
 			function f_getLatestLocalResourceIndex(in CseSimu p_component) runs on Tester return integer {
 				var integer v_resourceIndex;
 
-				f_connectInfoPort(p_component);
-
 				p_component.start(f_sendLatestLocalResourceIndex());
 				alt {
 					[]infoPort.receive(mw_resourceIndex) -> value v_resourceIndex{
@@ -1096,8 +1148,7 @@ module OneM2M_Functions {
 				}
 
 				p_component.done;
-				f_disconnectInfoPort(p_component);
-
+				
 				return v_resourceIndex;
 
 			}
@@ -1109,8 +1160,6 @@ module OneM2M_Functions {
 			function f_getLatestLocalResourceAddress(in CseSimu p_component, AddressingMethod p_addressingMethod := PX_ADDRESSING_METHOD, PrimitiveScope p_primitiveScope := PX_PRIMITIVE_SCOPE) runs on Tester return XSD.ID {
 				var XSD.ID v_localResourceAddress;
 
-				f_connectInfoPort(p_component);
-
 				p_component.start(f_sendLatestLocalResourceAddress(p_addressingMethod, p_primitiveScope));
 				alt {
 					[]infoPort.receive(mw_resourceAddress) -> value v_localResourceAddress{
@@ -1118,8 +1167,7 @@ module OneM2M_Functions {
 				}
 
 				p_component.done;
-				f_disconnectInfoPort(p_component);
-
+				
 				return v_localResourceAddress;
 
 			}
@@ -1325,6 +1373,59 @@ module OneM2M_Functions {
 				f_checkAeSimuStatus();
 				return vc_aeIndex;
 			}
+            
+			/**
+			 * @desc   Creation of auxiliar resource AE for correct execution of the test case containing POINT_OF_ACCESS attribute and REQUEST_REACHABILITY set to true
+			 * @param  p_accessControlPolicyIDs AccessControlPolicyIDs for the auxiliar AE resource
+			 * @param  p_poaList Point of contact of the auxiliar AE resource
+			 * @return Internal AE resource index
+			 * @verdict 
+			 */
+			function f_cse_preamble_registerAeWithRequestReachability(template (omit) AcpType p_accessControlPolicyIDs := omit, in template (omit) PoaList p_poaList := omit) runs on AeSimu return integer {//c_CRUDNDi
+			
+				var RequestPrimitive v_request;
+				var MsgIn v_response;
+
+				//Activate defaults when running on a PTC
+				f_cse_activateDefaults_ae();		
+			
+				v_request := valueof(m_createAe(vc_aeSimuDesc.appId, p_accessControlPolicyIDs, vc_aeSimuDesc.aeIdStem, c_defaultAe1ResourceName, p_poaList));
+                v_request.primitiveContent.aE.requestReachability := true;
+				
+				v_request := f_getCreateRequestPrimitive(int2, v_request, -1);
+				
+				f_send(e_mcaPort, m_request(v_request));
+				
+				tc_ac.start;
+				alt {
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+						tc_ac.stop;
+						setverdict(pass,__SCOPE__&":INFO: Application registered successfuly");
+						if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE)) {
+							
+							f_checkAttributesToBeSaved(int2, v_request, v_response.primitive.responsePrimitive);
+							
+							vc_aeIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int2);
+							
+							if(ispresent(v_response.primitive.responsePrimitive.primitiveContent.aE.aE_ID)){
+								f_sendAcPrimitive("AE-ID_changed", vc_aeIndex);
+							}
+						}
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+						tc_ac.stop;
+						setverdict(inconc, __SCOPE__&":INFO: Error while registering application");
+						stop;
+					}
+					[] tc_ac.timeout {
+						setverdict(inconc, __SCOPE__&":INFO: No answer while registering resource");
+						stop;
+					}
+				}	
+				
+				f_checkAeSimuStatus();
+				return vc_aeIndex;
+			}            
 			
 			/**
 			 * @desc Creation of auxiliar resources ACP and AE for correct execution of the test case
@@ -1514,6 +1615,10 @@ module OneM2M_Functions {
 					if(vc_auxiliaryAe2Up) {
 						if (vc_ae2.alive) {
 							f_cse_postamble_aeSimu(vc_ae2);
+							f_cse_defaultHandler_aeSimu();
+							f_disconnectInfoPort(vc_ae2);
+							vc_ae2.start(f_cf01DownAe2());
+							vc_ae2.kill;
 						}
 					}
 					
@@ -1522,11 +1627,12 @@ module OneM2M_Functions {
 							vc_cse1.stop;
 						}
 						if(vc_cse1.alive) {
-							f_connectInfoPort(vc_cse1);
 							f_cse_postamble_cse1();
 							f_cse_defaultHandler_aeSimu();
 							f_disconnectInfoPort(vc_cse1);
-				
+							vc_cse1.start(f_cf02DownCse());
+							vc_cse1.kill;
+							
 						}
 					}
 					
@@ -1556,9 +1662,17 @@ module OneM2M_Functions {
 						}	
 						
 					}
-					
+					//If a reset of the IUT is required (for instance, to remove IUT internal variables such as CSEBaseAnnc registry)
+					if(vc_resetRequired) {
+						//Reset IUT required as CSEBaseAnnc is internally stored in IUT for further announcements
+						f_cse_sendUtPrimitive(m_utCommand_reset, __SCOPE__ & ": Please, reset IUT");
+					}
+				}
+				if((vc_config == e_cf02CseSimuMaster) or ((vc_config == e_cf01) and (vc_aeSimuDesc.appId == "NMyApp2Id"))){
+					if(infoPort.checkstate("Connected")) {
+						infoPort.send(SyncPoints:e_done);
+					}
 				}
-			
 			}
 			
 			/**
@@ -1597,6 +1711,18 @@ module OneM2M_Functions {
 				vc_cse1.done;
 			}
 			
+			/**
+			 * @desc Calls to postamble for CseSimu component (i.e. CSE2) on CseSimu 
+			 * @verdict 
+			 */
+			function f_cse_postamble_cse2() runs on CseSimu {
+				if(vc_cse2.running) {
+					vc_cse2.stop;
+				}
+				vc_cse2.start(f_cse_postamble_deleteResourcesCSE());
+				vc_cse2.done;
+			}
+			
 			/**
 			 * @desc Deletion of all resources created during the test case execution. IUT gets clean and ready for next execution
 			 * @verdict 
@@ -1613,14 +1739,35 @@ module OneM2M_Functions {
 					
 				if (PX_RUN_POSTAMBLE) {
 		
-					if(vc_config == e_cf02CseSimuMaster) {
+					if((vc_config == e_cf02CseSimuMaster) and (vc_cseSimuDesc.cseName != "CSE2_NAME")) {
+						if(vc_ae1.running) {
+							vc_ae1.stop;
+						}
 						if(vc_ae1.alive) {
+							if(vc_auxiliaryCse2Up) {
+								if(vc_cse2.running) {
+									vc_cse2.stop;
+								}
+								vc_cse2.start(f_cse_defaultHandler());
+							}
 							f_cse_postamble_ae1();
+							f_cse_defaultHandler();
+							f_disconnectInfoPort(vc_ae1);
+							vc_ae1.start(f_cf02DownAe());
+							vc_ae1.kill;
+							
 						}
 						if(vc_auxiliaryCse2Up) {
-							if(vc_cse2.alive) {
+							if(vc_cse2.running) {
 								vc_cse2.stop;
 							}
+							if(vc_cse2.alive) {
+								f_cse_postamble_cse2();
+								f_cse_defaultHandler();
+								f_disconnectInfoPort(vc_cse2);
+								vc_cse2.start(f_cf02DownCse());
+								vc_cse2.kill;
+							}
 						}
 					};
 		
@@ -1706,15 +1853,19 @@ module OneM2M_Functions {
 								}
 							}
 						}
+					}
+					//If a reset of the IUT is required (for instance, to remove IUT internal variables such as CSEBaseAnnc registry)
+					if(vc_resetRequired) {
+						//Reset IUT required as CSEBaseAnnc is internally stored in IUT for further announcements
+						f_cse_sendUtPrimitive_cseSimu(m_utCommand_reset, __SCOPE__ & ": Please, reset IUT");
 					}					
 				}
 				
-				if(vc_config == e_cf02) {
+				if((vc_config == e_cf02) or ((vc_config == e_cf02CseSimuMaster) and (vc_cseSimuDesc.cseName == "CSE2_NAME"))) {
 					if(infoPort.checkstate("Connected")) {
 						infoPort.send(SyncPoints:e_done);
 					}
 				}
-			
 			}			
 			
 		}//end group postambleFunctions
@@ -2586,7 +2737,7 @@ module OneM2M_Functions {
 				
 					f_checkCseSimuStatus();
 				
-				} //end f_cse_notifyProcedure_notify	
+				} //end f_cse_notifyProcedure_notify
 				
 				/**
 				 * @desc Handling message exchange for the dynamic authorization procedure
@@ -2698,13 +2849,18 @@ module OneM2M_Functions {
 				 * @param p_expectedResourceIndex Expected target parent resource of the announcemnet
 				 * @verdict 
 				 */
-				function f_cse_announcementProcedure_createHandler(template RequestPrimitive p_requestPrimitive := mw_createAnnc, in ResponseStatusCode p_responseStatusCode := int2001, template (omit) integer p_expectedParentResourceIndex := vc_localRemoteCseIndex) runs on CseSimu return integer{
+				function f_cse_announcementProcedure_createHandler(template RequestPrimitive p_requestPrimitive := mw_createAnnc, in ResponseStatusCode p_responseStatusCode := int2001, template (omit) integer p_expectedParentResourceIndex := omit) runs on CseSimu return integer{
 					// Local variables
 					var integer v_announcedResourceIndex;
-				
+					var RequestPrimitive v_request;
+					var ResponsePrimitive v_response;
+					template XSD.AnyURI v_announcedResourceAddress := pattern "{vc_cseSimuDesc.cseId}*";
+					
+					
 					//Activate defaults when running on a PTC
 					f_cse_activateDefaults_cse1();		
 				
+					p_requestPrimitive.to_ := v_announcedResourceAddress;
 					tc_ac.start;
 					alt {
 						[] mccPortIn.receive(mw_request(p_requestPrimitive)) -> value vc_request {
@@ -2714,13 +2870,60 @@ module OneM2M_Functions {
 							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
 							if(getverdict == inconc) {
 								setverdict(fail, __SCOPE__ & ":ERROR: Wrong target resource address");
-									}	
-									}
+							}	
+						}
 						[] mccPortIn.receive(mw_request(mw_createAnnc)) -> value vc_request {
 							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ":ERROR:  Request received with unexpected parameters");
-							v_announcedResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000);
-							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));	
+							if(f_getTargetCseId(vc_request.primitive.requestPrimitive.to_) ==  PX_TS_CSE2.cseId) {
+								setverdict(pass, __SCOPE__ & ":INFO: Announcement received targeting CSE2");
+								mccPortInternal.send(vc_request.primitive.requestPrimitive);
+								alt {
+									[]mccPortInternal.receive(mw_responsePrimitive(?)) -> value v_response {
+									}
+								}
+							
+								f_send(e_mccPortIn, m_response(v_response));
+								if(vc_request.primitive.requestPrimitive.resourceType == int10005){
+									tc_ac.start;
+									repeat;
+								} else {
+									break;
+								};
+							}
+							if((vc_request.primitive.requestPrimitive.resourceType == int10005) and (not(isvalue(p_expectedParentResourceIndex)))) {
+								setverdict(pass, __SCOPE__ & ":INFO:  Request received for CSEBaseAnnc");
+								p_expectedParentResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, -, vc_cSEBaseIndex);
+								f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
+								tc_ac.start;
+								repeat;
+							} else {
+								setverdict(fail, __SCOPE__ & ":ERROR:  Request received with unexpected parameters");
+								v_announcedResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000);
+								f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
+							}	
+						}
+						[vc_cseSimuDesc.cseName == "CSE2_NAME"] mccPortInternal.receive(p_requestPrimitive) -> value v_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Expected Announcement received");
+							v_announcedResourceIndex := f_processCreateRequestPrimitive(v_request, p_responseStatusCode, p_expectedParentResourceIndex);
+							mccPortInternal.send(vc_response.primitive.responsePrimitive);
+							if(getverdict == inconc) {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong target resource address");
+							}	
+						}
+						[vc_cseSimuDesc.cseName == "CSE2_NAME"] mccPortInternal.receive(mw_createAnnc) -> value v_request {
+							tc_ac.stop;
+							if(v_request.resourceType == int10005) {
+								setverdict(pass, __SCOPE__ & ":INFO:  Request received for CSEBaseAnnc");
+								p_expectedParentResourceIndex := f_processCreateRequestPrimitive(v_request, -, vc_cSEBaseIndex);
+								mccPortInternal.send(vc_response.primitive.responsePrimitive);
+								tc_ac.start;
+								repeat;
+							} else {
+								setverdict(fail, __SCOPE__ & ":ERROR:  Request received with unexpected parameters");
+								v_announcedResourceIndex := f_processCreateRequestPrimitive(v_request, int4000);
+								mccPortInternal.send(vc_response.primitive.responsePrimitive);
+							}	
 						}
 						[] tc_ac.timeout {
 							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
@@ -2822,7 +3025,7 @@ module OneM2M_Functions {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ":INFO: Expected UPDATE Announcement received");
 	
-							f_processUpdateRequestPrimitive(vc_request.primitive.requestPrimitive);
+							f_processUpdateRequestPrimitive(vc_request.primitive.requestPrimitive, -, -, vc_request.nullFields);
 							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
 						}
 						[] mccPortIn.receive(mw_request(mw_update)) -> value vc_request {
@@ -3585,6 +3788,16 @@ module OneM2M_Functions {
 						v_myResource.contentInstanceAnnc.creationTime := fx_generateTimestamp();
 						v_myResource.contentInstanceAnnc.lastModifiedTime := v_myResource.contentInstanceAnnc.creationTime;
 					}
+				} else if (p_resourceType == int10005 and ispresent (p_resource)) { //CSEBaseAnnc
+					if(ischosen(p_resource.cSEBaseAnnc)) {
+						v_myResource.cSEBaseAnnc := valueof(p_resource.cSEBaseAnnc);
+						v_myResource.cSEBaseAnnc.resourceName := "cSEBaseAnnc" & int2str(v_resourceIndex);
+						v_myResource.cSEBaseAnnc.resourceType := p_resourceType;
+						v_myResource.cSEBaseAnnc.resourceID := "cbA" & int2str(v_resourceIndex);
+						v_myResource.cSEBaseAnnc.parentID := f_getResourceId(vc_localResourcesList[p_parentIndex].resource);
+						v_myResource.cSEBaseAnnc.creationTime := fx_generateTimestamp();
+						v_myResource.cSEBaseAnnc.lastModifiedTime := v_myResource.cSEBaseAnnc.creationTime;
+					}
 				} else if (p_resourceType == int10016 and ispresent (p_resource)) { //RemoteCSEAnnc
 					if(ischosen(p_resource.remoteCSEAnnc)) {
 						v_myResource.remoteCSEAnnc := valueof(p_resource.remoteCSEAnnc);
@@ -3824,7 +4037,7 @@ module OneM2M_Functions {
 			 * @param  p_localResourceIndex	Resource index of resource to be updated
 			 * @param  p_resource          	Resource update
 			 */
-			function f_updateLocalResource(in integer p_localResourceIndex, in PrimitiveContent p_resource) runs on CseSimu {
+			function f_updateLocalResource(in integer p_localResourceIndex, in PrimitiveContent p_resource, template (omit) AttributeList_1 p_nullFields := omit) runs on CseSimu {
 				var XSD.AnyURI v_remoteCSEAnncAddress;
 				var PrimitiveContent v_primitiveContent;
 				
@@ -4045,6 +4258,51 @@ module OneM2M_Functions {
 					if(ispresent(p_resource.containerAnnc.maxInstanceAge)) {
 						vc_localResourcesList[p_localResourceIndex].resource.containerAnnc.maxInstanceAge := p_resource.containerAnnc.maxInstanceAge;
 					}
+					if(isvalue(p_nullFields)) {
+						if (p_nullFields[0] == "maxByteSize") {
+							vc_localResourcesList[p_localResourceIndex].resource.containerAnnc.maxByteSize := omit;
+						}
+					}
+				} else if(ischosen(vc_localResourcesList[p_localResourceIndex].resource.timeSeriesAnnc) and (ischosen(p_resource.timeSeriesAnnc))) {//timeSeriesAnnc
+					if(ispresent(p_resource.containerAnnc.expirationTime)) {
+						vc_localResourcesList[p_localResourceIndex].resource.timeSeriesAnnc.expirationTime := p_resource.timeSeriesAnnc.expirationTime;
+					}
+					if(ispresent(p_resource.containerAnnc.labels)) {
+						vc_localResourcesList[p_localResourceIndex].resource.timeSeriesAnnc.labels := p_resource.timeSeriesAnnc.labels;
+					}
+					if(ispresent(p_resource.containerAnnc.dynamicAuthorizationConsultationIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.timeSeriesAnnc.dynamicAuthorizationConsultationIDs := p_resource.timeSeriesAnnc.dynamicAuthorizationConsultationIDs;
+					}
+					if(ispresent(p_resource.containerAnnc.maxNrOfInstances)) {
+						vc_localResourcesList[p_localResourceIndex].resource.timeSeriesAnnc.maxNrOfInstances := p_resource.timeSeriesAnnc.maxNrOfInstances;
+					}
+					if(ispresent(p_resource.containerAnnc.maxByteSize)) {
+						vc_localResourcesList[p_localResourceIndex].resource.timeSeriesAnnc.maxByteSize := p_resource.timeSeriesAnnc.maxByteSize;
+					}
+					if(ispresent(p_resource.containerAnnc.maxInstanceAge)) {
+						vc_localResourcesList[p_localResourceIndex].resource.timeSeriesAnnc.maxInstanceAge := p_resource.timeSeriesAnnc.maxInstanceAge;
+					}
+					if(isvalue(p_nullFields)) {
+						if (p_nullFields[0] == "maxByteSize") {
+							vc_localResourcesList[p_localResourceIndex].resource.timeSeriesAnnc.maxByteSize := omit;
+						}
+					}
+
+				} else if(ischosen(vc_localResourcesList[p_localResourceIndex].resource.groupAnnc) and (ischosen(p_resource.groupAnnc))) {//groupAnnc
+					if(ispresent(p_resource.containerAnnc.expirationTime)) {
+						vc_localResourcesList[p_localResourceIndex].resource.groupAnnc.expirationTime := p_resource.groupAnnc.expirationTime;
+					}
+					if(ispresent(p_resource.containerAnnc.labels)) {
+						vc_localResourcesList[p_localResourceIndex].resource.groupAnnc.labels := p_resource.groupAnnc.labels;
+					}
+					if(ispresent(p_resource.containerAnnc.dynamicAuthorizationConsultationIDs)) {
+						vc_localResourcesList[p_localResourceIndex].resource.groupAnnc.dynamicAuthorizationConsultationIDs := p_resource.groupAnnc.dynamicAuthorizationConsultationIDs;
+					}
+					if(isvalue(p_nullFields)) {
+						if (p_nullFields[0] == "maxNrOfMembers") {
+							vc_localResourcesList[p_localResourceIndex].resource.groupAnnc.maxNrOfMembers := omit;
+						}
+					}
 
 				}
 			  } //End of function	
@@ -4080,8 +4338,10 @@ module OneM2M_Functions {
 				} else if (p_resourceType == int10029) {
 					v_originalResourceIndex := f_generateAndSetLocalResource(m_primitiveContentTimeSeries(m_contentCreateTimeSeries), -, int29);
 				}
-				p_requestPrimitive.primitiveContent := f_setLink(valueof(p_requestPrimitive.primitiveContent), f_getLocalResourceAddress(v_originalResourceIndex, -, e_spRelative));
-				p_requestPrimitive.primitiveContent := f_setExpirationTime(valueof(p_requestPrimitive.primitiveContent), vc_localResourcesList[v_originalResourceIndex].resource);
+				if(v_originalResourceIndex != -1) {
+					p_requestPrimitive.primitiveContent := f_setLink(valueof(p_requestPrimitive.primitiveContent), f_getLocalResourceAddress(v_originalResourceIndex, -, e_spRelative));
+					p_requestPrimitive.primitiveContent := f_setExpirationTime(valueof(p_requestPrimitive.primitiveContent), vc_localResourcesList[v_originalResourceIndex].resource);
+				} 
 				//TODO Add other resource types		
 				
 					
@@ -4224,7 +4484,21 @@ module OneM2M_Functions {
 				var integer v_parentResourceIndex := -1;
 				var MsgIn v_request;
 				var ResponsePrimitive v_response;
+				var RequestPrimitive v_requestPrimitive;
+				var template XSD.AnyURI v_retargetingToCse2 := pattern "{PX_TS_CSE2.cseId}*";
 				
+				//Retargeting
+				[vc_auxiliaryCse2Up] mccPortIn.receive(mw_request(mw_requestPrimitive(-, v_retargetingToCse2))) -> value v_request {
+					log(__SCOPE__&": WARNING: Unexpected REQUEST message received targeting CSE2");
+					mccPortInternal.send(v_request.primitive.requestPrimitive);
+					alt {
+						[]mccPortInternal.receive(mw_responsePrimitive(?)) -> value v_response {
+						}
+					}
+							
+					f_send(e_mccPortIn, m_response(v_response));
+					repeat;
+				}
 				[] mccPortIn.receive(mw_request(mw_create())) -> value v_request {
 					log(__SCOPE__&": WARNING: Unexpected CREATE message received");
 					
@@ -4275,6 +4549,42 @@ module OneM2M_Functions {
 					log(__SCOPE__&": WARNING: Unexpected message received");
 					repeat;
 				}
+				[] mccPortInternal.receive(mw_retrieve(?)) -> value v_requestPrimitive {
+					log(__SCOPE__&": WARNING: Unexpected RETRIEVE message received");
+					
+					f_processRetrieveRequestPrimitive(v_requestPrimitive);
+					mccPortInternal.send(vc_response.primitive.responsePrimitive);
+					repeat;
+				}
+				[] mccPortInternal.receive(mw_delete()) -> value v_requestPrimitive {
+					log(__SCOPE__&": WARNING: Unexpected DELETE message received");
+
+					f_processDeleteRequestPrimitive(v_requestPrimitive);
+					mccPortInternal.send(vc_response.primitive.responsePrimitive);
+					repeat;
+				}
+				[vc_auxiliaryCse2Up] infoPort.receive(SyncPoints:e_error) from vc_cse2 {
+					log(__SCOPE__&": ERROR: Component CSE2 failed");
+					f_cse_postamble_deleteResourcesCSE();
+					// Tear down
+					if(vc_config == e_cf02CseSimuMaster) {
+						f_cf02DownCseSimuMaster();
+						kill;
+					} else if (vc_config == e_cf03) {
+						f_cf03Down();
+						kill;
+					} else if (vc_config == e_cf04) {
+						f_cf04Down();
+						kill;
+					} 
+				}
+				[vc_config == e_cf02CseSimuMaster] infoPort.receive(SyncPoints:e_error) from vc_ae1 {
+					log(__SCOPE__&": ERROR: Component AE1 failed");
+					f_cse_postamble_deleteResourcesCSE();
+					// Tear down
+					f_cf02DownCseSimuMaster();
+					kill;
+				}
 			 }
 			 
 			/**
@@ -4310,6 +4620,20 @@ module OneM2M_Functions {
 					log(__SCOPE__&": WARNING: Unexpected message received");
 					repeat;
 				}
+				[vc_config == e_cf02] infoPort.receive(SyncPoints:e_error) from vc_cse1 {
+					log(__SCOPE__&": ERROR: Component CSE1 failed");
+					f_cse_postamble_deleteResources();
+					// Tear down
+					f_cf02Down();
+					kill;
+				}
+				[vc_auxiliaryAe2Up] infoPort.receive(SyncPoints:e_error) from vc_ae2 {
+					log(__SCOPE__&": ERROR: Component AE2 failed");
+					f_cse_postamble_deleteResources();
+					// Tear down
+					f_cf01Down();
+					kill;
+				}
 			 }
 			
 			/**
@@ -4360,24 +4684,27 @@ module OneM2M_Functions {
 			 * @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 {
+			function f_cse_sendUtPrimitive(template UtTriggerPrimitive p_utRequest, in universal charstring p_action, in boolean fromPostamble := true) runs on AeSimu {
 				
 				if (PX_UT_IMPLEMENTED){
 					
-					p_utRequest.requestPrimitive.requestIdentifier := "m_uttriggerPrimitive" & f_rnd(1, 1000000);
-	
+					if(not(ispresent(p_utRequest.utCommand))) {
+						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());
+					if(not(fromPostamble)) {
+						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 {
@@ -4391,22 +4718,25 @@ module OneM2M_Functions {
 			 * @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 {
+			function f_cse_sendUtPrimitive_cseSimu(template UtTriggerPrimitive p_utRequest, in universal charstring p_action, in boolean fromPostamble := true) runs on CseSimu {
 				
 				if (PX_UT_IMPLEMENTED){
 					
-					p_utRequest.requestPrimitive.requestIdentifier := "m_uttriggerPrimitive" & f_rnd(1, 1000000);
-	
+					if(not(ispresent(p_utRequest.utCommand))) {
+						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());
+					if(not(fromPostamble)) {				
+						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 {
@@ -5040,7 +5370,7 @@ module OneM2M_Functions {
 
 			p_request.requestIdentifier := valueof(p_request.requestIdentifier) & f_rnd(1, 1000000);
 			
-			if((p_resourceType != int2) and (p_resourceType != int16)) {
+			if((p_resourceType != int2) and (p_resourceType != int16) and (p_resourceType != int10005)) {
 					p_request.from_ := f_getOriginator(p_parentIndex, vc_testSystemRole);
 				}
 			//Only set To parameter if it has not been set yet 
@@ -5315,6 +5645,9 @@ module OneM2M_Functions {
 			if(ischosen(p_contentResource.contentInstanceAnnc)) {
 				return f_resourceIdCleaner(p_contentResource.contentInstanceAnnc.resourceID);
 			}
+			if(ischosen(p_contentResource.cSEBaseAnnc)) {
+				return f_resourceIdCleaner(p_contentResource.cSEBaseAnnc.resourceID);
+			}
 			if(ischosen(p_contentResource.groupAnnc)) {
 				return f_resourceIdCleaner(p_contentResource.groupAnnc.resourceID);
 			}
@@ -5430,6 +5763,9 @@ module OneM2M_Functions {
 			if(ischosen(p_contentResource.contentInstanceAnnc)) {
 				return p_contentResource.contentInstanceAnnc.resourceName;
 			}
+			if(ischosen(p_contentResource.cSEBaseAnnc)) {
+				return p_contentResource.cSEBaseAnnc.resourceName;
+			}
 			if(ischosen(p_contentResource.groupAnnc)) {
 				return p_contentResource.groupAnnc.resourceName;
 			}
@@ -5475,6 +5811,8 @@ module OneM2M_Functions {
  					}	
 				} else if (ischosen(vc_resourcesList[p_targetResourceIndex].resource.remoteCSE)) {
 					return vc_resourcesList[p_targetResourceIndex].resource.remoteCSE.cSE_ID; 
+				} else if (ischosen(vc_resourcesList[p_targetResourceIndex].resource.cSEBaseAnnc)) {
+					return PX_TS_CSE1.cseId; 
 				} else {
 					return f_getOriginator(vc_resourcesList[p_targetResourceIndex].parentIndex, p_testSystemRole);
 				}
@@ -5858,6 +6196,9 @@ module OneM2M_Functions {
 			else if(p_resourceType == int4) {
 				return int10004;
 			}
+			else if(p_resourceType == int5) {
+				return int10005;
+			}
 			else if(p_resourceType == int9) {
 				return int10009;
 			}
@@ -5944,6 +6285,31 @@ module OneM2M_Functions {
 			return v_ipv4Address;
 			
 		} // end f_getIpv4Address
+		
+		/**
+		  * @desc	Get the CSE-ID of the target CSE 
+		  * @return	CSE-ID
+		  */
+		function f_getTargetCseId(in XSD.ID p_resourceID) runs on Tester return XSD.ID {
+			var integer v_length := lengthof(p_resourceID);
+			var integer i;
+			var XSD.ID result := "";
+			
+			if(f_isScopeSpRelative(p_resourceID)) {
+				//log("p_resourceID: " & p_resourceID);
+				for (i := 0; i < v_length; i := i + 1 ){
+					if ((p_resourceID[i]=="/") and (i != 0)){
+						//log("result: " & result);
+						return result;
+					}
+					else{
+						result := result & p_resourceID[i];
+					}	
+				}
+			} //TODO Extend to absolute scope
+			//log("result: " & result);
+			return result;
+		}
 
 		/**
 		 * @desc Saving of a resource and its parent index in the internal resource list
@@ -6192,6 +6558,9 @@ module OneM2M_Functions {
 			else if (ischosen(p_resource.contentInstanceAnnc)){
 				p_resource.contentInstanceAnnc.link := p_link;
 			}
+			else if (ischosen(p_resource.cSEBaseAnnc)){
+				p_resource.cSEBaseAnnc.link := p_link;
+			}
 			else if (ischosen(p_resource.groupAnnc)){
 				p_resource.groupAnnc.link := p_link;
 			}
@@ -6351,15 +6720,21 @@ module OneM2M_Functions {
 			function f_checkAeSimuStatus() runs on AeSimu {
 				
 				if (getverdict != pass) {
-					 f_cse_postamble_deleteResources();
+					 if ((vc_config == e_cf02CseSimuMaster) or (vc_aeSimuDesc.appId == "NMyApp2Id")) {
+						infoPort.send(SyncPoints:e_error);
+					 } else {
+					 	f_cse_postamble_deleteResources();
+						f_cf02DownAe();
+					 	kill;
+					 }
 					 
-					 // Tear down
+				/*	 // Tear down
 					 if(vc_config == e_cf01) {
 					 	f_cf01Down();
 					 } else if (vc_config ==e_cf02) {
 					 	f_cf02Down();
 					 }
-					 kill;
+					 kill;*/
 				} else {
 					log(__SCOPE__, ":INFO: AeSimu status OK");
 				}
@@ -6375,11 +6750,14 @@ module OneM2M_Functions {
 			function f_checkCseSimuStatus() runs on CseSimu {
 		
 				if (getverdict != pass) {
-					 //f_ae_postamble_deleteResources();
-					 // Tear down
-					 //f_cfAeTesterDown();
-					f_cse_postamble_deleteResourcesCSE();
-					//Tear down
+					if((vc_config == e_cf02) or (vc_cseSimuDesc.cseName == "CSE2_NAME")) {
+						infoPort.send(SyncPoints:e_error);
+					} else {
+						f_cse_postamble_deleteResourcesCSE();
+						f_cf02DownCse();
+						kill;
+					}/*
+					// Tear down
 					if(vc_config == e_cf03) {
 					  f_cf03Down();
 					} else if (vc_config ==e_cf04) {
@@ -6387,7 +6765,7 @@ module OneM2M_Functions {
 					} else if (vc_config == e_cf02CseSimuMaster) {
 						f_cf02DownCseSimuMaster();
 					}
-					kill;
+					kill;*/
 				} else {
 					log(__SCOPE__, ":INFO: CseSimu status OK");
 				}
@@ -6419,7 +6797,7 @@ module OneM2M_Functions {
 					setverdict(inconc);            // Component was not completed successfully 
 				}
 				
-				f_checkAeSimuStatus();
+				//f_checkAeSimuStatus();
 			} 
 					
 			/**
@@ -6448,7 +6826,7 @@ module OneM2M_Functions {
 					setverdict(inconc);            // Component was not completed successfully 
 				}
 				
-				f_checkCseSimuStatus();
+				//f_checkCseSimuStatus();
 			} 
 
 		}//end of group ComponentStatus
@@ -6949,7 +7327,7 @@ module OneM2M_Functions {
 		 * @desc   Proccessing of the UPDATE request primitive
 		 * @param  p_request          Request primitive to be processed
 		 */
-		function f_processUpdateRequestPrimitive(in RequestPrimitive p_request, in ResponseStatusCode p_responseStatusCode := int2004, template(omit) integer p_expectedTargetResourceIndex := omit) runs on CseSimu return integer {			
+		function f_processUpdateRequestPrimitive(in RequestPrimitive p_request, in ResponseStatusCode p_responseStatusCode := int2004, template(omit) integer p_expectedTargetResourceIndex := omit, template (omit) AttributeList_1 p_nullFields := omit) runs on CseSimu return integer {			
 			var integer v_targetLocalResourceIndex := -1;
 				
 			v_targetLocalResourceIndex := f_getLocalResourceIndex(p_request.to_);
@@ -6969,7 +7347,7 @@ module OneM2M_Functions {
 				}
 				if(p_responseStatusCode == int2004) {
 					setverdict(pass, __SCOPE__&":INFO: Resource updated successfuly");
-					f_updateLocalResource(v_targetLocalResourceIndex, p_request.primitiveContent);
+					f_updateLocalResource(v_targetLocalResourceIndex, p_request.primitiveContent, p_nullFields);
 					vc_response.primitive.responsePrimitive.primitiveContent := vc_localResourcesList[v_targetLocalResourceIndex].resource;
 				} else {
 					setverdict(pass, __SCOPE__&":INFO: Resource update rejected");
diff --git a/LibOneM2M/OneM2M_Ports.ttcn b/LibOneM2M/OneM2M_Ports.ttcn
index 61fe7b76cc9adc5de39769bb0797f042b4418207..e6318658566c48393787314c9b0fc0a05c1d3969 100644
--- a/LibOneM2M/OneM2M_Ports.ttcn
+++ b/LibOneM2M/OneM2M_Ports.ttcn
@@ -36,6 +36,18 @@ module OneM2M_Ports {
 		map param (in PortDesc p_portDesc);
 	};
 	
+	/**
+	 * @desc Port to transport oneM2M primitives internally (between CseSimu components)
+	 * @desc Output RequestPrimitives, ResponsePrimitives   
+	 * @desc Input RequestPrimitives, ResponsePrimitives
+	 * @desc this port is allowed to extend for futher usage  
+	 * @desc e.g. extend OneM2MPort to dual-faced port
+	 */
+	type port OneM2MPortInternal message {
+		inout 
+			RequestPrimitive, ResponsePrimitive;
+	};
+	
 	/**
 	 * @desc Port to transport different underlying 3GPP T8 network primitives
 	 * @desc Output MsgOut   
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index c8f81f25f57de13f5136613557f3e0d6eff02775..a286f81817b4197cb83646548b0e37ef983792af 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -881,7 +881,7 @@ module OneM2M_Templates {
 			 * @desc Base Reception template for create operation for announced resources
 			 */
 			template RequestPrimitive mw_createAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?) modifies mw_create := {
-				resourceType := (int10001,int10002,int10003,int10004,int10009,int10010,int10013,int10014,int10016,int10018,int10024,int10028,int10029,int10030,int10034,int10038,int10039,int10040,int10041,int10042)
+				resourceType := (int10001,int10002,int10003,int10004,int10005, int10009,int10010,int10013,int10014,int10016,int10018,int10024,int10028,int10029,int10030,int10034,int10038,int10039,int10040,int10041,int10042)
 			}
 			
 			/**
@@ -916,14 +916,15 @@ module OneM2M_Templates {
 			/**
 			 * @desc Reception template for CREATE AEAnnc for registration when AE-ID-Stem starts with S
 			 */
-			template RequestPrimitive mw_createAEAnnc_s_ae_id(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) modifies mw_create := {				
+			template RequestPrimitive mw_createAEAnnc_s_ae_id(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) modifies mw_createAnnc := {				
 				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
 			};
 
 			/**
 			 * @desc Reception template for CREATE AEAnnc as announced resource
 			 */
-			template RequestPrimitive mw_createAEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) modifies mw_create := {				
+			template RequestPrimitive mw_createAEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := *, template XSD.AnyURI p_link := ?) modifies mw_create := {				
+				resourceType := int10002,
 				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc(-, p_accessControlPolicyIds)}
 			};
 			
@@ -969,7 +970,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc Reception template for CREATE AcpAnnc
 			 */
-			template RequestPrimitive mw_createAccessControlPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createAccessControlPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				to_ := p_to,
 				from_ := p_from,
 				resourceType := int10001,
@@ -979,7 +980,7 @@ module OneM2M_Templates {
 			/**
 			  * @desc Reception template for CREATE AcpAnnc
 			  */
-			template RequestPrimitive mw_createRemoteCSEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?) modifies mw_create := {
+			template RequestPrimitive mw_createRemoteCSEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?) modifies mw_createAnnc := {
 				resourceType := int10016,
 				primitiveContent := {remoteCSEAnnc := mw_contentCreateRemoteCSEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
 			};
@@ -992,6 +993,23 @@ module OneM2M_Templates {
 				resourceType := int5,
 				primitiveContent := {cSEBase := m_contentCreateCSEBase}
 			};
+			
+			/**
+			  * @desc Base CREATE request primitive for CSEBaseAnnc resource
+			  */
+			template RequestPrimitive m_createCSEBaseAnncBase(template (value) XSD.ID p_from := PX_TS_CSE1.cseId, template (omit) AcpType p_accessControlPolicyIds := omit, XSD.AnyURI p_link := "NotInitialized") modifies m_create := {
+				from_ := p_from,
+				resourceType := int10005,
+				primitiveContent := {cSEBaseAnnc := m_contentCreateCSEBaseAnnc(-, p_accessControlPolicyIds, p_link)}
+			}
+        	
+        	/**
+			  * @desc Reception template for CREATE CSEBaseAnnc
+			  */
+			template RequestPrimitive mw_createCSEBaseAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?) modifies mw_createAnnc := {
+				resourceType := int10005,
+				primitiveContent := {cSEBaseAnnc := mw_contentCreateCSEBaseAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
+			};
         	
        	
 			/**
@@ -1090,7 +1108,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc Base Reception template for CREATE ContainerAnnc
 			 */
-			template RequestPrimitive mw_createContainerAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createContainerAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				resourceType := int10003,
 				primitiveContent := {containerAnnc := mw_contentCreateContainerAnncBase}
 			};
@@ -1156,7 +1174,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc Reception template for CREATE ContentInstanceAnnc
 			 */
-			template RequestPrimitive mw_createContentInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createContentInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				resourceType := int10004,
 				primitiveContent := {contentInstanceAnnc := mw_contentCreateContentInstanceAnncBase}
 			};  
@@ -1220,7 +1238,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc Reception template for CREATE GroupAnnc
 			 */
-			template RequestPrimitive mw_createGroupAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createGroupAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				resourceType := int10009,
 				primitiveContent := {groupAnnc := mw_contentCreateGroupAnncBase}
 			};  
@@ -1255,7 +1273,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc Reception template for CREATE MgmtObjAnnc
 			 */
-			template RequestPrimitive mw_createMgmtObjAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createMgmtObjAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				resourceType := int10013,
 				primitiveContent := {announcedMgmtResource := mw_contentCreateMgmtObjAnncBase}
 			};  
@@ -1281,7 +1299,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc Reception template for CREATE NodeAnnc
 			 */
-			template RequestPrimitive mw_createNodeAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createNodeAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				resourceType := int10014,
 				primitiveContent := {nodeAnnc := mw_contentCreateNodeAnncBase}
 			};  
@@ -1337,7 +1355,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc Reception template for CREATE ScheduleAnnc
 			 */
-			template RequestPrimitive mw_createScheduleAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createScheduleAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				resourceType := int10018,
 				primitiveContent := {scheduleAnnc := mw_contentCreateScheduleAnncBase}
 			};  
@@ -1484,7 +1502,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc Reception template for CREATE LocationPolicyAnnc
 			 */
-			template RequestPrimitive mw_createLocationPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createLocationPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				resourceType := int10010,
 				primitiveContent := {locationPolicyAnnc := mw_contentCreateLocationPolicyAnncBase}
 			}; 
@@ -1633,7 +1651,7 @@ module OneM2M_Templates {
 						/**
 			 * @desc Base Reception template for CREATE TimeSeriesInstanceAnnc
 			 */
-			template RequestPrimitive mw_createTimeSeriesInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
+			template RequestPrimitive mw_createTimeSeriesInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_createAnnc := {
 				resourceType := int10030,
 				primitiveContent := {timeSeriesInstanceAnnc := mw_contentCreateTimeSeriesInstanceAnncBase}
 			};  
@@ -2704,6 +2722,60 @@ module OneM2M_Templates {
 			choice := omit
 		};
 		
+		/**
+		 * @desc Base primitiveContent for CREATE operation for CSEBaseAnnc resource
+		 * @param p_name Resource name
+		 */
+		template (value) CSEBaseAnnc_optional m_contentCreateCSEBaseAnnc (template (omit)  Labels p_labels := (omit), template (omit)AcpType p_accessControlPolicyIds := omit, template (value) XSD.AnyURI p_link) := {
+			resourceName := omit,//NA M
+			resourceType := omit,//NA M
+			resourceID := omit,//NA M
+			parentID := omit,//NA M
+			creationTime := omit,//NA M
+			lastModifiedTime := omit,//NA M
+			labels := p_labels,//MA O
+			accessControlPolicyIDs := p_accessControlPolicyIds,//MA O
+			expirationTime := "29991231T235959",//MA M
+			link := p_link,//M
+			cseType := omit,//OA O
+			cSE_ID := omit,//OA M
+			supportedResourceType := omit,//OA M
+			pointOfAccess := omit,//OA O
+			nodeLink := omit,//OA O
+			dynamicAuthorizationConsultationIDs := omit,//OA O
+			contentSerialization := omit,//OA O
+			e2eSecInfo := omit,//OA O
+			supportedReleaseVersions := {"1", "2", "2a", "3"}, //MA M Mandatory for RemoteCSE from Release 2
+			choice := omit//NA
+		};
+		
+		/**
+		 * @desc Base primitiveContent for CREATE operation for CSEBaseAnnc resource
+		 * @param p_name Resource name
+		 */
+		template CSEBaseAnnc_optional mw_contentCreateCSEBaseAnnc (in template  Labels p_labels := *, in template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) := {
+			resourceName := omit,//NA M
+			resourceType := omit,//NA M
+			resourceID := omit,//NA M
+			parentID := omit,//NA M
+			creationTime := omit,//NA M
+			lastModifiedTime := omit,//NA M
+			labels := p_labels,//MA O
+			accessControlPolicyIDs := p_accessControlPolicyIds,//MA O
+			expirationTime := ?,//MA M
+			link := p_link,//M
+			cseType := *,//OA O
+			cSE_ID := *,//OA M
+			supportedResourceType := ?,//OA M
+			pointOfAccess := *,//OA O
+			nodeLink := *,//OA O
+			dynamicAuthorizationConsultationIDs := *,//OA O
+			contentSerialization := *,//OA O
+			e2eSecInfo := ?,//OA O
+			supportedReleaseVersions := ?, //MA M Mandatory for RemoteCSE from Release 2
+			choice := omit//NA
+		};
+		
 		/**
 		 * @desc Base primitiveContent for CREATE operation for PollingChannel resource
 		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
@@ -2897,7 +2969,7 @@ module OneM2M_Templates {
 			  creationTime := omit,//NA M
 			  lastModifiedTime := omit,//NA M
 			  labels := *,//MA O
-			  accessControlPolicyIDs := ?,//MA O
+			  accessControlPolicyIDs := *,//MA O //TODO Fix if acpi is mandatory for announced resources (SDS discussion)
 			  expirationTime := ?,//MA M
 			  link := ?,//M
 			  dynamicAuthorizationConsultationIDs := *, //OA O
@@ -3971,7 +4043,7 @@ module OneM2M_Templates {
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
 			labels := *,//MA O
-			accessControlPolicyIDs := ?,//MA O
+			accessControlPolicyIDs := *,//MA O
 			expirationTime := ?,//MA M
 			link := ?, //M
 			dynamicAuthorizationConsultationIDs := *,//OA O
@@ -4330,7 +4402,7 @@ module OneM2M_Templates {
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
 			labels := *,//MA
-			accessControlPolicyIDs := ?,//MA
+			accessControlPolicyIDs := *,//MA
 			expirationTime := ?,//MA M
 			link := ?, //M NA
 			dynamicAuthorizationConsultationIDs := *, //OA			
@@ -6193,6 +6265,24 @@ module OneM2M_Templates {
 		template AccessControlPolicy_optional mw_contentAcp_rc8 modifies mw_contentAcp_allOmit := {
 			choice := {choice_list := ?}	//O
 		}
+		
+	   template AccessControlPolicyAnnc_optional mw_contentAcpAnncBase := {
+			resourceName := ?,//M
+			resourceType := ?,//M
+			resourceID := ?,//M
+			parentID := ?,//M
+			creationTime := ?,//M
+			lastModifiedTime := ?,//M
+			labels := *,//O
+			expirationTime := ?,//M
+			link := ?,//M
+			privileges := ?,//M
+			selfPrivileges := ?,//M
+			authorizationDecisionResourceIDs := *,//O
+			authorizationPolicyResourceIDs := *,//O
+			authorizationInformationResourceIDs := *,//O
+			choice := *//O
+		};
     	
 		template Group_optional mw_contentGroupBase := {
 			resourceName := ?,//M
@@ -6309,6 +6399,32 @@ module OneM2M_Templates {
 			choice := {choice_list := ?}	//O
 		}
 		
+		template GroupAnnc_optional mw_contentGroupAnncBase := {
+			resourceName := ?,//M
+			resourceType := ?,//M
+			resourceID := ?,//M
+			parentID := ?,//M
+			creationTime := ?,//M
+			lastModifiedTime := ?,//M
+			labels := *,//O
+			accessControlPolicyIDs := *,//O
+			expirationTime := ?,//M
+			link := ?,//M
+			dynamicAuthorizationConsultationIDs := *, //O
+			memberType := *,//O
+			specializationType := *,//O
+			currentNrOfMembers := *,//O
+			maxNrOfMembers := *,//O
+			memberIDs := *,//O
+			membersAccessControlPolicyIDs := *,//O
+			memberTypeValidated := *,//O
+			consistencyStrategy := *,//O
+			groupName := *,//O
+			semanticSupportIndicator := *,//O
+			notifyAggregation := *,//O
+			choice := *//O
+		};
+		
 		template (value) MgmtCmd_optional m_contentMgmtCmd_allOmit := {
 			resourceName := omit,//M
 			resourceType := omit,//M
@@ -6838,6 +6954,25 @@ module OneM2M_Templates {
 			choice := omit
 		};
 		
+		template ContentInstanceAnnc_optional mw_contentContentInstanceAnncBase := {
+			resourceName := ?,//M
+			resourceType := ?,//M
+			resourceID := ?,//M
+			parentID := ?,//M
+			creationTime := ?,//M
+			lastModifiedTime := ?,//M
+			labels := *,//O
+			expirationTime := ?,//M
+			link := ?,//M
+			stateTag := *,//O
+			contentInfo := *,//O
+			contentSize := *,//O
+			ontologyRef := *,//O
+			content := *,//O
+			choice := * //O
+			
+		};
+		
 		template Container_optional mw_contentContainerBase := {
 			resourceName := ?,//M
 			resourceType := ?,//M
@@ -6969,6 +7104,30 @@ module OneM2M_Templates {
 			choice := {choice_list := ?}	//O
 		}
 		
+		template ContainerAnnc_optional mw_contentContainerAnncBase := {
+			resourceName := ?,//M
+			resourceType := ?,//M
+			resourceID := ?,//M
+			parentID := ?,//M
+			creationTime := ?,//M
+			lastModifiedTime := ?,//M
+			labels := *,//O
+			accessControlPolicyIDs := *,//O
+			expirationTime := ?,//M
+			link := ?,//M
+			dynamicAuthorizationConsultationIDs := *, //O
+			stateTag := *,//O
+			maxNrOfInstances := *,//O
+			maxByteSize := *,//O
+			maxInstanceAge := *,//O
+			currentNrOfInstances := *,//O
+			currentByteSize := *,//O
+			locationID := *,//O
+			ontologyRef := *,//O
+			disableRetrieval := *, //O
+			choice := *//O
+		};
+		
 		template (value) Notification m_contentNotification_allOmit := {
 			notificationEvent:= omit,
 			verificationRequest := omit,
@@ -7190,6 +7349,33 @@ module OneM2M_Templates {
 			choice := {choice_list := ?}	//O
 		}
 
+		template TimeSeriesAnnc_optional mw_contentTimeSeriesAnncBase := {
+			resourceName := ?,//M
+			resourceType := ?,//M
+			resourceID := ?,//M
+			parentID := ?,//M
+			creationTime := ?,//M
+			lastModifiedTime := ?,//M
+			labels := *,//O
+			accessControlPolicyIDs := *,//O
+			expirationTime := ?,//M
+			link := ?,//M
+			dynamicAuthorizationConsultationIDs := *,//O
+			maxNrOfInstances := *,//O
+			maxByteSize := *,//O
+			maxInstanceAge := *,//O
+			currentNrOfInstances := *,//O
+			currentByteSize := *,//O
+			periodicInterval := *,//O
+			missingDataMaxNr := *,//O
+			missingDataList := *,//O
+			missingDataCurrentNr := *,//O
+			missingDataDetectTimer := *,//O
+			ontologyRef := *,//O
+			contentInfo := *,//O
+			choice := *//O
+		};
+		
 		template TimeSeriesInstance_optional mw_contentTimeSeriesInstanceBase := {
 			resourceName := ?,//M
 			resourceType := ?,//M
@@ -7207,6 +7393,23 @@ module OneM2M_Templates {
 			contentSize  := ?,//M
 			choice := *//O
 		};
+		
+		template TimeSeriesInstanceAnnc_optional mw_contentTimeSeriesInstanceAnncBase := {
+			resourceName := ?,//M
+			resourceType := ?,//M
+			resourceID := ?,//M
+			parentID := ?,//M
+			creationTime := ?,//M
+			lastModifiedTime := ?,//M
+			labels := *,//O
+			expirationTime := ?,//M
+			link := ?,//M
+			dataGenerationTime := *,//O
+			content := *,//O
+			sequenceNr := *,//O
+			contentSize  := *,//O
+			choice := *//O
+		};
 
 		template (value) Role_optional mw_contentRole_allOmit := {
 			resourceName := omit,//O
@@ -7867,6 +8070,42 @@ module OneM2M_Templates {
 			
     	};
     	
+		/**
+		 * @desc Base Reception template for request primitive
+		 */
+		template RequestPrimitive mw_requestPrimitive(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
+			operation := ?,
+			to_ := p_to,
+			from_ := p_from,
+			requestIdentifier := ?,
+			resourceType := *,
+			primitiveContent := *,
+			roleIDs := *,
+			originatingTimestamp := *,
+			requestExpirationTimestamp := *,
+			resultExpirationTimestamp := *,
+			operationExecutionTime := *,
+			responseType := *,
+			resultPersistence := *,
+			resultContent := *,
+			eventCategory := *,
+			deliveryAggregation := *,
+			groupRequestIdentifier := *,
+			filterCriteria := *,
+			desiredIdentifierResultType := *,
+			tokens := *,
+			tokenIDs := *,
+			localTokenIDs := *,
+			tokenRequestIndicator := *,
+			groupRequestTargetMembers := *,
+			authorSignIndicator := *,
+			authorSigns := *,
+			authorRelIndicator := *,
+			semanticQueryIndicator := *,
+			releaseVersionIndicator := ?,
+			vendorInformation := *
+		}
+    	
 		template ResponsePrimitive mw_responsePrimitiveInverse(ResponseStatusCode p_statusCode) := {
 			responseStatusCode := complement(p_statusCode),
 			requestIdentifier := ?,
@@ -8042,6 +8281,36 @@ module OneM2M_Templates {
 			resultGenType := ?,
 			periodForResultGen := *
 		}
+
+		
+			/**
+		 * @desc Base primitiveContent for RETRIEVE operation for SemanticDescriptor resource
+		 */
+		template SemanticDescriptor_optional mw_retrieveSemanticDescriptor :=
+		{
+			resourceName := ?,
+			resourceType := int42,
+			resourceID := ?,
+			parentID := ?,
+			creationTime := ?,
+			lastModifiedTime := ?,
+			labels := *,
+			accessControlPolicyIDs := *,
+			expirationTime := ?,
+			dynamicAuthorizationConsultationIDs := *,
+			announceTo := *,
+			announcedAttribute := *,
+			creator := *,
+			descriptorRepresentation := ?,               
+			semanticOpExec := *,                         
+			descriptor := ?,       
+			ontologyRef := *,                            
+			relatedSemantics := *,                       
+			semanticValidated := *,                      
+			validationEnable := *,
+			choice := *                   
+		}
+
 			
 		/**
 		 * @desc Base primitiveContent for RETRIEVE operation for SemanticMashupJobProfile resource
@@ -8098,6 +8367,7 @@ module OneM2M_Templates {
 	
 	group UpperTester {
 		template (value) UtTriggerPrimitive m_utCreate := {
+			utCommand := omit,
 			requestPrimitive := {
 				operation := int1,
 				to_ := "NotInitialized",
@@ -8182,6 +8452,7 @@ module OneM2M_Templates {
 		}
  		
 		template (value) UtTriggerPrimitive m_utRetrieve(XSD.ID p_targetResourceAddress) := {
+			utCommand := omit,
 			requestPrimitive := {
 				operation := int2,
 				to_ := p_targetResourceAddress,
@@ -8234,6 +8505,7 @@ module OneM2M_Templates {
 		}
 
 		template (value) UtTriggerPrimitive m_utUpdate := {
+			utCommand := omit,
 			requestPrimitive := {
 				operation := int3,
 				to_ := "NotInitialized",
@@ -8286,6 +8558,7 @@ module OneM2M_Templates {
 		}
 		
 		template (value) UtTriggerPrimitive m_utDelete := {
+			utCommand := omit,
 			requestPrimitive := {
 				operation := int4,
 				to_ := "NotInitialized",
@@ -8515,6 +8788,7 @@ module OneM2M_Templates {
 		}
 
 		template (value) UtTriggerPrimitive m_utNotify := {
+			utCommand := omit,
 			requestPrimitive := {
 				operation := int5,
 				to_ := "NotInitialized",
@@ -8549,6 +8823,12 @@ module OneM2M_Templates {
 			}, 
 			forcedFields := omit
 		};
+		
+		template (value) UtTriggerPrimitive m_utCommand_reset := {
+			utCommand := "Reset",
+			requestPrimitive := omit, 
+			forcedFields := omit
+		}
 	 }
 	 
 		group t8_primitives {
@@ -8659,6 +8939,16 @@ module OneM2M_Templates {
 				resourceMethod := DELETE
 			} // End of template m_t8_request_delete
 			
+			template (present) T8Request mw_t8_request_delete(
+																												template (present) OneM2M_Types_3GPP_T8.URI p_resourceUri := ?,
+																												template (present) RequestHeaders p_requestHeaders := ?
+																												) := {
+				resourceMethod := DELETE,
+				resourceUri    := p_resourceUri,
+				requestHeaders := p_requestHeaders,
+				requestBody    := omit
+			} // End of template mw_t8_request_delete
+			
 			template (omit) T8Request m_t8_request_patch(
 																									in template (value) OneM2M_Types_3GPP_T8.URI p_resourceUri,
 																									in template (value) RequestHeaders p_requestHeaders,
@@ -8667,6 +8957,17 @@ module OneM2M_Templates {
 				resourceMethod := PATCH
 			} // End of template m_t8_request_patch
 			
+			template (present) T8Request mw_t8_request_patch(
+																												template (present) OneM2M_Types_3GPP_T8.URI p_resourceUri := ?,
+																												template (present) RequestHeaders p_requestHeaders := ?,
+																												template (present) RequestBody p_requestBody := ?
+																												) := {
+				resourceMethod := PATCH,
+				resourceUri    := p_resourceUri,
+				requestHeaders := p_requestHeaders,
+				requestBody    := p_requestBody
+			} // End of template mw_t8_request_patch
+			
 			template (omit) T8Request m_t8_request_put(
 																									in template (value) OneM2M_Types_3GPP_T8.URI p_resourceUri,
 																									in template (value) RequestHeaders p_requestHeaders,
@@ -8675,16 +8976,28 @@ module OneM2M_Templates {
 				resourceMethod := PUT
 			} // End of template m_t8_request_put
 			
+			template (present) T8Request mw_t8_request_put(
+																									template (present) OneM2M_Types_3GPP_T8.URI p_resourceUri := ?,
+																									template (present) RequestHeaders p_requestHeaders := ?,
+																									template (present) RequestBody p_requestBody := ?
+																									) := {
+				resourceMethod := PUT,
+				resourceUri    := p_resourceUri,
+				requestHeaders := p_requestHeaders,
+				requestBody    := p_requestBody
+			} // End of template mw_t8_request_put
+			
 		} // End of group t8_request
 		
 		group t8_response {
 			
 			template (omit) T8Response m_t8_response_200_ok(
-																											in template (present) ResponseHeaders p_responseHeaders
+																											in template (value) ResponseHeaders p_responseHeaders,
+																											in template (omit) ResponseBody p_responseBody := omit
 																											) := {
 				responseCode    := 200,
 				responseHeaders := p_responseHeaders,
-				responseBody    := omit
+				responseBody    := p_responseBody
 			} // End of template m_t8_response_200_ok
 			
 			template T8Response mw_t8_response_200_ok(
@@ -8696,6 +9009,13 @@ module OneM2M_Templates {
 				responseBody    := p_responseBody
 			} // End of template mw_t8_response_200_ok
 			
+			template (omit) T8Response m_t8_response_201_created(
+																													in template (value) ResponseHeaders p_responseHeaders,
+																													in template (omit) ResponseBody p_responseBody := omit
+																													) modifies m_t8_response_200_ok := {
+				responseCode    := 201
+			} // End of template m_t8_response_201_ok
+			
 			template T8Response mw_t8_response_201_created(
 																											template (present) ResponseHeaders p_responseHeaders := ?,
 																											template ResponseBody p_responseBody := *
@@ -8711,19 +9031,48 @@ module OneM2M_Templates {
 				responseBody    := omit
 			} // End of template mw_t8_response_204_no_content
 			
-			template T8Response mw_t8_response_ko(
-																						template (present) ResponseHeaders p_responseHeaders := ?,
-																						template ProblemDetails p_problemDetails := ?
-																						) := {
+			template (value) T8Response m_t8_response_ko(
+																										in template (value) ResponseHeaders p_responseHeaders,
+																										in template (value) ProblemDetails p_problemDetails
+																										) := {
+				responseCode    := 400,
+				responseHeaders := p_responseHeaders,
+				responseBody    := { problemDetails := p_problemDetails }
+			} // End of template m_t8_response_ko
+			
+			template (present) T8Response mw_t8_response_ko(
+																											template (present) ResponseHeaders p_responseHeaders := ?,
+																											template (present) ProblemDetails p_problemDetails := ?
+																											) := {
 				responseCode    := ?,
 				responseHeaders := p_responseHeaders,
 				responseBody    := { problemDetails := p_problemDetails }
 			} // End of template mw_t8_response_ko
 			
-			template T8Response mw_t8_response_404_not_found(
-																												template (present) ResponseHeaders p_responseHeaders := ?,
-																												template ProblemDetails p_problemDetails := ?
-																												) modifies mw_t8_response_ko := {
+			template (value) T8Response m_t8_response_400_bad_request(
+																																in template (value) ResponseHeaders p_responseHeaders,
+																																in template (value) ProblemDetails p_problemDetails
+																																) modifies m_t8_response_ko := {
+			} // End of template m_t8_response_400_bad_request
+			
+			template (present) T8Response mw_t8_response_400_bad_request(
+																																		template (present) ResponseHeaders p_responseHeaders := ?,
+																																		template (present) ProblemDetails p_problemDetails := ?
+																																		) modifies mw_t8_response_ko := {
+				responseCode    := 400
+			} // End of template mw_t8_response_400_bad_request
+			
+			template (value) T8Response m_t8_response_404_not_found(
+																															in template (value) ResponseHeaders p_responseHeaders,
+																															in template (value) ProblemDetails p_problemDetails
+																															) modifies m_t8_response_ko := {
+				responseCode    := 404
+			} // End of template m_t8_response_404_not_found
+			
+			template (present) T8Response mw_t8_response_404_not_found(
+																																template (present) ResponseHeaders p_responseHeaders := ?,
+																																template (present) ProblemDetails p_problemDetails := ?
+																																) modifies mw_t8_response_ko := {
 				responseCode    := 404
 			} // End of template mw_t8_response_404_not_found
 			
@@ -8737,12 +9086,6 @@ module OneM2M_Templates {
 				individualNiddConfiguration := p_niddConfiguration
 			} // End of template m_request_body_niddConfiguration
 			
-			template (present) RequestBody mw_request_body_deviceTriggeringDeliveryReportNotification(
-																																																template (present) DeviceTriggeringDeliveryReportNotification p_deviceTriggeringDeliveryReportNotification := ?
-																																																) := {
-				deviceTriggeringDeliveryReportNotification := p_deviceTriggeringDeliveryReportNotification
-			} // End of template mw_request_body_deviceTriggeringDeliveryReportNotification
-			
 			template (value) NiddConfiguration m_niddConfiguration := {
 				self_ := "self_value",
 				supportedFeatures := Notification_test_event,
@@ -8783,22 +9126,6 @@ module OneM2M_Templates {
 				status := *
 			} // End of template mw_niddConfiguration
 			
-			template (value) DeviceTriggeringDeliveryReportNotification m_deviceTriggeringDeliveryReportNotification(
-																																																								in template (value) Link p_transaction, 
-																																																								in template (value) DeliveryResult p_result
-																																																								) := {
-				transaction := p_transaction, 
-				result      := p_result
-			} // End of template m_deviceTriggeringDeliveryReportNotification
-			
-			template (present) DeviceTriggeringDeliveryReportNotification mw_deviceTriggeringDeliveryReportNotification(
-																																																									template (present) Link p_transaction := ?, 
-																																																									template (present) DeliveryResult p_result := ?
-																																																									) := {
-				transaction := p_transaction, 
-				result      := p_result
-			} // End of template mw_deviceTriggeringDeliveryReportNotification
-			
 			template (present) ResponseBody mw_response_body_niddConfigurations(
 																																					template (present) NiddConfigurations p_niddConfigurations := ?
 																																					) := {
@@ -8821,6 +9148,18 @@ module OneM2M_Templates {
 				individualDeviceTriggeringTransaction := p_deviceTriggeringTransaction
 			} // End of template m_request_body_deviceTriggering
 			
+			template (present) RequestBody mw_request_body_deviceTriggering(
+																																		template (present) DeviceTriggering p_deviceTriggeringTransaction := ?
+																																		) := {
+				individualDeviceTriggeringTransaction := p_deviceTriggeringTransaction
+			} // End of template mw_request_body_deviceTriggering
+			
+			template (present) RequestBody mw_request_body_deviceTriggeringDeliveryReportNotification(
+																																																template (present) DeviceTriggeringDeliveryReportNotification p_deviceTriggeringDeliveryReportNotification := ?
+																																																) := {
+				deviceTriggeringDeliveryReportNotification := p_deviceTriggeringDeliveryReportNotification
+			} // End of template mw_request_body_deviceTriggeringDeliveryReportNotification
+			
 			template (value) ResponseBody m_response_body_deviceTriggerings(
 																																			in template (value) DeviceTriggerings p_deviceTriggeringTransactions
 																																			) := {
@@ -8833,6 +9172,12 @@ module OneM2M_Templates {
 				deviceTriggeringTransactions := p_deviceTriggeringTransactions
 			} // End of template mw_response_body_deviceTriggerings
 			
+			template (value) ResponseBody m_response_body_individualDeviceTriggering(
+																																								in template (value) DeviceTriggering p_deviceTriggeringTransaction
+																																								) := {
+				individualDeviceTriggeringTransaction := p_deviceTriggeringTransaction
+			} // End of template m_response_body_individualDeviceTriggering
+			
 			template (present) ResponseBody mw_response_body_individualDeviceTriggering(
 																																									template (present) DeviceTriggering p_deviceTriggeringTransaction := ?
 																																									) := {
@@ -8885,12 +9230,62 @@ module OneM2M_Templates {
 				deliveryResult          := *
 			} // End of template mw_deviceTriggeringTransaction
 			
+			template (value) DeviceTriggeringDeliveryReportNotification m_deviceTriggeringDeliveryReportNotification(
+																																																								in template (value) Link p_transaction, 
+																																																								in template (value) DeliveryResult p_result
+																																																								) := {
+				transaction := p_transaction, 
+				result      := p_result
+			} // End of template m_deviceTriggeringDeliveryReportNotification
+			
+			template (present) DeviceTriggeringDeliveryReportNotification mw_deviceTriggeringDeliveryReportNotification(
+																																																									template (present) Link p_transaction := ?, 
+																																																									template (present) DeliveryResult p_result := ?
+																																																									) := {
+				transaction := p_transaction, 
+				result      := p_result
+			} // End of template mw_deviceTriggeringDeliveryReportNotification
+			
 		} // End of group deviceTriggering
 		
-		template (present) ResponseBody mw_response_body_problem_details(
-																																			template (present) ProblemDetails p_problemDetails := ?
-																																			) := {
-			problemDetails := p_problemDetails
-		} // End of template mw_response_body_problem_details
+		group problemDetails {
+			
+			template (omit) ProblemDetails m_problemDetails(
+																											in charstring p_title,
+																											in integer p_status,
+																											in template (omit) charstring p_type := omit,
+																											in template (omit) charstring p_detail := omit,
+																											in template (omit) charstring p_instance := omit,
+																											in template (omit) charstring p_cause := omit,
+																											in template (omit) InvalidParams p_invalidParams := omit
+																											) := {
+				type_         := p_type,
+				title         := p_title,
+				status        := p_status,
+				detail        := p_detail,
+				instance      := p_instance,
+				cause         := p_cause,
+				invalidParams := p_invalidParams
+			} // End of template m_problemDetails
+			
+			template ProblemDetails mw_problemDetails(
+																								template charstring p_type := *,
+																								template charstring p_title := *,
+																								template integer p_status := *,
+																								template charstring p_detail := *,
+																								template charstring p_instance := *,
+																								template charstring p_cause := *,
+																								template InvalidParams p_invalidParams := *
+																								) := {
+				type_         := p_type,
+				title         := p_title,
+				status        := p_status,
+				detail        := p_detail,
+				instance      := p_instance,
+				cause         := p_cause,
+				invalidParams := p_invalidParams
+			} // End of template mw_problemDetails
+			
+		} // End of group problemDetails
 		
 }  // end of module
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index 5496914b07aee39781d052df5b525087a699bb9d..66b9933e5f4bf0a660b921ee6069df3ec97caf6a 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -52,6 +52,7 @@ module OneM2M_TestSystem {
 		var Configurations vc_config;
 		var TestSystemRole vc_testSystemRole;
 		var boolean vc_componentRegistered := false;
+		var boolean vc_resetRequired := false;
 		//Default behaviour
 		var default vc_aeSimu := null;
 		var default vc_cseSimu := null;
@@ -98,6 +99,7 @@ module OneM2M_TestSystem {
 		port OneM2MPort mcaPortIn;
 		port OneM2MPort mccPort;
 		port OneM2MPort mccPortIn;
+		port OneM2MPortInternal mccPortInternal;
 		//global variables
 		//About configuration of the component
 		var CseSimuComponentDesc vc_cseSimuDesc;
@@ -108,6 +110,7 @@ module OneM2M_TestSystem {
 		var integer vc_cSEBaseIndex := -1;	//Index of the CSEBase resource of the Tester inside vc_localResourcesList
 		var integer vc_remoteCseIndex := -1;//Specific to CseSimu		
 		var integer vc_localRemoteCseIndex := -1;
+		var integer vc_localCSEBaseAnncIndex := -1;//Index of the CSEBaseAnnc resource of the remote CSE
 		//Status of attached component
 		var boolean vc_auxiliaryCse2Up := false;
 	};
diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index e38c7f43c0130183f3ada473ed43476e2acb7919..0f6925e5ba76e5eca9a1f1791da3006ab4aa4910 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -187,7 +187,8 @@ module OneM2M_TypesAndValues {
 	}
 	
 	type record UtTriggerPrimitive {
-		RequestPrimitive requestPrimitive, 
+		UtCommands utCommand optional, 
+		RequestPrimitive requestPrimitive optional, 
 		AttributeAux_list forcedFields optional
 	}
 	with {
@@ -204,6 +205,8 @@ module OneM2M_TypesAndValues {
 		charstring value_ optional
 	};
 	
+	type charstring UtCommands (pattern "(Reset|Shutdown)");
+	
 	type record of AttributeAux AttributeAux_list;
 	
 	group ESPrimConfiguration {
@@ -251,7 +254,7 @@ group OptionalResourceTypes {
 		Labels labels optional,
 		Timestamp expirationTime optional,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO A list that can be empty
 		SetOfAcrs privileges optional,
 		SetOfAcrs selfPrivileges optional,
 		ListOfURIs authorizationDecisionResourceIDs optional,
@@ -604,7 +607,7 @@ group OptionalResourceTypes {
 		Timestamp expirationTime optional,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO A list that can be empty
 		XSD.NonNegativeInteger stateTag optional,
 		XSD.ID creator optional,
 		XSD.NonNegativeInteger maxNrOfInstances optional,
@@ -840,6 +843,79 @@ group OptionalResourceTypes {
 	  variant (choice.choice_list[-].group_) "name as 'group'";
 	};
 
+	type record CSEBaseAnnc_optional
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link optional,
+		AcpType accessControlPolicyIDs optional,
+		CseTypeID cseType optional,
+		XSD.ID cSE_ID optional,
+		ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type
+		PoaList pointOfAccess optional,
+		XSD.AnyURI nodeLink optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		Serializations contentSerialization optional,
+		E2eSecInfo e2eSecInfo optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				RemoteCSE remoteCSE,
+				RemoteCSEAnnc remoteCSEAnnc,
+				Node node,
+				AE aE,
+				Container container,
+				Group group_,
+				AccessControlPolicy accessControlPolicy,
+				Subscription subscription,
+				MgmtCmd mgmtCmd,
+				LocationPolicy locationPolicy,
+				StatsConfig statsConfig,
+				StatsCollect statsCollect,
+				Request request,
+				Delivery delivery,
+				Schedule schedule,
+				M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+				ServiceSubscribedAppRule serviceSubscribedAppRule,
+				Role role,
+				XSD.Token token,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				AuthorizationDecision_1 authorizationDecision,
+				AuthorizationPolicy authorizationPolicy,
+				AuthorizationInformation authorizationInformation,
+				OntologyRepository ontologyRepository,
+				SemanticMashupJobProfile semanticMashupJobProfile,
+				SemanticMashupInstance semanticMashupInstance,
+				AEContactList aEContactList,
+				LocalMulticastGroup localMulticastGroup,
+				CrossResourceSubscription crossResourceSubscription,
+				BackgroundDataTransfer backgroundDataTransfer,
+				TransactionMgmt transactionMgmt,
+				Transaction transaction
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (cSE_ID) "name as 'CSE-ID'";
+	  variant (supportedResourceType) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].aE) "name as capitalized";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
+
 	type record Delivery_optional
 	{
 		ResourceName resourceName optional,
@@ -976,7 +1052,7 @@ group OptionalResourceTypes {
 		Timestamp expirationTime optional,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO A list that can be empty
 		XSD.ID creator optional,
 		MemberType memberType optional,
 		SpecializationType specializationType optional,
@@ -2016,7 +2092,7 @@ group OptionalResourceTypes {
 		Timestamp expirationTime optional,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO A list that can be empty
 		XSD.ID creator optional,
 		XSD.NonNegativeInteger maxNrOfInstances optional,
 		XSD.NonNegativeInteger maxByteSize optional,
@@ -4195,6 +4271,7 @@ group OtherTypes {
 	Delivery_optional delivery,
 	FlexContainerResource_optional flexContainer,
 	CSEBase_optional cSEBase,
+	CSEBaseAnnc_optional cSEBaseAnnc,
 	Group_optional group_,
 	GroupAnnc_optional groupAnnc,
 	LocationPolicy_optional locationPolicy,
diff --git a/LibOneM2M/oneM2M_Types b/LibOneM2M/oneM2M_Types
index c22841b77a079b26ea4a70d45ee73bedbd1e0f94..af2985c078fd9b2f1f19990758645408196ebd1a 160000
--- a/LibOneM2M/oneM2M_Types
+++ b/LibOneM2M/oneM2M_Types
@@ -1 +1 @@
-Subproject commit c22841b77a079b26ea4a70d45ee73bedbd1e0f94
+Subproject commit af2985c078fd9b2f1f19990758645408196ebd1a
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 062b638e4759d1dba5f906fe2a67454a36932f82..3738f7b198b9410bef77b6388634e43f9a9a8701 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -8776,6 +8776,65 @@ module OneM2M_PermutationFunctions {
 					//Tear down
 					f_cf01Down();
 				}// end f_CSE_SUB_CRE_001
+                
+				function f_CSE_SUB_CRE_006(template RequestPrimitive p_createRequest) runs on AeSimu system CseSystem {
+					// Local variables
+					var integer v_aeIndex := -1;
+                    var integer v_resourceIndex := -1;
+					var RequestPrimitive v_request;
+                    var MsgIn v_response;
+					
+					// Test control
+
+					// Test component configuration
+					f_cf01Up();
+
+					// Test adapter configuration
+
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi;
+
+					v_request := f_getCreateRequestPrimitive(int23, p_createRequest, v_aeIndex);//Subscription
+
+					// Test Body
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+                        [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {  //CREATED - TS-004 - Table 6.6.3.3-1: RSCs for successful response class
+                            tc_ac.stop;
+                            setverdict(pass, __SCOPE__ & ": Resource created successfully");
+                            f_checkAttributesToBeSaved(int23, v_request, v_response.primitive.responsePrimitive);
+                            v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int23, vc_aeIndex);
+                        }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+                            setverdict(inconc, __SCOPE__&":INFO: Error while creating resource");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+                            setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+						}
+					}
+
+					f_checkAeSimuStatus();
+    					
+					//Check to see if the resource is present or not
+					if (f_cse_isResourcePresent(v_resourceIndex)){
+						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+					}	
+
+					//Postamble
+					f_cse_postamble_deleteResources();
+
+					//Tear down
+					f_cf01Down();
+
+				} // end f_CSE_SUB_CRE_006                
 
 				function f_CSE_SUB_CRE_009(in NotificationEventType p_notificationEventType) runs on AeSimu system CseSystem {
 					// Local variables
@@ -10052,7 +10111,7 @@ module OneM2M_PermutationFunctions {
 
 					// Local variables
 					var RequestPrimitive v_request;
-					var integer v_parentIndex := -1;
+					var integer v_announcedParentIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex;
 					var ResponsePrimitive v_responsePrimitive;
@@ -10064,6 +10123,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 
 					// Test adapter configuration
 			
@@ -10071,15 +10131,14 @@ module OneM2M_PermutationFunctions {
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
-					//remoteCSE is by default the parent for an announced resource
-					v_parentIndex := f_getLatestLocalResourceIndex(vc_cse1);
-					
 					//Preamble
 					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
 					v_aeIndex := f_cse_createResource(int2,v_create);
-					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
+					//Announced parent resource is by default the parent for an announced resource
+					v_announcedParentIndex := f_getLatestLocalResourceIndex(vc_cse1);
+					
 					// Test Body
 					if (ispresent (p_requestUpdatePrimitive)) {
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
@@ -10089,21 +10148,21 @@ module OneM2M_PermutationFunctions {
 						if (p_resourceType == int4) {
 							v_create := m_createContainerBase;
 							v_create.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
-							vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createContainerAnnc(), -, v_parentIndex));
+							vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createContainerAnnc(), -, v_announcedParentIndex));
 							v_resourceIndex := f_cse_createResource(int3, v_create, v_aeIndex);
 							f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_resourceIndex);
 							//Retrieve the parent resource index
-							v_parentIndex := f_getLatestLocalResourceIndex(vc_cse1);
+							v_announcedParentIndex := f_getLatestLocalResourceIndex(vc_cse1);
 						} else if (p_resourceType == int30) {
 							v_create := m_createTimeSeriesBase;
 							v_create.primitiveContent.timeSeries.announceTo := {PX_TS_CSE1.cseId};
-							vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createTimeSeriesAnnc(), -, v_parentIndex));
+							vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createTimeSeriesAnnc(), -, v_announcedParentIndex));
 							v_resourceIndex := f_cse_createResource(int29, v_create, v_aeIndex);
 							f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_resourceIndex);
 							//Retrieve the parent resource index
-							v_parentIndex := f_getLatestLocalResourceIndex(vc_cse1);
+							v_announcedParentIndex := f_getLatestLocalResourceIndex(vc_cse1);
 						} else {
 					  		v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
 						}
@@ -10111,7 +10170,7 @@ module OneM2M_PermutationFunctions {
 					  	v_responsePrimitive.responseStatusCode := int2001;
 					}
 					
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_parentIndex));	
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_announcedParentIndex));	
 					f_send(e_mcaPort, m_request(v_request));
 
 					tc_ac.start;
@@ -10133,7 +10192,7 @@ module OneM2M_PermutationFunctions {
 										
 					// Postamble
 					f_cse_postamble_deleteResources();
-
+					
 					// Tear down
 					f_cf02Down();
 
@@ -10146,12 +10205,14 @@ module OneM2M_PermutationFunctions {
 				function f_CSE_ANNC_CRE_001(ResourceType p_resourceType,template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on AeSimu system CseSystem {
 				  //Local variables
 				  var integer v_aeIndex := -1;
+				  var integer v_announcedParentIndex := -1;
 				  var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 				  v_create.primitiveContent.aE.announceTo := {PX_TS_CSE1.cseId};
 				  //Test control
 
 				  //Test component configuration
 				  f_cf02Up();
+				  vc_resetRequired := true;
 
 				  //Register the CSE
 				  vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
@@ -10164,9 +10225,13 @@ module OneM2M_PermutationFunctions {
 				  
 				  f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				  
-				  vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc));	
+				  //Retrieve the announced parent resource index
+				  v_announcedParentIndex := f_getLatestLocalResourceIndex(vc_cse1);
+				  
+				  //Test body
+				  vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_announcedParentIndex));	
 				  f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
-				  vc_cse1.done;
+				  f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 				  //Postamble
 				  f_cse_postamble_deleteResources();
@@ -10179,15 +10244,17 @@ module OneM2M_PermutationFunctions {
 					// Local variables
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
-					var XSD.AnyURI v_remoteCSEAnncAddress;
+					var integer v_announcedResourceIndex := -1;
 					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
-					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
+					var ResponsePrimitive v_response;
+					v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 					
 					// Test control
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster(-, true);
+				    vc_resetRequired := true;
 
 					// Test adapter configuration
 
@@ -10209,16 +10276,57 @@ module OneM2M_PermutationFunctions {
 					//Update of the resource so that it gets announced
 					vc_ae1.start(f_cse_updateResource(p_resourceType, v_resourceIndex, p_updateRequest, -));
 					
-					//IUT should announce itself by updating announceTo attribute of remoteCSE
-					v_updateRemoteCse.primitiveContent.remoteCSE.announceTo := {PX_TS_CSE2.cseId};
-					f_cse_updateResourceHandler(vc_localRemoteCseIndex, v_updateRemoteCse, -);
-										
-					//Then, IUT announces the resource on the remoteCSEAnnc resource
-					v_remoteCSEAnncAddress := f_getLatestLocalResourceAddress(vc_cse2);
-					p_createRequestAnnc.to_ := 	v_remoteCSEAnncAddress;	
-					
-					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, omit);
 					
+					//IUT should first create CSEBaseAnnc at the announcement target, and then, IUT announces the resource on the remoteCSEAnnc resource
+					//p_createRequestAnnc.to_ := PX_TS_CSE1.cseId;
+					vc_cse2.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc));
+							
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(mw_createAnnc(-, PX_TS_CSE2.cseId))) -> value vc_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Expected Announcement received");
+							
+							mccPortInternal.send(vc_request.primitive.requestPrimitive);
+							alt {
+								[]mccPortInternal.receive(mw_responsePrimitive(?)) -> value v_response {
+								}
+							}
+							f_send(e_mccPortIn, m_response(v_response));
+							
+							 //Retrieve the CSEBaseAnnc resource index
+							if(v_response.responseStatusCode == int2001) {
+								tc_ac.start;
+								repeat;
+							} else {
+								setverdict(fail, __SCOPE__ & ":ERROR: CSEBaseAnnc not created");
+							}
+						}
+						[] mccPortIn.receive(mw_request(mw_createAnnc)) -> value vc_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
+							if(f_getTargetCseId(vc_request.primitive.requestPrimitive.to_) ==  PX_TS_CSE2.cseId) {
+								mccPortInternal.send(vc_request.primitive.requestPrimitive);
+								alt {
+									[]mccPortInternal.receive(mw_responsePrimitive(?)) -> value v_response {
+									}
+								}
+							
+								f_send(e_mccPortIn, m_response(v_response));
+							} else {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong announcement target");
+								v_announcedResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000);
+								f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
+							}
+							if(getverdict == inconc) {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong target resource address");
+							}	
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_cse2);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					// Postamble
@@ -10243,6 +10351,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
@@ -10252,7 +10361,7 @@ module OneM2M_PermutationFunctions {
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
-					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
+					v_parentIndex := f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
@@ -10293,18 +10402,23 @@ module OneM2M_PermutationFunctions {
 				function f_CSE_ANNC_CRE_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var XSD.AnyURI v_remoteCSEAnncAddress;
+					var integer v_cSEBaseAnncIndex := -1;
+					var integer v_containerAnncIndex := -1;
+					var integer v_announcedResourceIndex := -1;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 					var template RequestPrimitive v_createContainer := m_createContainerBase;
 					var template RequestPrimitive v_createContainerAnnc := mw_createContainerAnnc;
 					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()});
-					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
-					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
+					var ResponsePrimitive v_response;
+					
+					v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
+					v_createContainer.primitiveContent.container.announceTo := {PX_TS_CSE2.cseId};
 					
 					// Test control
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster(-, true);
+					vc_resetRequired := true;
 
 					// Test adapter configuration
 					// Register the CSE
@@ -10316,32 +10430,52 @@ module OneM2M_PermutationFunctions {
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 					
-					v_createContainer.primitiveContent.container.announceTo := {PX_TS_CSE2.cseId};
-					v_createContainer.primitiveContent.container.resourceName := "TriggerAnnounceIUT";
+					//Trigger creation of CSEBaseAnnc
+					vc_cse2.start(f_cse_announcementProcedure_createHandler(v_createContainerAnnc, -, -));
+					v_createContainer.primitiveContent.container.resourceName := "TriggerCreationCSEBaseAnnc";
 					vc_ae1.start(f_cse_createResource(int3,v_createContainer, v_aeIndex));
-					
-					//IUT shall announce itself by updating announceTo attribute of its remoteCSE on its registrar (CSE1)
-					v_updateRemoteCse.primitiveContent.remoteCSE.announceTo := {PX_TS_CSE2.cseId};
-					f_cse_updateResourceHandler(vc_localRemoteCseIndex, v_updateRemoteCse);				
-					
-					//Then, IUT announces the resource on the remoteCSEAnnc
-					v_remoteCSEAnncAddress := f_getLatestLocalResourceAddress(vc_cse2);
-					v_createContainerAnnc.to_ := 	v_remoteCSEAnncAddress;	
-					
-					f_cse_announcementProcedure_createHandler(v_createContainerAnnc, -, omit);
-					
+					f_cse_announcementProcedure_createHandler(v_createContainerAnnc, -, -);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_cse2);
+					
+					//Then, IUT announces the resource on the CSEBaseAnnc
+					v_containerAnncIndex := f_getLatestLocalResourceIndex(vc_cse2);
+					v_cSEBaseAnncIndex := v_containerAnncIndex -1;	
 					
 					// Test Body
+					vc_cse2.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_cSEBaseAnncIndex));
 					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
 					
-					//IUT shall then create the announced resource on its remoteCSEAnnc as indicated in the announceTo attribute returned by its registrar (CSE1)
-					p_createRequestAnnc.to_ := v_remoteCSEAnncAddress;
-					
-					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, omit);
-										
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(mw_createAnnc)) -> value vc_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
+							if(f_getTargetCseId(vc_request.primitive.requestPrimitive.to_) ==  PX_TS_CSE2.cseId) {
+								mccPortInternal.send(vc_request.primitive.requestPrimitive);
+								alt {
+									[]mccPortInternal.receive(mw_responsePrimitive(?)) -> value v_response {
+										setverdict(pass, __SCOPE__ & ":INFO: Announcement retargeted");
+									}
+								}
+							
+								f_send(e_mccPortIn, m_response(v_response));
+							} else {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong announcement target");
+								v_announcedResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000);
+								f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
+							}
+							if(getverdict == inconc) {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong target resource address");
+							}	
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_cse2);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-
+					
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
 
@@ -10350,75 +10484,92 @@ module OneM2M_PermutationFunctions {
 
 				}//end f_CSE_ANNC_CRE_005
 				
-				function f_CSE_ANNC_CRE_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu system CseSystem {
+				function f_CSE_ANNC_CRE_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on AeSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
-					var integer v_parentIndex := -1;
-					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
+					var RequestPrimitive v_create;
 					
 					// Test control
 
 					// Test component configuration
-					f_cf02UpCseSimuMaster();
+					f_cf02Up();
+					vc_resetRequired := true;
 
 					// Test adapter configuration
 					// Register the CSE
-					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
-					v_parentIndex := vc_localRemoteCseIndex;
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()})));
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					//Preamble
-					vc_ae1.start(f_cse_createResource(int2,v_create));
-					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					v_aeIndex := f_cse_preamble_registerAe();
 					
-					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
-
 					v_resourceIndex := v_aeIndex;
 					
 					// Test Body
 					if (p_resourceType == int4) {
 						v_create := m_createContainerBase;
-						v_create.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
-						vc_ae1.start(f_cse_createResource(int3,v_create, v_aeIndex));
-						v_parentIndex := f_cse_announcementProcedure_createHandler(mw_createContainerAnnc(), -, -);
-						f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-						v_resourceIndex := f_getLatestResourceIndex(vc_ae1);
+						v_resourceIndex := f_cse_createResource(int3,v_create, v_aeIndex);
 					} else if (p_resourceType == int30) {
 						v_create := m_createTimeSeriesBase;
-						v_create.primitiveContent.timeSeries.announceTo := {PX_TS_CSE1.cseId};
-						vc_ae1.start(f_cse_createResource(int29,v_create, v_aeIndex));
-						v_parentIndex := f_cse_announcementProcedure_createHandler(mw_createTimeSeriesAnnc(), -, -);
-						f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-						v_resourceIndex := f_getLatestResourceIndex(vc_ae1);
+						v_resourceIndex := f_cse_createResource(int29,v_create, v_aeIndex);
 					}
 
-					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_resourceIndex));
-
-					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_parentIndex);
-										
-					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-
+					f_send(e_mcaPort, m_request(f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_resourceIndex)));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__, ": Resource created successfully");
+							if(ischosen(vc_response.primitive.responsePrimitive.primitiveContent.contentInstance)) {
+								if(ispresent(vc_response.primitive.responsePrimitive.primitiveContent.contentInstance.announceTo)) {
+									if(lengthof(vc_response.primitive.responsePrimitive.primitiveContent.contentInstance.announceTo) != 0) {
+										setverdict(fail, __SCOPE__, ": Resource contains the attribute announceTo");
+									}
+								}
+							} else if(ischosen(vc_response.primitive.responsePrimitive.primitiveContent.timeSeriesInstance)) {
+								if(ispresent(vc_response.primitive.responsePrimitive.primitiveContent.timeSeriesInstance.announceTo)) {
+									if(lengthof(vc_response.primitive.responsePrimitive.primitiveContent.timeSeriesInstance.announceTo) != 0) {
+										setverdict(fail, __SCOPE__, ": Resource contains the attribute announceTo");
+									}
+								}
+							}
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__, ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__, ": Error while creating resource");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__, ": No answer while creating resource ContentInstance");
+						}
+					}	
 					// Postamble
-					f_cse_postamble_deleteResourcesCSE();
+					f_cse_postamble_deleteResources();
 
 					// Tear down
-					f_cf02DownCseSimuMaster();
+					f_cf02Down();
 
 				}//end f_CSE_ANNC_CRE_006
 				
 				function f_CSE_ANNC_CRE_007(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit) runs on CseSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var XSD.AnyURI v_remoteCSEAnncAddress;
+					var integer v_announcedResourceIndex := -1;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
-					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
+					var ResponsePrimitive v_response;
+					v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 					
 					// Test control
 					// Test component configuration
 					f_cf02UpCseSimuMaster(-, true);
-
+					vc_resetRequired := true;
+					
 					// Test adapter configuration
 					// Register the CSE
 					f_cse_registerRemoteCse(v_createRemoteCse);
@@ -10429,19 +10580,56 @@ module OneM2M_PermutationFunctions {
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 					
-					p_requestCreatePrimitive.primitiveContent.container.resourceName := "TriggerAnnounceIUT";
-					vc_ae1.start(f_cse_createResource(int3,p_requestCreatePrimitive, v_aeIndex));
-					
-					//IUT shall announce itself by updating announceTo attribute of its remoteCSE on its registrar (CSE1)
-					v_updateRemoteCse.primitiveContent.remoteCSE.announceTo := {PX_TS_CSE2.cseId};
-					f_cse_updateResourceHandler(vc_localRemoteCseIndex, v_updateRemoteCse);				
-					
-					//Then, IUT announces the resource on the remoteCSEAnnc
-					v_remoteCSEAnncAddress := f_getLatestLocalResourceAddress(vc_cse2);
-					p_createRequestAnnc.to_ := 	v_remoteCSEAnncAddress;	
-					
-					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, omit);
+					vc_cse2.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, -));
+					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
 					
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(mw_createAnnc(-, PX_TS_CSE2.cseId))) -> value vc_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Expected Announcement received");
+							
+							mccPortInternal.send(vc_request.primitive.requestPrimitive);
+							alt {
+								[]mccPortInternal.receive(mw_responsePrimitive(?)) -> value v_response {
+								}
+							}
+							f_send(e_mccPortIn, m_response(v_response));
+							
+							 //Retrieve the CSEBaseAnnc resource index
+							if(v_response.responseStatusCode == int2001) {
+								tc_ac.start;
+								repeat;
+							} else {
+								setverdict(fail, __SCOPE__ & ":ERROR: CSEBaseAnnc not created");
+							}
+						}
+						[] mccPortIn.receive(mw_request(mw_createAnnc)) -> value vc_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
+							if(f_getTargetCseId(vc_request.primitive.requestPrimitive.to_) ==  PX_TS_CSE2.cseId) {
+								mccPortInternal.send(vc_request.primitive.requestPrimitive);
+								alt {
+									[]mccPortInternal.receive(mw_responsePrimitive(?)) -> value v_response {
+										setverdict(pass, __SCOPE__ & ":INFO: Announcement retargeted");
+									}
+								}
+							
+								f_send(e_mccPortIn, m_response(v_response));
+							} else {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong announcement target");
+								v_announcedResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000);
+								f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
+							}
+							if(getverdict == inconc) {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong target resource address");
+							}	
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_cse2);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					// Postamble
@@ -10465,6 +10653,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					//Test adapter configuration
 					// Register the CSE
@@ -10472,7 +10661,7 @@ module OneM2M_PermutationFunctions {
 					v_parentIndex := vc_localRemoteCseIndex;
 					
 					vc_ae1.start(f_cse_createResource(int2,v_create));
-					f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
+					v_parentIndex := f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
@@ -10520,12 +10709,12 @@ module OneM2M_PermutationFunctions {
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
-	
+					vc_resetRequired := true;
+					
 					//Test adapter configuration
 					// Register the CSE
 					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
-					f_checkCseSimuStatus();
 					vc_ae1.start(f_cse_createResource(int2,v_create));
 					v_aEAnncIndex := f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
@@ -10534,7 +10723,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test Body
 					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
-					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, -);
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_aEAnncIndex);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 
 					// Postamble
@@ -10549,14 +10738,15 @@ module OneM2M_PermutationFunctions {
 			
 			group Retrieve {
 			
-				function f_CSE_ANNC_RET_001(ResourceType p_resourceType, template PrimitiveContent p_originalResource, template RequestPrimitive p_createRequestAnnc) runs on AeSimu system CseSystem {
+				function f_CSE_ANNC_RET_001(ResourceType p_resourceType, template PrimitiveContent p_originalResource, template RequestPrimitive p_createRequestAnnc, template PrimitiveContent p_primitiveContent) runs on AeSimu system CseSystem {
 
 					// Local variables
 					var integer v_cseBaseIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_remoteCSEIndex := -1;
 					var integer v_originalResourceIndex := -1;
-					var XSD.ID v_originalResourceAddress;
+					var integer v_cseBaseAnncIndex := -1;
+					var XSD.ID v_originalResourceAddress, v_cseBaseResourceAddress;
 					var template RequestPrimitive v_createAE := m_createAe(PX_TS_AE1.appId, omit, omit);
 					var template RequestPrimitive v_createAcp := m_createAcpBase;
 					var XSD.ID v_resourceAnncAddress;
@@ -10566,6 +10756,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 		
@@ -10576,27 +10767,21 @@ module OneM2M_PermutationFunctions {
 					
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
+					v_cseBaseResourceAddress := f_getLatestLocalResourceAddress(vc_cse1, -, e_spRelative);
+					
 					//Register the CSE
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -, -, -, {f_getLocalPoA()})));
 				    f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
-					v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
-					
-					//Creating resource in Hosting CSE
-					vc_cse1.start(f_generateAndSetLocalResource(valueof(p_originalResource), v_cseBaseIndex, p_resourceType));
-					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
-					
-					v_originalResourceAddress := f_getLatestLocalResourceAddress(vc_cse1, -, -);
-					
-					v_originalResourceIndex := f_getLatestLocalResource(vc_cse1);
-					
 					if((p_resourceType == int3) or (p_resourceType == int9) or (p_resourceType == int29)) {
 						p_createRequestAnnc := f_setAcpId(p_createRequestAnnc, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)});
 					}
-					p_createRequestAnnc.primitiveContent := f_setLink(valueof(p_createRequestAnnc.primitiveContent), v_originalResourceAddress);
-					p_createRequestAnnc.primitiveContent := f_setExpirationTime(valueof(p_createRequestAnnc.primitiveContent), vc_resourcesList[v_originalResourceIndex].resource);
 					
-					vc_cse1.start(f_cse_createResource_cseSimu(f_getAnnouncedResourceType(p_resourceType), p_createRequestAnnc, v_remoteCSEIndex));
+					vc_cse1.start(f_cse_createResource_cseSimu(f_getAnnouncedResourceType(int5), m_createCSEBaseAnncBase(-, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, v_cseBaseResourceAddress), -));
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					v_cseBaseAnncIndex := f_getLatestResourceIndex(vc_cse1);
+					//Creating announced resource (original resource in CSE1) in Hosting CSE
+					vc_cse1.start(f_cse_createResource_cseSimu(f_getAnnouncedResourceType(p_resourceType), p_createRequestAnnc, v_cseBaseAnncIndex));
 				    f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					v_resourceAnncAddress := f_getLatestResourceAddress(vc_cse1, -, -);
@@ -10605,10 +10790,14 @@ module OneM2M_PermutationFunctions {
 					f_send(e_mcaPort, m_request(m_retrieve(v_resourceAnncAddress, f_getOriginator(v_aeIndex))));
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_primitiveContent))) -> value vc_response {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__, ": Resource " & int2str(enum2int(p_resourceType)) & " retrieved successfully");
 						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__, ": Wrong content");
+						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__, ": Wrong response status code");
@@ -10626,27 +10815,26 @@ module OneM2M_PermutationFunctions {
 
 				}//end f_CSE_ANNC_RET_001
 				
-				function f_CSE_ANNC_RET_002(ResourceType p_resourceType, template PrimitiveContent p_originalResource, template RequestPrimitive p_createRequestAnnc) runs on AeSimu system CseSystem {
+				function f_CSE_ANNC_RET_002(ResourceType p_resourceType, template PrimitiveContent p_originalResource, template RequestPrimitive p_createRequestAnnc, template PrimitiveContent p_primitiveContent) runs on AeSimu system CseSystem {
 					
-					//Local variables
-					var template RequestPrimitive v_request;
+					// Local variables
 					var integer v_cseBaseIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_remoteCSEIndex := -1;
-					var integer v_originalResourceIndex,  v_originalLocalResourceIndex := -1;
-					var XSD.ID v_originalResourceAddress;
-					var XSD.ID v_resourceAnncAddress;
+					var integer v_originalResourceIndex := -1;
+					var integer v_cseBaseAnncIndex := -1;
+					var XSD.ID v_originalResourceAddress, v_cseBaseResourceAddress;
 					var template RequestPrimitive v_createAE := m_createAe(PX_TS_AE1.appId, omit, omit);
 					var template RequestPrimitive v_createAcp := m_createAcpBase;
-					var integer v_aeAnncIndex;
-					var integer v_resourceAnncIndex;
+					var XSD.ID v_resourceAnncAddress;
 					var integer v_acpIndex;
-					var XSD.ID v_membersAcpId;
+					var RequestPrimitive v_request;
 					
-					//Test control
+					// Test control
 
 					// Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 		
@@ -10657,36 +10845,43 @@ module OneM2M_PermutationFunctions {
 					
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
+					v_cseBaseResourceAddress := f_getLatestLocalResourceAddress(vc_cse1, -, e_spRelative);
+					
 					//Register the CSE
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
-					v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
-					
 					if((p_resourceType == int3) or (p_resourceType == int9) or (p_resourceType == int29)) {
 						p_createRequestAnnc := f_setAcpId(p_createRequestAnnc, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)});
 					}
 					
-					//Creation of original resource locally and then announcement of it to IUT
-					vc_cse1.start(f_cse_createResource_cseSimu(f_getAnnouncedResourceType(p_resourceType), p_createRequestAnnc, v_remoteCSEIndex));
+					vc_cse1.start(f_cse_createResource_cseSimu(f_getAnnouncedResourceType(int5), m_createCSEBaseAnncBase(-, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, v_cseBaseResourceAddress), -));
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					v_cseBaseAnncIndex := f_getLatestResourceIndex(vc_cse1);
+					//Creating announced resource (original resource in CSE1) in Hosting CSE
+					vc_cse1.start(f_cse_createResource_cseSimu(f_getAnnouncedResourceType(p_resourceType), p_createRequestAnnc, v_cseBaseAnncIndex));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					v_resourceAnncAddress := f_getLatestResourceAddress(vc_cse1, -, -);
-					v_resourceAnncIndex := f_getLatestResourceIndex(vc_cse1);
-					v_originalLocalResourceIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					v_originalResourceIndex := f_getLatestLocalResource(vc_cse1);
 					
+					// Test Body
+					vc_cse1.start(f_cse_retrieveResourceHandler(v_originalResourceIndex, -, -));
+					
 					v_request := m_retrieve(v_resourceAnncAddress, f_getOriginator(v_aeIndex));
 					v_request.resultContent := int7;
-					// Test Body
-					vc_cse1.start(f_cse_retrieveResourceHandler(v_originalLocalResourceIndex, -, -));
-					f_send(e_mcaPort, m_request(valueof(v_request)));
+					
+					f_send(e_mcaPort, m_request(v_request));
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, vc_resourcesList[v_originalResourceIndex].resource))) -> value vc_response {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, p_primitiveContent))) -> value vc_response {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__, ": Resource " & int2str(enum2int(p_resourceType)) & " retrieved successfully");
 						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__, ": Wrong content");
+						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__, ": Wrong response status code");
@@ -10703,8 +10898,7 @@ module OneM2M_PermutationFunctions {
 					f_cse_postamble_deleteResources();
 
 					// Tear down
-					f_cf02Down();
-
+					f_cf02Down();					
 					
 				} //end f_CSE_ANNC_RET_002
 			 
@@ -10725,6 +10919,7 @@ module OneM2M_PermutationFunctions {
 	
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
@@ -10752,14 +10947,14 @@ module OneM2M_PermutationFunctions {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ":INFO: Announcement creation received");
 			
-							f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, -, vc_localRemoteCseIndex);
+							f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, -, v_aEAnncIndex);
 							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
 						}
 						[] mccPortIn.receive(mw_request(mw_createAnnc)) -> value vc_request {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: Unexpected creation received");
+							setverdict(fail, __SCOPE__ & ":ERROR: Unexpected creation received");
 			
-							f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, -, vc_localRemoteCseIndex);
+							f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, -, -);
 							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
 						}
 						[] tc_ac.timeout {
@@ -10781,16 +10976,14 @@ module OneM2M_PermutationFunctions {
 					// Local variables
 					var integer v_aeIndex := -1;
 					var integer v_announcedResourceIndex := -1;
-					var integer v_aEAnncIndex := -1;
 					var integer v_resourceIndex := -1;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 		
-					v_create.primitiveContent.aE.announceTo := {PX_TS_CSE1.cseId};
-	   
 					//Test control
 	
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
@@ -10798,13 +10991,12 @@ module OneM2M_PermutationFunctions {
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
-					v_aEAnncIndex := f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 					
 					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
-					v_announcedResourceIndex := f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, vc_localRemoteCseIndex);					
+					v_announcedResourceIndex := f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, -);					
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_resourceIndex := f_getLatestResourceIndex(vc_ae1);
@@ -10843,31 +11035,23 @@ module OneM2M_PermutationFunctions {
 					var integer v_aEAnncIndex := -1;
 					var integer v_resourceIndex := -1;
 					var integer v_announcedResourceIndex := -1;
-					var integer v_localRemoteCseIndex := -1;
-					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
-		
-					v_create.primitiveContent.aE.announceTo := {PX_TS_CSE1.cseId};
-	   
+				
 					//Test control
 	
 					//Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
-					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
 					//Preamble
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
-					v_aeIndex := f_cse_createResource(int2,v_create);
-					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
-					
-					v_aEAnncIndex := f_getLatestLocalResourceIndex(vc_cse1);
+					v_aeIndex := f_cse_preamble_registerAe();
 					
 					// Test Body
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_localRemoteCseIndex));
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, -));
 					v_resourceIndex := f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex);					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
@@ -10918,7 +11102,6 @@ module OneM2M_PermutationFunctions {
 					var integer v_announcedResourceIndex := -1;
 					var integer v_aEAnncIndex := -1;
 					var integer v_resourceIndex := -1;
-					var integer v_localRemoteCseIndex := -1;
 					var RequestPrimitive v_updateRequest;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 
@@ -10928,12 +11111,12 @@ module OneM2M_PermutationFunctions {
 	
 					// Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
-					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
 					//Preamble
 					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
@@ -10946,7 +11129,7 @@ module OneM2M_PermutationFunctions {
 					v_resourceIndex := f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex);
 					
 					// Test Body
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_localRemoteCseIndex));
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_aEAnncIndex));
 
 					v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
 					f_send(e_mcaPort, m_request(v_updateRequest));
@@ -10984,17 +11167,15 @@ module OneM2M_PermutationFunctions {
 				function f_CSE_ANNC_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive, template RequestPrimitive p_updateRequestAnnc, template (omit) AttributeAux_list p_nullFields := omit) runs on CseSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var integer v_aEAnncIndex := -1;
 					var integer v_resourceIndex := -1;
 					var integer v_announcedResourceIndex := -1;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 		
-					v_create.primitiveContent.aE.announceTo := {PX_TS_CSE1.cseId};
-	   
 					//Test control
 	
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
@@ -11002,14 +11183,13 @@ module OneM2M_PermutationFunctions {
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
-					v_aEAnncIndex := f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -));
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 					
 					// Test Body
 					vc_ae1.start(f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex));
-					v_announcedResourceIndex := f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, vc_localRemoteCseIndex);					
+					v_announcedResourceIndex := f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, -);					
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_resourceIndex := f_getLatestResourceIndex(vc_ae1);
@@ -11057,20 +11237,22 @@ module OneM2M_PermutationFunctions {
 				
 				function f_CSE_ANNC_UPD_006(ResourceType p_resourceType, template RequestPrimitive p_requestCreatePrimitive, template RequestPrimitive p_createRequestAnnc, template RequestPrimitive p_requestUpdatePrimitive) runs on CseSimu system CseSystem {
 					// Local variables
-					var integer v_resourceIndex := -1;
+					var integer v_resourceIndex, v_containerAnncIndex, v_cSEBaseAnncIndex := -1;
 					var integer v_aeIndex := -1;
-					var XSD.AnyURI v_remoteCSEAnncAddress;
-					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
+					var ResponsePrimitive v_response;
 					var template RequestPrimitive v_createRequestRemoteCseAnnc := m_createRemoteCSEAnncBase;
 					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()});
-					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
-					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
-
+					var template RequestPrimitive v_createContainer := m_createContainerBase;
+					var template RequestPrimitive v_createContainerAnnc := mw_createContainerAnnc;
+					v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
+					v_createContainer.primitiveContent.container.announceTo := {PX_TS_CSE2.cseId};
+					
 					// Test control
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster(-, true);
-
+					vc_resetRequired := true;
+					
 					// Test adapter configuration
 
 					//Register the CSE
@@ -11082,26 +11264,57 @@ module OneM2M_PermutationFunctions {
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
 					
+					//Trigger creation of CSEBaseAnnc
+					vc_cse2.start(f_cse_announcementProcedure_createHandler(v_createContainerAnnc, -, -));
+					v_createContainer.primitiveContent.container.resourceName := "TriggerCreationCSEBaseAnnc";
+					vc_ae1.start(f_cse_createResource(int3,v_createContainer, v_aeIndex));
+					f_cse_announcementProcedure_createHandler(v_createContainerAnnc, -, -);
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_cse2);
+					
+					//Then, IUT announces the resource on the CSEBaseAnnc
+					v_containerAnncIndex := f_getLatestLocalResourceIndex(vc_cse2);
+					v_cSEBaseAnncIndex := v_containerAnncIndex -1;
+					
 					vc_ae1.start(f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex));
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_resourceIndex := f_getLatestResourceIndex(vc_ae1);
 	
 					// Test Body
-					vc_ae1.start(f_cse_updateResource(p_resourceType, v_resourceIndex, p_requestCreatePrimitive, -));
-					
-					//IUT shall announce itself by updating announceTo attribute of its remoteCSE on its registrar (CSE1)
-					v_updateRemoteCse.primitiveContent.remoteCSE.announceTo := {PX_TS_CSE2.cseId};
-					f_cse_updateResourceHandler(vc_localRemoteCseIndex, v_updateRemoteCse, -);
-					
-					//Then, IUT announces the resource on the remoteCSEAnnc
-					v_remoteCSEAnncAddress := f_getLatestLocalResourceAddress(vc_cse2);
-					p_createRequestAnnc.to_ := 	v_remoteCSEAnncAddress;	
+					vc_cse2.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_cSEBaseAnncIndex));
+					vc_ae1.start(f_cse_updateResource(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive, -));
 					
-					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, omit);
-
+					tc_ac.start;
+					alt {
+						[] mccPortIn.receive(mw_request(mw_createAnnc)) -> value vc_request {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
+							if(f_getTargetCseId(vc_request.primitive.requestPrimitive.to_) ==  PX_TS_CSE2.cseId) {
+								mccPortInternal.send(vc_request.primitive.requestPrimitive);
+								alt {
+									[]mccPortInternal.receive(mw_responsePrimitive(?)) -> value v_response {
+										setverdict(pass, __SCOPE__ & ":INFO: Announcement retargeted");
+									}
+								}
+							
+								f_send(e_mccPortIn, m_response(v_response));
+							} else {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong announcement target");
+								f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000);
+								f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
+							}
+							if(getverdict == inconc) {
+								setverdict(fail, __SCOPE__ & ":ERROR: Wrong target resource address");
+							}	
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
+						}
+					}
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_cse2);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-
+					
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
 
@@ -11114,19 +11327,19 @@ module OneM2M_PermutationFunctions {
 					// Local variables
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
-					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
-
+					
 					//Test control
 	
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
 					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
-					vc_ae1.start(f_cse_createResource(int2,v_create));
+					vc_ae1.start(f_cse_preamble_registerAe());
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
@@ -11140,26 +11353,7 @@ module OneM2M_PermutationFunctions {
 					// Test Body
 					vc_ae1.start(f_cse_updateResource(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive, -));
 					
-					tc_ac.start;
-					alt {
-						[] mccPortIn.receive(mw_request(p_createRequestAnnc)) -> value vc_request {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
-			
-							f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, -, vc_localRemoteCseIndex);
-							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
-						}
-						[] mccPortIn.receive(mw_request(mw_create)) -> value vc_request {
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ":ERROR: Unexpected create operation received");
-	
-							f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive);
-							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
-						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ":ERROR:  No announcement received");
-						}
-					}
+					f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, -);					
 					
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 
@@ -11184,18 +11378,17 @@ module OneM2M_PermutationFunctions {
 	
 					//Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
-					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
 					//Preamble
-					v_aeIndex := f_cse_createResource(int2,v_create);
-					
+					v_aeIndex := f_cse_preamble_registerAe();
 					// Test Body
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_localRemoteCseIndex));
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, -));
 					v_resourceIndex := f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex);					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
@@ -11244,17 +11437,17 @@ module OneM2M_PermutationFunctions {
 					var integer v_announcedResourceIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
-					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
-
+					
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
 					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
-					vc_ae1.start(f_cse_createResource(int2,v_create));
+					vc_ae1.start(f_cse_preamble_registerAe());
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
@@ -11305,17 +11498,17 @@ module OneM2M_PermutationFunctions {
 					var integer v_announcedResourceIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
-					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
-
+					
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
 					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
-					vc_ae1.start(f_cse_createResource(int2,v_create));
+					vc_ae1.start(f_cse_preamble_registerAe());
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
@@ -11366,17 +11559,17 @@ module OneM2M_PermutationFunctions {
 					var integer v_announcedResourceIndex := -1;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
-					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
-
+					
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
 					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
-					vc_ae1.start(f_cse_createResource(int2,v_create));
+					vc_ae1.start(f_cse_preamble_registerAe());
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
@@ -11429,13 +11622,14 @@ module OneM2M_PermutationFunctions {
 					
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
 					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
-					vc_ae1.start(f_cse_createResource(int2,v_create));
+					vc_ae1.start(f_cse_preamble_registerAe());
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
 					v_aeIndex := f_getLatestResourceIndex(vc_ae1);
@@ -11456,7 +11650,7 @@ module OneM2M_PermutationFunctions {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
 			
-							f_processUpdateRequestPrimitive(vc_request.primitive.requestPrimitive, -, v_announcedResourceIndex);
+							f_processUpdateRequestPrimitive(vc_request.primitive.requestPrimitive, -, v_announcedResourceIndex, vc_request.nullFields);
 							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
 						}
 						[] mccPortIn.receive(mw_request(p_updateRequestAnnc)) -> value vc_request {
@@ -11498,6 +11692,7 @@ module OneM2M_PermutationFunctions {
 	
 					//Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
@@ -11506,10 +11701,10 @@ module OneM2M_PermutationFunctions {
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
 					//Preamble
-					v_aeIndex := f_cse_createResource(int2,v_create);
+					v_aeIndex := f_cse_preamble_registerAe();
 					
 					// Test Body
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, v_localRemoteCseIndex));
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, -, -));
 					v_resourceIndex := f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex);					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
@@ -11566,6 +11761,7 @@ module OneM2M_PermutationFunctions {
 	
 					//Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 					
 					// Test adapter configuration
 					// Register the CSE
@@ -11574,13 +11770,13 @@ module OneM2M_PermutationFunctions {
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
 					//Preamble
-					v_aeIndex := f_cse_createResource(int2,v_create);
+					v_aeIndex := f_cse_preamble_registerAe();
 					
 					// Test Body
 					v_resourceIndex := f_cse_createResource(p_resourceType,p_requestCreatePrimitive, v_aeIndex);					
 					
 					// Test Body
-					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, int4000, v_localRemoteCseIndex));
+					vc_cse1.start(f_cse_announcementProcedure_createHandler(p_createRequestAnnc, int4000, -));
 
 					v_updateRequest := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
 					f_send(e_mcaPort, m_request(v_updateRequest));
@@ -11631,7 +11827,8 @@ module OneM2M_PermutationFunctions {
 
 				  	//Test component configuration
 				  	f_cf02Up();
-
+					vc_resetRequired := true;
+					
 				  	//Register the CSE
 				  	vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));	
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
@@ -11693,7 +11890,8 @@ module OneM2M_PermutationFunctions {
 
 					// Test component configuration
 					f_cf02UpCseSimuMaster();
-
+					vc_resetRequired := true;
+					
 					// Test adapter configuration
 					// Register the CSE
 					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));	
@@ -12488,6 +12686,10 @@ module OneM2M_PermutationFunctions {
 						}else{
 							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
 						}
+						p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);					
+						p_requestPrimitive.responseType.responseTypeValue := int2;		//nonBlockingRequestAsynch
+						p_requestPrimitive.responseType.notificationURI := {f_getResourceAddress(v_aeIndex), f_getResourceAddress(v_ae2Index)};		//"...an empty notification target list is provided"
+	
 						// Test Body
 
 						f_send(e_mcaPort, m_request(valueof(p_requestPrimitive)));
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index dc638d7782ce919c87ec0bf7f237962a71097ffe..368690adb0aeebc96bd406bc0c0f35e66a5f0c10 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -3661,15 +3661,16 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_CRE_001_CNT_CB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.container.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int3, v_createRequest, -)); //Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -3679,17 +3680,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 						
 					testcase TC_CSE_DMR_CRE_001_CNT_AE() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.container.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int3, v_createRequest, m_createAe(PX_TS_AE1.appId, omit, PX_TS_AE1.aeIdStem, -, omit)));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																			
-							if(getverdict == pass){ 
+							if(v_verdict == pass){ 
 								v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 								if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
 									setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
@@ -3700,6 +3702,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_001_CNT_CNT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
@@ -3707,9 +3710,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_createRequest.primitiveContent.container.resourceName := omit;
 
 						v_ae1.start(f_CSE_DMR_CRE_001(int3, v_createRequest, m_createContainerBase));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 					}
@@ -3719,6 +3722,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_001_GRP_CB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
@@ -3726,11 +3730,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_createRequest.primitiveContent.group_.resourceName := omit;
 
 						v_ae1.start(f_CSE_DMR_CRE_001(int9, v_createRequest, -));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 						}
@@ -3740,6 +3744,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						
 					testcase TC_CSE_DMR_CRE_001_GRP_AE() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
@@ -3747,11 +3752,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_createRequest.primitiveContent.group_.resourceName := omit;
 
 						v_ae1.start(f_CSE_DMR_CRE_001(int9, v_createRequest, m_createAe(PX_TS_AE1.appId, omit, PX_TS_AE1.aeIdStem, -, omit)));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
 									setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 								}
@@ -3761,6 +3766,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_001_ACP_CB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
@@ -3768,11 +3774,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
 						v_ae1.start(f_CSE_DMR_CRE_001(int1, v_createRequest, -));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 						}
@@ -3782,6 +3788,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_001_ACP_AE() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
@@ -3789,11 +3796,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
 						v_ae1.start(f_CSE_DMR_CRE_001(int1, v_createRequest, m_createAe(PX_TS_AE1.appId, omit, PX_TS_AE1.aeIdStem, -, omit)));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -3803,17 +3810,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					testcase TC_CSE_DMR_CRE_001_SUB_CB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, -));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -3823,17 +3831,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_001_SUB_AE() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAe(PX_TS_AE1.appId, omit, PX_TS_AE1.aeIdStem, -, omit)));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -3843,17 +3852,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 						
 					testcase TC_CSE_DMR_CRE_001_SUB_CNT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createContainerBase));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -3863,17 +3873,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_001_SUB_ACP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createAcpBase));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -3882,17 +3893,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_001_SUB_CSR() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						
 						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_001_cseSimu(int23, v_createRequest));//Subscription
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -3901,17 +3913,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_001_CIN_CNT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.contentInstance.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase));//ContentInstance
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.contentInstance.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -3930,15 +3943,16 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_CRE_002_CNT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_ae1.start(f_CSE_DMR_CRE_002(int3, m_createContainerBase));//container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 						
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							} else {
@@ -3952,15 +3966,16 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_CRE_002_GRP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_ae1.start(f_CSE_DMR_CRE_002(int9, m_createGroupBase));//group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							} else {
@@ -3973,15 +3988,16 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_002_ACP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_ae1.start(f_CSE_DMR_CRE_002(int1, m_createAcpBase ));//accessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							} else {
@@ -3994,15 +4010,16 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_CRE_002_SUB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_ae1.start(f_CSE_DMR_CRE_002(int23, m_createSubscriptionBase));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							} else {
@@ -4159,16 +4176,17 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_CRE_006_MNI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest));		
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxNrOfInstances)){
 								setverdict(fail, __SCOPE__ & ": Error, maxNrOfInstances attribute not provided");
 							} 
@@ -4177,16 +4195,17 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_006_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest));
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxByteSize)){
 								setverdict(fail, __SCOPE__ & ": Error, maxByteSize attribute not provided");
 							} 
@@ -4196,16 +4215,17 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_CRE_006_MIA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 												
 						v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest));
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxInstanceAge)){
 								setverdict(fail, __SCOPE__ & ": Error, maxInstanceAge attribute not provided");
 							} 
@@ -5129,6 +5149,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_UPD_001_CNT_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5141,11 +5162,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.labels := v_labels_2;
 						
 						v_ae1.start(f_CSE_DMR_UPD_001(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -5168,6 +5189,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_UPD_001_GRP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5180,11 +5202,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.group_.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_001(int9, v_createRequest, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -5207,6 +5229,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_001_ACP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5219,11 +5242,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_001(int1, v_createRequest, v_updateRequest));//ACP
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -5246,6 +5269,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					testcase TC_CSE_DMR_UPD_001_SUB_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5258,11 +5282,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_001(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -5294,6 +5318,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_UPD_002_CNT_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5303,11 +5328,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.labels := v_labels_1;
                         
 						v_ae1.start(f_CSE_DMR_UPD_002(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -5330,6 +5355,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_UPD_002_GRP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5339,11 +5365,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.group_.labels := v_labels_1;
 						
 						v_ae1.start(f_CSE_DMR_UPD_002(int9, m_createGroupBase, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -5366,6 +5392,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_002_ACP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5375,11 +5402,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
 							
 						v_ae1.start(f_CSE_DMR_UPD_002(int1, m_createAcpBase,v_updateRequest));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -5402,6 +5429,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					testcase TC_CSE_DMR_UPD_002_SUB_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5411,11 +5439,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.labels := v_labels_1;
 						
 						v_ae1.start(f_CSE_DMR_UPD_002(int23, m_createSubscriptionBase,v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -5446,6 +5474,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_UPD_003_CNT_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5461,11 +5490,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_nullFields := {{"labels", omit}};
                         
 						v_ae1.start(f_CSE_DMR_UPD_003(int3, v_createRequest, v_updateRequest, v_nullFields));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -5492,6 +5521,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_UPD_003_GRP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5507,11 +5537,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_nullFields := {{"labels", omit}};
 						
 						v_ae1.start(f_CSE_DMR_UPD_003(int9, v_createRequest, v_updateRequest, v_nullFields));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -5536,6 +5566,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_003_ACP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5551,11 +5582,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_nullFields := {{"labels", omit}};
 							
 						v_ae1.start(f_CSE_DMR_UPD_003(int1, v_createRequest, v_updateRequest, v_nullFields));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -5580,6 +5611,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					testcase TC_CSE_DMR_UPD_003_SUB_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5595,11 +5627,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_nullFields := {{"labels", omit}};
 						
 						v_ae1.start(f_CSE_DMR_UPD_003(int23, v_createRequest, v_updateRequest, v_nullFields));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -5632,6 +5664,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_UPD_004_CNT_ET_MNI_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -5648,11 +5681,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_nullFields := {{"labels", omit}};
 						
 						v_ae1.start(f_CSE_DMR_UPD_004(int3, v_createRequest, v_updateRequest, v_nullFields));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
 									//Check attribute 1
@@ -5692,6 +5725,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_UPD_004_GRP_ET_GN_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.String v_groupName_1 := "VALUE_1";
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -5710,11 +5744,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_nullFields := {{"labels", omit}};
                         
 						v_ae1.start(f_CSE_DMR_UPD_004(int9, v_createRequest, v_updateRequest, v_nullFields));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
 									//Check attribute 1
@@ -5754,6 +5788,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_004_ACP_PVS_PV_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -5773,11 +5808,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_nullFields := {{"labels", omit}};
       							
 						v_ae1.start(f_CSE_DMR_UPD_004(int1, v_createRequest, v_updateRequest, v_nullFields));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
 									//Check attribute 1
@@ -5817,6 +5852,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_004_SUB_ET_LBL_EXC() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var AttributeAux_list v_nullFields;
@@ -5832,11 +5868,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_nullFields := {{"expirationCounter", omit}};
       							
 						v_ae1.start(f_CSE_DMR_UPD_004(int23, v_createRequest, v_updateRequest, v_nullFields));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
 									//Check attribute 1
@@ -5960,6 +5996,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_UPD_006_CNT_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -5967,9 +6004,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.labels := v_labels_1;
 						
 						v_ae1.start(f_CSE_DMR_UPD_006(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.container)) {
@@ -5982,6 +6019,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_UPD_006_GRP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -5989,9 +6027,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.group_.labels := v_labels_1;
 						
 						v_ae1.start(f_CSE_DMR_UPD_006(int9, m_createGroupBase, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.group_)) {
@@ -6004,6 +6042,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_006_ACP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -6014,9 +6053,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
 								
 						v_ae1.start(f_CSE_DMR_UPD_006(int1, v_requestPrimitive, v_updateRequest));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) {
@@ -6029,6 +6068,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					testcase TC_CSE_DMR_UPD_006_SUB_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -6036,9 +6076,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.labels := v_labels_1;
 								
 						v_ae1.start(f_CSE_DMR_UPD_006(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.subscription)) {
@@ -6059,6 +6099,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_UPD_007_CNT_CT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_creationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -6067,9 +6108,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container_invalid.creationTime := v_creationTime;
 						
 						v_ae1.start(f_CSE_DMR_UPD_007(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.container_invalid)) {
@@ -6082,6 +6123,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_UPD_007_GRP_CT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_creationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -6090,9 +6132,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.group_invalid.creationTime := v_creationTime;
 						
 						v_ae1.start(f_CSE_DMR_UPD_007(int9, m_createGroupBase, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.group_invalid)) {
@@ -6105,6 +6147,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_007_ACP_CT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_creationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -6113,9 +6156,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.accessControlPolicy_invalid.creationTime := v_creationTime;
 								
 						v_ae1.start(f_CSE_DMR_UPD_007(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy_invalid)) {
@@ -6128,6 +6171,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					testcase TC_CSE_DMR_UPD_007_SUB_CT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_creationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -6136,9 +6180,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription_invalid.creationTime := v_creationTime;
 								
 						v_ae1.start(f_CSE_DMR_UPD_007(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.subscription_invalid)) {
@@ -6160,6 +6204,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					testcase TC_CSE_DMR_UPD_008_GRP_MNM() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 						var AttributeAux_list v_nullFields;
@@ -6169,9 +6214,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.group_.maxNrOfMembers := 1;
 						
 						v_ae1.start(f_CSE_DMR_UPD_008(int9, m_createGroupBase, v_updateRequest, v_nullFields));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							  //Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.group_)) {
@@ -6184,6 +6229,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_008_ACP_PVS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var SetOfAcrs v_selfPrivileges:= {{valueof(m_createAcr({"all"}, int63))}};
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -6194,9 +6240,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.accessControlPolicy.selfPrivileges := v_selfPrivileges;
 								
 						v_ae1.start(f_CSE_DMR_UPD_008(int1, m_createAcpBase, v_updateRequest, v_nullFields));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 						  	//Check that the resource has NOT been udpated
 						  	if(ischosen(v_primitiveContentRetrieveResource.accessControlPolicy)) {
@@ -6209,6 +6255,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					testcase TC_CSE_DMR_UPD_008_SUB_NU() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 						var AttributeAux_list v_nullFields;
@@ -6218,9 +6265,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.notificationURI := {"NullTarget"};
 								
 						v_ae1.start(f_CSE_DMR_UPD_008(int23, m_createSubscriptionBase, v_updateRequest, v_nullFields));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							  //Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.subscription)) {
@@ -6305,19 +6352,20 @@ module OneM2M_Testcases_CSE_Release_1 {
 				 */
 					testcase TC_CSE_DMR_UPD_010_CNT() runs on Tester system CseSystem {
 						// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-					var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
+						var verdicttype v_verdict;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-					var Labels v_labels_1:= {"VALUE_1"};
+						var Labels v_labels_1:= {"VALUE_1"};
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 			   
 
 						v_updateRequest.primitiveContent.container.labels := v_labels_1;
 
 						v_ae1.start(f_CSE_DMR_UPD_010(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that stateTag has been incremented
 							  if(ischosen(v_primitiveContentRetrieveResource.container)) {
@@ -6340,19 +6388,20 @@ module OneM2M_Testcases_CSE_Release_1 {
 				 */
 					testcase TC_CSE_DMR_UPD_011_CNT_CIN() runs on Tester system CseSystem {
 						// Local variables
-					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-					var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase;
-					var Labels v_labels:= {"LABEL"};
+						var verdicttype v_verdict;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase;
+						var Labels v_labels:= {"LABEL"};
 						var template RequestPrimitive v_createParentRequest := m_createContainerBase;
 						var template RequestPrimitive v_createChildRequest := m_createContentInstanceBase;
-					var PrimitiveContent v_primitiveContentRetrieveResource;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
 					
-					v_updateRequest.primitiveContent.contentInstance.labels := v_labels;
+						v_updateRequest.primitiveContent.contentInstance.labels := v_labels;
 							   
 						v_ae1.start(f_CSE_DMR_UPD_011(int3, v_createParentRequest, int4, v_createChildRequest, v_updateRequest));//ContentInstance under Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
         
-					if(getverdict == pass){ 
+					if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 						//Check that the resource has NOT been udpated
 							if(ischosen(v_primitiveContentRetrieveResource.contentInstance)) {
@@ -6534,6 +6583,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_014_ACP_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -6545,11 +6595,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest));//ACP
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -6564,6 +6614,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_014_CNT_ACPI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var AcpType v_accessControlPolicyIDs_1 := {"NotInitialized_1"};
 						var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"};
@@ -6575,11 +6626,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.accessControlPolicyIDs := v_accessControlPolicyIDs_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest, true));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -6593,6 +6644,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_014_CNT_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -6604,11 +6656,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.labels := v_labels_2;
 		
 						v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -6622,6 +6674,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_014_CNT_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxByteSize_1 := 256;
 						var XSD.NonNegativeInteger v_maxByteSize_2 := 512;
@@ -6633,11 +6686,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.maxByteSize := v_maxByteSize_2;
 	
 						v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -6651,6 +6704,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_014_CNT_MIA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxInstanceAge_1 := 60;
 						var XSD.NonNegativeInteger v_maxInstanceAge_2 := 120;
@@ -6662,11 +6716,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.maxInstanceAge := v_maxInstanceAge_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -6680,6 +6734,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_014_CNT_MNI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxNrOfInstances_1 := 1;
 						var XSD.NonNegativeInteger v_maxNrOfInstances_2 := 2;
@@ -6691,11 +6746,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.maxNrOfInstances := v_maxNrOfInstances_2;
 	
 						v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -6709,6 +6764,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_ACPI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var AcpType v_accessControlPolicyIDs_1 := {"NotInitialized_1"};
 						var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"};
@@ -6719,11 +6775,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.accessControlPolicyIDs := v_accessControlPolicyIDs_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest, true));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -6738,6 +6794,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -6748,11 +6805,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -6774,6 +6831,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 * @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
 					 */
 					testcase TC_CSE_DMR_UPD_015_CSR_LBL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels := {"MyLabel"};
 					   	var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;
@@ -6782,11 +6840,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 					   v_updateRequest.primitiveContent.remoteCSE.labels := v_labels;
 	
 					   v_ae1.start(f_CSE_DMR_UPD_015(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-					   if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+					   if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 						   //Check attribute 1
 						   if(ispresent(v_responsePrimitive.primitiveContent)) {
 							   if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) {
@@ -6807,6 +6865,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_CSR_POA() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var PoaList v_poaList := {f_getLocalPoA(PX_TS_AE2.mcaPortIn)};
 					   var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;
@@ -6815,11 +6874,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 					   v_updateRequest.primitiveContent.remoteCSE.pointOfAccess := v_poaList;
 
 					   v_ae1.start(f_CSE_DMR_UPD_015(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-					   if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+					   if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 						  //Check attribute 1
 						  if(ispresent(v_responsePrimitive.primitiveContent)) {
 							  if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) {
@@ -6840,6 +6899,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_CSR_NL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.AnyURI v_nodeLink := "MyNodeId";
 					   	var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;
@@ -6848,11 +6908,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 					   v_updateRequest.primitiveContent.remoteCSE.nodeLink := v_nodeLink;
 
 					   v_ae1.start(f_CSE_DMR_UPD_015(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-					   if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+					   if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 						 //Check attribute 1
 						 if(ispresent(v_responsePrimitive.primitiveContent)) {
 							 if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) {
@@ -6873,6 +6933,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 			  		
 					testcase TC_CSE_DMR_UPD_015_AE_LBL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels := {"MyLabel"};
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
@@ -6881,11 +6942,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.aE.labels := v_labels;
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int2, m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem), v_updateRequest));//AE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.aE)) {
@@ -6906,17 +6967,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_AE_ACPI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var RequestPrimitive v_updateRequestPrimitive;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_ae1.start(f_CSE_DMR_UPD_015(int2, m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem), v_updateRequest, true));//AE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1);	
 							 //Check attribute 1
@@ -6939,6 +7001,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_AE_APN() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.String v_appName := "MyAppName";
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
@@ -6946,11 +7009,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_updateRequest.primitiveContent.aE.appName := v_appName;
 						v_ae1.start(f_CSE_DMR_UPD_015(int2, m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem), v_updateRequest));//AE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.aE)) {
@@ -6971,6 +7034,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_AE_POA() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var PoaList v_poaList := {f_getLocalPoA(PX_TS_AE2.mcaPortIn)};
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
@@ -6978,11 +7042,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_updateRequest.primitiveContent.aE.pointOfAccess := v_poaList;
 						v_ae1.start(f_CSE_DMR_UPD_015(int2, m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem), v_updateRequest));//AE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.aE)) {
@@ -7003,6 +7067,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_CNT_LBL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels := {"MyLabel"};
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -7011,11 +7076,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.labels := v_labels;
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -7036,17 +7101,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_CNT_ACPI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						var RequestPrimitive v_updateRequestPrimitive;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_ae1.start(f_CSE_DMR_UPD_015(int3, m_createContainerBase, v_updateRequest, true));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							 v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1);	
 							 //Check attribute 1
@@ -7069,6 +7135,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_CNT_MNI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxNrOfInstances := 5;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -7077,11 +7144,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.maxNrOfInstances := v_maxNrOfInstances;
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -7102,6 +7169,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_CNT_MBS() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxByteSize := 512;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -7110,11 +7178,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.maxByteSize := v_maxByteSize;
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -7135,6 +7203,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_CNT_MIA() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;					
 						var XSD.NonNegativeInteger v_maxInstanceAge := 1;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -7143,11 +7212,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.maxInstanceAge := v_maxInstanceAge;
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -7168,6 +7237,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_ACP_LBL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels := {"MyLabel"};
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -7176,11 +7246,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels;
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -7201,17 +7271,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_ACPI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 						var RequestPrimitive v_updateRequestPrimitive;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest, true));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1);	
 							  //Check attribute 1
@@ -7234,6 +7305,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_LBL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels := {"MyLabel"};
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -7241,11 +7313,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_updateRequest.primitiveContent.subscription.labels := v_labels;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -7266,6 +7338,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_GRP_LBL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels := {"MyLabel"};
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7273,11 +7346,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_updateRequest.primitiveContent.group_.labels := v_labels;
 						v_ae1.start(f_CSE_DMR_UPD_015(int9, m_createGroupBase, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -7298,17 +7371,18 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_GRP_ACPI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 						var RequestPrimitive v_updateRequestPrimitive;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_ae1.start(f_CSE_DMR_UPD_015(int9, m_createGroupBase, v_updateRequest, true));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							 v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1);	
 							 //Check attribute 1
@@ -7331,6 +7405,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_GRP_MACP() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var ListOfURIs v_membersAccessControlPolicyIDs := {"NotInitialized"};
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7338,11 +7413,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_updateRequest.primitiveContent.group_.membersAccessControlPolicyIDs := v_membersAccessControlPolicyIDs;
 						v_ae1.start(f_CSE_DMR_UPD_015(int9, m_createGroupBase, v_updateRequest, true));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -7363,6 +7438,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_GRP_GN() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.String v_groupName:="MyGroupName";
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7370,11 +7446,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_updateRequest.primitiveContent.group_.groupName := v_groupName;
 						v_ae1.start(f_CSE_DMR_UPD_015(int9, m_createGroupBase, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -7402,6 +7478,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 * @desc Check that the IUT updates successfully the value of the attribute MANDATORY_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
 					*/
 					testcase TC_CSE_DMR_UPD_016_CSR_ET() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;
@@ -7410,11 +7487,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.remoteCSE.expirationTime := v_expirationTime;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 						
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) {
@@ -7435,6 +7512,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_CSR_RR() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.Boolean v_requestReachability := true;
 						var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;
@@ -7443,9 +7521,9 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.remoteCSE.requestReachability := v_requestReachability;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int16, m_createRemoteCSEBase, v_updateRequest));//Remote CSE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.remoteCSE)) {
@@ -7466,6 +7544,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 			  		
 					testcase TC_CSE_DMR_UPD_016_AE_ET() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
@@ -7474,11 +7553,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.aE.expirationTime := v_expirationTime;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int2, m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem), v_updateRequest));//AE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.aE)) {
@@ -7499,6 +7578,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_AE_RR() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.Boolean v_requestReachability := true;
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
@@ -7507,11 +7587,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.aE.requestReachability := v_requestReachability;
 
 						v_ae1.start(f_CSE_DMR_UPD_016(int2, m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem), v_updateRequest));//AE
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.aE)) {
@@ -7532,6 +7612,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_CNT_ET() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
@@ -7540,11 +7621,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -7565,6 +7646,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_ACP_ET() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -7573,11 +7655,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -7598,6 +7680,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_ACP_PV() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var SetOfAcrs v_privileges_1 := {{valueof(m_createAcr({PX_SUPER_AE_ID}, int61))}};
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -7605,11 +7688,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_updateRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_1;
 						v_ae1.start(f_CSE_DMR_UPD_016(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -7630,6 +7713,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_ACP_PVS() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var SetOfAcrs v_privileges_1 := {{valueof(m_createAcr({PX_SUPER_AE_ID}, int62))}};
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
@@ -7637,11 +7721,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_updateRequest.primitiveContent.accessControlPolicy.selfPrivileges := v_privileges_1;
 						v_ae1.start(f_CSE_DMR_UPD_016(int1, m_createAcpBase, v_updateRequest));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -7662,6 +7746,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 				    
 					testcase TC_CSE_DMR_UPD_016_SUB_ET() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -7670,11 +7755,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -7696,6 +7781,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_SUB_NU() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var ListOfURIs v_notificationURI := {"NotReachableNotificationURI"};
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -7705,11 +7791,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.notificationURI := v_notificationURI;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -7730,6 +7816,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_SUB_NCT() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var NotificationContentType v_notificationContentType := int2;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -7738,11 +7825,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -7763,6 +7850,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_GRP_ET() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7771,11 +7859,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int9, m_createGroupBase, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -7796,6 +7884,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_GRP_MNM() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.PositiveInteger v_maxNrOfMembers := 10;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7804,11 +7893,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.group_.maxNrOfMembers := v_maxNrOfMembers;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int9, m_createGroupBase, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -7829,6 +7918,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_016_GRP_MID() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var ListOfURIs v_memberIDs := {"NotInitialized"};
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
@@ -7837,11 +7927,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						v_updateRequest.primitiveContent.group_.memberIDs := v_memberIDs;
 						
 						v_ae1.start(f_CSE_DMR_UPD_016(int9, m_createGroupBase, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -7968,14 +8058,15 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 */
 					testcase TC_CSE_DMR_DEL_005_CNT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 		
 						
 						v_ae1.start(f_CSE_DMR_DEL_005(int3, m_createContainerBase, int3, m_createContainerBase));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that stateTag has been incremented
 							  if(ischosen(v_primitiveContentRetrieveResource.container)) {
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index e5af8e553d436edc95d475bb419fa94aa843ae6a..6afe2af5d59d77bc99d3bf2c9d13426130ac3da8 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -594,6 +594,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					 */
 					testcase TC_CSE_DMR_CRE_001_PCH_AE() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
@@ -602,7 +603,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_createRequest.primitiveContent.pollingChannel.resourceName := omit;
 
 						v_ae1.start(f_CSE_DMR_CRE_001(int15, v_createRequest, m_createAe(PX_TS_AE1.appId, omit, PX_TS_AE1.aeIdStem, -, omit)));//PollingChannel
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
@@ -624,11 +625,12 @@ module OneM2M_Testcases_CSE_Release_2 {
 					 */
 					testcase TC_CSE_DMR_CRE_002_PCH() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 			
 						v_ae1.start(f_CSE_DMR_CRE_002(int15, m_createPollingChannelBase));//Pollingchannel
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
@@ -645,11 +647,12 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_CRE_002_FLXC() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 
 						v_ae1.start(f_CSE_DMR_CRE_002(int28, m_createGenericInterworkingServiceBase));//Specialization of FlexContainer
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 							
 						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.genericInterworkingService.resourceName)){
@@ -705,14 +708,15 @@ module OneM2M_Testcases_CSE_Release_2 {
 					 */
 					testcase TC_CSE_DMR_CRE_006_CNT_MNI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 		
 						v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest));		
-						v_ae1.done;		 
+						v_ae1.done -> value v_verdict;		 
 														
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxNrOfInstances)){
 								setverdict(fail, __SCOPE__, ": Error, maxNrOfInstances attribute not provided");
 							} 
@@ -721,14 +725,15 @@ module OneM2M_Testcases_CSE_Release_2 {
 	
 					testcase TC_CSE_DMR_CRE_006_CNT_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 		
 						v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest));
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 																				
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxByteSize)){
 								setverdict(fail, __SCOPE__, ": Error, maxByteSize attribute not provided");
 							} 
@@ -738,15 +743,16 @@ module OneM2M_Testcases_CSE_Release_2 {
 	
 					testcase TC_CSE_DMR_CRE_006_CNT_MIA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 								
 						
 						v_ae1.start(f_CSE_DMR_CRE_006(int3, v_createRequest));
-						v_ae1.done;		 
+						v_ae1.done -> value v_verdict;		 
 														
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxInstanceAge)){
 								setverdict(fail, __SCOPE__, ": Error, maxInstanceAge attribute not provided");
 							} 
@@ -1205,6 +1211,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					 */
 					testcase TC_CSE_DMR_UPD_001_PCH_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -1217,11 +1224,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_001(int15, v_createRequest, v_updateRequest));//PollingChannel
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) {
@@ -1253,6 +1260,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					 */
 					testcase TC_CSE_DMR_UPD_002_PCH_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"VALUE_1"};
@@ -1262,11 +1270,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1;
 						
 						v_ae1.start(f_CSE_DMR_UPD_002(int15, m_createPollingChannelBase,v_updateRequest));//PollingChannel
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) {
@@ -1297,6 +1305,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					 */
 					testcase TC_CSE_DMR_UPD_003_PCH_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -1311,11 +1320,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_nullFields := {{"labels", omit}};
 						
 						v_ae1.start(f_CSE_DMR_UPD_003(int15, v_createRequest, v_updateRequest, v_nullFields));//PollingChannel
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) {
@@ -1349,6 +1358,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					 */
 					testcase TC_CSE_DMR_UPD_007_PCH_CT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_creationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
@@ -1357,9 +1367,9 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.pollingChannel_invalid.creationTime := v_creationTime;
 							
 						v_ae1.start(f_CSE_DMR_UPD_007(int15, m_createPollingChannelBase, v_updateRequest));//PollingChannel
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.pollingChannel_invalid)) {
@@ -1402,6 +1412,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					 */
 					testcase TC_CSE_DMR_UPD_014_ACP_ET() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime_1 := "20301231T012345";
 						var Timestamp v_expirationTime_2 := "20401020T012345";
@@ -1412,11 +1423,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int1, v_createRequest, v_updateRequest));//ACP
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 						
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -1431,6 +1442,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 										
 					testcase TC_CSE_DMR_UPD_014_CNT_ET() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime_1 := "20301231T012345";
 						var Timestamp v_expirationTime_2 := "20401020T012345";
@@ -1442,11 +1454,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -1460,6 +1472,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 										
 					testcase TC_CSE_DMR_UPD_014_CNT_OR() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.AnyURI v_ontologyRef_1 := "MyOntologyRef_1";
 						var XSD.AnyURI v_ontologyRef_2 := "MyOntologyRef_2";
@@ -1471,11 +1484,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.container.ontologyRef := v_ontologyRef_2;
 	
 						v_ae1.start(f_CSE_DMR_UPD_014(int3, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -1489,6 +1502,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_BN() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var BatchNotify v_batchNotify_1 := {1, "PT1S"};
 						var BatchNotify v_batchNotify_2 := {2, "PT1S"};
@@ -1499,11 +1513,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.batchNotify := v_batchNotify_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1518,6 +1532,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_ENC() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var EventNotificationCriteria v_eventNotificationCriteria_1 := valueof(m_eventNotificationCriteria({int1}, -));
@@ -1529,11 +1544,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.eventNotificationCriteria := v_eventNotificationCriteria_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1548,6 +1563,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_ET() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Timestamp v_expirationTime_1 := "20301231T012345";
@@ -1559,11 +1575,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1578,6 +1594,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_EXC() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.PositiveInteger v_expirationCounter_1 := 10;
@@ -1589,11 +1606,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.expirationCounter := v_expirationCounter_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1608,6 +1625,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_GPI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.AnyURI v_groupID_1 := "MyGroupID_1";
@@ -1619,11 +1637,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.groupID := v_groupID_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1638,6 +1656,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_LN() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.Boolean v_latestNotify_1 := true;
@@ -1649,11 +1668,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.latestNotify := v_latestNotify_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1668,6 +1687,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_NCT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					
 						var NotificationContentType v_notificationContentType_1 := int1;
@@ -1679,11 +1699,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.notificationContentType := v_notificationContentType_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1698,6 +1718,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_NEC() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var EventCat v_notificationEventCat_1 := {alt_1 := 100};
@@ -1709,11 +1730,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.notificationEventCat := v_notificationEventCat_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1728,6 +1749,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_NFU() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.AnyURI v_notificationForwardingURI_1 := "MyForwardingURI_1";
@@ -1739,11 +1761,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.notificationForwardingURI := v_notificationForwardingURI_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1758,6 +1780,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_NSP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.PositiveInteger v_notificationStoragePriority_1 := 1;
@@ -1769,11 +1792,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.notificationStoragePriority := v_notificationStoragePriority_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1788,6 +1811,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_PN() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var PendingNotification v_pendingNotification_1 := int1;
@@ -1799,11 +1823,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.pendingNotification := v_pendingNotification_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -1818,6 +1842,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					
 					testcase TC_CSE_DMR_UPD_014_SUB_RL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var RateLimit v_rateLimit_1 := {0, "PT20M"};
@@ -1829,11 +1854,11 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_updateRequest.primitiveContent.subscription.rateLimit := v_rateLimit_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int23, v_createRequest, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn
index 4a0f52f3b4b8627b1833a7fd661050d2681e5486..a5f66f0e7fa5e7d9ad030722c0402758aec9d816 100644
--- a/OneM2M_Testcases_CSE_Release_3.ttcn
+++ b/OneM2M_Testcases_CSE_Release_3.ttcn
@@ -18,6 +18,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 	import from OneM2M_Types all;//{type XSD.ID};
 	import from OneM2M_TypesAndValues all;
 	import from OneM2M_Pixits all;
+    import from LibCommon_Time all;
 	import from OneM2M_Pics all;
 	import from OneM2M_Functions all;
 	import from OneM2M_PermutationFunctions all;
@@ -299,17 +300,18 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_CRE_001_SCH_CB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.schedule.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int18, v_createRequest, -));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -319,17 +321,18 @@ module OneM2M_Testcases_CSE_Release_3 {
 									
 					testcase TC_CSE_DMR_CRE_001_SCH_SUB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.schedule.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int18, v_createRequest, m_createSubscriptionBase));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -339,17 +342,18 @@ module OneM2M_Testcases_CSE_Release_3 {
 										
 					testcase TC_CSE_DMR_CRE_001_SUB_SCH() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createScheduleBase));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -358,17 +362,18 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_SUB_GRP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int23, v_createRequest, m_createGroupBase));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -377,6 +382,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_SUB_AEA() runs on Tester system CseSystem {
 						//Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
@@ -384,9 +390,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 	
 						v_createRequest.primitiveContent.timeSeries.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_001_cseSimu(int23, v_createRequest, int10002, v_createAEAnnc));//Subscription
-						v_cse1.done;	 
+						v_cse1.done -> value v_verdict;	 
 							
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -395,6 +401,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_CNT_AEA() runs on Tester system CseSystem {
 						//Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
@@ -402,9 +409,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 						v_createRequest.primitiveContent.container.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_001_cseSimu(int3, v_createRequest, int10002, v_createAEAnnc));//Container
-						v_cse1.done;	 
+						v_cse1.done -> value v_verdict;	 
 		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -414,6 +421,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_GRP_AEA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
@@ -421,9 +429,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 						v_createRequest.primitiveContent.group_.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_001_cseSimu(int9, v_createRequest, int10002, v_createAEAnnc));//Group
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -432,6 +440,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_ACP_AEA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
@@ -439,9 +448,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_001_cseSimu(int1, v_createRequest, int10002, v_createAEAnnc));//Access Control Policy
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -450,15 +459,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 										
 					testcase TC_CSE_DMR_CRE_001_LCP_CB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createLocationPolicyBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.locationPolicy.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int10, v_createRequest, -));//Location Policy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.locationPolicy.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							}
@@ -468,15 +478,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_TS_CB() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 	
 						v_createRequest.primitiveContent.timeSeries.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int29, v_createRequest, -));//TimeSeries
-						v_ae1.done; 
+						v_ae1.done -> value v_verdict; 
 												
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeries.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -486,6 +497,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_TS_AE() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;	
@@ -493,9 +505,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.timeSeries.resourceName := omit;
 
 						v_ae1.start(f_CSE_DMR_CRE_001(int29, v_createRequest, m_createAe(PX_TS_AE1.appId, omit, PX_TS_AE1.aeIdStem, -, omit)));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 							
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeries.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -505,15 +517,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_TS_CSR() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 	
 						v_createRequest.primitiveContent.timeSeries.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_001_cseSimu(int29, v_createRequest, -, -));//TimeSeries
-						v_cse1.done;	 
+						v_cse1.done -> value v_verdict;	 
 							
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeries.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -522,6 +535,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_TS_AEA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var RequestPrimitive v_createAEAnnc := valueof(m_createAEAnncBase);
@@ -529,9 +543,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 						v_createRequest.primitiveContent.timeSeries.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_001_cseSimu(int29, v_createRequest, int10002, v_createAEAnnc));//TimeSeries
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeries.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -540,15 +554,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_001_TSI_TS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 	
 						v_createRequest.primitiveContent.timeSeriesInstance.resourceName := omit;
 						v_ae1.start(f_CSE_DMR_CRE_001(int30, v_createRequest, m_createTimeSeriesBase));//TimeSeriesInstance
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 							
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeriesInstance.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -566,15 +581,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_CRE_002_SCH() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_ae1.start(f_CSE_DMR_CRE_002(int18, m_createScheduleBase));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
 								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
 							} else {
@@ -587,14 +603,15 @@ module OneM2M_Testcases_CSE_Release_3 {
 										
 					testcase TC_CSE_DMR_CRE_002_TS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 
 						
 						v_ae1.start(f_CSE_DMR_CRE_002(int29, m_createTimeSeriesBase));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 							
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeries.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							} else {
@@ -669,15 +686,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_CRE_006_TS_MNI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 
 						
 						v_ae1.start(f_CSE_DMR_CRE_006(int29, v_createRequest));		
-						v_ae1.done;		 
+						v_ae1.done -> value v_verdict;		 
 									
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeries.maxNrOfInstances)){
 								setverdict(fail, __SCOPE__, ": Error, maxNrOfInstances attribute not provided");
 							} 
@@ -686,15 +704,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_DMR_CRE_006_TS_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 
 						
 						v_ae1.start(f_CSE_DMR_CRE_006(int29, v_createRequest));
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 															
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeries.maxByteSize)){
 								setverdict(fail, __SCOPE__, ": Error, maxByteSize attribute not provided");
 							} 
@@ -704,15 +723,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_DMR_CRE_006_TS_MIA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 			
 						
 						v_ae1.start(f_CSE_DMR_CRE_006(int29, v_createRequest));
-						v_ae1.done;		 
+						v_ae1.done -> value v_verdict;		 
 									
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeries.maxInstanceAge)){
 								setverdict(fail, __SCOPE__, ": Error, maxInstanceAge attribute not provided");
 							} 
@@ -1386,15 +1406,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_021_CNTA_AEA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createContainerAnncBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 	
 						v_createRequest.primitiveContent.containerAnnc.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_021(int10003, v_createRequest));//ContainerAnnc
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.containerAnnc.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -1403,6 +1424,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_DMR_CRE_021_GRPA_AEA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createGroupAnncBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
@@ -1410,9 +1432,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_createRequest.primitiveContent.groupAnnc.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_021(int10009, v_createRequest));//GroupAnnc
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.groupAnnc.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -1421,6 +1443,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_DMR_CRE_021_ACPA_AEA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createAcpAnncBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
@@ -1428,9 +1451,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_createRequest.primitiveContent.accessControlPolicyAnnc.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_021(int10001, v_createRequest));//AccessControlPolicyAnnc
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicyAnnc.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -1439,6 +1462,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_021_TSA_AEA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesAnncBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
@@ -1446,9 +1470,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_createRequest.primitiveContent.timeSeriesAnnc.resourceName := omit;
 						v_cse1.start(f_CSE_DMR_CRE_021(int10029, v_createRequest));//TimeSeriesAnnc
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_cse1);
 							if(not ispresent(v_responsePrimitive.primitiveContent.timeSeriesAnnc.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
@@ -1568,6 +1592,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_CRE_023_CNT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var RequestPrimitive v_requestPrimitive;
@@ -1578,9 +1603,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.container.announcedAttribute := {"mbs"};
 	
 						v_ae1.start(f_CSE_DMR_CRE_023(int3, v_createRequest, mw_createContainerAnnc()));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							//Check if maxByteSize attribute has been announced
 							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
 							if (ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){
@@ -1597,6 +1622,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 	
 					testcase TC_CSE_DMR_CRE_023_CIN() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						var RequestPrimitive v_requestPrimitive;
@@ -1607,9 +1633,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"cs"};
 		
 						v_ae1.start(f_CSE_DMR_CRE_023(int4, v_createRequest, mw_createContentInstanceAnnc()));//ContentInstance
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							//Check if contentSize attribute has been announced
 							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
 							if (ispresent(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize)){
@@ -1626,6 +1652,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_DMR_CRE_023_GRP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var RequestPrimitive v_requestPrimitive;
@@ -1636,9 +1663,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.group_.announcedAttribute := {"mnm"};
 		
 						v_ae1.start(f_CSE_DMR_CRE_023(int9, v_createRequest, mw_createGroupAnnc()));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							//Check if maxNrOfMembers attribute has been announced
 							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
 							if (ispresent(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers)){
@@ -1655,6 +1682,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 	
 					testcase TC_CSE_DMR_CRE_023_LCP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit);
 						var RequestPrimitive v_requestPrimitive;
@@ -1665,9 +1693,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.locationPolicy.announcedAttribute := {"los"};
 		
 						v_ae1.start(f_CSE_DMR_CRE_023(int10, v_createRequest, mw_createLocationPolicyAnnc()));//LocationPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							//Check if locationSource attribute has been announced
 							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
 							if (ispresent(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource)){
@@ -1684,6 +1712,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 	
 					testcase TC_CSE_DMR_CRE_023_SCH() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var RequestPrimitive v_requestPrimitive;
@@ -1694,9 +1723,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.schedule.announcedAttribute := {"se"};
 						
 						v_ae1.start(f_CSE_DMR_CRE_023(int18, v_createRequest, mw_createScheduleAnnc()));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							//Check if scheduleElement attribute has been announced
 							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
 							if (ispresent(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement)){
@@ -1713,6 +1742,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_023_TS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var RequestPrimitive v_requestPrimitive;
@@ -1724,9 +1754,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.timeSeries.announcedAttribute := {"mbs"};
 
 						v_ae1.start(f_CSE_DMR_CRE_023(int29, v_createRequest, mw_createTimeSeriesAnnc()));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 	
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							//Check if maxByteSize attribute has been announced
 							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
 							if (ispresent(v_requestPrimitive.primitiveContent.timeSeriesAnnc.maxByteSize)){
@@ -1743,6 +1773,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_CRE_023_TSI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
 						var RequestPrimitive v_requestPrimitive;
@@ -1754,9 +1785,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.timeSeriesInstance.announcedAttribute := {"snr"};
 
 						v_ae1.start(f_CSE_DMR_CRE_023(int30, v_createRequest, mw_createTimeSeriesInstanceAnnc()));//TimeSeriesInstance
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							//Check if maxByteSize attribute has been announced
 							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
 							if (ispresent(v_requestPrimitive.primitiveContent.timeSeriesInstanceAnnc.sequenceNr)){
@@ -3515,6 +3546,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_001_SCH_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -3527,11 +3559,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.schedule.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_001(int18, v_createRequest, v_updateRequest));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.schedule)) {
@@ -3555,6 +3587,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_001_TS_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -3568,11 +3601,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_001(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 	
 	 
 													
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -3603,6 +3636,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_002_SCH_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
@@ -3612,11 +3646,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.schedule.labels := v_labels_1;
 						
 						v_ae1.start(f_CSE_DMR_UPD_002(int18, m_createScheduleBase,v_updateRequest));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.schedule)) {
@@ -3639,6 +3673,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_002_TS_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -3649,11 +3684,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.labels := v_labels_1;
 	
 						v_ae1.start(f_CSE_DMR_UPD_002(int29, m_createTimeSeriesBase,v_updateRequest));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 	
 	 
 													
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -3684,6 +3719,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_003_SCH_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -3699,11 +3735,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"labels", omit}};
 						
 						v_ae1.start(f_CSE_DMR_UPD_003(int18, v_createRequest, v_updateRequest, v_nullFields));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.schedule)) {
@@ -3728,6 +3764,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_003_TS_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -3744,11 +3781,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"labels", omit}};
 	
 						v_ae1.start(f_CSE_DMR_UPD_003(int29, v_createRequest, v_updateRequest, v_nullFields));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 	
 	 
 													
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -3781,6 +3818,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_004_ACP_PV_AT_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -3798,11 +3836,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"labels", omit}};
       							
 						v_ae1.start(f_CSE_DMR_UPD_004(int1, v_createRequest, v_updateRequest, v_nullFields));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
 									//Check attribute 1
@@ -3842,6 +3880,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 				
 					testcase TC_CSE_DMR_UPD_004_SCH_SE_AT_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var Labels v_labels_1 := {"To be deleted"};
@@ -3859,11 +3898,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"labels", omit}};
 						
 						v_ae1.start(f_CSE_DMR_UPD_004(int18, v_createRequest, v_updateRequest, v_nullFields));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.schedule)) {
 									//Check attribute 1
@@ -3903,6 +3942,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_004_TS_ET_MNI_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"To be deleted"};
@@ -3921,9 +3961,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"labels", omit}};
 						
 						v_ae1.start(f_CSE_DMR_UPD_004(int29, v_createRequest, v_updateRequest, v_nullFields));//TimeSeries
-						v_ae1.done;					 
+						v_ae1.done -> value v_verdict;					 
 																		
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
 									//Check attribute 1
@@ -3971,6 +4011,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_006_SCH_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
@@ -3979,9 +4020,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.schedule.labels := v_labels_1;
 										
 						v_ae1.start(f_CSE_DMR_UPD_006(int18, m_createScheduleBase, v_updateRequest));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.schedule)) {
@@ -3994,6 +4035,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_006_TS_LBL() runs on Tester system CseSystem {
 						// Local variable
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -4003,9 +4045,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.labels := v_labels_1;
 		
 						v_ae1.start(f_CSE_DMR_UPD_006(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 	
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 
 							//Check that the resource has NOT been udpated
@@ -4027,6 +4069,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_007_SCH_CT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_creationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
@@ -4036,9 +4079,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.schedule_invalid.creationTime := v_creationTime;
 										
 						v_ae1.start(f_CSE_DMR_UPD_007(int18, m_createScheduleBase, v_updateRequest));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.schedule_invalid)) {
@@ -4051,6 +4094,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_007_TS_CT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_creationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -4061,9 +4105,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries_invalid.creationTime := v_creationTime;
 		
 						v_ae1.start(f_CSE_DMR_UPD_007(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 	
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.timeSeries_invalid)) {
@@ -4084,6 +4128,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_008_SCH_ET() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
@@ -4095,9 +4140,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.schedule.expirationTime := v_expirationTime;
 										
 						v_ae1.start(f_CSE_DMR_UPD_008(int18, m_createScheduleBase, v_updateRequest, v_nullFields));//Schedule
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							  //Check that the resource has NOT been udpated
 							  if(ischosen(v_primitiveContentRetrieveResource.schedule)) {
@@ -4131,7 +4176,6 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_ae1.start(f_CSE_DMR_UPD_009(int18, v_createRequest, v_updateRequest));//Schedule
 						v_ae1.done;
 					}
-					
 					testcase TC_CSE_DMR_UPD_009_TS_EXC() runs on Tester system CseSystem {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
@@ -4158,6 +4202,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_011_TS_TSI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesInstanceBase;
 						var Labels v_labels:= {"LABEL"};
@@ -4169,9 +4214,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeriesInstance.labels := v_labels;
 
 						v_ae1.start(f_CSE_DMR_UPD_011(int29, v_createParentRequest, int30, v_createChildRequest, v_updateRequest));//TimeSeriesInstance under TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 
-						if(getverdict == pass){ 
+						if(v_verdict == pass){ 
 							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
 							//Check that the resource has NOT been udpated
 							if(ischosen(v_primitiveContentRetrieveResource.timeSeriesInstance)) {
@@ -4192,6 +4237,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_DMR_UPD_014_TS_ACPI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var AcpType v_accessControlPolicyIDs_1 := {"NotInitialized_1"};
 						var AcpType v_accessControlPolicyIDs_2 := {"NotInitialized_2"};
@@ -4204,9 +4250,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.accessControlPolicyIDs := v_accessControlPolicyIDs_2;
 	
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4221,6 +4267,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_014_TS_LBL() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels_1 := {"VALUE_1"};
 						var Labels v_labels_2 := {"VALUE_2"};
@@ -4233,9 +4280,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.labels := v_labels_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4250,6 +4297,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_014_TS_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxByteSize_1 := 256;
 						var XSD.NonNegativeInteger v_maxByteSize_2 := 512;
@@ -4262,9 +4310,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.maxByteSize := v_maxByteSize_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4278,6 +4326,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_DMR_UPD_014_TS_MIA() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxInstanceAge_1 := 60;
 						var XSD.NonNegativeInteger v_maxInstanceAge_2 := 120;
@@ -4290,9 +4339,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.maxInstanceAge := v_maxInstanceAge_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4306,6 +4355,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_DMR_UPD_014_TS_MNI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxNrOfInstances_1 := 1;
 						var XSD.NonNegativeInteger v_maxNrOfInstances_2 := 2;
@@ -4319,9 +4369,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.maxNrOfInstances := v_maxNrOfInstances_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4335,6 +4385,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_014_TS_PEI() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_periodicInterval_1 := 1;
 						var XSD.NonNegativeInteger v_periodicInterval_2 := 2;
@@ -4348,9 +4399,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.periodicInterval := v_periodicInterval_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4364,6 +4415,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_014_TS_MDD() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.Boolean v_missingDataDetect_1 := true;
 						var XSD.Boolean v_missingDataDetect_2 := false;
@@ -4377,9 +4429,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.missingDataDetect := v_missingDataDetect_2;
 	
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 	
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4393,6 +4445,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_014_TS_MDN() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_missingDataMaxNr_1 := 1;
 						var XSD.NonNegativeInteger v_missingDataMaxNr_2 := 2;
@@ -4406,9 +4459,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.missingDataMaxNr := v_missingDataMaxNr_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4422,6 +4475,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_014_TS_MDT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_missingDataDetectTimer_1 := 1;
 						var XSD.NonNegativeInteger v_missingDataDetectTimer_2 := 2;
@@ -4435,9 +4489,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.missingDataDetectTimer := v_missingDataDetectTimer_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4451,6 +4505,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_DMR_UPD_014_TS_OR() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.AnyURI v_ontologyRef_1 := "MyOntologyRef_1";
 						var XSD.AnyURI v_ontologyRef_2 := "MyOntologyRef_2";
@@ -4464,9 +4519,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.ontologyRef := v_ontologyRef_2;
 
 						v_ae1.start(f_CSE_DMR_UPD_014(int29, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4486,6 +4541,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 * @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
 					 */
 					testcase TC_CSE_DMR_UPD_015_CNT_OR() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.AnyURI v_ontoLogyRef := "MyOntologyRef";
@@ -4496,11 +4552,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.container.ontologyRef := v_ontoLogyRef;
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -4521,6 +4577,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_CNT_LI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.AnyURI v_locationID := "MyLocationID";
@@ -4531,11 +4588,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.container.locationID := v_locationID;
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int3, m_createContainerBase, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -4556,6 +4613,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_ENC() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var EventNotificationCriteria v_eventNotificationCriteria:= valueof(m_eventNotificationCriteria({int3}, -));
@@ -4565,11 +4623,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.eventNotificationCriteria:=v_eventNotificationCriteria ;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4590,6 +4648,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_EXC() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.PositiveInteger v_expirationCounter:=10;
@@ -4599,11 +4658,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.expirationCounter:=v_expirationCounter;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4624,6 +4683,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_GPI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.AnyURI v_groupID := "MyGroupID";
@@ -4633,11 +4693,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.groupID:=v_groupID;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4658,6 +4718,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_NFU() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.AnyURI v_notificationForwardingURI:= "MyNotificationForwardingURI";
@@ -4667,11 +4728,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.notificationForwardingURI:=v_notificationForwardingURI;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4692,6 +4753,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_BN() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var BatchNotify v_batchNotify:= {1, "PT1S"};
@@ -4701,11 +4763,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.batchNotify:=v_batchNotify;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4726,6 +4788,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_RL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var RateLimit v_rateLimit:= {2, "PT1S"};
@@ -4735,11 +4798,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.rateLimit:=v_rateLimit;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4760,6 +4823,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_PN() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var PendingNotification v_pendingNotification:=int2;
@@ -4769,11 +4833,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.pendingNotification:=v_pendingNotification;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4794,6 +4858,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_NSP() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.PositiveInteger v_notificationStoragePriority:=10;
@@ -4803,11 +4868,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.notificationStoragePriority:=v_notificationStoragePriority;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4828,6 +4893,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_LN() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						var XSD.Boolean v_latestNotify:=true;
@@ -4837,11 +4903,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.latestNotify:=v_latestNotify;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
 						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4862,6 +4928,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_SUB_NEC() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var EventCat v_eventCat:= {alt_1:= 300};
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
@@ -4871,9 +4938,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_updateRequest.primitiveContent.subscription.notificationEventCat:=v_eventCat;
 						v_ae1.start(f_CSE_DMR_UPD_015(int23, m_createSubscriptionBase, v_updateRequest));//Subscription
-						v_ae1.done;						 
+						v_ae1.done -> value v_verdict;						 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
@@ -4894,6 +4961,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_TS_ACPI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
 						var RequestPrimitive v_updateRequestPrimitive;
@@ -4902,9 +4970,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 	
 						
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest, true));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							 v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1);	
 							 //Check attribute 1
@@ -4927,6 +4995,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_TS_LBL() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Labels v_labels := {"MyLabel"};
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -4937,9 +5006,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.labels := v_labels;
 	
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4960,6 +5029,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_TS_MNI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxNrOfInstances := 5;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -4970,9 +5040,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.maxNrOfInstances := v_maxNrOfInstances;
 	
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -4993,6 +5063,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 
 					testcase TC_CSE_DMR_UPD_015_TS_MBS() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxByteSize := 512;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -5003,9 +5074,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.maxByteSize := v_maxByteSize;
 	
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -5026,6 +5097,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 
 					testcase TC_CSE_DMR_UPD_015_TS_MIA() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_maxInstanceAge := 1;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -5036,9 +5108,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.maxInstanceAge := v_maxInstanceAge;
 	
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -5059,6 +5131,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_TS_PEI() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_periodicInterval := 1;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -5069,9 +5142,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.periodicInterval := v_periodicInterval;
 
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -5092,6 +5165,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_TS_MDD() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.Boolean v_missingDataDetect := true;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -5102,9 +5176,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.missingDataDetect := v_missingDataDetect;
 
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -5125,6 +5199,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_TS_MDN() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_missingDataMaxNr := 1;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -5135,9 +5210,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.missingDataMaxNr := v_missingDataMaxNr;
 
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -5158,6 +5233,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_TS_MDT() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.NonNegativeInteger v_missingDataDetectTimer := 1;
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -5168,9 +5244,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.missingDataDetectTimer := v_missingDataDetectTimer;
 
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -5191,6 +5267,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 					
 					testcase TC_CSE_DMR_UPD_015_TS_OR() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var XSD.AnyURI v_ontoLogyRef := "MyOntologyRef";
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -5201,9 +5278,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.ontologyRef := v_ontoLogyRef;
 	
 						v_ae1.start(f_CSE_DMR_UPD_015(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							 //Check attribute 1
 							 if(ispresent(v_responsePrimitive.primitiveContent)) {
 								 if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -5231,6 +5308,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 * @desc Check that the IUT updates successfully the value of the attribute MANDATORY_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
 					*/
 					testcase TC_CSE_DMR_UPD_016_TS_ET() runs on Tester system CseSystem {
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var Timestamp v_expirationTime := "21001231T012345";
 						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
@@ -5241,9 +5319,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.expirationTime := v_expirationTime;
 	
 						v_ae1.start(f_CSE_DMR_UPD_016(int29, m_createTimeSeriesBase, v_updateRequest));//TimeSeries
-						v_ae1.done;	 
+						v_ae1.done -> value v_verdict;	 
 
-						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
+						if(v_verdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -7615,7 +7693,376 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 
 				}// end group g_CSE_SUB_CRE_001
+                
+				group g_CSE_SUB_CRE_006 {
+					/**
+					 * @desc Check that the IUT accepts the creation of a subscription resource with the eventNotificationCriteria attribute which includes a CONDITION_TAG condition provided
+					 * 
+					 */
+					testcase TC_CSE_SUB_CRE_006_CRB() runs on Tester system CseSystem {
+
+                        var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var Timestamp v_timeStamp := fx_generateTimestamp();
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.createdBefore := v_timeStamp;
+
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest));//createdBefore
+						v_ae1.done;
+						  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_CRA() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var Timestamp v_timeStamp := fx_generateTimestamp();
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                        
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.createdAfter := v_timeStamp;
+									
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest));//createdAfter
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_MS() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var Timestamp v_timeStamp := fx_generateTimestamp();
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                        
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.modifiedSince := v_timeStamp;
+									
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest));//modifiedSince	
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_US() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var Timestamp v_timeStamp := fx_generateTimestamp();
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                        
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.unmodifiedSince := v_timeStamp;
+									
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //unmodifiedSince
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_STS() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var XSD.PositiveInteger v_stateTagSmaller := 5;
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.stateTagSmaller := v_stateTagSmaller;     
+
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //stateTagSmaller
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_STB() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var XSD.PositiveInteger v_stateTagBigger := 5;
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                        
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.stateTagBigger := v_stateTagBigger;                        
+									
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); // stateTagBigger
+	  	  				v_ae1.done;
+	  	  		
+					}                    
+					testcase TC_CSE_SUB_CRE_006_EXB() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var Timestamp v_timeStamp := fx_generateTimestamp();
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.expireBefore := v_timeStamp;   
+
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //expireBefore
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_EXA() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var Timestamp v_timeStamp := fx_generateTimestamp();
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.expireAfter := v_timeStamp;
+									
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //expireAfter
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_SZA() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var XSD.PositiveInteger v_sizeAbove := 5;
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                        
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.sizeAbove := v_sizeAbove;                        
+
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //sizeAbove
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_SZB() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var XSD.PositiveInteger v_sizeBelow := 5;
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.sizeBelow := v_sizeBelow;
+
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //sizeBelow
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_ET() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var EventNotificationCriteria.notificationEventType_list v_notificationEventType := {int1}; // Example value taken from TS-001, cl 9.6.8, Table 9.6.8-3 -> A. Update to attributes of the subscribed-to resource
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.notificationEventType_list := v_notificationEventType;
+									
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //eventType
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_OM() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                        var template OperationMonitor v_OperationMonitor;
+                        
+                        v_OperationMonitor.operations := int1;
+                        v_OperationMonitor.originator := PX_SUPER_CSE_ID;
+
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.operationMonitor_list := {v_OperationMonitor};
+
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //operationMonitor 
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_ATR() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var EventNotificationCriteria.attribute v_attributeList := {"apn"};                        
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                        
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria := m_eventNotificationCriteria({int1}); //notificationEventType = "Update to attributes of the subscribed-to resource"
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.attribute := v_attributeList; // value taken as example
+						// TS-001, cl 9.6.8, Table 9.6.8-3 -> the attributes list is only applicable when notificationEventType has a value of "Update to attributes of the subscribed-to resource" or "Update to attributes of the subscribed-to resource with blocking of the triggering UPDATE operation"
+						v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //eventType
+	  	  				v_ae1.done;
+	  	  		
+					}
+					testcase TC_CSE_SUB_CRE_006_CRT() runs on Tester system CseSystem {
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+                        var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                        
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria := m_eventNotificationCriteria({int3}); //notificationEventType = "Creation of a direct child of the subscribed-to resource" 
+                        // TS-001, cl 9.6.8, Table 9.6.8-3 -> childResource list is only applicable when notificationEventType has a value of "Creation of a direct child of the subscribed-to resource" or "Deletion of a direct child of the subscribed-to resource".4
+                        v_createRequest.primitiveContent.subscription.eventNotificationCriteria.childResourceType := {int23};
+                        
+                        v_ae1.start(f_CSE_SUB_CRE_006(v_createRequest)); //childResourceType
+	  	  				v_ae1.done;
+	  	  		
+					} // acc. to TS-0001, clause 9.6.8, conditions "missingData" and "filterOperation" could be added. Also "attribute" is duplicated in TS-00018 TP/oneM2M/CSE/SUB/CRE/006
+
+
+				}// end group g_CSE_SUB_CRE_006                
+                
+				group g_CSE_SUB_CRE_007 {
+				
+				/**
+				 * @desc Check that the IUT accepts the creation of a subscription resource with the eventNotificationCriteria attribute which includes a missingData condition provided
+				 * 
+				 */
+				testcase TC_CSE_SUB_CRE_007() runs on Tester system CseSystem {
+					
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+								
+					v_ae1.start(f_CSE_SUB_CRE_007());
+					  	  	
+					v_ae1.done;
+					  	  		
+				} // end TC_CSE_SUB_CRE_007
+
+                function f_CSE_SUB_CRE_007() runs on AeSimu system CseSystem {
+                    // Local variables
+                    var MsgIn v_response;
+                    var integer v_aeIndex := -1;
+                    var integer v_resourceIndex := -1;                    
+                    var integer v_timeSeriesIndex := -1;
+                    var template (value) EventNotificationCriteria v_eventNotificationCriteria := m_eventNotificationCriteria; // parameter notificationEventType_list
+                    var template RequestPrimitive v_createRequest := omit;
+                    var RequestPrimitive v_request;
+                    var XSD.PositiveInteger v_missingDataPointNumber := 1;
+
+                    // Test control
+
+                    // Test component configuration
+                    f_cf01Up(true);
+
+                    // Test adapter configuration
+
+                    // Preamble
+                    v_aeIndex := f_cse_preamble_registerAe();
+                    
+                    v_eventNotificationCriteria.missingData := valueof(m_missingData(v_missingDataPointNumber, "PT1M"));//1 missing data, duration 1 Minute
+                    v_timeSeriesIndex := f_cse_createResource(int23, m_createTimeSeries(-, true, 5, -, 2000), v_aeIndex);
+
+                    v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_timeSeriesIndex)}, v_eventNotificationCriteria, omit, omit, omit, omit, omit, omit);
+                    f_cse_preamble_subscriptionVerification(v_timeSeriesIndex, v_createRequest, int23);
+
+                    v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription
+                    v_request.to_ := f_getResourceAddress(v_timeSeriesIndex);
+                    // Test Body					
+                    f_send(e_mcaPort, m_request(v_request));
+                    tc_ac.start;
+                    alt {
+                        [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+                            tc_ac.stop;
+                            setverdict(pass, __SCOPE__ & ": Resource created successfully");
+                            f_checkAttributesToBeSaved(int23, v_request, v_response.primitive.responsePrimitive);
+                            v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int23, vc_aeIndex);                            
+                        }
+                        [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                            tc_ac.stop;
+                            setverdict(inconc, __SCOPE__&":INFO: Error while creating resource");
+                        }
+                        [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+                            tc_ac.stop;
+                            setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
+                        }
+                        [] tc_ac.timeout {
+                            setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+                        }
+                    }
+
+                    f_checkAeSimuStatus();
+                    
+                    //Check to see if the resource is present or not
+                    if (f_cse_isResourcePresent(v_resourceIndex)){
+                        setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+                    } else {
+                        setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+                    }
+
+                    //Postamble
+                    f_cse_postamble_deleteResources();
+
+                    //Tear down
+                    f_cf01Down();
+
+                } // end f_CSE_SUB_CRE_007
+
+				}// end group g_CSE_SUB_CRE_007
 				
+                
+				group g_CSE_SUB_CRE_008 {
+                
+				/**
+				 * @desc Check that the IUT accepts the creation of a subscription resource with the optional attributes notificationForwardingURI and groupID provided
+				 * 
+				 */
+				testcase TC_CSE_SUB_CRE_008() runs on Tester system CseSystem {
+					
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+								
+					v_ae1.start(f_CSE_SUB_CRE_008());
+					  	  	
+					v_ae1.done;
+					  	  		
+				} // end TC_CSE_SUB_CRE_008
+
+				function f_CSE_SUB_CRE_008() runs on AeSimu system CseSystem {
+
+					// Local variables
+                    var MsgIn v_response;
+                    var integer v_containerIndex := -1;
+				    var integer v_aeIndex := -1;
+                    var integer v_resourceIndex := -1;
+                    var XSD.ID v_memberID;
+                    var template RequestPrimitive v_request := m_createSubscriptionBase;
+                    var template RequestPrimitive v_groupRequest;
+                    var integer v_groupIndex := -1; 
+
+					// Test control
+
+					// Test component configuration
+					f_cf01Up();
+
+					// Test adapter configuration
+
+                    // Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi
+					v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); // child resource
+
+                    v_memberID :=  f_getResourceId(vc_resourcesList[v_containerIndex].resource);
+
+                    v_groupRequest := valueof(m_createGroup(1, {v_memberID}, omit, int3));
+                    v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex); // initial conditions
+
+                    v_request.primitiveContent.subscription.groupID := f_getResourceId(vc_resourcesList[v_groupIndex].resource);
+                    v_request.primitiveContent.subscription.notificationURI := {v_memberID};
+                    v_request.primitiveContent.subscription.notificationForwardingURI := v_memberID; 
+                    //notificationForwardingURI shall be present only for group related subscriptions. If the subscriber intends the Group Hosting CSE to aggregate the notifications, the attribute shall be set identical to the notificationURI attribute
+                    
+                    v_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_groupIndex].resource)};
+                    v_request.requestIdentifier := valueof(v_groupRequest.requestIdentifier) & f_rnd(1, 1000000);
+
+                    v_request := f_getCreateRequestPrimitive(int23, v_request, v_aeIndex);//Subscription
+					v_request.to_ := f_getResourceAddress(v_groupIndex) & "/fopt";
+                    v_request.from_ := f_getResourceAddress(v_aeIndex);
+                    
+					// Test Body					
+                    f_send(e_mcaPort, m_request(valueof(v_request)));
+					tc_ac.start;
+					alt {
+                        [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {  //CREATED - TS-004 - Table 6.6.3.3 1: RSCs for successful response class
+                            tc_ac.stop;
+                            setverdict(pass, __SCOPE__ & ": Resource created successfully");
+                            f_checkAttributesToBeSaved(int23, valueof(v_request), v_response.primitive.responsePrimitive);
+                            v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int23, vc_aeIndex);
+                        }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+                            setverdict(inconc, __SCOPE__&":INFO: Error while creating resource");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+                            setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+						}
+					}
+
+					f_checkAeSimuStatus();
+                    
+					//Check to see if the resource is present or not
+					if (f_cse_isResourcePresent(v_resourceIndex)){
+						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+					}						                    
+
+					//Postamble
+					f_cse_postamble_deleteResources();
+
+					//Tear down
+					f_cf01Down();
+
+				} // end f_CSE_SUB_CRE_008
+
+                } // end g_CSE_SUB_CRE_008
+
+                
 				group g_CSE_SUB_CRE_009 {
 					/**
 					 * @desc Check that the IUT rejects a CREATE request when the notificationEventType is set to 6(Trigger_Received_For_AE_Resource) in combination of NOTIFICATION_EVENT_TYPE.
@@ -7904,32 +8351,41 @@ module OneM2M_Testcases_CSE_Release_3 {
 			}//end group Create
 			
 			group Notify{
-				
+
 				/**
-				 * @desc Check that the IUT doesn’t send a Notify request to the subscriber resource when “childResourceType” condition tag of eventNotificationCriteria attribute is set to LIST_OF_RESOURCE_TYPE and this list doesn’t contain the RESOURCE_TYPE created in the request. 
+				 * @desc Check that the IUT sends the latest notification to the subscriber resource when latestNotify is set to TRUE, the duration value of the batchNotify attribute is set to TIME_LIMIT and when this timer expires 
 				 * 
 				 */
-				testcase TC_CSE_SUB_NTF_010() runs on Tester system CseSystem {
+				testcase TC_CSE_SUB_NTF_004() runs on Tester system CseSystem {
 					
 					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-								
-					v_ae1.start(f_CSE_SUB_NTF_010());
-					  	  	
+															
+					v_ae1.start(f_CSE_SUB_NTF_004());
+												  	  	
 					v_ae1.done;
-					  	  		
+												  	  		
 				}
-							
-				function f_CSE_SUB_NTF_010() runs on AeSimu system CseSystem {
-					
+														
+				function f_CSE_SUB_NTF_004() runs on AeSimu system CseSystem {
 					// Local variables
-					var MsgIn v_response;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var template RequestPrimitive v_createRequest := omit; 
-					var RequestPrimitive v_request;
+					timer t_batchNotificationTimer := PX_TAC * 2.0;
+					var float v_elapsedTime;
+					var Labels v_labels_1:= {"VALUE_1"};
+					var integer v_ae1Index := -1;
+					var template RequestPrimitive v_createRequest := omit;
+					var template PrimitiveContent v_contentResponse;
+					var template RequestPrimitive v_updateRequest := m_updateAeBase;	
+					var ResponsePrimitive v_responsePrimitive;
 					var integer v_ae2Index := -1;
-			
+					var integer v_ae2LocalIndex := -1;
+					
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
+
 					// Test control
+					if(PX_TAC < 10.0) {
+						setverdict(inconc, __SCOPE__ & ": PX_TAC is required to be bigger than 10 seconds to run this test case");
+						stop;
+					}
 
 					// Test component configuration
 					f_cf01Up(true);
@@ -7937,79 +8393,142 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Test adapter configuration
 
 					// Preamble
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					f_cse_createAccessControlPolicyAux("SubscriptionVerificationAcp",{"all"}, int63);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
+					v_ae1Index := f_cse_createResource_withAcpAux(int2, m_createAe(vc_aeSimuDesc.appId, -, vc_aeSimuDesc.aeIdStem, c_defaultAe1ResourceName, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn, "")}), -1); // now AE1 is registered
 					
-					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int3}), -, omit, omit, omit, -, omit); 
+					vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, omit), -1)); // AE2 is registered
 					
-					v_createRequest.primitiveContent.subscription.eventNotificationCriteria.childResourceType := {int15};
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
-					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription 				
+					v_ae2LocalIndex := f_getResourceFromAeSimu(vc_ae2);
 					
-					if(vc_ae2.running) {
-						vc_ae2.stop;
-					};
-	
-					// Test Body
-					v_request:= f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex);
+					v_ae2Index := f_getLatestResourceIndex(vc_ae2);
 					
-					vc_ae2.start(f_cse_notifyProcedure_noNotificationHandler()); // check if no notification is received
+                    // subscription child resource having notificationURI attribute set to AE2_RESOURCE_ADDRESS and latestNotify attribute set to TRUE and batchNotify attribute containing duration attribute set to TIME_LIMIT
+					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_ae2LocalIndex), -, {f_getResourceAddress(v_ae1Index)},omit,omit,m_batchNotify(2, "PT10S" ), true, omit, -, int2); //batchNotify/number greater than number of notifications to be sent so that batchNotify/duration expires before along with latestNotify
+
+					vc_ae2.start(f_cse_createResource(int23, v_createRequest, v_ae2Index));//Subscription
 					
-					f_send(e_mcaPort, m_request(v_request));
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+						[] mcaPortIn.receive(mw_request(mw_notifyNotification(mw_contentNotificationVerification))) -> value vc_request {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": Resource type int3 (Container) created successfully");
+							setverdict(pass, __SCOPE__ & ":INFO: Notification received");
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							f_send(e_mcaPortIn, m_httpResponse(v_responsePrimitive));
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+						[] mcaPortIn.receive(mw_request(mw_notifyNotification(mw_contentNotification(?)))) -> value vc_request {
 							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							setverdict(inconc, __SCOPE__ & ":ERROR: Notification received but verificationRequest isn't set to TRUE");
+							v_responsePrimitive := valueof(m_responseNotification(int4000, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							f_send(e_mcaPortIn, m_httpResponse(v_responsePrimitive));						
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+						[] tc_ac.timeout {
+							if (not(vc_ae2.running)){
+								setverdict(pass, __SCOPE__ & ":INFO:  No subscription verification received but subscription resource was created");
+							}
+						}
+					}
+					
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+					
+					// Test Body
+					t_batchNotificationTimer.start; // Timer to control requisite on duration attribute
+					
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1;
+					vc_ae2.start(f_cse_updateResource(int2, v_ae2Index, v_updateRequest)); // Update request 1
+					
+					tc_ac.start;
+					alt {
+						[] mcaPortIn.receive(mw_request(mw_notifyNotification(mw_contentNotification(?)))) -> value vc_request {
 							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Error while creating resource type int3 (Container)");
+							if(f_check_notificationContent(vc_request.primitive.requestPrimitive, v_contentResponse)){
+								setverdict(pass, __SCOPE__ & ":INFO: Notification received");
+								v_elapsedTime := t_batchNotificationTimer.read;
+								t_batchNotificationTimer.stop;
+								if(v_elapsedTime < 10.0) {
+									setverdict(fail, __SCOPE__ & ": Notifications sent before bathNotify/duration expired");
+								}
+							}
+							else{
+								setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
+							}
+							//Send response in any case
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							f_send(e_mcaPortIn, m_response(v_responsePrimitive));
+							
+						}
+						[] mcaPortIn.receive(mw_request(mw_notifyAggregatedNotification({{mw_contentNotification(?)}}))) -> value vc_request {
+							tc_ac.stop;
+							if(f_check_notificationContent(vc_request.primitive.requestPrimitive, v_contentResponse)){
+								setverdict(pass, __SCOPE__ & ":INFO: Notification received");
+								v_elapsedTime := t_batchNotificationTimer.read;
+								t_batchNotificationTimer.stop;
+								if(v_elapsedTime < 10.0) {
+									setverdict(fail, __SCOPE__ & ": Notifications sent before bathNotify/duration expired");
+								}
+							}
+							else{
+								setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
+							}
+							//Send response in any case
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							f_send(e_mcaPortIn, m_response(v_responsePrimitive));
+							
 						}
 						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while creating resource type int3 (Container)");
+							setverdict(fail, __SCOPE__ & ": No notification received");
 						}
 					}
-    				
+					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
-										
+					
 					//Postamble
 					f_cse_postamble_deleteResources();
-
+					
 					//Tear down
 					f_cf01Down();
-				} // end TC_CSE_SUB_NTF_010
+    
+				} // end TC_CSE_SUB_NTF_004
 
-				/**
-				 * @desc Check that the IUT sends a Notify request to the subscriber resource when “childResourceType” condition tag of eventNotificationCriteria attribute is set to LIST_OF_RESOURCE_TYPE and this list contains the RESOURCE_TYPE created in the request. 
+
+               /**
+				 * @desc Check that the IUT sends the latest cached notification after IUT escapes from connectionless state when the pendingNotification is set to 1 (sendLatest)
 				 * 
 				 */
-				testcase TC_CSE_SUB_NTF_011() runs on Tester system CseSystem {
-					
+				testcase TC_CSE_SUB_NTF_005() runs on Tester system CseSystem {
+
 					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-								
-					v_ae1.start(f_CSE_SUB_NTF_011());
-					  	  	
+
+					v_ae1.start(f_CSE_SUB_NTF_005());
+
 					v_ae1.done;
-					  	  		
+
 				}
-							
-				function f_CSE_SUB_NTF_011() runs on AeSimu system CseSystem {
-					
+														
+				function f_CSE_SUB_NTF_005() runs on AeSimu system CseSystem {
 					// Local variables
-					var MsgIn v_response;
-					var integer v_aeIndex := -1;
+                    const integer receivedUpdateCounter := 3;
+					var Labels v_labels[receivedUpdateCounter];
+                    var integer i;
+					var integer v_ae1Index := -1;
 					var integer v_resourceIndex := -1;
-					var template RequestPrimitive v_createRequest := omit; 
-					var template PrimitiveContent v_contentNotification := {container := mw_contentContainer_rc1};// all attributes expected   
-					var RequestPrimitive v_request;
+					var template RequestPrimitive v_createRequest := omit;
+					var template PrimitiveContent v_contentResponse;
+					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var integer v_ae2Index := -1;
-			
+					var integer v_ae2LocalIndex := -1;
+					
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
+                    v_labels[0] := {"VALUE_1"};
+                    v_labels[1] := {"VALUE_2"};
+                    v_labels[2] := {"VALUE_3"};
+
 					// Test control
 
 					// Test component configuration
@@ -8018,65 +8537,532 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Test adapter configuration
 
 					// Preamble
-					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-					
-					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
-					
-					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int3}), -, omit, omit, omit, -, omit); 
+                    v_ae1Index := f_cse_preamble_registerAe();//c_CRUDNDi);
+                    
+                    f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
+                        
+                    // subscription child resource containing notificationURI attribute set to AE2_RESOURCE_ADDRESS and pendingNotification attribute set to 1 (sendLatest)
+					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_ae2LocalIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,omit,omit,omit, -, int1);
+                    
+                    v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_ae1Index);//Subscription
+
+                    //IUT being in the "connectionless state" with AE2
+                    /*if(vc_ae2.running) {
+                        vc_ae2.stop;
+                    };*/                    
+                    vc_auxiliaryAe2Up := false;
+					vc_ae2.start(f_cf01DownAe2());
+					vc_ae2.done;
+                    
+                    for (i := 0; i < receivedUpdateCounter; i := i+1 ) {// Update request, see TS-001 - cl. 10.2.10.7
+                        v_updateRequest.primitiveContent.aE.labels := v_labels[i];
+	             		f_cse_updateResource(int2, v_ae1Index, v_updateRequest); //IUT having frequently received from AE1 a valid UPDATE Request to subscribed-to resource
+                    }                  
+
+					// Test Body
+				    vc_ae2.start(f_cf01UpAe2());
+				    vc_ae2.done;
+                    vc_auxiliaryAe2Up := true; //the IUT escapes from the “connectionless state”
+                    
+                    v_contentResponse.aE.labels := v_labels[2];
+                    vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, 1)); // check if the Rx. of notification and match contents
 					
-					v_createRequest.primitiveContent.subscription.eventNotificationCriteria.childResourceType := {int3};
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
-					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription 				
+					//Postamble
+					f_cse_postamble_deleteResources();
 					
-					if(vc_ae2.running) {
-						vc_ae2.stop;
-					};
-	
+					//Tear down
+					f_cf01Down();
+    
+				} // end TC_CSE_SUB_NTF_005
+
+               /**
+				 * @desc Check that the IUT sends the notifications of cached notification messages after IUT escapes from connectionless state when the pendingNotification is set to 2 (sendAllPending)
+				 * 
+				 */
+				testcase TC_CSE_SUB_NTF_006() runs on Tester system CseSystem {
+
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_SUB_NTF_006());
+
+					v_ae1.done;
+				}
+
+				function f_CSE_SUB_NTF_006() runs on AeSimu system CseSystem {
+					// Local variables
+                    const integer receivedUpdateCounter := 3;
+					var Labels v_labels[receivedUpdateCounter];
+                    var integer i;
+					var integer v_ae1Index := -1;
+					var integer v_resourceIndex := -1;
+					var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+					var template PrimitiveContent v_contentResponse;
+					var template RequestPrimitive v_updateRequest := m_updateAeBase;
+					var integer v_ae2Index := -1;
+					var integer v_ae2LocalIndex := -1;
+
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
+                    v_labels[0] := {"VALUE_1"};
+                    v_labels[1] := {"VALUE_2"};
+                    v_labels[2] := {"VALUE_3"};
+
+					// Test control
+
+					// Test component configuration
+					f_cf01Up(true);
+
+					// Test adapter configuration
+
+					// Preamble
+                    v_ae1Index := f_cse_preamble_registerAe();//c_CRUDNDi);
+
+                    f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
+
+                    // subscription child resource having notificationURI attribute set to AE2_RESOURCE_ADDRESS and pendingNotification attribute set to 2 (sendAllPending)
+					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_ae2LocalIndex), -, {f_getResourceAddress(v_ae1Index)},omit,omit,omit,omit,omit, -, int2);
+
+                    v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_ae1Index);//Subscription
+
+                    //IUT being in the "connectionless state" with AE2
+                    /*if(vc_ae2.running) {
+                        vc_ae2.stop;
+                    };*/                    
+                    vc_auxiliaryAe2Up := false;
+					vc_ae2.start(f_cf01DownAe2());
+					vc_ae2.done;    
+
+                    for (i := 0; i < receivedUpdateCounter; i := i+1 ) {// Update request, see TS-001 - cl. 10.2.10.7
+                        v_updateRequest.primitiveContent.aE.labels := v_labels[i];
+	             		f_cse_updateResource(int2, v_ae1Index, v_updateRequest); //IUT having received from AE1 a NUMBER of valid UPDATE Requests to subscribed-to resource
+                    }
+
 					// Test Body
-					v_request:= f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex);
-					
-					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
-					
-					f_send(e_mcaPort, m_request(v_request));
+				    vc_ae2.start(f_cf01UpAe2());
+				    vc_ae2.done;
+                    vc_auxiliaryAe2Up := true; //the IUT escapes from the “connectionless state”
+
+                    vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, receivedUpdateCounter)); // check if the Rz. of notification and match contents
+
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+
+					//Postamble
+					f_cse_postamble_deleteResources();
+
+					//Tear down
+					f_cf01Down();
+
+				} // end TC_CSE_SUB_NTF_006
+
+
+               /**
+				 * @desc Check that the IUT retargets the notification to the AE according to pointOfAccess in the <AE> resource
+				 */
+				testcase TC_CSE_SUB_NTF_007() runs on Tester system CseSystem {
+
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_SUB_NTF_007());
+
+					v_ae1.done;
+				}
+
+				function f_CSE_SUB_NTF_007() runs on AeSimu system CseSystem {
+                    // Local variables
+                    var integer v_aeIndex := -1;
+                    var RequestPrimitive v_request;
+                    var ResponsePrimitive v_responsePrimitive;
+                    var RequestPrimitive v_reqNotify;
+				
+                    // Test control
+
+                    // Test component configuration
+                    f_cf02Up();
+                    vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
+                    // Test adapter configuration
+
+                    // Preamble
+                    v_aeIndex := f_cse_preamble_registerAe(-, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
+                    
+                    // Test Body      
+                    v_reqNotify := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_TS_CSE1.cseId)));
+                    
+                    vc_cse1.start(f_cse_notifyProcedure_notify(v_reqNotify)); //Message exchange for notification
+
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": Resource type int3 (Container) created successfully");
-						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+						[] mcaPortIn.receive(mw_request(mw_notifyNotification(mw_contentNotification(?)))) -> value vc_request {
 							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							
+							setverdict(pass, __SCOPE__ & ":INFO: Notification received");
+							
+							//Send response in any case
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+                            v_responsePrimitive.to_ := f_getLocalPoA(vc_aeSimuDesc.mcaPortIn);
+							f_send(e_mcaPortIn, m_response(v_responsePrimitive));
+							tc_ac.start;
+							repeat;
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+						[] mcaPortIn.receive(mw_request(mw_notifyResponsePrimitive(?))) -> value vc_request {
 							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Error while creating resource type int3 (Container)");
-						}
+							setverdict(fail, __SCOPE__ & ": Error, Non expected notification received");
+							//Send response in any case
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							f_send(e_mcaPortIn, m_response(v_responsePrimitive));
+						}                        
 						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while creating resource type int3 (Container)");
-						}
+							setverdict(fail, __SCOPE__ & ": No answer while retargeting request");
+						}                        
 					}
-    				
-					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
-										
-					//Postamble
-					f_cse_postamble_deleteResources();
+                    
+                    f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
-					//Tear down
-					f_cf01Down();
-				} // end TC_CSE_SUB_NTF_011
-				
-			}//end group Notify
-			
-			group Update {
-				
-			}//end group Update
-			
-			group Delete {
-				
+                    // Postamble
+                    f_cse_postamble_deleteResources();
+
+                    // Tear down
+                    f_cf02Down();
+
+				} // end TC_CSE_SUB_NTF_007
+
+               /**
+				 * @desc Check that the IUT retargets the notification to the AE according to pointOfAccess in the <AE> resource and forward the response back to the CSE
+				 */
+				testcase TC_CSE_SUB_NTF_008() runs on Tester system CseSystem {
+
+					var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+
+					v_cse1.start(f_CSE_SUB_NTF_008());
+
+					v_cse1.done;
+				}
+
+				function f_CSE_SUB_NTF_008() runs on CseSimu system CseSystem {
+                    var integer v_aeIndex, v_remoteCseIndex := -1;
+                    var ResponsePrimitive v_responsePrimitive;
+                    //var template RequestPrimitive v_requestCreateAE := m_createAe(vc_aeSimuDesc.appId, omit, vc_aeSimuDesc.aeIdStem, c_defaultAe1ResourceName, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn)});
+                    var RequestPrimitive v_reqNotify;
 				
-			}//end group Delete
-			
+                    // Test control
+
+                    // Test component configuration
+                    f_cf02UpCseSimuMaster();
+
+                    // Test adapter configuration
+
+                    // Preamble
+                    v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()}));
+                    
+					vc_ae1.start(f_cse_createAccessControlPolicyAux("SubscriptionVerificationAcp",{"all"}, int63));
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					vc_ae1.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem, c_defaultAe2ResourceName, {f_getLocalPoA(PX_TS_AE1.mcaPortIn, "")}), -1)); // AE2 is registred
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+                    // Test Body      
+                    v_aeIndex := f_getLatestResource(vc_ae1);
+                    v_reqNotify := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_TS_CSE1.cseId)));
+
+                    vc_ae1.start(f_cse_notifyProcedure_subscriptionVerificationHandler());//Message exchange for notification
+
+                    f_send(e_mccPort, m_request(v_reqNotify));
+					tc_ac.start;
+					alt {
+						[] mccPort.receive(mw_request(mw_notifyNotification(mw_contentNotification(?)))) -> value vc_request {
+							tc_ac.stop;
+							
+							setverdict(pass, __SCOPE__ & ":INFO: Notification received");
+							
+							//Send response in any case
+							v_responsePrimitive := valueof(m_responseNotification(int2000, omit));
+						}
+						[] mccPort.receive(mw_request(mw_notifyResponsePrimitive(?))) -> value vc_request {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error, Non expected notification received");
+						}                        
+                        [] tc_ac.timeout {
+                            setverdict(fail, __SCOPE__ & ": No answer while retargeting request");
+                        }                        
+					}
+                    
+                    f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+
+                    // Postamble
+                    f_cse_postamble_deleteResourcesCSE();
+					
+					// Tear down
+					f_cf02DownCseSimuMaster();
+
+				} // end f_CSE_SUB_NTF_008
+            
+               /**
+				 * @desc Check that the IUT sends an aggregatedNotification to the AE according to URI provided in notificationForwardingURI attribute when an event occurs on <group> resource with its members having group related subscriptions
+				 */
+				testcase TC_CSE_SUB_NTF_009() runs on Tester system CseSystem {
+
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_SUB_NTF_009());
+
+					v_ae1.done;
+				}
+
+				function f_CSE_SUB_NTF_009() runs on AeSimu system CseSystem {
+                    // Local variables
+                    var MsgIn v_response;
+                    var integer v_aeIndex := -1;
+                    var integer v_ae2Index := -1;
+                    var integer v_groupIndex := -1;
+                    var integer v_containerIndex := -1;
+                    var XSD.AnyURI v_memberID_1, v_memberID_2;
+                    var integer v_resourceIndex;
+                    var template RequestPrimitive v_groupRequest;
+                    var XSD.AnyURI v_fanoutPointAddress;
+                    var RequestPrimitive v_request;
+                    var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+                    var template PrimitiveContent v_contentResponse;
+				
+                    // Test control
+
+                    // Test component configuration
+                    f_cf02Up();
+
+                    // Test adapter configuration
+
+                    // Preamble
+                    v_aeIndex := f_cse_preamble_registerAe();
+
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
+                     
+					v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
+                    v_memberID_1 :=  f_getResourceId(vc_resourcesList[v_containerIndex].resource);
+                    v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
+                    v_memberID_2 :=  f_getResourceId(vc_resourcesList[v_containerIndex].resource);
+
+                    v_groupRequest := valueof(m_createGroup(2, {v_memberID_1, v_memberID_2}, omit, int3));
+                    v_groupIndex := f_cse_createResource(int9, v_groupRequest, v_aeIndex);
+                    
+                    v_fanoutPointAddress := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint;
+                    v_request.primitiveContent.subscription.groupID := f_getResourceId(vc_resourcesList[v_groupIndex].resource);
+                    v_request.primitiveContent.subscription.notificationURI := {v_fanoutPointAddress};
+                    v_request.primitiveContent.subscription.notificationForwardingURI := v_fanoutPointAddress; 
+                    //subscription created on these members with notificationForwardingURI attribute set identical to notificationURI
+                    
+                    v_request.primitiveContent.group_.memberIDs := {v_memberID_1, v_memberID_2};
+
+                    v_request := f_getCreateRequestPrimitive(int23, v_request, v_aeIndex);//Subscription  
+                    f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+                        [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+                            tc_ac.stop;
+                            setverdict(pass, __SCOPE__ & ": Resource created successfully");
+                            f_checkAttributesToBeSaved(int23, valueof(v_request), v_response.primitive.responsePrimitive);
+                            v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int23, vc_aeIndex);
+                        }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+                            setverdict(inconc, __SCOPE__&":INFO: Error while creating resource");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+                            setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+						}
+					}                    
+
+					// Test Body
+                    v_contentResponse.notification.notificationForwardingURI := v_fanoutPointAddress;
+                    vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, 1)); // check if the Rx. of notification and match contents
+                    
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);                    
+
+					//Postamble
+					f_cse_postamble_deleteResources();
+					
+					// Tear down
+					f_cf02Down();
+
+				} // end f_CSE_SUB_NTF_009
+                
+                
+				/**
+				 * @desc Check that the IUT doesn’t send a Notify request to the subscriber resource when “childResourceType” condition tag of eventNotificationCriteria attribute is set to LIST_OF_RESOURCE_TYPE and this list doesn’t contain the RESOURCE_TYPE created in the request. 
+				 * 
+				 */
+				testcase TC_CSE_SUB_NTF_010() runs on Tester system CseSystem {
+					
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+								
+					v_ae1.start(f_CSE_SUB_NTF_010());
+					  	  	
+					v_ae1.done;
+					  	  		
+				}
+							
+				function f_CSE_SUB_NTF_010() runs on AeSimu system CseSystem {
+					
+					// Local variables
+					var MsgIn v_response;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var template RequestPrimitive v_createRequest := omit; 
+					var RequestPrimitive v_request;
+					var integer v_ae2Index := -1;
+			
+					// Test control
+
+					// Test component configuration
+					f_cf01Up(true);
+
+					// Test adapter configuration
+
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
+					
+					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int3}), -, omit, omit, omit, -, omit); 
+					
+					v_createRequest.primitiveContent.subscription.eventNotificationCriteria.childResourceType := {int15};
+					
+					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription 				
+					
+					if(vc_ae2.running) {
+						vc_ae2.stop;
+					};
+	
+					// Test Body
+					v_request:= f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex);
+					
+					vc_ae2.start(f_cse_notifyProcedure_noNotificationHandler()); // check if no notification is received
+					
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Resource type int3 (Container) created successfully");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error while creating resource type int3 (Container)");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource type int3 (Container)");
+						}
+					}
+    				
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+										
+					//Postamble
+					f_cse_postamble_deleteResources();
+
+					//Tear down
+					f_cf01Down();
+				} // end TC_CSE_SUB_NTF_010
+
+				/**
+				 * @desc Check that the IUT sends a Notify request to the subscriber resource when “childResourceType” condition tag of eventNotificationCriteria attribute is set to LIST_OF_RESOURCE_TYPE and this list contains the RESOURCE_TYPE created in the request. 
+				 * 
+				 */
+				testcase TC_CSE_SUB_NTF_011() runs on Tester system CseSystem {
+					
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+								
+					v_ae1.start(f_CSE_SUB_NTF_011());
+					  	  	
+					v_ae1.done;
+					  	  		
+				}
+							
+				function f_CSE_SUB_NTF_011() runs on AeSimu system CseSystem {
+					
+					// Local variables
+					var MsgIn v_response;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var template RequestPrimitive v_createRequest := omit; 
+					var template PrimitiveContent v_contentNotification := {container := mw_contentContainer_rc1};// all attributes expected   
+					var RequestPrimitive v_request;
+					var integer v_ae2Index := -1;
+			
+					// Test control
+
+					// Test component configuration
+					f_cf01Up(true);
+
+					// Test adapter configuration
+
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
+					
+					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int3}), -, omit, omit, omit, -, omit); 
+					
+					v_createRequest.primitiveContent.subscription.eventNotificationCriteria.childResourceType := {int3};
+					
+					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription 				
+					
+					if(vc_ae2.running) {
+						vc_ae2.stop;
+					};
+	
+					// Test Body
+					v_request:= f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex);
+					
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
+					
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Resource type int3 (Container) created successfully");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error while creating resource type int3 (Container)");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource type int3 (Container)");
+						}
+					}
+    				
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
+										
+					//Postamble
+					f_cse_postamble_deleteResources();
+
+					//Tear down
+					f_cf01Down();
+				} // end TC_CSE_SUB_NTF_011
+				
+			}//end group Notify
+			
+			group Update {
+				
+			}//end group Update
+			
+			group Delete {
+				
+				
+			}//end group Delete
+			
 		}//end group Subscription_And_Notification
 		
 		group Security {
@@ -10209,6 +11195,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					// Test component configuration
 					f_cf02Up();
+					vc_resetRequired := true;
 
 					// Test adapter configuration
 
@@ -10252,7 +11239,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						}
 					}
 					
-					vc_cse1.done;
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 						
 					// Postamble
 					f_cse_postamble_deleteResources();
@@ -10367,20 +11354,6 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 v_cse1.done;
 					}
 					
-					testcase TC_CSE_ANNC_CRE_005_CIN() runs on Tester system CseSystem {
-						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
-						 var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						 var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc;
-  
-						 
-						 v_createRequest.primitiveContent.contentInstance.announceTo := {PX_TS_CSE2.cseId};
-  
-						 v_cse1.start(f_CSE_ANNC_CRE_005(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
-						 v_cse1.done;
-						
-					}
-					
 					testcase TC_CSE_ANNC_CRE_005_GRP() runs on Tester system CseSystem {
 						//Local variables
 						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
@@ -10406,20 +11379,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 v_cse1.start(f_CSE_ANNC_CRE_005(int29, v_createRequestAnnc, v_createRequest));//TimeSeries
 						 v_cse1.done;
 					}
-					
-					testcase TC_CSE_ANNC_CRE_005_TSI() runs on Tester system CseSystem {
-						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
-						 var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
-						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesInstanceAnnc;
-  
-						
-						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_TS_CSE2.cseId};
-  
-						 v_cse1.start(f_CSE_ANNC_CRE_005(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance
-						 v_cse1.done;
-					}
-					
+										
 				} //end group g_CSE_ANNC_CRE_005
 				
 				group g_CSE_ANNC_CRE_006 {
@@ -10428,83 +11388,31 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 * @desc Check that the IUT announces successfully the RESOURCE_TYPE resource during its creation when announceTo optional attribute is provided and IUT has registered and created a <remoteCSE> resource to the announcement target CSE
 					 *  
 					 */
-					testcase TC_CSE_ANNC_CRE_006_ACP() runs on Tester system CseSystem {
-						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
-						 var template RequestPrimitive v_createRequest := m_createAcpBase;
-						 var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
-  
-						 
-						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_TS_CSE1.cseId};
-  
-						 v_cse1.start(f_CSE_ANNC_CRE_006(int1, v_createRequestAnnc, v_createRequest));//AccessControlPolicy
-						 v_cse1.done;
-					}
-	
-					testcase TC_CSE_ANNC_CRE_006_CNT() runs on Tester system CseSystem {
-						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
-						 var template RequestPrimitive v_createRequest := m_createContainerBase;
-						 var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc;
-  
-						 
-						 v_createRequest.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
-  
-						 v_cse1.start(f_CSE_ANNC_CRE_006(int3, v_createRequestAnnc, v_createRequest));//Container
-						 v_cse1.done;
-					}
-	
 					testcase TC_CSE_ANNC_CRE_006_CIN() runs on Tester system CseSystem {
 						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						 var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						 var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc;
   
 						 
 						 v_createRequest.primitiveContent.contentInstance.announceTo := {PX_TS_CSE1.cseId};
   
-						 v_cse1.start(f_CSE_ANNC_CRE_006(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
-						 v_cse1.done;
+						 v_ae1.start(f_CSE_ANNC_CRE_006(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
+						 v_ae1.done;
 		
 					}
 	
-					testcase TC_CSE_ANNC_CRE_006_GRP() runs on Tester system CseSystem {
-						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
-						 var template RequestPrimitive v_createRequest := m_createGroupBase;
-						 var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnnc;
-  
-						 
-						 v_createRequest.primitiveContent.group_.announceTo := {PX_TS_CSE1.cseId};
-  
-						 v_cse1.start(f_CSE_ANNC_CRE_006(int9, v_createRequestAnnc, v_createRequest));//Group
-						 v_cse1.done;
-					}
-					
-					testcase TC_CSE_ANNC_CRE_006_TS() runs on Tester system CseSystem {
-						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
-						 var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
-						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnnc;
-	  
-						
-						 v_createRequest.primitiveContent.timeSeries.announceTo := {PX_TS_CSE1.cseId};
-	  
-						 v_cse1.start(f_CSE_ANNC_CRE_006(int29, v_createRequestAnnc, v_createRequest));//TimeSeries
-						 v_cse1.done;
-					}
-					
 					testcase TC_CSE_ANNC_CRE_006_TSI() runs on Tester system CseSystem {
 						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
+						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						 var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
 						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesInstanceAnnc;
   
 						
 						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_TS_CSE1.cseId};
   
-						 v_cse1.start(f_CSE_ANNC_CRE_006(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance
-						 v_cse1.done;
+						 v_ae1.start(f_CSE_ANNC_CRE_006(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance
+						 v_ae1.done;
 					}
 	
 				} //end group g_CSE_ANNC_CRE_006
@@ -10541,20 +11449,6 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 v_cse1.done;
 					}
 	
-					testcase TC_CSE_ANNC_CRE_007_CIN() runs on Tester system CseSystem {
-						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
-						 var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						 var template RequestPrimitive v_createRequestAnnc := mw_createContentInstanceAnnc;
-	  
-						 
-						 v_createRequest.primitiveContent.contentInstance.announceTo := {PX_TS_CSE2.cseId};
-	  
-						 v_cse1.start(f_CSE_ANNC_CRE_007(int4, v_createRequestAnnc, v_createRequest));//ContentInstance
-						 v_cse1.done;
-	
-					}
-	
 					testcase TC_CSE_ANNC_CRE_007_GRP() runs on Tester system CseSystem {
 						//Local variables
 						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
@@ -10575,25 +11469,12 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnnc;
   
 						 
-						 v_createRequest.primitiveContent.accessControlPolicy.announceTo := {PX_TS_CSE2.cseId};
+						 v_createRequest.primitiveContent.timeSeries.announceTo := {PX_TS_CSE2.cseId};
 						 
 						 v_cse1.start(f_CSE_ANNC_CRE_007(int29, v_createRequestAnnc, v_createRequest));//TimeSeries
 						 v_cse1.done;
 					}
 					
-					testcase TC_CSE_ANNC_CRE_007_TSI() runs on Tester system CseSystem {
-						//Local variables
-						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
-						 var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
-						 var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesInstanceAnnc;
-						 
-						 
-						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_TS_CSE2.cseId};
-  
-						 v_cse1.start(f_CSE_ANNC_CRE_007(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance
-						 v_cse1.done;
-					}
-	
 				} //end group g_CSE_ANNC_CRE_007
 				
 				group g_CSE_ANNC_CRE_008 {
@@ -10611,6 +11492,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 
 						 v_createRequest.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
 						 v_createRequest.primitiveContent.container.announcedAttribute := {"mbs"};
+						 v_createRequest.primitiveContent.container.maxByteSize := 10;
 						 v_createRequestAnnc.primitiveContent.containerAnnc.maxByteSize := ?;
 						 
 						 v_cse1.start(f_CSE_ANNC_CRE_008(int3, v_createRequestAnnc, v_createRequest));//Container
@@ -10657,13 +11539,14 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 
 						 v_createRequest.primitiveContent.timeSeries.announceTo := {PX_TS_CSE1.cseId};
 						 v_createRequest.primitiveContent.timeSeries.announcedAttribute := {"mbs"};
+						 v_createRequest.primitiveContent.timeSeries.maxByteSize := 10;
 						 v_createRequestAnnc.primitiveContent.timeSeriesAnnc.maxByteSize := ?;
 						 
 						 v_cse1.start(f_CSE_ANNC_CRE_008(int29, v_createRequestAnnc, v_createRequest));//TimeSeries
 						 v_cse1.done;
 					}
 					
-					testcase TC_CSE_ANNC_CRE_008_TSI_CS() runs on Tester system CseSystem {
+					testcase TC_CSE_ANNC_CRE_008_TSI_DGT() runs on Tester system CseSystem {
 						//Local variables
 						 var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						 var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
@@ -10671,8 +11554,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 	  
 						 
 						 v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {PX_TS_CSE1.cseId};
-						 v_createRequest.primitiveContent.timeSeriesInstance.announcedAttribute := {"cs"};
-						 v_createRequestAnnc.primitiveContent.timeSeriesInstanceAnnc.contentSize := ?;
+						 v_createRequest.primitiveContent.timeSeriesInstance.announcedAttribute := {"dgt"};
+						 v_createRequestAnnc.primitiveContent.timeSeriesInstanceAnnc.dataGenerationTime := ?;
 						 
 						 v_cse1.start(f_CSE_ANNC_CRE_008(int30, v_createRequestAnnc, v_createRequest));//TimeSeriesInstance
 						 v_cse1.done;
@@ -10713,62 +11596,80 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_ANNC_RET_001_ACP() runs on Tester system CseSystem {
 						//Local variables
-						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentAccessControlPolicy(m_contentCreateAcp);
 						var template RequestPrimitive v_createRequestAnnc := m_createAcpAnncBase;
-  
-						v_ae1.start(f_CSE_ANNC_RET_001(int1, v_originalResource, v_createRequestAnnc));//AccessControlPolicy
-						 v_ae1.done;
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.accessControlPolicyAnnc := mw_contentAcpAnncBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_001(int1, v_originalResource, v_createRequestAnnc, v_responseContent));//AccessControlPolicy
+						v_ae1.done;
 					}
 					
 					testcase TC_CSE_ANNC_RET_001_CNT() runs on Tester system CseSystem {
-						 //Local variables
-						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						//Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentContainer(m_contentCreateContainer);
 						var template RequestPrimitive v_createRequestAnnc := m_createContainerAnncBase;
-	  
-						v_ae1.start(f_CSE_ANNC_RET_001(int3, v_originalResource, v_createRequestAnnc));//Container
-						 v_ae1.done;
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.containerAnnc := mw_contentContainerAnncBase;
+  						
+	  					v_ae1.start(f_CSE_ANNC_RET_001(int3, v_originalResource, v_createRequestAnnc, v_responseContent));//Container
+						v_ae1.done;
 					}
 					
 					testcase TC_CSE_ANNC_RET_001_CIN() runs on Tester system CseSystem {
-						 //Local variables
-						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						//Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentContentInstance(m_contentCreateContentInstance);
 						var template RequestPrimitive v_createRequestAnnc := m_createContentInstanceAnncBase;
-  
-						v_ae1.start(f_CSE_ANNC_RET_001(int4, v_originalResource, v_createRequestAnnc));//ContentInstance
-						 v_ae1.done;
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.contentInstanceAnnc := mw_contentContentInstanceAnncBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_001(int4, v_originalResource, v_createRequestAnnc, v_responseContent));//ContentInstance
+						v_ae1.done;
 					}
 					
 					testcase TC_CSE_ANNC_RET_001_GRP() runs on Tester system CseSystem {
-						 //Local variables
-						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						//Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentGroup(m_contentCreateGroup(1, {"NotInitialized"}, omit, -, -, -, -));
 						var template RequestPrimitive v_createRequestAnnc := m_createGroupAnncBase;
-  
-						v_ae1.start(f_CSE_ANNC_RET_001(int9, v_originalResource, v_createRequestAnnc));//Group
-						 v_ae1.done;
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.groupAnnc := mw_contentGroupAnncBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_001(int9, v_originalResource, v_createRequestAnnc, v_responseContent));//Group
+						v_ae1.done;
 					}
 					
 					testcase TC_CSE_ANNC_RET_001_TS() runs on Tester system CseSystem {
-						 //Local variables
-						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						//Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentTimeSeries(m_contentCreateTimeSeries);
 						var template RequestPrimitive v_createRequestAnnc := m_createTimeSeriesAnncBase;
-  
-						v_ae1.start(f_CSE_ANNC_RET_001(int29, v_originalResource, v_createRequestAnnc));//TimeSeries
-						 v_ae1.done;
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.timeSeriesAnnc := mw_contentTimeSeriesAnncBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_001(int29, v_originalResource, v_createRequestAnnc, v_responseContent));//TimeSeries
+						v_ae1.done;
 					}
 					
 					testcase TC_CSE_ANNC_RET_001_TSI() runs on Tester system CseSystem {
-						 //Local variables
-						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						//Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentTimeSeriesInstance(m_contentCreateTimeSeriesInstance);
 						var template RequestPrimitive v_createRequestAnnc := m_createTimeSeriesInstanceAnnc;
-  
-						v_ae1.start(f_CSE_ANNC_RET_001(int30, v_originalResource, v_createRequestAnnc));//TimeSeriesInstance
-						 v_ae1.done;
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.timeSeriesInstanceAnnc := mw_contentTimeSeriesInstanceAnncBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_001(int30, v_originalResource, v_createRequestAnnc, v_responseContent));//TimeSeriesInstance
+						v_ae1.done;
 					}
 					
 				} //end group g_CSE_ANNC_RET_001
@@ -10784,8 +11685,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentAccessControlPolicy(m_contentCreateAcp);
 						var template RequestPrimitive v_createRequestAnnc := m_createAcpAnncBase;
-  
-						v_ae1.start(f_CSE_ANNC_RET_002(int1, v_originalResource, v_createRequestAnnc));//AccessControlPolicy
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.accessControlPolicy := mw_contentAcpBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_002(int1, v_originalResource, v_createRequestAnnc, v_responseContent));//AccessControlPolicy
 						 v_ae1.done;
 					}
 					
@@ -10794,8 +11698,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentContainer(m_contentCreateContainer);
 						var template RequestPrimitive v_createRequestAnnc := m_createContainerAnncBase;
-	  
-						v_ae1.start(f_CSE_ANNC_RET_002(int3, v_originalResource, v_createRequestAnnc));//Container
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.container := mw_contentContainerBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_002(int3, v_originalResource, v_createRequestAnnc, v_responseContent));//Container
 						 v_ae1.done;
 					}
 					
@@ -10804,8 +11711,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentContentInstance(m_contentCreateContentInstance);
 						var template RequestPrimitive v_createRequestAnnc := m_createContentInstanceAnncBase;
-  
-						v_ae1.start(f_CSE_ANNC_RET_002(int4, v_originalResource, v_createRequestAnnc));//ContentInstance
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.contentInstance := mw_contentContentInstanceBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_002(int4, v_originalResource, v_createRequestAnnc, v_responseContent));//ContentInstance
 						 v_ae1.done;
 					}
 					
@@ -10814,8 +11724,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentGroup(m_contentCreateGroup(1, {"NotInitialized"}, omit, -, -, -, -));
 						var template RequestPrimitive v_createRequestAnnc := m_createGroupAnncBase;
-  
-						v_ae1.start(f_CSE_ANNC_RET_002(int9, v_originalResource, v_createRequestAnnc));//Group
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.group_ := mw_contentGroupBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_002(int9, v_originalResource, v_createRequestAnnc, v_responseContent));//Group
 						 v_ae1.done;
 					}
 					
@@ -10824,8 +11737,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentTimeSeries(m_contentCreateTimeSeries);
 						var template RequestPrimitive v_createRequestAnnc := m_createTimeSeriesAnncBase;
-	  
-						v_ae1.start(f_CSE_ANNC_RET_002(int29, v_originalResource, v_createRequestAnnc));//TimeSeries
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.timeSeries := mw_contentTimeSeriesBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_002(int29, v_originalResource, v_createRequestAnnc, v_responseContent));//TimeSeries
 						 v_ae1.done;
 					}
 					
@@ -10834,8 +11750,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						 var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template PrimitiveContent v_originalResource := m_primitiveContentTimeSeriesInstance(m_contentCreateTimeSeriesInstance);
 						var template RequestPrimitive v_createRequestAnnc := m_createTimeSeriesInstanceAnnc;
-  
-						v_ae1.start(f_CSE_ANNC_RET_002(int30, v_originalResource, v_createRequestAnnc));//TimeSeriesInstance
+						var template PrimitiveContent v_responseContent;
+						 
+						v_responseContent.timeSeriesInstance := mw_contentTimeSeriesInstanceBase;
+  						
+						v_ae1.start(f_CSE_ANNC_RET_002(int30, v_originalResource, v_createRequestAnnc, v_responseContent));//TimeSeriesInstance
 						 v_ae1.done;
 					}
 					
@@ -11003,6 +11922,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_ANNC_UPD_003_ACP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
@@ -11019,9 +11939,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announceTo", omit}};
   
 						v_ae1.start(f_CSE_ANNC_UPD_003(int1, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//AccessControlPolicy
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 			
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
@@ -11045,6 +11965,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_ANNC_UPD_003_CNT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc;
@@ -11061,9 +11982,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announceTo", omit}};
   
 						v_ae1.start(f_CSE_ANNC_UPD_003(int3, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 			
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -11087,6 +12008,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_ANNC_UPD_003_GRP() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnnc;
@@ -11103,9 +12025,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announceTo", omit}};
   
 						v_ae1.start(f_CSE_ANNC_UPD_003(int9, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 			
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -11128,6 +12050,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_ANNC_UPD_003_TS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnnc;
@@ -11144,9 +12067,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announceTo", omit}};
   
 						v_ae1.start(f_CSE_ANNC_UPD_003(int29, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -11244,10 +12167,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 						const charstring v_cse1Id := PX_TS_CSE1.cseId;
 						template XSD.AnyURI v_announcedResourceAddress := pattern "{v_cse1Id}/*";
 						
-						v_updateRequest.primitiveContent.timeSeries.announceTo := {v_announcedResourceAddress};
+						v_updateRequest.primitiveContent.timeSeries.announceTo := {PX_TS_CSE1.cseId};
 						v_updateRequest.primitiveContent.timeSeries.announcedAttribute := {"pi"};
   
-						v_updateResponse.timeSeries.announceTo := {PX_TS_CSE1.cseId};
+						v_updateResponse.timeSeries.announceTo := {v_announcedResourceAddress};
 						v_updateResponse.timeSeries.announcedAttribute := omit;
 
 						v_ae1.start(f_CSE_ANNC_UPD_004(int29, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateResponse));//TimeSeries
@@ -11264,6 +12187,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_ANNC_UPD_005() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc;
@@ -11281,9 +12205,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"labels", omit}};
   
 						v_cse1.start(f_CSE_ANNC_UPD_005(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields));//Container
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 						
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_requestPrimitive := f_getRequestPrimitive(v_cse1);
 							if(ispresent(v_requestPrimitive.primitiveContent)) {
 								if(ischosen(v_requestPrimitive.primitiveContent.containerAnnc)) {
@@ -11427,6 +12351,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_ANNC_UPD_008_CNT_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc;
@@ -11442,9 +12367,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.container.announcedAttribute := {"mbs"};
   
 						v_ae1.start(f_CSE_ANNC_UPD_008(int3, v_createRequestAnnc, v_createRequest, v_updateRequest));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -11471,6 +12396,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_ANNC_UPD_008_GRP_MNM() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnnc;
@@ -11486,9 +12412,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.group_.announcedAttribute := {"mnm"};
   
 						v_ae1.start(f_CSE_ANNC_UPD_008(int9, v_createRequestAnnc, v_createRequest, v_updateRequest));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -11515,6 +12441,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_ANNC_UPD_008_TS_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnnc;
@@ -11530,9 +12457,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_updateRequest.primitiveContent.timeSeries.announcedAttribute := {"mbs"};
   
 						v_ae1.start(f_CSE_ANNC_UPD_008(int29, v_createRequestAnnc, v_createRequest, v_updateRequest));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -11825,6 +12752,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_ANNC_UPD_012_CNT_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc;
@@ -11847,9 +12775,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announcedAttribute", omit}};
   
 						v_cse1.start(f_CSE_ANNC_UPD_012(int3, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields, v_attributeToDeannounce));//Container
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 						
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_requestPrimitive := f_getRequestPrimitive(v_cse1);
 							if(ispresent(v_requestPrimitive.primitiveContent)) {
 								if(ischosen(v_requestPrimitive.primitiveContent.containerAnnc)) {
@@ -11865,6 +12793,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 
 					testcase TC_CSE_ANNC_UPD_012_GRP_MT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnnc;
@@ -11887,9 +12816,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announcedAttribute", omit}};
   
 						v_cse1.start(f_CSE_ANNC_UPD_012(int9, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields, v_attributeToDeannounce));//Group
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 						
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_requestPrimitive := f_getRequestPrimitive(v_cse1);
 							if(ispresent(v_requestPrimitive.primitiveContent)) {
 								if(ischosen(v_requestPrimitive.primitiveContent.groupAnnc)) {
@@ -11904,6 +12833,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_ANNC_UPD_012_TS_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnnc;
@@ -11927,9 +12857,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announcedAttribute", omit}};
   
 						v_cse1.start(f_CSE_ANNC_UPD_012(int29, v_createRequest, v_createRequestAnnc, v_updateRequest, v_updateRequestAnnc, v_nullFields, v_attributeToDeannounce));//TimeSeries
-						v_cse1.done;
+						v_cse1.done -> value v_verdict;
 	
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_requestPrimitive := f_getRequestPrimitive(v_cse1);
 							if(ispresent(v_requestPrimitive.primitiveContent)) {
 								if(ischosen(v_requestPrimitive.primitiveContent.timeSeriesAnnc)) {
@@ -11953,6 +12883,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_ANNC_UPD_013_CNT_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc;
@@ -11973,9 +12904,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announcedAttribute", omit}};
 	  
 						v_ae1.start(f_CSE_ANNC_UPD_013(int3, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields, v_updateResponse));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 	
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
@@ -11999,6 +12930,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 	
 					testcase TC_CSE_ANNC_UPD_013_GRP_MNM() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnnc;
@@ -12019,9 +12951,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announcedAttribute", omit}};
 	  
 						v_ae1.start(f_CSE_ANNC_UPD_013(int9, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields, v_updateResponse));//Group
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 	
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
@@ -12044,6 +12976,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					testcase TC_CSE_ANNC_UPD_013_TS_MBS() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createTimeSeriesAnnc;
@@ -12064,9 +12997,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_nullFields := {{"announcedAttribute", omit}};
   
 						v_ae1.start(f_CSE_ANNC_UPD_013(int29, v_createRequestAnnc, v_createRequest, v_updateRequest, v_nullFields, v_updateResponse));//TimeSeries
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 
-						if(getverdict == pass){
+						if(v_verdict == pass){
 							v_responsePrimitive := f_getResponsePrimitive(v_ae1);
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
 								if(ischosen(v_responsePrimitive.primitiveContent.timeSeries)) {
@@ -12098,27 +13031,27 @@ module OneM2M_Testcases_CSE_Release_3 {
 					 */
 					testcase TC_CSE_ANNC_UPD_014_CNT() runs on Tester system CseSystem {
 						// Local variables
+						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;	
 						var template PrimitiveContent v_updateResponse := {container := mw_contentContainerBase};
-						var ResponsePrimitive v_responsePrimitive;	
+						var PrimitiveContent v_retrievedResource;	
 						 
 						v_updateRequest.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
   
 						v_ae1.start(f_CSE_ANNC_UPD_014(int3, v_createRequestAnnc, v_createRequest, v_updateRequest, v_updateResponse));//Container
-						v_ae1.done;
+						v_ae1.done -> value v_verdict;
 						
-						if(getverdict == pass){
-						v_responsePrimitive := f_getResponsePrimitive(v_ae1);
-						if(ispresent(v_responsePrimitive.primitiveContent)) {
-							if(ischosen(v_responsePrimitive.primitiveContent.container)) {
-								if(ispresent(v_responsePrimitive.primitiveContent.container.announcedAttribute)){
-									setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL");
-								}
+						if(v_verdict  == pass){
+						v_retrievedResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+						if(ischosen(v_retrievedResource.container)) {
+							if(ispresent(v_retrievedResource.container.announceTo)){
+								setverdict(fail, __SCOPE__ & ": Error: announceTo attribute is not set to NULL");
 							}
 						}
+						
 					}
 				  }
 				} //end group g_CSE_ANNC_UPD_014
@@ -14504,120 +15437,336 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// resultGenType is set to WHEN_SMI_IS_CREATED
 					v_requestMashupInstance.primitiveContent.semanticMashupInstance.resultGenType := int1;						
 					
-					f_send(e_mcaPort, m_request(v_requestMashupInstance));
-			
+					f_send(e_mcaPort, m_request(v_requestMashupInstance));
+			
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Response with expected Status Code: CREATED");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong status code in Response Primitive.");
+						}
+                        [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                            tc_ac.stop;
+                            setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
+                        }
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating Semantic Mashup Instance resource");
+						}
+					}		
+	    					
+					// Postamble
+					f_cse_postamble_deleteResources();
+	    		
+					// Tear down
+					f_cf01Down();
+	    						
+				}//end function f_CSE_SEM_CRE_015
+					
+		        /**
+				 * @desc Check that the IUT creates successfully the  <semanticMashupInstance> resource with resultGenType set to PERIODICALLY.
+				 *
+				 */	
+				testcase TC_CSE_SEM_CRE_016() runs on Tester system CseSystem {
+					// Local variables
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+	
+					v_ae1.start(f_CSE_SEM_CRE_016());
+					v_ae1.done;														
+				}
+	
+				function f_CSE_SEM_CRE_016() runs on AeSimu system CseSystem {
+					// Local variables
+					// Local variables
+					var MsgIn v_response;
+					var integer v_aeIndex := -1;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
+					var RequestPrimitive v_requestMashupInstance;
+					var template RequestPrimitive v_createRequestJobProfile := m_createSemanticMashupJobProfileBase;
+					// 5sec nw delay assumed.
+					timer t_resultPeriod := 15.0;
+					var integer v_reponseCount := 0;
+		   
+							// Test control
+		
+					// Test component configuration
+					f_cf01Up();
+		
+					// Test adapter configuration
+		
+					// Preamble
+					f_cse_createAccessControlPolicyAux(-, -, int63);
+					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
+		
+					// Create JobProfile resource
+					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
+		
+					//Create Mashup Instance
+					//smjpID set to reference to <semanticMashupJobProfile> resource 
+					v_requestMashupInstance := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(f_getResourceAddress(v_resourceSemanticMashupJobProfileIndex), -, -, -), v_aeIndex);
+					// resultGenType is set to PERIODICALLY 
+					v_requestMashupInstance.primitiveContent.semanticMashupInstance.resultGenType := int3;
+					// timer set to 5sec
+					v_requestMashupInstance.primitiveContent.semanticMashupInstance.periodForResultGen := "PT10S";		
+					
+					f_send(e_mcaPort, m_request(v_requestMashupInstance));
+		
+					t_resultPeriod.start;
+					
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) {
+							setverdict(pass, __SCOPE__ & ": SMR created periodically");
+							log("Response with expected Status Code: CREATED");
+							
+//							t_resultPerdiod.stop;
+//
+//							v_reponseCount := v_reponseCount + 1;
+//		
+//							if(v_reponseCount == 4) {
+//								setverdict(pass, __SCOPE__ & ": SMR created periodically");
+//							} else {
+//								repeat;
+//							}
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							t_resultPeriod.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong return code received.");
+						}
+                        [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                            t_resultPeriod.stop;
+                            setverdict(fail, __SCOPE__ & ": Unexpected message received.");
+                        }
+						[] t_resultPeriod.timeout {
+							setverdict(fail, __SCOPE__ & ": No response even after time out period of 15sec");
+						}
+					}
+
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+						
+				}//end function f_CSE_SEM_CRE_016
+				
+						
+				/**
+				 * @desc Check that the IUT rejects the creation request of a <semanticDescriptor> resource  
+				 *  		in which descriptorRepresentation attribute is set to "IRI".
+				 */
+				testcase TC_CSE_SEM_CRE_017() runs on Tester system CseSystem {
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+				
+					v_ae1.start(f_CSE_SEM_CRE_017()); 	
+					v_ae1.done;					
+				}
+				
+			
+				function f_CSE_SEM_CRE_017() runs on AeSimu system CseSystem {
+		    				
+					// Local variables
+					var MsgIn v_response;
+					var template RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var ResourceType v_resourceType := int24;	//Semantic Descriptor
+					var SemanticFormat v_descriptorRepresentation := int1;	//IRI
+					
+					// Test control
+		
+					// Test component configuration
+					f_cf01Up();
+		
+					// Preamble
+					f_cse_createAccessControlPolicyAux(-, -, int63);
+					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
+		
+					// Test Body
+					v_request := f_getCreateRequestPrimitive(v_resourceType, m_createSemanticDescriptorBase, v_aeIndex); 
+					
+					v_request.from_ := f_getOriginator(v_aeIndex);
+					v_request.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
+					v_request.primitiveContent.semanticDescriptor.descriptorRepresentation := v_descriptorRepresentation;
+					
+					f_send(e_mcaPort, m_request(valueof(v_request)));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Semantic Descripter creation rejected with expected error code BAD_REQUEST");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(?))) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating semantic descriptor resource type");
+						}
+					}	
+						
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+				}//end function f_CSE_SEM_CRE_017
+				
+				/**
+				 * @desc Check that the IUT generates a Response Status Code indicating a “INVALID_SEMANTICS” error 
+				 * 			when any aspect of the semantic validation process fails
+				 *  
+				 */
+				testcase TC_CSE_SEM_CRE_018() runs on Tester system CseSystem {	 
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					
+					v_ae1.start(f_CSE_SEM_CRE_018());
+					v_ae1.done;					
+				}
+				
+				function f_CSE_SEM_CRE_018() runs on AeSimu system CseSystem {
+				
+					var integer v_aeIndex := -1;
+					var integer v_cseBaseIndex := -1;
+					var integer v_remoteOntologyRepoIndex := -1;
+					var integer v_remoteOntologyIndex := -1;
+				
+					var XSD.ID v_remoteOntologyRepoAddress;
+					var XSD.ID v_remoteOntologyAddress;
+				
+					var RequestPrimitive v_requestSemanticDescriptor;
+				
+					// Test control
+        
+					// Test component configuration
+					f_cf02Up();
+    
+					// Test adapter configuration
+        
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();
+					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
+                    
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+
+					vc_cse1.start(f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), v_cseBaseIndex, int38));
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					v_remoteOntologyRepoAddress := f_getLatestLocalResourceAddress(vc_cse1, e_nonHierarchical, e_cseRelative);
+					v_remoteOntologyRepoIndex := f_getLatestLocalResourceIndex(vc_cse1);
+					
+					vc_cse1.start(f_generateAndSetLocalResource(valueof(m_primitiveContentOntology(m_contentCreateOntology)), v_remoteOntologyRepoIndex, int39));
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					v_remoteOntologyAddress := f_getLatestLocalResourceAddress(vc_cse1, e_nonHierarchical, e_cseRelative);
+					v_remoteOntologyIndex := f_getLatestLocalResourceIndex(vc_cse1);
+					
+					//Handle Retrieve Request in CSE
+					vc_cse1.start(f_cse_retrieveResourceHandler(v_remoteOntologyIndex));
+					
+					//Create Semantic Descriptor
+					v_requestSemanticDescriptor := f_getCreateRequestPrimitive(int24, m_createSemanticDescriptorBase, v_aeIndex);
+					v_requestSemanticDescriptor.primitiveContent.semanticDescriptor.ontologyRef := v_remoteOntologyAddress;
+					v_requestSemanticDescriptor.primitiveContent.semanticDescriptor.validationEnable := true;
+					f_send(e_mcaPort, m_request(v_requestSemanticDescriptor));
+					
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4120))) {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": Response with expected Status Code: CREATED");
+							setverdict(pass, __SCOPE__ & ": INVALID_SEMANTICS: Semantic validation process fails");
 						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ": Wrong status code in Response Primitive.");
 						}
-                        [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-                            tc_ac.stop;
-                            setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
-                        }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
+						}
 						[] tc_ac.timeout {
 							setverdict(fail, __SCOPE__ & ": No answer while creating Semantic Mashup Instance resource");
 						}
-					}		
-	    					
+					}	
+					
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);	
+
 					// Postamble
 					f_cse_postamble_deleteResources();
-	    		
+	            		
 					// Tear down
 					f_cf01Down();
-	    						
-				}//end function f_CSE_SEM_CRE_015
-					
-		        /**
-				 * @desc Check that the IUT creates successfully the  <semanticMashupInstance> resource with resultGenType set to PERIODICALLY.
-				 *
-				 */	
-				testcase TC_CSE_SEM_CRE_016() runs on Tester system CseSystem {
-					// Local variables
+				}//end function f_CSE_SEM_CRE_018
+				
+				/**
+				 * @desc Check that the IUT rejects the creation request of a <semanticDescriptor> resource  
+				 *  		indicating a “ONTOLOGY_NOT_AVAILABLE” error when referenced ontology of 
+				 *  		the local linked <semanticDescriptor> resources 
+				 *  			cannot be retrieved  during a semantic validation process.
+				 */
+				testcase TC_CSE_SEM_CRE_019() runs on Tester system CseSystem {
 					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-	
-					v_ae1.start(f_CSE_SEM_CRE_016());
-					v_ae1.done;														
+				
+					v_ae1.start(f_CSE_SEM_CRE_019()); 	
+					v_ae1.done;					
 				}
-	
-				function f_CSE_SEM_CRE_016() runs on AeSimu system CseSystem {
-					// Local variables
+				
+			
+				function f_CSE_SEM_CRE_019() runs on AeSimu system CseSystem {
+		    				
 					// Local variables
 					var MsgIn v_response;
+					var template RequestPrimitive v_request;
 					var integer v_aeIndex := -1;
-					var integer v_resourceSemanticMashupJobProfileIndex := -1;
-					var RequestPrimitive v_requestMashupInstance;
-					var template RequestPrimitive v_createRequestJobProfile := m_createSemanticMashupJobProfileBase;
-					// 5sec nw delay assumed.
-					timer t_resultPeriod := 15.0;
-					var integer v_reponseCount := 0;
-		   
-							// Test control
+					var integer v_semanticDescriptorIndex := -1;
+					var ResourceType v_resourceType := int24;	//Semantic Descriptor
+					var ListOfURIs v_relatedSemantics := {"NotInitilized"};
+					
+					// Test control
 		
 					// Test component configuration
 					f_cf01Up();
 		
-					// Test adapter configuration
-		
 					// Preamble
 					f_cse_createAccessControlPolicyAux(-, -, int63);
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
-		
-					// Create JobProfile resource
-					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
-		
-					//Create Mashup Instance
-					//smjpID set to reference to <semanticMashupJobProfile> resource 
-					v_requestMashupInstance := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(f_getResourceAddress(v_resourceSemanticMashupJobProfileIndex), -, -, -), v_aeIndex);
-					// resultGenType is set to PERIODICALLY 
-					v_requestMashupInstance.primitiveContent.semanticMashupInstance.resultGenType := int3;
-					// timer set to 5sec
-					v_requestMashupInstance.primitiveContent.semanticMashupInstance.periodForResultGen := "PT10S";		
 					
-					f_send(e_mcaPort, m_request(v_requestMashupInstance));
+					v_semanticDescriptorIndex := f_cse_createResource(int24, m_createSemanticDescriptorBase, v_aeIndex);
+					v_relatedSemantics := {f_getResourceAddress(v_semanticDescriptorIndex)};
 		
-					t_resultPeriod.start;
+					// Test Body
+					v_request := f_getCreateRequestPrimitive(v_resourceType, m_createSemanticDescriptorBase, v_aeIndex); 
+					
+					v_request.from_ := f_getOriginator(v_aeIndex);
+					v_request.primitiveContent.semanticDescriptor.validationEnable := true;
+					v_request.primitiveContent.semanticDescriptor.relatedSemantics := v_relatedSemantics; //linked semantic descriptor
+					
+					f_send(e_mcaPort, m_request(valueof(v_request)));
+					tc_ac.start;
 					
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) {
-							setverdict(pass, __SCOPE__ & ": SMR created periodically");
-							log("Response with expected Status Code: CREATED");
-							
-//							t_resultPerdiod.stop;
-//
-//							v_reponseCount := v_reponseCount + 1;
-//		
-//							if(v_reponseCount == 4) {
-//								setverdict(pass, __SCOPE__ & ": SMR created periodically");
-//							} else {
-//								repeat;
-//							}
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4118))) {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Semantic Descripter creation rejected with expected error code 4118 (ONTOLOGY_NOT_AVAILABLE)");
 						}
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
-							t_resultPeriod.stop;
-							setverdict(fail, __SCOPE__ & ": Wrong return code received.");
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(?))) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
 						}
-                        [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-                            t_resultPeriod.stop;
-                            setverdict(fail, __SCOPE__ & ": Unexpected message received.");
-                        }
-						[] t_resultPeriod.timeout {
-							setverdict(fail, __SCOPE__ & ": No response even after time out period of 15sec");
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating semantic descriptor resource type");
 						}
-					}
-
+					}	
+						
 					// Postamble
 					f_cse_postamble_deleteResources();
 		
 					// Tear down
 					f_cf01Down();
-						
-				}//end function f_CSE_SEM_CRE_016
+				}//end function f_CSE_SEM_CRE_019
+				
+				
+				
 			} // end of group Create
 			
 			group Update {
@@ -14922,7 +16071,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var XSD.ID v_remoteOntologyAddress;
 					var integer v_remoteOntologyRepoIndex := -1;
 					var integer v_remoteOntologyIndex := -1;
-					var RequestPrimitive v_updateSdRequestPrimitive := m_updateSemanticDescriptorBase;
+					var template RequestPrimitive v_updateSdRequestPrimitive := m_updateSemanticDescriptorBase;
 					
 					// Test control
         
@@ -14958,7 +16107,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_updateSdRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_remoteOntologyAddress;
 					v_updateSdRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := true;
 					v_updateSdRequestPrimitive := f_getUpdateRequestPrimitive(int24, v_resourceIndexSd, v_updateSdRequestPrimitive);
-					f_send(e_mcaPort, m_request(v_updateSdRequestPrimitive));
+					f_send(e_mcaPort, m_request(valueof(v_updateSdRequestPrimitive)));
 					
 					tc_ac.start;
 					alt {
@@ -15524,30 +16673,175 @@ module OneM2M_Testcases_CSE_Release_3 {
 					f_send(e_mcaPort, m_request(v_updateReqSmi));
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": semanticMashupInstance Updated.");
+						}
+                        [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+                            tc_ac.stop;
+                            setverdict(fail, __SCOPE__ & ": Wrong status code in Response Primitive.");
+                        }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating Semantic Mashup Instance resource");
+						}
+					}		
+                					
+					// Postamble
+					f_cse_postamble_deleteResources();
+                		
+					// Tear down
+					f_cf01Down();
+				
+				}; // end TC_CSE_SEM_UPD_013	
+				
+					
+				/**
+				 * @desc Check that the IUT rejects the update request of a <semanticDescriptor> resource indicating a "BAD_REQUEST" error 
+				 * 			when the request contains descriptorRepresentation attribute and is set to "IRI".
+				 *  
+				 */
+				testcase TC_CSE_SEM_UPD_014() runs on Tester system CseSystem {
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_SEM_UPD_014());
+					v_ae1.done;					
+				}
+				
+				function f_CSE_SEM_UPD_014() runs on AeSimu system CseSystem {		
+					// Local variables
+					var MsgIn v_response;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var integer v_resourceIndex1 := -1;					
+					
+					var RequestPrimitive v_request;
+					var template RequestPrimitive p_createRequestPrimitive := m_createSemanticDescriptorBase;
+					var template RequestPrimitive p_updateRequestPrimitive := m_updateSemanticDescriptorBase;				
+					
+					var ResourceType p_resourceType := int24;	//Semantic Descriptor
+					var SemanticFormat v_descriptorRepresentation := int1;	//IRI
+								   
+					// Test control
+					
+					// Test component configuration
+					f_cf01Up();
+		
+					// Test adapter configuration
+		
+					// Preamble
+					f_cse_createAccessControlPolicyAux(-, -, int63);
+					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
+					
+					//Create Semantic Descritor 
+					p_createRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex);
+		
+					// Test Body
+					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptorRepresentation := v_descriptorRepresentation;
+					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
+                							               											
+					
+					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+					f_send(e_mcaPort, m_request(v_request));
+					
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Update request rejected with expected error code BAD_REQUEST, as request  contains descriptorRepresentation attribute set to IRI");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(?))) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating semantic descriptor resource type");
+						}
+					}	
+						
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+				
+				}//end function f_CSE_SEM_UPD_014
+				
+/**
+				 * @desc Check that the IUT rejects the update request of a <semanticDescriptor> resource indicating a "SPARQL_UPDATE_ERROR" error 
+				 * 			in which semanticOpExec attribute contains a valid SPARQL update request 
+				 * 			and request cannot be executed by the Hosting CSE.
+				 *  
+				 */
+				testcase TC_CSE_SEM_UPD_015() runs on Tester system CseSystem {
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_SEM_UPD_015());
+					v_ae1.done;					
+				}
+				
+				function f_CSE_SEM_UPD_015() runs on AeSimu system CseSystem {
+					// Local variables
+					var MsgIn v_response;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var integer v_resourceIndex1 := -1;					
+				
+					var RequestPrimitive v_request;
+					var template RequestPrimitive p_createRequestPrimitive := m_createSemanticDescriptorBase;
+					var template RequestPrimitive p_updateRequestPrimitive := m_updateSemanticDescriptorBase;				
+					
+					var ResourceType p_resourceType := int24;	//Semantic Descriptor
+					var XSD.String v_semanticOpExec := "DELETE { ?person <http://bigco.example/HR/Person/fname> 'Miguel' }";							
+								   
+					// Test control
+					
+					// Test component configuration
+					f_cf01Up();
+		
+					// Test adapter configuration
+		
+					// Preamble
+					f_cse_createAccessControlPolicyAux(-, -, int63);
+					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
+					
+					//Create Semantic Descritor 
+					p_createRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex);
+		
+					// Test Body
+					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.semanticOpExec := v_semanticOpExec;                							               											
+					
+					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+					f_send(e_mcaPort, m_request(v_request));
+					
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int5212))) {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": semanticMashupInstance Updated.");
+							setverdict(pass, __SCOPE__ & ": Update request responded with error SPARQL_UPDATE_ERROR, as SPARQL update request cannot be executed");
 						}
-                        [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
-                            tc_ac.stop;
-                            setverdict(fail, __SCOPE__ & ": Wrong status code in Response Primitive.");
-                        }
-						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(?))) {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
 						}
 						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No answer while updating Semantic Mashup Instance resource");
+							setverdict(fail, __SCOPE__ & ": No answer while updating semantic descriptor resource type");
 						}
-					}		
-                					
+					}	
+						
 					// Postamble
 					f_cse_postamble_deleteResources();
-                		
+		
 					// Tear down
 					f_cf01Down();
 				
-				}; // end TC_CSE_SEM_UPD_013	
+				}//end function f_CSE_SEM_UPD_015
+				
 			} // end of group Update
 			
 			group Retrieve {
@@ -16511,7 +17805,225 @@ module OneM2M_Testcases_CSE_Release_3 {
             		
 					// Tear down
 					f_cf01Down();
-				};	
+				};
+				
+				/**
+				 * @desc Check that the IUT rejects a semantic query request 
+				 *  		 with semanticsFilter condition set to a non-valid SPARQL query request.
+				 */				
+				testcase TC_CSE_SEM_RET_013() runs on Tester system CseSystem {
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_SEM_RET_013());
+					v_ae1.done;
+				}
+				
+				function f_CSE_SEM_RET_013() runs on AeSimu system CseSystem {		
+					
+					// Local variables
+					var MsgIn v_response;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var RequestPrimitive v_retrieveRequest;
+					var template RequestPrimitive p_createRequestPrimitive := m_createSemanticDescriptorBase;
+					
+					var FilterCriteria v_filterCriteria := valueof(m_filterCriteria);
+					v_filterCriteria.semanticsFilter_list[0] := "SELECT WHERE FILTER name";//Invalid SPARQL query
+				
+					var ResourceType p_resourceType := int24;	//Semantic Descriptor
+					
+					// Test control
+
+					// Test component configuration
+					f_cf01Up();
+
+					// Test adapter configuration
+		
+					// Preamble
+					f_cse_createAccessControlPolicyAux(-, -, int63);
+					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
+		
+					// Test Body
+					p_createRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex);
+
+					v_retrieveRequest := m_retrieveFilterCriteria(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex), v_filterCriteria);
+					v_retrieveRequest.semanticQueryIndicator := true;
+					v_retrieveRequest.resultContent := int10;	//ResultContent = 10 (Semantic Content)
+					
+					f_send(e_mcaPort, m_request(valueof(v_retrieveRequest)));
+					
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ":  Rejected semantic query request with BAD_REQUEST as semanticsFilter condition set to a non-valid SPARQL query request.");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(?))) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while performing Semantic Query");
+						}
+					}	
+						
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+				
+				}//end function f_CSE_SEM_RET_013
+				
+				/**
+				 * @desc Check that the IUT accepts a valid semantic query request for target resource and returns a valid query result.
+				 * 
+				 */				
+				testcase TC_CSE_SEM_RET_014() runs on Tester system CseSystem {
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_SEM_RET_014());
+					v_ae1.done;
+				}
+				
+				function f_CSE_SEM_RET_014() runs on AeSimu system CseSystem {		
+					
+					// Local variables
+					var MsgIn v_response;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var RequestPrimitive v_retrieveRequest;
+					var template RequestPrimitive p_createRequestPrimitive := m_createSemanticDescriptorBase;
+					
+					var FilterCriteria v_filterCriteria := valueof(m_filterCriteria);
+					v_filterCriteria.semanticsFilter_list[0] := "SELECT DISTINCT * WHERE { ?s ?p ?o } LIMIT 1"; //Valid SPARQL Query
+				
+					var ResourceType p_resourceType := int24;	//Semantic Descriptor
+					
+					// Test control
+
+					// Test component configuration
+					f_cf01Up();
+
+					// Test adapter configuration
+		
+					// Preamble
+					f_cse_createAccessControlPolicyAux(-, -, int63);
+					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
+		
+					// Test Body
+					p_createRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex);
+
+					v_retrieveRequest := m_retrieveFilterCriteria(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex), v_filterCriteria);
+					v_retrieveRequest.semanticQueryIndicator := true;
+					v_retrieveRequest.resultContent := int10;	//ResultContent = 10 (Semantic Content)
+					
+					f_send(e_mcaPort, m_request(valueof(v_retrieveRequest)));
+					
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Semantic query request executed successfully.");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(?))) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while performing Semantic Query");
+						}
+					}	
+						
+					// Postamble
+					f_cse_postamble_deleteResources();
+		
+					// Tear down
+					f_cf01Down();
+				
+				}//end function f_CSE_SEM_RET_014
+				
+				
+				/**
+				 * @desc Check that the IUT returns successfully the attributes of the <semanticDescriptor> resource
+				 * 			 except the semanticOpEx attribute.
+				 * 
+				 */				
+				testcase TC_CSE_SEM_RET_015() runs on Tester system CseSystem {
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_SEM_RET_015());
+					v_ae1.done;
+				}
+				
+				function f_CSE_SEM_RET_015() runs on AeSimu system CseSystem {		
+
+
+					// Local variables
+					var MsgIn v_response;
+					var template RequestPrimitive v_retrieveRequest;
+					var template RequestPrimitive v_createRequestPrimitive := m_createSemanticDescriptorBase;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var template PrimitiveContent v_contentResponse;
+									
+					// Test component configuration
+					f_cf01Up(true);
+            
+					// Test adapter configuration
+            
+					// Preamble
+					f_cse_createAccessControlPolicyAux(-, -, int63);
+					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
+					v_resourceIndex := f_cse_createResource(int24, v_createRequestPrimitive, v_aeIndex); //SemanticDescriptor
+					
+					// Test Body
+					v_retrieveRequest := m_retrieve(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex));
+					f_send(e_mcaPort, m_request(valueof(v_retrieveRequest)));
+					v_contentResponse.semanticDescriptor := mw_retrieveSemanticDescriptor; // check for attributes of resource representation
+					
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response {
+							tc_ac.stop;
+							
+							if(ispresent(v_response.primitive.responsePrimitive.primitiveContent.semanticDescriptor.semanticOpExec)){
+							  setverdict(fail, __SCOPE__ & "semanticOpExec is included in the RETRIEVE response!");
+							} else {
+							  setverdict(pass, __SCOPE__ & ": Response OK for retrieving with semanticOpeExec not present as expected.");
+							}
+														
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, ?))) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Response OK for retrieving, but wrong content");                           
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong status code in Response Primitive.");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Unexpected status code in Response Primitive.");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+						}
+					}
+					
+								
+					// Postamble
+					f_cse_postamble_deleteResources();
+            		
+					// Tear down
+					f_cf01Down();
+				
+									
+				}//end function f_CSE_SEM_RET_015
+				
+					
 			} // end of group Retrieve
 			
 			group Delete {
@@ -16755,51 +18267,143 @@ module OneM2M_Testcases_CSE_Release_3 {
 		}// end group Semantic	
 		
 		group Interworking_3GPP {
-				
-				group nidd {
+			// See https://jdegre.github.io/editor/?url=https://raw.githubusercontent.com/jdegre/5GC_APIs/master/TS29122_DeviceTriggering.yaml
+			
+			group nidd {
+				
+				// GET all confgurations from an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_001() runs on ScefSimu system ScefSystem {
+					f_cf05Up();
+					
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_get(
+																										m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations"),
+																										{ 
+																											{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																											{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																											{ "Accept", "*/*" },
+																											{ "Content-Type", "application/json" },
+																											{ "Connection", "keep-alive" } 
+																										}
+																										)));
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_niddConfigurations(?/*{m_niddConfiguration}*/)))) {
+							tc_ac.stop;
+							setverdict(pass);
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
 					
-					// GET all confgurations from an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_001() runs on ScefSimu system ScefSystem {
-						f_cf05Up();
-						
-						mcnPort.send(
-												m_t8Request(
-																		m_t8_request_get(
-																											m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations"),
-																											{ 
-																												{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																												{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																												{ "Accept", "*/*" },
-																												{ "Content-Type", "application/json" },
-																												{ "Connection", "keep-alive" } 
-																											}
-																											)));
-						tc_ac.start;
-						alt {
-							[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_niddConfigurations(?/*{m_niddConfiguration}*/)))) {
-								tc_ac.stop;
+					f_cf05Down();
+				}
+			
+				// GET a specifc confguration from an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_002() runs on ScefSimu system ScefSystem {
+					f_cf05Up();
+					
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_get(
+																										m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations/cf_001"),
+																										{ 
+																											{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																											{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																											{ "Accept", "*/*" },
+																											{ "Content-Type", "application/json" },
+																											{ "Connection", "keep-alive" } 
+																										}
+																										)));
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualNiddConfiguration))) {
+							tc_ac.stop;
+							setverdict(pass);
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_cf05Down();
+				}
+			
+				// POST create a new Nidd confguration for an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_003() runs on ScefSimu system ScefSystem {
+					var T8Primitive v_response;
+					
+					f_cf05Up();
+					
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_post(
+																										m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations"),
+																										{ 
+																											{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																											{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																											{ "Accept", "*/*" },
+																											{ "Content-Type", "application/json" },
+																											{ "Connection", "keep-alive" } 
+																										},
+																										m_request_body_niddConfiguration(m_niddConfiguration)
+																										)));
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_201_created(-, mw_response_body_individualNiddConfiguration))) -> value v_response {
+							var charstring v_location;
+							
+							tc_ac.stop;
+							// Check presence of Location HTTP header
+							for (var integer i := 0; i < lengthof(v_response.t8Response.responseHeaders); i := i + 1) {
+								if (v_response.t8Response.responseHeaders[i].header_name == "Location") {
+									v_location := v_response.t8Response.responseHeaders[i].header_value;
+									break;
+								}
+							} // End of 'for' statement
+							if (isbound(v_location)) {
+								f_delete_nidd_configuration(v_location);
 								setverdict(pass);
-							}
-							[] mcnPort.receive(mw_t8Response) {
-								tc_ac.stop;
+							} else {
 								setverdict(fail);
 							}
-							[] tc_ac.timeout {
-								setverdict(inconc);
-							}
-						} // End of 'alt' statement
-						
-						f_cf05Down();
-					}
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_cf05Down();
+				}
 				
-					// GET a specifc confguration from an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_002() runs on ScefSimu system ScefSystem {
-						f_cf05Up();
-						
-						mcnPort.send(
-												m_t8Request(
-																		m_t8_request_get(
-																											m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations/cf_001"),
+				// DELETE delete a new Nidd confguration for an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_004() runs on ScefSimu system ScefSystem {
+					var charstring v_location;
+					
+					f_cf05Up();
+					
+					// Preamble
+					f_create_nidd_configuration(v_location);
+					
+					// Test Body
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_delete(
+																											m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & v_location),
 																											{ 
 																												{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
 																												{ "User-Agent", "oneM2M Test Adapter - TTF001" },
@@ -16808,334 +18412,144 @@ module OneM2M_Testcases_CSE_Release_3 {
 																												{ "Connection", "keep-alive" } 
 																											}
 																											)));
-						tc_ac.start;
-						alt {
-							[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualNiddConfiguration))) {
-								tc_ac.stop;
-								setverdict(pass);
-							}
-							[] mcnPort.receive(mw_t8Response) {
-								tc_ac.stop;
-								setverdict(fail);
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc);
-							}
-						} // End of 'alt' statement
-						
-						f_cf05Down();
-					}
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_204_no_content)) {
+							tc_ac.stop;
+							setverdict(pass);
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_cf05Down();
+				}
 				
-					// POST create a new Nidd confguration for an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_003() runs on ScefSimu system ScefSystem {
-						var T8Primitive v_response;
-						
-						f_cf05Up();
-						
-						mcnPort.send(
-												m_t8Request(
-																		m_t8_request_post(
-																											m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations"),
+				// DELETE delete a non existing Nidd confguration for an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_005() runs on ScefSimu system ScefSystem {
+					var charstring v_location := "unknown";
+					
+					f_cf05Up();
+					
+					// Preamble
+					
+					// Test Body
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_delete(
+																											m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & v_location),
 																											{ 
 																												{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
 																												{ "User-Agent", "oneM2M Test Adapter - TTF001" },
 																												{ "Accept", "*/*" },
 																												{ "Content-Type", "application/json" },
 																												{ "Connection", "keep-alive" } 
-																											},
-																											m_request_body_niddConfiguration(m_niddConfiguration)
+																											}
 																											)));
-						tc_ac.start;
-						alt {
-							[] mcnPort.receive(mw_t8Response(mw_t8_response_201_created(-, mw_response_body_individualNiddConfiguration))) -> value v_response {
-								var charstring v_location;
-								
-								tc_ac.stop;
-								// Check presence of Location HTTP header
-								for (var integer i := 0; i < lengthof(v_response.t8Response.responseHeaders); i := i + 1) {
-									if (v_response.t8Response.responseHeaders[i].header_name == "Location") {
-										v_location := v_response.t8Response.responseHeaders[i].header_value;
-										break;
-									}
-								} // End of 'for' statement
-								if (isbound(v_location)) {
-									f_delete_nidd_configuration(v_location);
-									setverdict(pass);
-								} else {
-									setverdict(fail);
-								}
-							}
-							[] mcnPort.receive(mw_t8Response) {
-								tc_ac.stop;
-								setverdict(fail);
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc);
-							}
-						} // End of 'alt' statement
-						
-						f_cf05Down();
-					}
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_404_not_found)) {
+							tc_ac.stop;
+							setverdict(pass);
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
 					
-					// DELETE delete a new Nidd confguration for an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_004() runs on ScefSimu system ScefSystem {
-						var charstring v_location;
-						
-						f_cf05Up();
-						
-						// Preamble
-						f_create_nidd_configuration(v_location);
-						
-						// Test Body
-						mcnPort.send(
-												m_t8Request(
-																		m_t8_request_delete(
-																												m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & v_location),
-																												{ 
-																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																													{ "Accept", "*/*" },
-																													{ "Content-Type", "application/json" },
-																													{ "Connection", "keep-alive" } 
-																												}
-																												)));
-						tc_ac.start;
-						alt {
-							[] mcnPort.receive(mw_t8Response(mw_t8_response_204_no_content)) {
-								tc_ac.stop;
-								setverdict(pass);
-							}
-							[] mcnPort.receive(mw_t8Response) {
-								tc_ac.stop;
-								setverdict(fail);
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc);
-							}
-						} // End of 'alt' statement
-						
-						f_cf05Down();
-					}
+					f_cf05Down();
+				}
+				
+				// PATCH update an existing Nidd conf_create_nidd_configuration(v_location);fguration for an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_006() runs on ScefSimu system ScefSystem {
+					var charstring v_location;
+					var NiddConfiguration v_niddConfiguration;
+					var T8Primitive v_response;
 					
-					// DELETE delete a non existing Nidd confguration for an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_005() runs on ScefSimu system ScefSystem {
-						var charstring v_location := "unknown";
-						
-						f_cf05Up();
-						
-						// Preamble
-						
-						// Test Body
-						mcnPort.send(
-												m_t8Request(
-																		m_t8_request_delete(
-																												m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & v_location),
-																												{ 
-																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																													{ "Accept", "*/*" },
-																													{ "Content-Type", "application/json" },
-																													{ "Connection", "keep-alive" } 
-																												}
-																												)));
-						tc_ac.start;
-						alt {
-							[] mcnPort.receive(mw_t8Response(mw_t8_response_404_not_found)) {
-								tc_ac.stop;
-								setverdict(pass);
-							}
-							[] mcnPort.receive(mw_t8Response) {
-								tc_ac.stop;
-								setverdict(fail);
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc);
-							}
-						} // End of 'alt' statement
-						
-						f_cf05Down();
-					}
+					f_cf05Up();
 					
-					// PATCH update an existing Nidd conf_create_nidd_configuration(v_location);fguration for an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_006() runs on ScefSimu system ScefSystem {
-						var charstring v_location;
-						var NiddConfiguration v_niddConfiguration;
-						var T8Primitive v_response;
-						
-						f_cf05Up();
-						
-						// Preambule
-						f_create_nidd_configuration(v_location);
-						f_get_nidd_configuration(v_location, v_niddConfiguration);
-						
-						// TestBody
-						v_niddConfiguration.notificationDestination := v_niddConfiguration.notificationDestination & "_patched";
-						mcnPort.send(
-												m_t8Request(
-																		m_t8_request_patch(
-																												m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & v_location),
-																												{ 
-																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																													{ "Accept", "*/*" },
-																													{ "Content-Type", "application/json" },
-																													{ "Connection", "keep-alive" } 
-																												},
-																												m_request_body_niddConfiguration(v_niddConfiguration)
-																												)));
-						tc_ac.start;
-						alt {
-							[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualNiddConfiguration(v_niddConfiguration)))) -> value v_response {
-								
-								tc_ac.stop;
-								setverdict(pass);
-							}
-							[] mcnPort.receive(mw_t8Response) {
-								tc_ac.stop;
-								setverdict(fail);
-							}
-							[] tc_ac.timeout {
-								setverdict(inconc);
-							}
-						} // End of 'alt' statement
-						
-						f_delete_nidd_configuration(v_location);
-						
-						f_cf05Down();
-					}
+					// Preambule
+					f_create_nidd_configuration(v_location);
+					f_get_nidd_configuration(v_location, v_niddConfiguration);
 					
-					group nidd_functions {
-						
-						function f_create_nidd_configuration(out charstring p_location) runs on ScefSimu system ScefSystem {
-							var T8Primitive v_response;
-							
-							mcnPort.send(
-													m_t8Request(
-																			m_t8_request_post(
-																												m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations"),
-																												{ 
-																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																													{ "Accept", "*/*" },
-																													{ "Content-Type", "application/json" },
-																													{ "Connection", "keep-alive" } 
-																												},
-																												m_request_body_niddConfiguration(m_niddConfiguration)
-																												)));
-							tc_ac.start;
-							alt {
-								[] mcnPort.receive(mw_t8Response(mw_t8_response_201_created(-, mw_response_body_individualNiddConfiguration))) -> value v_response {
-									
-									tc_ac.stop;
-									// Check presence of Location HTTP header
-									for (var integer i := 0; i < lengthof(v_response.t8Response.responseHeaders); i := i + 1) {
-										if (v_response.t8Response.responseHeaders[i].header_name == "Location") {
-											p_location := v_response.t8Response.responseHeaders[i].header_value;
-											break;
-										}
-									} // End of 'for' statement
-									if (not(isbound(p_location))) {
-										setverdict(fail);
-									}
-								}
-								[] mcnPort.receive(mw_t8Response) {
-									tc_ac.stop;
-									setverdict(fail);
-								}
-								[] tc_ac.timeout {
-									setverdict(inconc);
-								}
-							} // End of 'alt' statement
-							
-						} // End of function f_create_nidd_configuration
-						
-						function f_delete_nidd_configuration(in charstring p_location) runs on ScefSimu system ScefSystem {
-							mcnPort.send(
-													m_t8Request(
-																			m_t8_request_delete(
-																													m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & p_location),
-																													{ 
-																														{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																														{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																														{ "Accept", "*/*" },
-																														{ "Content-Type", "application/json" },
-																														{ "Connection", "keep-alive" } 
-																													}
-																													)));
-							tc_ac.start;
-							alt {
-								[] mcnPort.receive(mw_t8Response(mw_t8_response_204_no_content)) {
-									tc_ac.stop;
-								}
-								[] mcnPort.receive(mw_t8Response) {
-									tc_ac.stop;
-									setverdict(fail);
-								}
-								[] tc_ac.timeout {
-									setverdict(inconc);
-								}
-							} // End of 'alt' statement
-						} // End of function f_delete_nidd_configuration
-						
-						function f_get_nidd_configuration(in charstring p_location, out NiddConfiguration p_niddConfiguration) runs on ScefSimu system ScefSystem {
-							var T8Primitive v_response;
-							
-							mcnPort.send(
-													m_t8Request(
-																			m_t8_request_get(
-																												m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & p_location),
-																												{ 
-																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																													{ "Accept", "*/*" },
-																													{ "Content-Type", "application/json" },
-																													{ "Connection", "keep-alive" } 
-																												}
-																												)));
-							tc_ac.start;
-							alt {
-								[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualNiddConfiguration))) -> value v_response {
-									tc_ac.stop;
-									p_niddConfiguration := v_response.t8Response.responseBody.individualNiddConfiguration;
-								}
-								[] mcnPort.receive(mw_t8Response) {
-									tc_ac.stop;
-									setverdict(fail);
-								}
-								[] tc_ac.timeout {
-									setverdict(inconc);
-								}
-							} // End of 'alt' statement
+					// TestBody
+					v_niddConfiguration.notificationDestination := v_niddConfiguration.notificationDestination & "_patched";
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_patch(
+																											m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & v_location),
+																											{ 
+																												{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																												{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																												{ "Accept", "*/*" },
+																												{ "Content-Type", "application/json" },
+																												{ "Connection", "keep-alive" } 
+																											},
+																											m_request_body_niddConfiguration(v_niddConfiguration)
+																											)));
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualNiddConfiguration(v_niddConfiguration)))) -> value v_response {
 							
-						} // End of function f_get_nidd_configuration
-						
-					} // End of group nidd_functions
-				
-				} // End of group nidd
+							tc_ac.stop;
+							setverdict(pass);
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_delete_nidd_configuration(v_location);
+					
+					f_cf05Down();
+				}
 				
-				group device_trigerring {
+				group nidd_functions {
 					
-					// GET all transactons from an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_007() runs on ScefSimu system ScefSystem {
-						f_cf05Up();
+					function f_create_nidd_configuration(out charstring p_location) runs on ScefSimu system ScefSystem {
+						var T8Primitive v_response;
 						
 						mcnPort.send(
 												m_t8Request(
-																		m_t8_request_get(
-																											m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions"),
+																		m_t8_request_post(
+																											m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations"),
 																											{ 
 																												{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
 																												{ "User-Agent", "oneM2M Test Adapter - TTF001" },
 																												{ "Accept", "*/*" },
 																												{ "Content-Type", "application/json" },
 																												{ "Connection", "keep-alive" } 
-																											}
+																											},
+																											m_request_body_niddConfiguration(m_niddConfiguration)
 																											)));
 						tc_ac.start;
 						alt {
-							[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_deviceTriggerings(?)))) {
+							[] mcnPort.receive(mw_t8Response(mw_t8_response_201_created(-, mw_response_body_individualNiddConfiguration))) -> value v_response {
+								
 								tc_ac.stop;
-								setverdict(pass);
+								// Check presence of Location HTTP header
+								for (var integer i := 0; i < lengthof(v_response.t8Response.responseHeaders); i := i + 1) {
+									if (v_response.t8Response.responseHeaders[i].header_name == "Location") {
+										p_location := v_response.t8Response.responseHeaders[i].header_value;
+										break;
+									}
+								} // End of 'for' statement
+								if (not(isbound(p_location))) {
+									setverdict(fail);
+								}
 							}
 							[] mcnPort.receive(mw_t8Response) {
 								tc_ac.stop;
@@ -17146,17 +18560,43 @@ module OneM2M_Testcases_CSE_Release_3 {
 							}
 						} // End of 'alt' statement
 						
-						f_cf05Down();
-					}
+					} // End of function f_create_nidd_configuration
+					
+					function f_delete_nidd_configuration(in charstring p_location) runs on ScefSimu system ScefSystem {
+						mcnPort.send(
+												m_t8Request(
+																		m_t8_request_delete(
+																												m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & p_location),
+																												{ 
+																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																													{ "Accept", "*/*" },
+																													{ "Content-Type", "application/json" },
+																													{ "Connection", "keep-alive" } 
+																												}
+																												)));
+						tc_ac.start;
+						alt {
+							[] mcnPort.receive(mw_t8Response(mw_t8_response_204_no_content)) {
+								tc_ac.stop;
+							}
+							[] mcnPort.receive(mw_t8Response) {
+								tc_ac.stop;
+								setverdict(fail);
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc);
+							}
+						} // End of 'alt' statement
+					} // End of function f_delete_nidd_configuration
 					
-					// GET all transactons from an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_008() runs on ScefSimu system ScefSystem {
-						f_cf05Up();
+					function f_get_nidd_configuration(in charstring p_location, out NiddConfiguration p_niddConfiguration) runs on ScefSimu system ScefSystem {
+						var T8Primitive v_response;
 						
 						mcnPort.send(
 												m_t8Request(
 																		m_t8_request_get(
-																											m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions/cf_001"),
+																											m_uri_3gpp_nidd(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/configurations" & "/" & p_location),
 																											{ 
 																												{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
 																												{ "User-Agent", "oneM2M Test Adapter - TTF001" },
@@ -17167,9 +18607,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 																											)));
 						tc_ac.start;
 						alt {
-							[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualDeviceTriggering(mw_deviceTriggering_externalId)))) {
+							[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualNiddConfiguration))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass);
+								p_niddConfiguration := v_response.t8Response.responseBody.individualNiddConfiguration;
 							}
 							[] mcnPort.receive(mw_t8Response) {
 								tc_ac.stop;
@@ -17180,15 +18620,238 @@ module OneM2M_Testcases_CSE_Release_3 {
 							}
 						} // End of 'alt' statement
 						
-						f_cf05Down();
-					}
+					} // End of function f_get_nidd_configuration
+					
+				} // End of group nidd_functions
+			
+			} // End of group nidd
+				
+			group device_trigerring {
+				
+				// GET all transactons from an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_007() runs on ScefSimu system ScefSystem {
+					f_cf05Up();
+					
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_get(
+																										m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions"),
+																										{ 
+																											{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																											{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																											{ "Accept", "*/*" },
+																											{ "Content-Type", "application/json" },
+																											{ "Connection", "keep-alive" } 
+																										}
+																										)));
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_deviceTriggerings(?)))) {
+							tc_ac.stop;
+							setverdict(pass);
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_cf05Down();
+				}
+				
+				// GET all transactons from an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_008() runs on ScefSimu system ScefSystem {
+					f_cf05Up();
+					
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_get(
+																										m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions/cf_001"),
+																										{ 
+																											{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																											{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																											{ "Accept", "*/*" },
+																											{ "Content-Type", "application/json" },
+																											{ "Connection", "keep-alive" } 
+																										}
+																										)));
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualDeviceTriggering(mw_deviceTriggering_externalId)))) {
+							tc_ac.stop;
+							setverdict(pass);
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_cf05Down();
+				}
+				
+				// POST create a new device transaction for an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_009() runs on ScefSimu system ScefSystem {
+					var T8Primitive v_response;
+					
+					f_cf05Up();
+					
+					mcnPort.send(
+											m_t8Request(
+																	m_t8_request_post(
+																										m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions"),
+																										{ 
+																											{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																											{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																											{ "Accept", "*/*" },
+																											{ "Content-Type", "application/json" },
+																											{ "Connection", "keep-alive" } 
+																										},
+																										m_request_body_deviceTriggering(m_deviceTriggering_externalId("externl_id", -, -, 30123, "CAFEDECA", "link"))
+																										)));
+					tc_ac.start;
+					alt {
+						[] mcnPort.receive(mw_t8Response(mw_t8_response_201_created(-, mw_response_body_individualDeviceTriggering))) -> value v_response {
+							var charstring v_location;
+							
+							tc_ac.stop;
+							// Check presence of Location HTTP header
+							for (var integer i := 0; i < lengthof(v_response.t8Response.responseHeaders); i := i + 1) {
+								if (v_response.t8Response.responseHeaders[i].header_name == "Location") {
+									v_location := v_response.t8Response.responseHeaders[i].header_value;
+									break;
+								}
+							} // End of 'for' statement
+							if (isbound(v_location)) {
+								f_delete_device_triggering(v_location);
+								setverdict(pass);
+							} else {
+								setverdict(fail);
+							}
+						}
+						[] mcnPort.receive(mw_t8Response) {
+							tc_ac.stop;
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_cf05Down();
+				}
+				
+				testcase TC_CSE_3GPP_SCEF_T8_009_01() runs on ScefSimu system ScefSystem {
+					var T8Primitive v_request;
+					
+					f_cf05Up();
+					
+					tc_ac.start;
+					alt {
+						[] mcnPortIn.receive(mw_t8Request(mw_t8_request_post(mw_uri_3gpp_device_triggering(-, "/scs_as_id_01/transactions", omit), -, mw_request_body_deviceTriggering(mw_deviceTriggering_externalId)))) -> value v_request {
+							tc_ac.stop;
+							// Set self field
+							v_request.t8Request.requestBody.individualDeviceTriggeringTransaction.self_ := "todo/cf_001";
+							// Send the response 201 created
+							mcnPortIn.send(m_t8Response(m_t8_response_201_created({ 
+																																			{ "Host", vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.localPort) }, 
+																																			{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																																			{ "Accept", "*/*" },
+																																			{ "Content-Type", "application/json" },
+																																			{ "Connection", "keep-alive" }
+																																		},
+																																		m_response_body_individualDeviceTriggering(v_request.t8Request.requestBody.individualDeviceTriggeringTransaction)
+																																		)));
+							setverdict(pass);
+						}
+						[] mcnPortIn.receive(mw_t8Request) {
+							tc_ac.stop;
+							// Send the response 400 Bad Request
+							mcnPortIn.send(m_t8Response(m_t8_response_400_bad_request({ 
+																																					{ "Host", vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.localPort) }, 
+																																					{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																																					{ "Accept", "*/*" },
+																																					{ "Content-Type", "application/json" },
+																																					{ "Connection", "keep-alive" } 
+																																				},
+																																				m_problemDetails("Unmatch", 400)
+																																				)));
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_cf05Down();
+				}
+				
+				// POST notification from an SCEF
+				testcase TC_CSE_3GPP_SCEF_T8_010() runs on ScefSimu system ScefSystem {
+					
+					f_cf05Up();
+					
+					tc_ac.start;
+					alt {
+						[] mcnPortIn.receive(mw_t8Request(mw_t8_request_post(mw_uri_3gpp_device_triggering(-, "scs_as_id_05/transactions/cf_001", omit), -, mw_request_body_deviceTriggeringDeliveryReportNotification(mw_deviceTriggeringDeliveryReportNotification)))) {
+							tc_ac.stop;
+							// Send the response 200 OK
+							mcnPortIn.send(m_t8Response(m_t8_response_200_ok({ 
+																																	{ "Host", vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.localPort) }, 
+																																	{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																																	{ "Accept", "*/*" },
+																																	{ "Content-Type", "application/json" },
+																																	{ "Connection", "keep-alive" } 
+																																})));
+							setverdict(pass);
+						}
+						[] mcnPortIn.receive(mw_t8Request(mw_t8_request_post(mw_uri_3gpp_device_triggering))) {
+							tc_ac.stop;
+							// Send the response 404 Not Found
+							mcnPortIn.send(m_t8Response(m_t8_response_404_not_found({ 
+																																					{ "Host", vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.localPort) }, 
+																																					{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																																					{ "Accept", "*/*" },
+																																					{ "Content-Type", "application/json" },
+																																					{ "Connection", "keep-alive" } 
+																																				},
+																																				m_problemDetails("Unmatch", 404)
+																																				)));
+							setverdict(fail);
+						}
+						[] mcnPortIn.receive(mw_t8Request) {
+							tc_ac.stop;
+							// Send the response 400 Bad Request
+							mcnPortIn.send(m_t8Response(m_t8_response_400_bad_request({ 
+																																					{ "Host", vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPortIn.t8PortDesc.binding.httpBindingDesc.bindingDesc.localPort) }, 
+																																					{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																																					{ "Accept", "*/*" },
+																																					{ "Content-Type", "application/json" },
+																																					{ "Connection", "keep-alive" } 
+																																				},
+																																				m_problemDetails("Unmatch", 400)
+																																				)));
+							setverdict(fail);
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc);
+						}
+					} // End of 'alt' statement
+					
+					f_cf05Down();
+				}
+				
+				group device_triggering_functions {
 					
-					// POST create a new device transaction for an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_009() runs on ScefSimu system ScefSystem {
+					function f_create_device_triggering(out charstring p_location) runs on ScefSimu system ScefSystem {
 						var T8Primitive v_response;
 						
-						f_cf05Up();
-						
 						mcnPort.send(
 												m_t8Request(
 																		m_t8_request_post(
@@ -17205,20 +18868,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 						tc_ac.start;
 						alt {
 							[] mcnPort.receive(mw_t8Response(mw_t8_response_201_created(-, mw_response_body_individualDeviceTriggering))) -> value v_response {
-								var charstring v_location;
 								
 								tc_ac.stop;
 								// Check presence of Location HTTP header
 								for (var integer i := 0; i < lengthof(v_response.t8Response.responseHeaders); i := i + 1) {
 									if (v_response.t8Response.responseHeaders[i].header_name == "Location") {
-										v_location := v_response.t8Response.responseHeaders[i].header_value;
+										p_location := v_response.t8Response.responseHeaders[i].header_value;
 										break;
 									}
 								} // End of 'for' statement
-								if (isbound(v_location)) {
-									f_delete_device_triggering(v_location);
-									setverdict(pass);
-								} else {
+								if (not(isbound(p_location))) {
 									setverdict(fail);
 								}
 							}
@@ -17231,29 +18890,27 @@ module OneM2M_Testcases_CSE_Release_3 {
 							}
 						} // End of 'alt' statement
 						
-						f_cf05Down();
-					}
+					} // End of function f_create_device_triggering
 					
-					// POST notification from an SCEF
-					testcase TC_CSE_3GPP_SCEF_T8_010() runs on ScefSimu system ScefSystem {
-						
-						f_cf05Up();
-						
+					function f_delete_device_triggering(in charstring p_location) runs on ScefSimu system ScefSystem {
+						mcnPort.send(
+												m_t8Request(
+																		m_t8_request_delete(
+																												m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions" & "/" & p_location),
+																												{ 
+																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																													{ "Accept", "*/*" },
+																													{ "Content-Type", "application/json" },
+																													{ "Connection", "keep-alive" } 
+																												}
+																												)));
 						tc_ac.start;
 						alt {
-							[] mcnPortIn.receive(mw_t8Request(mw_t8_request_post(-, -, mw_request_body_deviceTriggeringDeliveryReportNotification(mw_deviceTriggeringDeliveryReportNotification)))) {
+							[] mcnPort.receive(mw_t8Response(mw_t8_response_204_no_content)) {
 								tc_ac.stop;
-								// Send the response 200 OK
-								mcnPortIn.send(m_t8Response(m_t8_response_200_ok({ 
-																																		{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																																		{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																																		{ "Accept", "*/*" },
-																																		{ "Content-Type", "application/json" },
-																																		{ "Connection", "keep-alive" } 
-																																	})));
-								setverdict(pass);
 							}
-							[] mcnPortIn.receive(mw_t8Request) {
+							[] mcnPort.receive(mw_t8Response) {
 								tc_ac.stop;
 								setverdict(fail);
 							}
@@ -17261,120 +18918,45 @@ module OneM2M_Testcases_CSE_Release_3 {
 								setverdict(inconc);
 							}
 						} // End of 'alt' statement
-						
-						f_cf05Down();
-					}
+					} // End of function f_delete_device_triggering
 					
-					group device_triggering_functions {
-						
-						function f_create_device_triggering(out charstring p_location) runs on ScefSimu system ScefSystem {
-							var T8Primitive v_response;
-							
-							mcnPort.send(
-													m_t8Request(
-																			m_t8_request_post(
-																												m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions"),
-																												{ 
-																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																													{ "Accept", "*/*" },
-																													{ "Content-Type", "application/json" },
-																													{ "Connection", "keep-alive" } 
-																												},
-																												m_request_body_deviceTriggering(m_deviceTriggering_externalId("externl_id", -, -, 30123, "CAFEDECA", "link"))
-																												)));
-							tc_ac.start;
-							alt {
-								[] mcnPort.receive(mw_t8Response(mw_t8_response_201_created(-, mw_response_body_individualDeviceTriggering))) -> value v_response {
-									
-									tc_ac.stop;
-									// Check presence of Location HTTP header
-									for (var integer i := 0; i < lengthof(v_response.t8Response.responseHeaders); i := i + 1) {
-										if (v_response.t8Response.responseHeaders[i].header_name == "Location") {
-											p_location := v_response.t8Response.responseHeaders[i].header_value;
-											break;
-										}
-									} // End of 'for' statement
-									if (not(isbound(p_location))) {
-										setverdict(fail);
-									}
-								}
-								[] mcnPort.receive(mw_t8Response) {
-									tc_ac.stop;
-									setverdict(fail);
-								}
-								[] tc_ac.timeout {
-									setverdict(inconc);
-								}
-							} // End of 'alt' statement
-							
-						} // End of function f_create_device_triggering
-						
-						function f_delete_device_triggering(in charstring p_location) runs on ScefSimu system ScefSystem {
-							mcnPort.send(
-													m_t8Request(
-																			m_t8_request_delete(
-																													m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions" & "/" & p_location),
-																													{ 
-																														{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																														{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																														{ "Accept", "*/*" },
-																														{ "Content-Type", "application/json" },
-																														{ "Connection", "keep-alive" } 
-																													}
-																													)));
-							tc_ac.start;
-							alt {
-								[] mcnPort.receive(mw_t8Response(mw_t8_response_204_no_content)) {
-									tc_ac.stop;
-								}
-								[] mcnPort.receive(mw_t8Response) {
-									tc_ac.stop;
-									setverdict(fail);
-								}
-								[] tc_ac.timeout {
-									setverdict(inconc);
-								}
-							} // End of 'alt' statement
-						} // End of function f_delete_device_triggering
+					function f_get_device_triggering(in charstring p_location, out DeviceTriggering p_deviceTriggering) runs on ScefSimu system ScefSystem {
+						var T8Primitive v_response;
 						
-						function f_get_device_triggering(in charstring p_location, out DeviceTriggering p_deviceTriggering) runs on ScefSimu system ScefSystem {
-							var T8Primitive v_response;
-							
-							mcnPort.send(
-													m_t8Request(
-																			m_t8_request_get(
-																												m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions" & "/" & p_location),
-																												{ 
-																													{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
-																													{ "User-Agent", "oneM2M Test Adapter - TTF001" },
-																													{ "Accept", "*/*" },
-																													{ "Content-Type", "application/json" },
-																													{ "Connection", "keep-alive" } 
-																												}
-																												)));
-							tc_ac.start;
-							alt {
-								[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualDeviceTriggering))) -> value v_response {
-									tc_ac.stop;
-									p_deviceTriggering := v_response.t8Response.responseBody.individualDeviceTriggeringTransaction;
-								}
-								[] mcnPort.receive(mw_t8Response) {
-									tc_ac.stop;
-									setverdict(fail);
-								}
-								[] tc_ac.timeout {
-									setverdict(inconc);
-								}
-							} // End of 'alt' statement
-							
-						} // End of function f_get_device_triggering
+						mcnPort.send(
+												m_t8Request(
+																		m_t8_request_get(
+																											m_uri_3gpp_device_triggering(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.tsAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort), vc_scefSimuDesc.scefId & "/transactions" & "/" & p_location),
+																											{ 
+																												{ "Host", vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.sutAddress & ":" & int2str(vc_scefSimuDesc.mcnPort.t8PortDesc.binding.httpBindingDesc.bindingDesc.remotePort) }, 
+																												{ "User-Agent", "oneM2M Test Adapter - TTF001" },
+																												{ "Accept", "*/*" },
+																												{ "Content-Type", "application/json" },
+																												{ "Connection", "keep-alive" } 
+																											}
+																											)));
+						tc_ac.start;
+						alt {
+							[] mcnPort.receive(mw_t8Response(mw_t8_response_200_ok(-, mw_response_body_individualDeviceTriggering))) -> value v_response {
+								tc_ac.stop;
+								p_deviceTriggering := v_response.t8Response.responseBody.individualDeviceTriggeringTransaction;
+							}
+							[] mcnPort.receive(mw_t8Response) {
+								tc_ac.stop;
+								setverdict(fail);
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc);
+							}
+						} // End of 'alt' statement
 						
-					} // End of group device_triggering_functions
-				
-				} // End of group device_triggering
-				
-			} // End of group Interworking_3GPP
+					} // End of function f_get_device_triggering
+					
+				} // End of group device_triggering_functions
+			
+			} // End of group device_triggering
+			
+		} // End of group Interworking_3GPP
 	
 	}//end group CSE