diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index ff05c9147deb281a47c6ea15b2b4f4e0985cb787..1a382a3b55528cec53554fa046b353079469152e 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -28,7 +28,7 @@ module OneM2M_Functions {
 		/**
 			@desc Ports mapping and default behaviour activation for Config 1
 		*/
-		function f_cf01Up() runs on AeSimu {
+		function f_cf01Up(in boolean p_auxiliaryAe2Required := false) runs on AeSimu {
 			
 			// Variables
 			vc_config := e_cf01;	
@@ -40,8 +40,34 @@ module OneM2M_Functions {
 			activate(a_default());
 			activate(a_cse_cf01());
 				
-			// Connect
-						
+			// Initialize AE2
+			if(p_auxiliaryAe2Required) {
+				vc_auxiliaryAe2Up := p_auxiliaryAe2Required;
+				vc_ae2 := AeSimu.create("AE2") alive;
+				vc_ae2.start(f_cf01UpAe2());
+			}
+				
+			//Initialze the IUT
+							
+		} // end f_cf01Up
+		
+		/**
+			@desc Ports mapping and default behaviour activation for Config 1 on the auxiliary AE2
+		*/
+		function f_cf01UpAe2() runs on AeSimu {
+			
+			// Variables
+			vc_config := e_cf01;	
+			
+			// Map
+			map(self:mcaPort, system:mcaPort);
+			map(self:mcaPortIn, system:mcaPortIn);
+			map(self:acPort, system:acPort);
+			
+			activate(a_default());
+			activate(a_cse_cf01());
+			activate(a_cse_cf01_ae2()); //For mcaPortIn
+	
 			//Initialze the IUT
 							
 		} // end f_cf01Up
@@ -67,30 +93,7 @@ module OneM2M_Functions {
 			//Initialze the IUT
 							
 		} // end f_cf02Up
-		
-		/**
-		  * @desc Ports mapping and default behaviour activation for Config 01
-		  */
-		  
-		function f_cf01UpCseSimuMaster() runs on CseSimu {
-		
-			// Variables
-			vc_config := e_cf01;
-			vc_aeSimu := AeSimu.create("AE1") alive;
-		
-			// Map
-			map(self:mccPort, system:mcaPort);
-			map(vc_aeSimu:mcaPort, system:mcaPort);
-			map(self:acPort, system:acPort);
-			activate(a_default());
-			activate(a_cse_cseSimu());
-		
-			// Connect
-			f_connectInfoPort(vc_aeSimu);
-			//Initialze the IUT
-					
-		} // end f_cf01UpCseSimuMaster
-		
+
 		/**
 		 * @desc Ports mapping and default behaviour activation for Config 02
 		 */
@@ -183,17 +186,20 @@ module OneM2M_Functions {
 		
 			unmap(self:mcaPort, system:mcaPort);
 			unmap(self:acPort, system:acPort);
+			if(vc_auxiliaryAe2Up) {
+				vc_ae2.start(f_cf01DownAe2());
+			}
 		}
 		
 		/**
 		 * @desc Ports unmapping
 		 * @verdict 
 		 */
-		function f_cf01DownCseSimuMaster() runs on CseSimu {	
-			unmap(self:mccPort, system:mccPort);
-			unmap(vc_aeSimu:mcaPort, system:mcaPort);
+		function f_cf01DownAe2() runs on AeSimu {
+				
+			unmap(self:mcaPort, system:mcaPort);
 			unmap(self:acPort, system:acPort);
-			unmap(vc_aeSimu:acPort, system:acPort);
+			unmap(self:mcaPortIn, system:mcaPortIn);
 		}
 		
 		/**
@@ -414,19 +420,18 @@ module OneM2M_Functions {
 	
 			}
 			
-			function f_cse_preamble_subscriptionVerification(out AeSimu p_ae2,in integer p_aeIndex, inout integer p_ae2Index, inout template RequestPrimitive p_createRequestPrimitive,in ResourceType p_resourceType, in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu {
+			function f_cse_preamble_subscriptionVerification(inout integer p_ae2Index, inout template RequestPrimitive p_createRequestPrimitive,in ResourceType p_resourceType, in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu {
 				if(p_resourceType == int23){
-					p_ae2 := AeSimu.create("AE2") alive;
-					map(p_ae2:mcaPort, system:mcaPort);
-					map(p_ae2:mcaPortIn, system:mcaPortIn);
-					//TODO shall be unmapped?
-					p_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", {f_getAnnouncementTargetPoA("HTTP", PX_AE2_ADDRESS, "")}), -1)); // AE2 is registred
-					p_ae2.done;
-					p_ae2Index := f_getResource(p_ae2);
+					
+					vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", {f_getAnnouncementTargetPoA("HTTP", PX_AE2_ADDRESS, "")}), -1)); // AE2 is registred
+					
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
+					
+					p_ae2Index := f_getResource(vc_ae2);
 					if(ischosen(p_createRequestPrimitive.primitiveContent.subscription)){		//this condition is necessary for Subscription TCs where notification URI is set in m_createSubscriptionAdvanced
 						p_createRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(p_ae2Index)}; 
 					}
-					p_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler(p_aeIndex, p_responseStatusCode));
+					vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler(p_responseStatusCode));
 				}
 			}
 		
@@ -445,6 +450,10 @@ module OneM2M_Functions {
 				
 				if (PX_RUN_POSTAMBLE) {
 					
+					if(vc_auxiliaryAe2Up) {
+						f_cse_postamble_aeSimu(vc_ae2);
+					}
+					
 					for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) {
 						
 						v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); 
@@ -475,6 +484,17 @@ module OneM2M_Functions {
 						
 			}
 			
+			/**
+			 * @desc Calls to postamble for AE2 entity
+			 * @verdict 
+			 */
+			function f_cse_postamble_aeSimu(in AeSimu p_ae) runs on AeSimu {
+				if(p_ae.running) {
+					p_ae.stop;
+				}
+					p_ae.start(f_cse_postamble_deleteResources());
+			}
+			
 			/**
 			 * @desc Deletion of all resources created during the test case execution. IUT gets clean and ready for next execution
 			 * @verdict 
@@ -516,19 +536,6 @@ module OneM2M_Functions {
 			
 			}
 			
-			function f_is_component_done(in Tester p_ae2) runs on Tester {
-			
-				tc_ac.start(10.0);
-				alt {
-					[] p_ae2.done {
-					tc_ac.stop;
-					}
-					[] tc_ac.timeout {
-						setverdict(inconc, __SCOPE__ & "INFO: Notify verification not received");
-					}
-				}
-			} //end f_is_component_done
-			
 			/**
 				@desc 
 			*/
@@ -1196,9 +1203,8 @@ module OneM2M_Functions {
 
 			group NotificationFunctions { 
 				
-				function f_cse_notifyProcedure_subscriptionVerificationHandler(in integer p_creatorIndex, in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu {
+				function f_cse_notifyProcedure_subscriptionVerificationHandler(in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu {
 					// Local variables
-					var MsgIn v_request;
 					var ResponsePrimitive v_responsePrimitive;
 					var template Notification v_notificationRequest := mw_contentNotificationVerification;
     				
@@ -1213,28 +1219,18 @@ module OneM2M_Functions {
     	
 					tc_ac.start;
 					alt {
-						[] mcaPortIn.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_request {
+						[] mcaPortIn.receive(mw_request(mw_notify(v_notificationRequest))) -> value vc_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ":INFO: Notification received");
-							
-//							if(f_isHierarchical(v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) {
-//								setverdict(fail, __SCOPE__ & ": Creator cannot contain a hierarchical address");
-//								v_responsePrimitive.responseStatusCode := int4000;
-//							}
-//							if(f_compareURIs(p_creatorIndex, v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) {
-//								setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive");
-//							} else {
-//								setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive");
-//								v_responsePrimitive.responseStatusCode := int4000;
-//							}
 						}
-						[] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request {
+						[] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value vc_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ":ERROR: Notification received but verificationRequest isn't set to TRUE");							
 						}
 						[] mcaPortIn.receive{
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received");
+							stop;
 						}
 						[] tc_ac.timeout {
 							setverdict(fail, __SCOPE__ & ":ERROR:  No notification received");
@@ -1242,7 +1238,7 @@ module OneM2M_Functions {
 						}
 					}
 						
-					v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier;
+					v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
 					if(getverdict == pass) {
 						mcaPortIn.send(m_httpResponse(v_responsePrimitive));
 					} else {
@@ -1256,22 +1252,22 @@ module OneM2M_Functions {
     		
 				function f_cse_notifyProcedure_representationHandler(template PrimitiveContent p_primitiveContent) runs on AeSimu {
 					// Local variables
-					var MsgIn v_request;
-	    	
-					map(self:mcaPortIn, system:mcaPort);
-					map(self:acPort, system:acPort);
-	    	
+					var ResponsePrimitive v_responsePrimitive;
+					
 					tc_ac.start;
 					alt {
-						[] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request {
+						[] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value vc_request {
 							tc_ac.stop;
-							if(f_check_notificationContent(v_request.primitive.requestPrimitive, p_primitiveContent)){
+							if(f_check_notificationContent(vc_request.primitive.requestPrimitive, p_primitiveContent)){
 								setverdict(pass, __SCOPE__ & ":INFO: Notification received");
-								mcaPort.send(m_response(valueof(m_responseNotification(int2001))));
 							}
 							else{
 								setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
 							}
+							//Send response in any case
+							v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							mcaPortIn.send(m_response(v_responsePrimitive));
 						}
 						[] mcaPortIn.receive{
 							tc_ac.stop;
@@ -1281,18 +1277,13 @@ module OneM2M_Functions {
 							setverdict(fail, __SCOPE__ & ":ERROR: No notification received");
 						}
 					}
-	    	
-	    		
-					unmap(self:mcaPortIn, system:mcaPort);
-					unmap(self:acPort, system:acPort); 
-	    	
+	    		    	
 				} //end f_cse_notifyProcedure_representationHandler
 	    		
 				function f_cse_notifyProcedure_aggregatedNoficationHandler(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on AeSimu {
 					// Local variables
-    
-					map(self:mcaPortIn, system:mcaPort);
-					map(self:acPort, system:acPort);
+					var ResponsePrimitive v_responsePrimitive;
+					var integer v_notificationsReceived := 0;
     
 					tc_ac.start;
 					alt {
@@ -1309,6 +1300,28 @@ module OneM2M_Functions {
 							else {
 								setverdict(fail, __SCOPE__ & ": Number of Notification in Aggregatednotification isn't right");
 							}
+							//Send response in any case
+							v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							mcaPortIn.send(m_response(v_responsePrimitive));
+						}
+						[] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value vc_request {
+							tc_ac.stop;
+							if(f_check_notificationContent(vc_request.primitive.requestPrimitive, p_primitiveContent)){
+								setverdict(pass, __SCOPE__ & ":INFO: Notification received");
+							}
+							else{
+								setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
+							}
+							//Send response in any case
+							v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							mcaPortIn.send(m_response(v_responsePrimitive));
+							v_notificationsReceived := v_notificationsReceived + 1;
+							if(v_notificationsReceived < p_numberOfAggregatedNotification) {
+								tc_ac.start;
+								repeat;
+							}
 						}
 						[] mcaPortIn.receive{
 							tc_ac.stop;
@@ -1318,31 +1331,21 @@ module OneM2M_Functions {
 							setverdict(fail, __SCOPE__ & ": No notification received");
 						}
 					}
-    	
-					unmap(self:mcaPortIn, system:mcaPort);
-					unmap(self:acPort, system:acPort); 
-    
+					
 				} //end f_cse_notifyProcedure_aggregatedNotificationHandler
 	    		
-				function f_cse_notifyProcedure_subscriptionDeletionHandler( template PrimitiveContent p_primitiveContent) runs on AeSimu {
-	
-					map(self:mcaPortIn, system:mcaPort);
-					map(self:acPort, system:acPort);
-					
+				function f_cse_notifyProcedure_subscriptionDeletionHandler( template Notification p_notification) runs on AeSimu {
+					var ResponsePrimitive v_responsePrimitive;
 					tc_ac.start;
 					alt {
-						[] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value vc_request {
+						[] mcaPortIn.receive(mw_request(mw_notify(p_notification))) -> value vc_request {
 							tc_ac.stop;
-							mcaPort.send(m_response(valueof(m_responseNotification(int2001))));
+							v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+							v_responsePrimitive.requestIdentifier := vc_request.primitive.requestPrimitive.requestIdentifier;
+							mcaPortIn.send(m_response(v_responsePrimitive));
 							if(not(match(vc_request.primitive.requestPrimitive.primitiveContent.notification.subscriptionDeletion, true))) {
 								setverdict(fail, __SCOPE__ & ":ERROR: subscriptionDeletion attribute have to be set to TRUE");
 							}
-							if(f_check_notificationContent(vc_request.primitive.requestPrimitive, p_primitiveContent)){
-								setverdict(pass, __SCOPE__ & ":INFO: Notification received");
-							}
-							else{
-								setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
-							}
 						}
 						[] mcaPortIn.receive{
 							tc_ac.stop;
@@ -1352,17 +1355,11 @@ module OneM2M_Functions {
 							setverdict(fail, __SCOPE__ & ":ERROR: No notification received");
 						}
 					}
-					
-					unmap(self:mcaPortIn, system:mcaPort);
-					unmap(self:acPort, system:acPort);  
-	
+						
 				} //end f_cse_notifyProcedure_subscriptionDeletionHandler  
 				
 				function f_cse_notifyProcedure_noNotificationHandler() runs on AeSimu {
 					// Local variables
-	
-					map(self:mcaPortIn, system:mcaPort);
-					map(self:acPort, system:acPort);
 		
 					tc_ac.start(10.0);
 					alt {
@@ -1374,10 +1371,7 @@ module OneM2M_Functions {
 							setverdict(pass, __SCOPE__ & ": No notification received");
 						}
 					}
-	
-					unmap(self:mcaPortIn, system:mcaPort);
-					unmap(self:acPort, system:acPort); 
-	
+		
 				} //end f_cse_notifyProcedure_noNotification Handler
 				
 				function f_check_notificationContent(in RequestPrimitive p_requestPrimitive, template PrimitiveContent p_primitiveContent) runs on Tester return boolean{
@@ -1387,11 +1381,13 @@ module OneM2M_Functions {
 					var integer v_numberOfAggregatedNotification;
     	
 					if (ischosen(p_primitiveContent.aE)){
-						if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) {
-							v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.aE, p_primitiveContent.aE)
+						log("Representation contains AE resource representation");
+						if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.aE)) {
+							v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.aE, p_primitiveContent.aE);
+							log("Expected primitiveContent");
 						}
 						else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) {
-							v_matchResult :=match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE)
+							v_matchResult :=match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE);
 						}
 						else if (ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification)) {
 							v_matchResult := true;
@@ -1416,7 +1412,7 @@ module OneM2M_Functions {
 					}
     	
 					if (ischosen(p_primitiveContent.container)){
-						if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) {
+						if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.container)) {
 							v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.container, p_primitiveContent.container)
 						}
 						else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) {
@@ -1616,6 +1612,24 @@ module OneM2M_Functions {
 				}
 			 }			
 			 
+			 /**
+			  * @desc	Cse altstep for config 01 for AE2
+			  */
+			 altstep a_cse_cf01_ae2() runs on AeSimu {
+		
+				var MsgIn v_request;
+				var ResponsePrimitive v_responsePrimitive;
+
+				[] mcaPortIn.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request {
+					//Send response 
+					v_responsePrimitive := valueof(m_responseNotification(int2001, omit));
+					v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier;
+					mcaPortIn.send(m_response(v_responsePrimitive));
+					log(__SCOPE__&": WARNING: Unexpected Notification message received");
+					repeat;
+				}
+			 }			
+			 
 			/**
 			  * @desc	Cse altstep for config 02
 			  */
@@ -2362,7 +2376,7 @@ module OneM2M_Functions {
 			var integer v_nbOfSlashes:= 0;
     			
 			for (i := 0; i < lengthof(p_resourceAddress); i:= i+1){
-				if(match (p_resourceAddress[i], "/")){
+				if(p_resourceAddress[i] == "/"){
 					v_nbOfSlashes:= v_nbOfSlashes+1;
 				}
 			}
@@ -2472,6 +2486,35 @@ module OneM2M_Functions {
 			}
 		}
 		
+		/**
+		 * @desc Sending of an Adapter Control primitive
+		 * @param event Action to be performed by TA
+		 * @param data Corresponding information for the correct execution of the given action
+		 * @verdict 
+		 */
+		function f_checkComponentDoneAndGetVerdict(AeSimu p_ae) runs on AeSimu {
+			
+			var verdicttype v_verdict := none;
+
+			tc_ac.start(15.0);
+			alt {
+				[] p_ae.done -> value v_verdict {
+					tc_ac.stop;
+				}
+				[] tc_ac.timeout {
+					setverdict(inconc, __SCOPE__ & "INFO: Component did not finish");
+				}
+			}			 
+			
+			if(v_verdict == pass) {         // Component was successfully completed and got stopped state
+				setverdict(pass);
+			} else {
+				setverdict(inconc);            // Component was not completed successfully 
+			}
+			
+			f_checkAeSimuStatus();
+		} 
+		
 		/**
 		 * @desc Sending of an Adapter Control primitive
 		 * @param event Action to be performed by TA
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index 500c71ab6d3ad0ea93874626c342b5a3e48bc780..9350a91643ea9c9f96b693211fe7a3a102ef2240 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -37,9 +37,10 @@ module OneM2M_TestSystem {
 		var integer vc_aeAuxIndex;//TODO To be removed
 		var integer vc_acpAuxIndex;
 		var AccessControlPolicy_optional vc_acpAux;
-	}
+	};
 	
 	type component AeSimu extends Tester {
+		var AeSimu vc_ae2;
 		port OneM2MPort mcaPort;
 		port OneM2MPort mcaPortIn;
 	
@@ -49,8 +50,10 @@ module OneM2M_TestSystem {
 		var MsgIn vc_request;
 		var MsgIn vc_response;
 		var CseSimu vc_cseSimu;//For CF02 when AeSimu is master
+		var boolean vc_auxiliaryAe2Up := false;
+		//var AeSimu vc_ae2;
 	
-	}
+	};
 		
 	type component CseSimu extends Tester {
 		port OneM2MPort mcaPort;
@@ -62,7 +65,7 @@ module OneM2M_TestSystem {
 		var integer vc_remoteCseIndex;
 		var MsgIn vc_request;
 		var MsgIn vc_response;
-	}
+	};
 	
 	type component InCseSimu extends CseSimu {}
 	
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 35546a658cb6a0e37de8314419566d665bead91b..471d9a4c35f1ef9d74ffb70699f8f40e2b032a42 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -3242,10 +3242,12 @@ module OneM2M_Types {
 //	TODO To be added
   type union Representation {
 	  Resource_2 resource, 
-	  ResponsePrimitive responsePrimitive
+	  ResponsePrimitive responsePrimitive, 
+	  XSD.AnyURI uRI
   }
   with {
   	variant "name as 'representation'";
+	variant (uRI) "name as capitalized";
   }
 
 	type record Notification_1
@@ -3618,12 +3620,12 @@ module OneM2M_Types {
 	};
 
 
-	type record ResourceWrapper
+	type record ResourceWrapper//Make of union elements type _optional
 	{
 		union {
-			AccessControlPolicy accessControlPolicy,
+			AccessControlPolicy_optional accessControlPolicy,
 			ActiveCmdhPolicy activeCmdhPolicy,
-			AE aE,
+			AE_optional aE,
 			AreaNwkDeviceInfo areaNwkDeviceInfo,
 			AreaNwkInfo areaNwkInfo,
 			Battery battery,
@@ -3635,36 +3637,36 @@ module OneM2M_Types {
 			CmdhNetworkAccessRules cmdhNetworkAccessRules,
 			CmdhNwAccessRule cmdhNwAccessRule,
 			CmdhPolicy cmdhPolicy,
-			Container container,
-			ContentInstance contentInstance,
-			CSEBase cSEBase,
-			Delivery delivery,
+			Container_optional container,
+			ContentInstance_optional contentInstance,
+			CSEBase_optional cSEBase,
+			Delivery_optional delivery,
 			DeviceCapability deviceCapability,
 			DeviceInfo deviceInfo,
 			EventConfig eventConfig,
 			EventLog eventLog,
 			ExecInstance execInstance,
 			Firmware firmware,
-			Group group_,
-			LocationPolicy locationPolicy,
-			M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+			Group_optional group_,
+			LocationPolicy_optional locationPolicy,
+			M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
 			Memory memory,
-			MgmtCmd mgmtCmd,
-			Node node,
+			MgmtCmd_optional mgmtCmd,
+			Node_optional node,
 			Notification notification,
-			PollingChannel pollingChannel,
+			PollingChannel_optional pollingChannel,
 			Reboot reboot,
-			RemoteCSE remoteCSE,
-			Request request,
+			RemoteCSE_optional remoteCSE,
+			Request_optional request,
 			RequestPrimitive requestPrimitive,
 			ResponsePrimitive responsePrimitive,
-			Schedule schedule,
-			ServiceSubscribedAppRule serviceSubscribedAppRule,
-			ServiceSubscribedNode serviceSubscribedNode,
+			Schedule_optional schedule,
+			ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+			ServiceSubscribedNode_optional serviceSubscribedNode,
 			Software software,
-			StatsCollect statsCollect,
-			StatsConfig statsConfig,
-			Subscription subscription
+			StatsCollect_optional statsCollect,
+			StatsConfig_optional statsConfig,
+			Subscription_optional subscription
 		} choice,
 		XSD.AnyURI uRI
 	}
diff --git a/LibOneM2M/XSD.ttcn b/LibOneM2M/XSD.ttcn
index 4aeeeea6d605bdf6637592f32cd3de29cb71d9e3..24dfde9c38c503a7cf630b4c5c1e64558e40bc8f 100644
--- a/LibOneM2M/XSD.ttcn
+++ b/LibOneM2M/XSD.ttcn
@@ -209,9 +209,9 @@ variant "XSD:double";
 
 // Time types
 
-type charstring Duration (pattern
-  "{dash}#(,1)P({nums}(Y({nums}(M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|" &
-  "{durTime}#(,1))|M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|{durTime})")
+type charstring Duration //(pattern TODO Check the pattern "PT5S" not matching
+  //"{dash}#(,1)P({nums}(Y({nums}(M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|" &
+  //"{durTime}#(,1))|M({nums}D{durTime}#(,1)|{durTime}#(,1))|D{durTime}#(,1))|{durTime})")
 with {
 variant "XSD:duration";
 };
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 64589e43a6eb1843fdbcaf6e7fc27d906cc0727b..7a791a0a855ee20b5b7a9f81531bfa92aeeb58cc 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -2501,7 +2501,6 @@ module OneM2M_Testcases {
 					function f_CSE_DMR_CRE_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu return ResponsePrimitive {
     				
 						// Local variables
-						var AeSimu v_ae2 := AeSimu.create("AE2") alive;
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_parentIndex := -1;
@@ -2513,9 +2512,7 @@ module OneM2M_Testcases {
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
-						map(v_ae2:mcaPort, system:mcaPort);
-						map(v_ae2:mcaPortIn, system:mcaPortIn);
+						f_cf01Up(true);
 						
 						// Test adapter configuration
     				
@@ -2523,11 +2520,11 @@ module OneM2M_Testcases {
     					
 						if(ispresent(p_parentRequestPrimitive)) {
 							if(match(int23, p_parentRequestPrimitive.resourceType)){
-								v_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1)); // AE2 is registred
-								v_ae2.done;
-								v_ae2Index := f_getResource(v_ae2);
+								vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1)); // AE2 is registred
+								vc_ae2.done;
+								v_ae2Index := f_getResource(vc_ae2);
 								p_parentRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
-								v_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_parentIndex));
+								vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
 							}
 							if(ischosen(p_parentRequestPrimitive.primitiveContent.group_)){
 							
@@ -2558,11 +2555,11 @@ module OneM2M_Testcases {
 						// Test Body
     					
 						if(match(int23, p_requestPrimitive.resourceType)){
-							v_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1)); // AE2 is registred
-							v_ae2.done;
-							v_ae2Index := f_getResource(v_ae2);
+							vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1)); // AE2 is registred
+							vc_ae2.done;
+							v_ae2Index := f_getResource(vc_ae2);
 							p_requestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
-							v_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_parentIndex));
+							vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
 						}
     					
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
@@ -2600,13 +2597,10 @@ module OneM2M_Testcases {
     								
 						// Postamble
 						f_cse_postamble_deleteResources();
-						v_ae2.start(f_cse_postamble_deleteResources());
 						
 						// Tear down
-						//ae2.stop;
 						f_cf01Down();
-						unmap(v_ae2:mcaPort, system:mcaPort);
-    					
+						
 						return vc_response.primitive.responsePrimitive;
     					    				
 					}//end f_CSE_DMR_CRE_001
@@ -2752,21 +2746,20 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var integer v_resourceIndex := -1;
 										   
 						// Test control
 				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
 				
 						// Test adapter configuration
 				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 									
 						// Test Body
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
@@ -2803,7 +2796,7 @@ module OneM2M_Testcases {
 						}		
 						// Postamble
 						f_cse_postamble_deleteResources();
-						
+					
 						// Tear down
 						f_cf01Down();
 						
@@ -2879,23 +2872,25 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up(); 
+						f_cf01Up(true); 
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi)
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 	
 						
+						if(p_resourceType == int23){
+							vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
+						}
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);			
   					    						    									
 						// Test Body
@@ -3718,19 +3713,18 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
-						var AeSimu v_ae2;
 											   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 					
 						// Test Body
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
@@ -3849,19 +3843,18 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
-						var AeSimu v_ae2; 
 											   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 					
 						// Test Body
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
@@ -3897,9 +3890,10 @@ module OneM2M_Testcases {
     								
 						// Postamble
 						f_cse_postamble_deleteResources();
-					
+						
 						// Tear down
 						f_cf01Down();
+						
     				
 					}//end f_CSE_DMR_CRE_013
     				
@@ -3984,20 +3978,19 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
-						var AeSimu v_ae2;
 											   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
-						
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
+											
 						// Test Body
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
 						v_request.resultContent := int3;//Attributes + Hierarchichal Address
@@ -4452,7 +4445,6 @@ module OneM2M_Testcases {
 							var integer v_containerIndex := -1;
 							var integer v_parentIndex := -1;
 							var integer v_acpAuxIndex := -1;
-							var AeSimu v_ae2;
 							var integer v_ae2Index := -1;
 							const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs";
 							var integer v_resourceIndex := -1;
@@ -4466,7 +4458,7 @@ module OneM2M_Testcases {
 							}
 
 							// Test component configuration
-							f_cf01Up(); 
+							f_cf01Up(true); 
 
 							// Test adapter configuration
 
@@ -4477,7 +4469,7 @@ module OneM2M_Testcases {
 							
 							v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
 							
-							f_cse_preamble_subscriptionVerification(v_ae2, v_parentIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+							f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 							
 							
 							if(p_resourceType == int4) {
@@ -5182,20 +5174,19 @@ module OneM2M_Testcases {
 						var integer v_containerIndex := -1;
 						var integer v_parentIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						    										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						if(p_resourceType == int4) {	//ContentInstance
 							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
@@ -5374,7 +5365,6 @@ module OneM2M_Testcases {
 						var integer v_aeIndex := -1;
 						var integer v_acpAuxIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
@@ -5384,7 +5374,7 @@ module OneM2M_Testcases {
 						}
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
@@ -5393,7 +5383,7 @@ module OneM2M_Testcases {
 						
 						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});//c_CRUDNDi;
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 										
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 	
 
@@ -5516,20 +5506,19 @@ module OneM2M_Testcases {
 						var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);	
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
     									
@@ -5654,20 +5643,19 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
     									
@@ -5798,20 +5786,19 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
     									
@@ -5913,20 +5900,19 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 											   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
     									
@@ -6023,20 +6009,19 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 											   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex); 				
     									
@@ -6417,14 +6402,17 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var integer v_acpIndex := -1;
 												    										   
 						// Test control
     				
 						// Test component configuration
-						f_cf02Up();
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						}
     				
 						// Test adapter configuration
     				
@@ -6439,7 +6427,7 @@ module OneM2M_Testcases {
 						}
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 							
-							f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+							f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 							
 							v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
 										
@@ -6552,7 +6540,6 @@ module OneM2M_Testcases {
 						var integer v_aeIndex := -1;
 						var integer v_acpAuxIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 											   
 						// Test control
@@ -6562,7 +6549,7 @@ module OneM2M_Testcases {
 						}
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
@@ -6580,7 +6567,7 @@ module OneM2M_Testcases {
 					
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 						
-							f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+							f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 					
 							v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
 									
@@ -6722,14 +6709,17 @@ module OneM2M_Testcases {
 						var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var integer v_acpAuxIndex := -1;
 						    										   
 						// Test control
     				
 						// Test component configuration
-						f_cf02Up();
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						}
     				
 						// Test adapter configuration
     				
@@ -6744,9 +6734,9 @@ module OneM2M_Testcases {
 						}
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 							
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+							f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
-						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
+							v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
 						} else {
 							vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive));
@@ -6888,14 +6878,17 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var integer v_acpAuxIndex := -1;
 						    										   
 						// Test control
     				
 						// Test component configuration
-						 f_cf02Up();
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						}
     				
 						// Test adapter configuration
     				
@@ -6910,7 +6903,7 @@ module OneM2M_Testcases {
 						}
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 	
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
@@ -7138,14 +7131,17 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var integer v_acpAuxIndex := -1;
 						    										   
 						// Test control
     				
 						// Test component configuration
-						 f_cf02Up();
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						}
     				
 						// Test adapter configuration
     				
@@ -7160,7 +7156,7 @@ module OneM2M_Testcases {
 						}
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 	
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
@@ -7276,14 +7272,17 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var integer v_acpAuxIndex := -1;
 																	   
 						// Test control
     				
 						// Test component configuration
-						 f_cf02Up();
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						};
     				
 						// Test adapter configuration
     				
@@ -7298,7 +7297,7 @@ module OneM2M_Testcases {
 						}
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 	
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
@@ -7410,14 +7409,17 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var integer v_acpAuxIndex := -1;
 																	   
 						// Test control
     				
 						// Test component configuration
-						 f_cf02Up();
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						}
     				
 						// Test adapter configuration
     				
@@ -7432,7 +7434,7 @@ module OneM2M_Testcases {
 						}
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 	
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
     									
@@ -7632,7 +7634,6 @@ module OneM2M_Testcases {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var AeSimu v_ae2;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
 						var integer v_resourceIndex := -1;
@@ -7641,7 +7642,7 @@ module OneM2M_Testcases {
 						// Test control
 		
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
 		
 						// Test adapter configuration
 		
@@ -7650,9 +7651,9 @@ module OneM2M_Testcases {
 		
 						if(isvalue(p_childResourceType)) {
 							if(valueof(p_childResourceType) == int23) {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
 							} else {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
 							}
 						} 
 	
@@ -7777,7 +7778,6 @@ module OneM2M_Testcases {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var AeSimu v_ae2;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
 						var integer v_resourceIndex := -1;
@@ -7786,7 +7786,7 @@ module OneM2M_Testcases {
 						// Test control
 		
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
 		
 						// Test adapter configuration
 		
@@ -7795,9 +7795,9 @@ module OneM2M_Testcases {
 
 						if(isvalue(p_childResourceType)) {
 							if(valueof(p_childResourceType) == int23) {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
 							} else {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
 							}
 						} 
 							
@@ -7921,7 +7921,6 @@ module OneM2M_Testcases {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var AeSimu v_ae2;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
 						var integer v_resourceIndex := -1;
@@ -7930,7 +7929,7 @@ module OneM2M_Testcases {
 						// Test control
 		
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
 		
 						// Test adapter configuration
 		
@@ -7939,9 +7938,9 @@ module OneM2M_Testcases {
 
 						if(isvalue(p_childResourceType)) {
 							if(valueof(p_childResourceType) == int23) {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
 							} else {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
 							}
 						} 
 						
@@ -8066,7 +8065,6 @@ module OneM2M_Testcases {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var AeSimu v_ae2;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
 						var integer v_resourceIndex := -1;
@@ -8075,7 +8073,7 @@ module OneM2M_Testcases {
 						// Test control
 		
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
 		
 						// Test adapter configuration
 		
@@ -8084,9 +8082,9 @@ module OneM2M_Testcases {
 
 						if(isvalue(p_childResourceType)) {
 							if(valueof(p_childResourceType) == int23) {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
 							} else {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
 							}
 						} 
 							
@@ -8210,7 +8208,6 @@ module OneM2M_Testcases {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var AeSimu v_ae2;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
 						var integer v_resourceIndex := -1;
@@ -8219,7 +8216,7 @@ module OneM2M_Testcases {
 						// Test control
 		
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
 		
 						// Test adapter configuration
 		
@@ -8228,9 +8225,9 @@ module OneM2M_Testcases {
 
 						if(isvalue(p_childResourceType)) {
 							if(valueof(p_childResourceType) == int23) {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_childRequestPrimitive, valueof(p_childResourceType));
 							} else {
-								f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
+								f_cse_preamble_subscriptionVerification(v_ae2Index, p_requestPrimitive, valueof(p_resourceType));
 							}
 						}
 							
@@ -8529,20 +8526,19 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
     									
@@ -8809,20 +8805,19 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
     									
@@ -9131,20 +9126,19 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
 						
@@ -9544,20 +9538,19 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
     					
@@ -9699,7 +9692,6 @@ module OneM2M_Testcases {
 						// Local variables
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
-						var AeSimu v_ae2;
 						var integer v_aeIndex := -1;
 						var integer v_ae2Index := -1;
 						var integer v_resourceIndex := -1;
@@ -9707,14 +9699,14 @@ module OneM2M_Testcases {
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive , v_aeIndex);
 
@@ -9907,7 +9899,6 @@ module OneM2M_Testcases {
 						var integer v_aeIndex := -1;
 						var integer v_acpAuxIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
@@ -9917,7 +9908,7 @@ module OneM2M_Testcases {
 						}
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
@@ -9926,7 +9917,7 @@ module OneM2M_Testcases {
 						
 						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
 																
@@ -10123,20 +10114,19 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
 																
@@ -10344,20 +10334,19 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
     										   
 						// Test control
     				
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
     				
 						// Test adapter configuration
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
 																
@@ -11465,20 +11454,19 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 							   
 						// Test control
 	
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
 	
 						// Test adapter configuration
 	
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 		
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 		
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 				
 						
@@ -12694,7 +12682,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var integer v_acpAuxIndex := -1;
 						var integer v_acpIndex := -1;
@@ -12702,7 +12689,11 @@ module OneM2M_Testcases {
 						// Test control
 
 						// Test component configuration
-						f_cf02Up();
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						}
 
 						// Test adapter configuration
 
@@ -12727,7 +12718,7 @@ module OneM2M_Testcases {
   
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 	
-							f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+							f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 
 							v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource
 						} else {	//ResourceType = RemoteCSE
@@ -13323,14 +13314,17 @@ module OneM2M_Testcases {
 						 var RequestPrimitive v_request;
 						 var integer v_aeIndex := -1;
 						 var integer v_resourceIndex := -1;
-						 var AeSimu v_ae2;
 						 var integer v_ae2Index := -1;
 						var integer v_acpAuxIndex := -1;
 							   
 						 // Test control
 
 						 // Test component configuration
-						 f_cf02Up();
+						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
+							f_cf01Up(true);
+						} else {
+							f_cf02Up();
+						}
 
 						 // Test adapter configuration
 
@@ -13346,7 +13340,7 @@ module OneM2M_Testcases {
 												 
 						if (p_resourceType!=int16){	//ResourceType != RemoteCSE
 							
-						 f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						 f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 
 						 v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource
 						} else {	//ResourceType = RemoteCSE
@@ -13469,20 +13463,19 @@ module OneM2M_Testcases {
 						var integer v_parentIndex := -1;
 						var integer v_containerIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
                 							   
 						// Test control
                 
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
                 
 						// Test adapter configuration
                 
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi)
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
                 		
 						if(p_resourceType == int4) {
 							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
@@ -13598,7 +13591,6 @@ module OneM2M_Testcases {
 						var integer v_acpAuxIndex := -1;
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
 						var AccessControlRule v_accessControlRule_1 := valueof(m_createAcr({PX_SUPER_AE_ID}, int63));
 						var AccessControlRule v_accessControlRule_2;
@@ -13611,7 +13603,7 @@ module OneM2M_Testcases {
 						}
                 
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
                 
 						// Test adapter configuration
                 
@@ -13619,7 +13611,7 @@ module OneM2M_Testcases {
 						v_acpAuxIndex := f_cse_preamble_createAcpAux(-,-);//c_CRDNDi);
 						v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//c_CRUNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
                 		
 						//Update ACP Aux to remove DELETE operation rights to AE, keeping rights of SUPER USER to run postamble
 						v_accessControlRule_2 := valueof(m_createAcr({f_getResourceId(vc_resourcesList[v_aeIndex].resource)}, int55));
@@ -13804,20 +13796,19 @@ module OneM2M_Testcases {
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
 						var integer v_childResourceIndex := -1;
-						var AeSimu v_ae2;
 						var integer v_ae2Index := -1;
                 							   
 						// Test control
                 
 						// Test component configuration
-						f_cf01Up();
+						f_cf01Up(true);
                 
 						// Test adapter configuration
                 
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
 						
 						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 
                 
@@ -16678,12 +16669,10 @@ module OneM2M_Testcases {
 					var XSD.AnyURI v_memberId_1;
 					var XSD.AnyURI v_memberId_2;
 					
-					var AeSimu v_ae2;
-					
 					// Test control
         
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
     
 					// Test adapter configuration
         
@@ -16702,7 +16691,7 @@ module OneM2M_Testcases {
 					
 					v_subscriptionIndex := f_cse_createResource(int23,m_createSubscriptionBase, v_groupIndex);
 					
-					v_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_aeIndex));
+					vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler());
 
 					//Test Body
 					v_request := f_getUpdateRequestPrimitive(c_ResourceTypeGroup, v_groupIndex, v_updateRequest);
@@ -17550,20 +17539,19 @@ module OneM2M_Testcases {
 					var integer v_resourceIndex := -1;
 					var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 									
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription resource is created			
 
@@ -17616,7 +17604,6 @@ module OneM2M_Testcases {
 					var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 					var RequestPrimitive v_request;
 					
-					v_createRequest.primitiveContent.subscription.resourceName := omit;
 					// Test control
 
 					// Test component configuration
@@ -17808,29 +17795,42 @@ module OneM2M_Testcases {
 				testcase TC_CSE_SUB_CRE_004() runs on AeSimu system CseSystem {
 					//Local variables
 					 var template RequestPrimitive v_request := m_createSubscriptionBase;
+					 var RequestPrimitive v_notificationRequest;
 					 var integer v_aeIndex := -1;
-					 var AeSimu v_ae2;
 					 var integer v_ae2Index := -1;
-					   
+					 var integer v_resourceIndex := -1;
+					 
 					 // Test control
 	
 					 // Test component configuration
-					 f_cf01Up();
+					 f_cf01Up(true);
 	
 					 // Test adapter configuration
 	
 					 // Preamble
-					 v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
 	
-					 f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_request, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_request, int23);
 				
-					 // Test Body
 					v_request := f_getCreateRequestPrimitive(int23, m_createSubscriptionBase, v_aeIndex);
 					v_request.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)};
 	
-					 mcaPort.send(m_request(valueof(v_request)));
+					v_resourceIndex := f_cse_createResource(int23, v_request, v_aeIndex);//Subscription 				
+					
+					if(vc_ae2.running) {
+						vc_ae2.stop;
+					};
 					
-					 f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
+					
+					// Test Body
+					v_notificationRequest := f_getRequestPrimitive(vc_ae2);
+					
+					if(f_compareURIs(v_aeIndex, v_notificationRequest.primitiveContent.notification.creator)) {
+						setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive");
+					} else {
+						setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive");
+					}
 					 
 					 // Postamble
 					 f_cse_postamble_deleteResources();
@@ -17853,13 +17853,12 @@ module OneM2M_Testcases {
 					var template RequestPrimitive v_createRequest := omit; 
 					var template PrimitiveContent v_contentNotification := {container := mw_contentContainer_rc1};// all attributes expected   
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 			
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
@@ -17868,18 +17867,18 @@ module OneM2M_Testcases {
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int3}), -, omit, omit, omit, -, omit); 
 				
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription 				
 					
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 	
 					// Test Body
 					v_request:= f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex);
 					
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
 					
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
@@ -17901,8 +17900,8 @@ module OneM2M_Testcases {
 						}
 					}
     				
-					f_is_component_done(v_ae2);
-    							
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
+										
 					//Postamble
 					f_cse_postamble_deleteResources();
 
@@ -17924,20 +17923,19 @@ module OneM2M_Testcases {
 					var integer v_aeIndex := -1;
 					var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 						
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 										
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe(omit,omit);//c_CUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23, int4101);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23, int4101);
 						
 					// Test Body
 					v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription 
@@ -17963,7 +17961,7 @@ module OneM2M_Testcases {
 						}
 					}
 
-					f_checkAeSimuStatus();
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
     					
 					//Check to see if the resource is NOT present
 					if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){
@@ -17990,20 +17988,19 @@ module OneM2M_Testcases {
 					var integer v_aeIndex := -1;
 					var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 						
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 										
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe(omit,omit);//c_CUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23, int5205);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23, int5205);
 						
 					// Test Body
 					v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription 
@@ -18029,7 +18026,7 @@ module OneM2M_Testcases {
 						}
 					}
 
-					f_checkAeSimuStatus();
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
     					
 					//Check to see if the resource is NOT present
 					if(f_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){
@@ -18061,7 +18058,6 @@ module OneM2M_Testcases {
 					var template PrimitiveContent v_contentResponse;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 					
 					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
@@ -18069,25 +18065,25 @@ module OneM2M_Testcases {
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), omit, omit, -, int2);
 
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription
 					
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 
 					// Test Body
-					v_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, 2)); // check that no notification is received
+					vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, 2)); // check that no notification is received
 
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
@@ -18099,11 +18095,11 @@ module OneM2M_Testcases {
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 2
 					f_cse_updateResource(v_request);
 
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
-
+					
 					//Tear down
 					f_cf01Down();
     
@@ -18127,31 +18123,30 @@ module OneM2M_Testcases {
 					var template PrimitiveContent v_contentResponse;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;   
 
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription
 
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 					
 					// Test Body
 					v_contentResponse.aE := mw_contentAeBase; // all attributes expected
 					
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
 					
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request
 					v_request.primitiveContent.aE.labels := v_labels_1; 
@@ -18176,7 +18171,7 @@ module OneM2M_Testcases {
 						}
 					};
 					
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18200,13 +18195,12 @@ module OneM2M_Testcases {
 					var template RequestPrimitive v_createRequest := omit;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 			
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
@@ -18215,19 +18209,20 @@ module OneM2M_Testcases {
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int2, omit); //notificationContentType ="modified attributes"
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); //Subscription
 			
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 			
 					// Test Body
 					//TODO Use f_getTemplateFromPrimitiveContent() which needs to be modified to receive the template in which the output template will be built upon
 					v_contentResponse.aE.labels := ?;// only modified attribute expected
+					v_contentResponse.aE.lastModifiedTime := ?;// only modified attribute expected //TODO Get it automatically into the expected content template
 					
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
 			
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
 			
@@ -18253,7 +18248,7 @@ module OneM2M_Testcases {
 						}
 					}	
 
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18277,35 +18272,34 @@ module OneM2M_Testcases {
 					var template PrimitiveContent v_contentResponse;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 					
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
-					v_contentResponse.aE := m_contentAe_allOmit; // only modified attribute expected  
-					v_contentResponse.aE.resourceID := ?;
+					v_contentResponse.uRI := ?;
+					
 
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit, omit, int3, omit); // notificationContentType ="ResourceID"
 					
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription
 
-					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest);
-
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 			
 					// Test Body
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
+					
+					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest);
 					
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
@@ -18327,6 +18321,8 @@ module OneM2M_Testcases {
 						}
 					}	
 
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
+
 					//Postamble
 					f_cse_postamble_deleteResources();
 
@@ -18350,7 +18346,6 @@ module OneM2M_Testcases {
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
 					var template PrimitiveContent v_retrieveContentResponse;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
@@ -18360,31 +18355,30 @@ module OneM2M_Testcases {
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 3, omit, omit, omit, -, omit);  //expirationCounter set to 3
 					
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex); // Subscription
 					
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 					
 					// Test Body
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
 
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // AE update request
 					f_cse_updateResource(v_request); // AE update
 					
-					//TODO See if we keep this f_is_component_done, it assure that the retrieve operation is executed after having sent and received the Notification
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 					
 					mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
 	
@@ -18412,7 +18406,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18436,7 +18430,6 @@ module OneM2M_Testcases {
 					var template RequestPrimitive v_createRequest := omit;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 					
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
@@ -18445,30 +18438,29 @@ module OneM2M_Testcases {
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, 1, omit, omit, omit, -, omit);  //expirationCounter set to 1
 					
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);// Subscription
 
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 	
 					// Test Body
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // AE update request
 					f_cse_updateResource(v_request); // AE update
 					
-					//TODO See if we keep this f_is_component_done, it assure that the retrieve operation is executed after having sent and received the Notification
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
 
@@ -18491,7 +18483,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18509,13 +18501,12 @@ module OneM2M_Testcases {
 					// Local variables
 					var MsgIn v_response;
 					var Labels v_labels_1:= {"VALUE_1"};
-					var AttributeList_1 v_attributeList := {"appName"};
+					var AttributeList_1 v_attributeList := {"apn"};
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
 					var template RequestPrimitive v_createRequest := omit;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1;
@@ -18523,14 +18514,14 @@ module OneM2M_Testcases {
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList), omit, omit, omit, omit, -, omit);
 
@@ -18538,12 +18529,12 @@ module OneM2M_Testcases {
 
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request
 
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 
 					// Test Body
-					v_ae2.start(f_cse_notifyProcedure_noNotificationHandler()); // check that no notification is received
+					vc_ae2.start(f_cse_notifyProcedure_noNotificationHandler()); // check that no notification is received
 		
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
@@ -18565,7 +18556,7 @@ module OneM2M_Testcases {
 						}
 					}	
 
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18591,7 +18582,6 @@ module OneM2M_Testcases {
 					var template PrimitiveContent v_contentResponse;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 					
 					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
@@ -18599,25 +18589,25 @@ module OneM2M_Testcases {
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), omit, omit, -, omit );
 		
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription
 					
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 
 					// Test Body
-					v_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received
+					vc_ae2.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received
 					
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
@@ -18631,7 +18621,7 @@ module OneM2M_Testcases {
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 3
 					f_cse_updateResource(v_request);
 
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18657,7 +18647,6 @@ module OneM2M_Testcases {
 					var template PrimitiveContent v_contentResponse;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
             
 					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
@@ -18665,14 +18654,14 @@ module OneM2M_Testcases {
 					// Test control
             
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
             
 					// Test adapter configuration
             
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 						
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)},omit,omit,m_batchNotify(numberOfAggregatedNotification), true, omit,  -, omit);
             		
@@ -18682,12 +18671,12 @@ module OneM2M_Testcases {
             		
 					v_resourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription
             					
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 					
 					// Test Body
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
             					
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
@@ -18701,8 +18690,8 @@ module OneM2M_Testcases {
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 3
 					f_cse_updateResource(v_request);
 					
-					f_is_component_done(v_ae2);
-					
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
+
 					//Postamble
 					f_cse_postamble_deleteResources();
             
@@ -18719,14 +18708,13 @@ module OneM2M_Testcases {
 					// Local variables
 					var MsgIn v_response;
 					var Labels v_labels_1:= {"VALUE_1"};
-					var AttributeList_1 v_attributeList := {"labels"};
+					var AttributeList_1 v_attributeList := {"lbl"};
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
 					var template RequestPrimitive v_createRequest := omit;
 					var template PrimitiveContent v_contentResponse;
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 					
 					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
@@ -18735,14 +18723,14 @@ module OneM2M_Testcases {
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int1}, v_attributeList), omit, omit, omit, omit, -, omit);
 
@@ -18750,12 +18738,12 @@ module OneM2M_Testcases {
 
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request
 					
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 			
 					// Test Body
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
 					
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
@@ -18777,7 +18765,7 @@ module OneM2M_Testcases {
 						}
 					}	
 					
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18804,20 +18792,21 @@ module OneM2M_Testcases {
 					var integer v_resourceIndex := -1;
 					var template RequestPrimitive v_createRequest := omit;
 					var RequestPrimitive v_request;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
+					var template Notification v_notificationContent := mw_contentNotificationBase;
+					var RequestPrimitive v_notificationRequest;
 					
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, omit, omit, omit, omit,f_getResourceAddress(v_ae2Index), -, omit); // SubscriberURI ="ResourceID"
 	
@@ -18825,12 +18814,14 @@ module OneM2M_Testcases {
 					
 					v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); // Subscription resource deletion request
 										
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 
 					// Test Body
-					v_ae2.start(f_CSE_SUB_DEL_001(f_getResourceAddress(v_resourceIndex))); // check that no notification is received
+					v_notificationContent.subscriptionReference := ?;
+					v_notificationContent.notificationEvent := omit;
+					vc_ae2.start(f_cse_notifyProcedure_subscriptionDeletionHandler(v_notificationContent)); // check that no notification is received
 					
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
@@ -18852,7 +18843,15 @@ module OneM2M_Testcases {
 						}
 					}	
 					
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
+
+					v_notificationRequest := f_getRequestPrimitive(vc_ae2);
+					
+					if(f_compareURIs(v_resourceIndex, v_notificationRequest.primitiveContent.notification.subscriptionReference)) {
+						setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive");
+					} else {
+						setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive");
+					}
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18862,39 +18861,6 @@ module OneM2M_Testcases {
 
 				} // end TC_CSE_SUB_DEL_001
 				
-				function f_CSE_SUB_DEL_001(in XSD.AnyURI p_subscriptionReference) runs on AeSimu {
-					// Local variables
-					var MsgIn v_response;
-					var template Notification v_notificationRequest := mw_contentNotificationBase;
-        			
-					v_notificationRequest.subscriptionDeletion := true;
-					v_notificationRequest.subscriptionReference := p_subscriptionReference;
-        			
-        
-					map(self:mcaPort, system:mcaPort);
-					map(self:acPort, system:acPort);
-        
-					tc_ac.start;
-					alt {
-						[] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_response {
-							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": Notification received");
-						}
-						[] mcaPort.receive{
-							tc_ac.stop;
-							setverdict(fail, __SCOPE__ & ": Error, unexpected message received");
-						}
-						[] tc_ac.timeout {
-							setverdict(fail, __SCOPE__ & ": No notification received");
-						}
-					}
-        
-					unmap(self:mcaPort, system:mcaPort);
-					unmap(self:acPort, system:acPort); 
-        
-				} //end f_CSE_SUB_DEL_001
-
-				
 				/**
 				 * @desc Check that the IUT sends a Notify request to the subscriber resource when eventType attribute is set to "Delete_of_Resource"  and an delete operation has been performed the subscribed-to resource
 				 * 
@@ -18905,15 +18871,14 @@ module OneM2M_Testcases {
 					var integer v_aeIndex := -1;
 					var integer v_subscriptionResourceIndex := -1;
 					var template RequestPrimitive v_createRequest := omit; 
-					var template PrimitiveContent v_contentNotification := {aE:= mw_contentAeBase}; // all attributes expected;
+					var template PrimitiveContent v_notificationContent;
 					var RequestPrimitive v_deleteRequest;
-					var AeSimu v_ae2;
 					var integer v_ae2Index := -1;
 				
 					// Test control
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
@@ -18922,16 +18887,18 @@ module OneM2M_Testcases {
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int2}, -), omit, omit, omit, omit, -, omit);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 								
 					v_subscriptionResourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex );//Subscription
 					
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 
 					//Test Body
-					v_ae2.start(f_cse_notifyProcedure_subscriptionDeletionHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
+					v_notificationContent := {aE:= mw_contentAeBase}; // all attributes expected;
+					
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_notificationContent)); // check if the notification is well received and if its content matchs
 					
 					v_deleteRequest:= valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex))); // Ae delete request
 										
@@ -18957,7 +18924,7 @@ module OneM2M_Testcases {
 						}
 					}
 					
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();
@@ -18979,12 +18946,11 @@ module OneM2M_Testcases {
 					var integer v_containerResourceIndex := -1;
 					var template RequestPrimitive v_createRequest := omit;
 					var RequestPrimitive v_deleteRequest;
-					var template PrimitiveContent v_contentNotification := {container := mw_contentContainer_rc1}; // all attributes expected in notification;
-					var AeSimu v_ae2;
+					var template PrimitiveContent v_notificationContent;
 					var integer v_ae2Index := -1;
 
 					// Test component configuration
-					f_cf01Up();
+					f_cf01Up(true);
 
 					// Test adapter configuration
 
@@ -18995,16 +18961,18 @@ module OneM2M_Testcases {
 					
 					v_createRequest := m_createSubscriptionAdvanced(f_getResourceAddress(v_aeIndex), -, {f_getResourceAddress(v_ae2Index)}, m_eventNotificationCriteria({int4}, -), omit, omit, omit, omit, -, omit);
 					
-					f_cse_preamble_subscriptionVerification(v_ae2, v_aeIndex, v_ae2Index, v_createRequest, int23);
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createRequest, int23);
 					
 					v_subscriptionResourceIndex := f_cse_createResource(int23, v_createRequest, v_aeIndex);//Subscription (with name attribute omitted) 									
 					
-					if(v_ae2.running) {
-						v_ae2.stop;
+					if(vc_ae2.running) {
+						vc_ae2.stop;
 					};
 
 					//Test Body
-					v_ae2.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
+					v_notificationContent := {container := mw_contentContainer_rc1}; // all attributes expected;
+					
+					vc_ae2.start(f_cse_notifyProcedure_representationHandler(v_notificationContent)); // check if the notification is well received and if its content matchs
 					
 					v_deleteRequest := valueof(m_delete(f_getResourceAddress(v_containerResourceIndex), f_getOriginator(v_containerResourceIndex)));// Container deletion request
 										
@@ -19028,7 +18996,7 @@ module OneM2M_Testcases {
 						}
 					}	
 
-					f_is_component_done(v_ae2);
+					f_checkComponentDoneAndGetVerdict(vc_ae2);
 
 					//Postamble
 					f_cse_postamble_deleteResources();