diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 1be590a107d5bb7a1440474aab1f28bd1ee4cdb5..16159cdde222a3529d990c7d8e231b69107a7e20 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -623,6 +623,14 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_updateTimeSeriesBase modifies m_update := {
 				requestIdentifier := "m_updateTimeSeries",
 				primitiveContent:= {timeSeries := m_contentUpdateTimeSeries}
+			};
+			
+			/**
+			 * @desc Base UPDATE request primitive for TimeSeriesInstance resource
+			 */
+			template (value) RequestPrimitive m_updateTimeSeriesInstanceBase modifies m_update:= {
+				requestIdentifier := "m_updateTimeSeriesInstance",
+				primitiveContent:= {timeSeriesInstance := m_contentUpdateTimeSeriesInstance}
 			};		
 			
 			/**
@@ -2609,19 +2617,19 @@ module OneM2M_Templates {
 			accessControlPolicyIDs := ?,//MA
 			expirationTime := ?,//MA M
 			link := omit, //O NA
-			dynamicAuthorizationConsultationIDs := omit, //OA			
-			stateTag := ?,//MA
-			maxNrOfInstances := omit,//O OA		
-			maxByteSize := omit,//O OA	
-			maxInstanceAge := omit,//O OA	
-			currentNrOfInstances := ?,//M OA
-			currentByteSize := ?,//M OA
-			periodicInterval := omit,//O OA
+			dynamicAuthorizationConsultationIDs := *, //OA			
+			stateTag := *,//OA
+			maxNrOfInstances := *,//O OA		
+			maxByteSize := *,//O OA	
+			maxInstanceAge := *,//O OA	
+			currentNrOfInstances := *,//M OA
+			currentByteSize := *,//M OA
+			periodicInterval := *,//O OA
 			missingDataDetect := omit,//O NA
-			missingDataList := omit,//O OA
-			missingDataCurrentNr := omit,//O OA
-			missingDataDetectTimer := omit,//O OA
-			ontologyRef := omit,//O OA
+			missingDataList := *,//O OA
+			missingDataCurrentNr := *,//O OA
+			missingDataDetectTimer := *,//O OA
+			ontologyRef := *,//O OA
 			choice := omit //O
 		};
 		
@@ -2637,12 +2645,12 @@ module OneM2M_Templates {
 			creationTime := omit,//NA M
 			lastModifiedTime := omit,//NA M
 			labels := ?,//MA
-			expirationTime := ?,//MA M
+			expirationTime := omit,//NA M
 			link := omit, //O NA
-			dataGenerationTime := ?,//M OA
-			content := ?,//M OA
-			sequenceNr := omit,//O OA
-			contentSize := ?//M OA			
+			dataGenerationTime := *,//M OA
+			content := *,//M OA
+			sequenceNr := *,//O OA
+			contentSize := *//M OA			
 		}		
 		
 		/**
@@ -2711,7 +2719,7 @@ module OneM2M_Templates {
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			dataGenerationTime := {alt_ := fx_generateTimestamp()},//M
-			content := "Value",//M
+			content := "AnyValue",//M
 			sequenceNr := omit,//O
 			contentSize  := omit//NP
 		};
@@ -3124,6 +3132,26 @@ module OneM2M_Templates {
 			choice := omit//NP
 		};
 		
+		/**
+		 * @desc Base primitiveContent for UPDATE operation for TimeSeriesInstance resource
+		 */
+		template (value) TimeSeriesInstance_optional m_contentUpdateTimeSeriesInstance := {
+			resourceName := omit,
+			resourceType := omit,
+			resourceID := omit,
+			parentID := omit,
+			creationTime := omit,
+			lastModifiedTime := omit,
+			labels := omit,
+			expirationTime := omit,
+			announceTo := omit,
+			announcedAttribute := omit,
+			dataGenerationTime := omit,
+			content := omit,
+			sequenceNr := omit,
+			contentSize := omit
+		};
+		
  		
 	}//end group ContentUpdate
 	
diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index feb81891475aa7c4a51ded27ec46d35e38cb22b4..0514eeae980e84104014a062d99777a6a292d4b3 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -38,7 +38,7 @@ module OneM2M_TypesAndValues {
 	const XSD.String c_defaultm2mServiceSubscriptionProfileResourceName := "Mym2mServiceSubscriptionProfileResource";
 	const XSD.String c_defaultServiceSubscribedAppRuleResourceName := "MyServiceSubscribedAppRuleResource";
 	const XSD.String c_defaultTimeSeriesResourceName := "MyTimeSeriesResource";
-	const XSD.String c_defaultTimeSeriesInstanceResourceName := "MyTimeSeriesResource";
+	const XSD.String c_defaultTimeSeriesInstanceResourceName := "MyTimeSeriesInstanceResource";
 	const XSD.ID c_aeAuxName := "MyAe";
 	const XSD.String c_defaultAE2Name := "MyAe2";
 	const XSD.String c_acpAuxName := "MyAcp";
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 8b6bae1d8426b95c2170ce494a4eae220fda2ac8..f362e3ebffd8ae621f79b52524a6e1d1e40dd2af 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -2312,6 +2312,130 @@ module OneM2M_PermutationFunctions {
 						return vc_response.primitive.responsePrimitive;
 					    				
 					}//end f_CSE_DMR_CRE_006
+					
+					function f_CSE_DMR_CRE_007(ResourceType p_resourceTypeParent, template RequestPrimitive p_requestPrimitiveParent, ResourceType p_resourceTypeChild, template RequestPrimitive p_requestPrimitiveChild1, template RequestPrimitive p_requestPrimitiveChild2, XSD.String p_resourceName) runs on AeSimu {
+						//Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_parentIndex := -1;
+						var integer v_childIndex := -1;
+									   
+						// Test control
+
+						// Test component configuration
+						f_cf01Up();
+
+						// Test adapter configuration
+
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+							
+						v_parentIndex := f_cse_createResource(p_resourceTypeParent, p_requestPrimitiveParent, v_aeIndex);	//Parent
+	
+						v_childIndex := f_cse_createResource(p_resourceTypeChild, p_requestPrimitiveChild1, v_parentIndex);	//Child1
+
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceTypeChild, p_requestPrimitiveChild2, v_parentIndex);	////Child2
+
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Resource " & int2str(enum2int(p_resourceTypeChild)) & " created");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(p_resourceTypeChild)));			
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceTypeChild)));
+							}
+						}	
+			
+						f_checkAeSimuStatus();
+	
+						//Check to see if the resource is NOT present
+						if(f_isResourceNotPresent(v_parentIndex, p_resourceName)){
+							setverdict(pass, __SCOPE__ & ":INFO: Oldest resource " & int2str(enum2int(p_resourceTypeChild)) & " has been removed to allow the creation of the new instance");
+						} else {
+							setverdict(fail, __SCOPE__ & ":ERROR: Oldest resource " & int2str(enum2int(p_resourceTypeChild)) & " has not been removed to allow the creation of the new instance");
+						}
+							
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();	
+	
+					}//end f_CSE_DMR_CRE_007
+					
+					function f_CSE_DMR_CRE_008(ResourceType p_resourceTypeParent, template RequestPrimitive p_requestPrimitiveParent, ResourceType p_resourceTypeChild, template RequestPrimitive p_requestPrimitiveChild1, template RequestPrimitive p_requestPrimitiveChild2, XSD.String p_resourceName) runs on AeSimu {
+						//Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_parentIndex := -1;
+						var integer v_childIndex := -1;		   
+						// Test control
+	
+						// Test component configuration
+						f_cf01Up();
+	
+						// Test adapter configuration
+	
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+							
+						v_parentIndex := f_cse_createResource(p_resourceTypeParent, p_requestPrimitiveParent, v_aeIndex);	//Parent
+	
+						v_childIndex := f_cse_createResource(p_resourceTypeChild, p_requestPrimitiveChild1, v_parentIndex);	//Child1
+	
+						// Test Body
+	
+						v_request := f_getCreateRequestPrimitive(p_resourceTypeChild, p_requestPrimitiveChild2, v_parentIndex);	//Child2
+	
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Resource " & int2str(enum2int(p_resourceTypeChild)) & " created");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code in the response");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while creating resource type " & int2str(enum2int(p_resourceTypeChild)));			
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceTypeChild)));
+							}
+						}	
+			
+						f_checkAeSimuStatus();
+	
+						//Check to see if the resource is NOT present
+						if(f_isResourceNotPresent(v_parentIndex, p_resourceName)){
+							setverdict(pass, __SCOPE__ & ":INFO: Oldest resource " & int2str(enum2int(p_resourceTypeChild)) & " has been removed to allow the creation of the new instance");
+						} else {
+							setverdict(fail, __SCOPE__ & ":ERROR: Oldest resource " & int2str(enum2int(p_resourceTypeChild)) & " has not been removed to allow the creation of the new instance");
+						}
+							
+						// Postamble
+						f_cse_postamble_deleteResources();
+	
+						// Tear down
+						f_cf01Down();	
+
+					}//end f_CSE_DMR_CRE_008
 						
 					function f_CSE_DMR_CRE_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeList p_optionalAttribute) runs on AeSimu {
     				
@@ -2404,6 +2528,56 @@ module OneM2M_PermutationFunctions {
 					    					    				
 					}//end f_CSE_DMR_CRE_012
 					
+					function f_CSE_DMR_CRE_013(ResourceType p_resourceTypeParent, template RequestPrimitive p_requestPrimitiveParent, ResourceType p_resourceTypeChild, template RequestPrimitive p_requestPrimitiveChild) runs on AeSimu {
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_parentIndex := -1;
+						// Test control
+
+						// Test component configuration
+						f_cf01Up();
+
+						// Test adapter configuration
+
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+								
+						v_parentIndex := f_cse_createResource(p_resourceTypeParent, p_requestPrimitiveParent, v_aeIndex);
+	
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceTypeChild, p_requestPrimitiveChild, v_parentIndex);
+	
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Maximum byte size exceeded");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Bad responseStatusCode in response");
+							}
+			
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Accepted creation of resource type " & int2str(enum2int(p_resourceTypeChild)) & " exceding maximum byte size");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while creating resource type 4 " & int2str(enum2int(p_resourceTypeChild)));
+							}
+						}	
+				
+						// Postamble
+						f_cse_postamble_deleteResources();
+		
+						// Tear down
+						f_cf01Down();
+		
+					}//end f_CSE_DMR_CRE_013
+					
 					function f_CSE_DMR_CRE_014(ResourceType p_parentResourceType, template RequestPrimitive p_parentResourceRequestPrimitive, ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu {
 						// Local variables
 						var MsgIn v_response;
@@ -4601,6 +4775,110 @@ module OneM2M_PermutationFunctions {
 						f_cf01Down();
 	    					    				
 					}//end f_CSE_DMR_UPD_009
+					
+					function f_CSE_DMR_UPD_010(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
+	    				
+						// Local variables
+						var MsgIn v_response;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						
+						// Test control
+						
+						// Test component configuration
+						f_cf01Up();
+						
+						// Test adapter configuration
+						
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex); 
+						
+						// Test Body
+						
+						f_cse_updateResource(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+					
+						mcaPort.send(m_request(m_retrieve(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))));
+					
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while retrieving resource attributes");
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes");
+							}
+						}	
+						
+						vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+						
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+		    				
+					}//end f_CSE_DMR_UPD_010
+					
+					function f_CSE_DMR_UPD_011(ResourceType p_resourceTypeParent, template RequestPrimitive p_createParentRequestPrimitive, ResourceType p_resourceTypeChild, template RequestPrimitive p_createChildRequestPrimitive,template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
+						//Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_parentIndex := -1;
+						var integer v_childIndex := -1; 
+			   
+						// Test control
+
+						// Test component configuration
+						f_cf01Up();
+
+						// Test adapter configuration
+
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+	
+						v_parentIndex := f_cse_createResource(p_resourceTypeParent, p_createParentRequestPrimitive, v_aeIndex); 
+	
+						v_childIndex := f_cse_createResource(p_resourceTypeChild, p_createChildRequestPrimitive, v_parentIndex); 
+	
+						//Test Body
+						v_request := f_getUpdateRequestPrimitive(p_resourceTypeChild, v_childIndex, p_updateRequestPrimitive);
+
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Not allowed to update resource " & int2str(enum2int(p_resourceTypeChild)) & " with error OPERATION_NOT_ALLOWED");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Accepted update of resource " & int2str(enum2int(p_resourceTypeChild)));
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while updating resource " & int2str(enum2int(p_resourceTypeChild)));
+							}
+						}	
+						 
+						vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_childIndex);
+		
+						// Postamble
+						f_cse_postamble_deleteResources();
+
+						// Tear down
+						f_cf01Down();
+		    			
+					}//end f_CSE_DMR_UPD_011
     				
 					function f_CSE_DMR_UPD_014(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu {
 	
@@ -5070,6 +5348,135 @@ module OneM2M_PermutationFunctions {
 						f_cf01Down();
                 						
 					};//end f_CSE_DMR_DEL_004
+					
+					function f_CSE_DMR_DEL_005(ResourceType p_resourceTypeParent, template RequestPrimitive p_requestPrimitiveParent, ResourceType p_resourceTypeChild, template RequestPrimitive p_requestPrimitiveChild) runs on AeSimu {
+						//Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_resourceIndex := -1;
+						var integer v_childResourceIndex := -1;
+					
+						// Test control
+					
+						// Test component configuration
+						f_cf01Up();
+					
+						// Test adapter configuration
+					
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+						v_resourceIndex := f_cse_createResource(p_resourceTypeParent, p_requestPrimitiveParent, v_aeIndex); 
+					
+						v_childResourceIndex := f_cse_createResource(p_resourceTypeChild, p_requestPrimitiveChild, v_resourceIndex); 
+				
+						// Test Body
+						mcaPort.send(m_request(m_delete(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex))));
+					
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(p_resourceTypeChild)) & " deleted successfully");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Wrong response status code");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, __SCOPE__ & ": Error while deleting resource type " & int2str(enum2int(p_resourceTypeChild)));
+							}
+							[] tc_ac.timeout {
+								setverdict(fail, __SCOPE__ & ": No answer while deleting resource type " & int2str(enum2int(p_resourceTypeChild)));
+							}
+						}					
+				
+						vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+					
+						// Postamble
+						f_cse_postamble_deleteResources();
+					
+						// Tear down
+						f_cf01Down();
+						
+					};//end f_CSE_DMR_DEL_005
+					
+					function f_CSE_DMR_DEL_006(ResourceType p_resourceTypeParent, template RequestPrimitive p_requestPrimitiveParent, ResourceType p_resourceTypeChild, template RequestPrimitive p_requestPrimitiveChild) runs on AeSimu {
+						//Local variables
+						var integer v_aeIndex := -1;
+						var integer v_parentIndex := -1;
+						var integer v_childIndex := -1; 
+						var PrimitiveContent v_attributesParent, v_attributesParent_afterDeletion;
+			   
+						// Test control
+
+						// Test component configuration
+						f_cf01Up();
+
+						// Test adapter configuration
+
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+	
+						v_parentIndex := f_cse_createResource(p_resourceTypeParent, p_requestPrimitiveParent, v_aeIndex); 
+	
+						v_childIndex := f_cse_createResource(p_resourceTypeChild, p_requestPrimitiveChild, v_parentIndex); 
+	
+						v_attributesParent := f_cse_retrieveResource(v_parentIndex);
+						
+						if (p_resourceTypeParent==int3){	//Container
+							if(not(ispresent(v_attributesParent.container.currentNrOfInstances))) {
+								setverdict(fail, __SCOPE__ & ": Error the currentNrOfInstances attribute is empty");
+								f_checkAeSimuStatus();
+							}
+						}else if (p_resourceTypeParent==int29){	//TimeSeries
+							if(not(ispresent(v_attributesParent.timeSeries.currentNrOfInstances))) {
+								setverdict(fail, __SCOPE__ & ": Error the currentNrOfInstances attribute is empty");
+								f_checkAeSimuStatus();
+							}
+						}						
+		
+						// Test Body
+						f_cse_deleteResource(v_childIndex);
+
+						v_attributesParent_afterDeletion := f_cse_retrieveResource(v_parentIndex);
+	
+						if (p_resourceTypeParent==int3){	//Container
+							if(not(ispresent(v_attributesParent_afterDeletion.container.currentNrOfInstances))) {
+								setverdict(fail, __SCOPE__ & ": Error the currentNrOfInstances attribute is empty");
+								f_checkAeSimuStatus();
+							}
+						}else if (p_resourceTypeParent==int29){	//TimeSeries
+							if(not(ispresent(v_attributesParent_afterDeletion.timeSeries.currentNrOfInstances))) {
+								setverdict(fail, __SCOPE__ & ": Error the currentNrOfInstances attribute is empty");
+								f_checkAeSimuStatus();
+							}
+						}		
+	
+						if (p_resourceTypeParent==int3){	//Container
+							if((v_attributesParent.container.currentNrOfInstances > v_attributesParent_afterDeletion.container.currentNrOfInstances) and
+								(v_attributesParent.container.currentByteSize > v_attributesParent_afterDeletion.container.currentByteSize)) {
+								setverdict(pass, __SCOPE__ & ": The currentNrOfInstances and currentByteSize attributes are decreased");
+							} else {
+								setverdict(fail, __SCOPE__ & ": currentNrOfInstances and/or currentByteSize attributes are not decreased");
+							}
+						}else if (p_resourceTypeParent==int29){	//TimeSeries
+							if((v_attributesParent.timeSeries.currentNrOfInstances > v_attributesParent_afterDeletion.timeSeries.currentNrOfInstances) and
+								(v_attributesParent.timeSeries.currentByteSize > v_attributesParent_afterDeletion.timeSeries.currentByteSize)) {
+								setverdict(pass, __SCOPE__ & ": The currentNrOfInstances and currentByteSize attributes are decreased");
+							} else {
+								setverdict(fail, __SCOPE__ & ": currentNrOfInstances and/or currentByteSize attributes are not decreased");
+							}
+						}
+		
+						// Postamble
+						f_cse_postamble_deleteResources();
+
+						// Tear down
+						f_cf01Down();
+					};//end f_CSE_DMR_DEL_006
 				
 			}//end group Delete
 			
@@ -5616,6 +6023,74 @@ module OneM2M_PermutationFunctions {
 	
 			group Create {
 				
+				function f_CSE_SUB_CRE_001(ResourceType p_parentResourceType, template RequestPrimitive p_parentResourceRequestPrimitive, ResourceType p_childResourceType, template RequestPrimitive p_childRequestPrimitive) runs on AeSimu {
+					//Local variables
+					var MsgIn v_response;
+					var integer v_aeIndex := -1;
+					var integer v_parentResourceIndex := -1;
+					var integer v_childResourceIndex := -1;
+					var RequestPrimitive v_request;
+					var integer v_ae2Index := -1;
+					var template RequestPrimitive v_createSubscriptionRequest := m_createSubscriptionBase;
+	
+					// Test control
+	
+					// Test component configuration
+					f_cf01Up();
+	
+					// Test adapter configuration
+								
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);	
+									
+					f_cse_preamble_subscriptionVerification(v_ae2Index, v_createSubscriptionRequest, int23);	
+					
+					v_parentResourceIndex := f_cse_createResource(p_parentResourceType, p_parentResourceRequestPrimitive, v_aeIndex);//Parent 	
+					
+					if(p_parentResourceType != int23){			
+						v_childResourceIndex := f_cse_createResource(p_childResourceType, p_childRequestPrimitive, v_parentResourceIndex);//Child
+					}else{
+						v_childResourceIndex := v_parentResourceIndex;
+					}
+	
+					v_request := f_getCreateRequestPrimitive(int23, v_createSubscriptionRequest, v_childResourceIndex);//Subscription under child
+	
+					// Test Body
+					mcaPort.send(m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int5203))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Resource type " & int2str(enum2int(p_childResourceType)) & " not subscribable");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Subscription successful whereas resource type " & int2str(enum2int(p_childResourceType)) & " resource is not subscribable");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource");
+						}
+					}
+	
+					f_checkAeSimuStatus();
+	
+					//Check to see if the resource is NOT present
+					if(f_isResourceNotPresent(v_childResourceIndex, f_getResourceName(v_request.primitiveContent))){
+						setverdict(pass, __SCOPE__ & ":INFO: Subscription resource not created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Subscription resource created");
+					}
+	
+					//Postamble
+					f_cse_postamble_deleteResources();
+	
+					//Tear down
+					f_cf01Down();
+				}// end f_CSE_SUB_CRE_001
 	
 			}//end group Create
 			
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index e055fc37516f2914c217e4f1d2dcb18f67483d72..00ae2852fd069522afe080ec014a1ccba7250e60 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -947,6 +947,90 @@ module OneM2M_Testcases_CSE_Release_2 {
 
 				}// end group g_CSE_DMR_CRE_006
 				
+				group g_CSE_DMR_CRE_007 {
+					
+					/**
+					 * @desc Checks that the IUT accepts a newly created RESOURCE_TYPE when the currentNrOfInstances exceeds the field value set in maxNrOfInstances in the PARENT_RESOURCE_TYPE resource by removing enough of the oldest RESOURCE_TYPE resources to allow the creation of the new RESOURCE_TYPE resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_007_CNT_CIN() runs on Tester system CseSystem {
+						// Local variables		
+						var template RequestPrimitive v_createRequestContainer := m_createContainerBase;
+						var template RequestPrimitive v_createRequestContentInstance1 := m_createContentInstanceBase;
+						var template RequestPrimitive v_createRequestContentInstance2 := m_createContentInstanceBase;
+						const integer c_maxNumberOfInstances := 1;	
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						v_createRequestContainer.primitiveContent.container.maxNrOfInstances := c_maxNumberOfInstances;
+						v_createRequestContentInstance2.primitiveContent.contentInstance.resourceName := c_defaultContentInstanceResourceName & "2";	//Resource 2
+
+						v_ae1.start(f_CSE_DMR_CRE_007(int3, v_createRequestContainer, int4, v_createRequestContentInstance1, v_createRequestContentInstance2, c_defaultContentInstanceResourceName));//ContentInstance under Container
+						v_ae1.done;
+					}
+	
+					testcase TC_CSE_DMR_CRE_007_TS_TSI() runs on Tester system CseSystem {
+						//Local variables		
+						var template RequestPrimitive v_createRequestTimeSeries := m_createTimeSeriesBase;
+						var template RequestPrimitive v_createRequestTimeSeriesInstance1 := m_createTimeSeriesInstanceBase;
+						var template RequestPrimitive v_createRequestTimeSeriesInstance2 := m_createTimeSeriesInstanceBase;
+						const integer c_maxNumberOfInstances := 1;	
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						
+						v_createRequestTimeSeries.primitiveContent.timeSeries.maxNrOfInstances := c_maxNumberOfInstances;
+						v_createRequestTimeSeriesInstance2.primitiveContent.timeSeriesInstance.resourceName := c_defaultTimeSeriesInstanceResourceName & "2";	//Resource 2
+
+						v_ae1.start(f_CSE_DMR_CRE_007(int29, v_createRequestTimeSeries, int30, v_createRequestTimeSeriesInstance1, v_createRequestTimeSeriesInstance2, c_defaultTimeSeriesInstanceResourceName));//TimeSeriesInstance under TimeSeries
+						v_ae1.done;
+					}
+	
+				}// end group g_CSE_DMR_CRE_007
+				
+				group g_CSE_DMR_CRE_008 {
+					
+					/**
+					 * @desc Checks that the IUT accepts a newly created RESOURCE_TYPE when the currentNrOfInstances exceeds the field value set in maxNrOfInstances in the PARENT_RESOURCE_TYPE resource by removing enough of the oldest RESOURCE_TYPE resources to allow the creation of the new RESOURCE_TYPE resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_008_CNT_CIN() runs on Tester system CseSystem {
+						// Local variables		
+						var template RequestPrimitive v_createRequestContainer := m_createContainerBase;
+						var template RequestPrimitive v_createRequestContentInstance1 := m_createContentInstanceBase;
+						var template RequestPrimitive v_createRequestContentInstance2 := m_createContentInstanceBase;
+						const integer c_maxByteSize := 10;	
+						const XSD.String c_primitiveContent1 := "Content1";
+						const XSD.String c_primitiveContent2 := "Content2";		
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+		
+						v_createRequestContainer.primitiveContent.container.maxByteSize := c_maxByteSize;
+						v_createRequestContentInstance1.primitiveContent.contentInstance.content := c_primitiveContent1;	//ContentInstance 1
+						v_createRequestContentInstance2.primitiveContent.contentInstance.content := c_primitiveContent2;	//ContentInstance 2
+						v_createRequestContentInstance2.primitiveContent.contentInstance.resourceName := c_defaultContentInstanceResourceName & "2";	//ContentInstance 2
+
+						v_ae1.start(f_CSE_DMR_CRE_007(int3, v_createRequestContainer, int4, v_createRequestContentInstance1, v_createRequestContentInstance2, c_defaultContentInstanceResourceName));//ContentInstance under Container
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_CRE_008_TS_TSI() runs on Tester system CseSystem {
+						//Local variables		
+						var template RequestPrimitive v_createRequestTimeSeries := m_createTimeSeriesBase;
+						var template RequestPrimitive v_createRequestTimeSeriesInstance1 := m_createTimeSeriesInstanceBase;
+						var template RequestPrimitive v_createRequestTimeSeriesInstance2 := m_createTimeSeriesInstanceBase;
+						const integer c_maxByteSize := 10;	
+						const XSD.String c_primitiveContent1 := "Content1";
+						const XSD.String c_primitiveContent2 := "Content2";		
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+						v_createRequestTimeSeries.primitiveContent.container.maxByteSize := c_maxByteSize;
+						v_createRequestTimeSeriesInstance1.primitiveContent.timeSeriesInstance.content := c_primitiveContent1;	//ContentInstance 1
+						v_createRequestTimeSeriesInstance2.primitiveContent.timeSeriesInstance.content := c_primitiveContent2;	//ContentInstance 2
+						v_createRequestTimeSeriesInstance2.primitiveContent.timeSeriesInstance.resourceName := c_defaultTimeSeriesInstanceResourceName & "2";	//ContentInstance 2
+
+						v_ae1.start(f_CSE_DMR_CRE_008(int29, v_createRequestTimeSeries, int30, v_createRequestTimeSeriesInstance1, v_createRequestTimeSeriesInstance2, c_defaultTimeSeriesInstanceResourceName));//TimeSeriesInstance under TimeSeries
+						v_ae1.done;
+					}
+
+				}// end group g_CSE_DMR_CRE_008
+				
 				group g_CSE_DMR_CRE_012 {
 					
 					/**
@@ -1379,6 +1463,63 @@ module OneM2M_Testcases_CSE_Release_2 {
 					}
 				
 				}// end group g_CSE_DMR_CRE_012	
+				
+				group g_CSE_DMR_CRE_013 {
+					
+					/**
+					 * @desc Check that the IUT rejects the CREATE Request of a RESOURCE_TYPE resource with error “NOT_ACCEPTABLE” when contentSize exceeds maxByteSize of the PARENT_RESOURCE_TYPE
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_013_CNT_CIN() runs on Tester system CseSystem {
+						// Local variables		
+						var template RequestPrimitive v_createRequestContainer := m_createContainerBase;
+						var template RequestPrimitive v_createRequestContentInstance := m_createContentInstanceBase;
+						const integer c_maxByteSize := 1;		
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+		
+						v_createRequestContainer.primitiveContent.container.maxByteSize := c_maxByteSize;
+
+						v_ae1.start(f_CSE_DMR_CRE_013(int3, v_createRequestContainer, int4, v_createRequestContentInstance));//ContentInstance under Container
+						v_ae1.done;
+					}
+
+					testcase TC_CSE_DMR_CRE_013_TS_TSI() runs on Tester system CseSystem {
+						//Local variables		
+						var template RequestPrimitive v_createRequestTimeSeries := m_createTimeSeriesBase;
+						var template RequestPrimitive v_createRequestTimeSeriesInstance := m_createTimeSeriesInstanceBase;
+						const integer c_maxByteSize := 1;		
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+						v_createRequestTimeSeries.primitiveContent.timeSeries.maxByteSize := c_maxByteSize;
+
+						v_ae1.start(f_CSE_DMR_CRE_013(int29, v_createRequestTimeSeries, int30, v_createRequestTimeSeriesInstance));//TimeSeriesInstance under TimeSeries
+						v_ae1.done;
+					}
+
+				}// end group g_CSE_DMR_CRE_013
+				
+				group g_CSE_DMR_CRE_014 {
+				
+					/**
+					 * @desc Check that the IUT updates the currentByteSize attribute in a PARENT_RESOURCE_TYPE when a new RESOURCE_TYPE is created. 
+					 * 
+					 */
+					testcase TC_CSE_DMR_CRE_014_TS_TSI() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_parentResourceRequest := m_createTimeSeriesBase;
+						var template RequestPrimitive v_childResourceRequest := m_createTimeSeriesInstanceBase;//Default content: "AnyValue" (8 bytes length)
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						const integer c_maxByteSize := 512;	
+		
+						v_parentResourceRequest.primitiveContent.timeSeries.maxByteSize := c_maxByteSize;
+		
+						v_ae1.start(f_CSE_DMR_CRE_014(int29, v_parentResourceRequest, int30, v_childResourceRequest));		
+						v_ae1.done;
+		
+					}
+				
+				}// end group g_CSE_DMR_CRE_014
 
 				group g_CSE_DMR_CRE_015 {
 					
@@ -4560,7 +4701,140 @@ module OneM2M_Testcases_CSE_Release_2 {
 						v_ae1.done;
 					}
 					
-				} // end g_CSE_DMR_UPD_009				
+					testcase TC_CSE_DMR_UPD_009_TS_EXC() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var XSD.PositiveInteger v_expirationCounter := 1;
+						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
+						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesBase;
+
+						v_updateRequest.primitiveContent := {timeSeries_update_invalid := m_contentUpdateTimeSeries_invalid};
+	
+						v_updateRequest.primitiveContent.timeSeries_update_invalid.expirationCounter := v_expirationCounter;
+		
+						v_ae1.start(f_CSE_DMR_UPD_009(int29, v_createRequest, v_updateRequest));//TimeSeries
+						v_ae1.done;
+					}
+					
+				} // end g_CSE_DMR_UPD_009		
+				
+				group g_CSE_DMR_UPD_010{
+					
+					/**
+					 * @desc Check that the stateTag attribute of a RESOURCE_TYPE resource is increased when an update operation has been performed on its child resource
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_010_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var Labels v_labels_1:= {"VALUE_1"};
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
+		
+						v_ae1.start(f_CSE_DMR_UPD_010(int3, v_createRequest, v_updateRequest));//Container
+						v_ae1.done;
+	
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that stateTag has been incremented
+							  if(ischosen(v_primitiveContentRetrieveResource.container)) {
+							   if(v_primitiveContentRetrieveResource.container.stateTag == 1){
+									setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented");	
+							   }else{
+									setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented");
+							   }
+							}
+						}
+					}
+	
+					testcase TC_CSE_DMR_UPD_010_TS() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var RequestPrimitive v_updateRequest := valueof(m_updateTimeSeriesBase);
+						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
+						var Labels v_labels_1:= {"VALUE_1"};
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						
+						v_updateRequest.primitiveContent.timeSeries.labels := v_labels_1;
+		
+						v_ae1.start(f_CSE_DMR_UPD_010(int29, v_createRequest, v_updateRequest));//TimeSeries
+						v_ae1.done;
+	
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that stateTag has been incremented
+							  if(ischosen(v_primitiveContentRetrieveResource.timeSeries)) {
+							   if(v_primitiveContentRetrieveResource.timeSeries.stateTag == 1){
+									setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented");	
+							   }else{
+									setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented");
+							   }
+							}
+						}
+					}
+	
+				} // end g_CSE_DMR_UPD_010		
+				
+				group g_CSE_DMR_UPD_011{
+					
+					/**
+					 * @desc Check that the IUT rejects the UPDATE Request of an existing RESOURCE_TYPE resource with error “OPERATION_NOT_ALLOWED”
+					 * 
+					 */
+					testcase TC_CSE_DMR_UPD_011_CNT_CNI() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase;
+						var Labels v_labels:= {"LABEL"};
+						var template RequestPrimitive v_createParentRequest := m_createContainerBase;
+						var template RequestPrimitive v_createChildRequest := m_createContentInstanceBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+		
+						v_updateRequest.primitiveContent.contentInstance.labels := v_labels;
+
+						v_ae1.start(f_CSE_DMR_UPD_011(int3, v_createParentRequest, int4, v_createChildRequest, v_updateRequest));//ContentInstance under Container
+						v_ae1.done;
+
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.contentInstance)) {
+								if(v_primitiveContentRetrieveResource.contentInstance.labels == v_labels){
+							   		setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated")
+						  		}
+							}
+						}
+					}
+
+					testcase TC_CSE_DMR_UPD_011_TS_TSI() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTimeSeriesInstanceBase;
+						var Labels v_labels:= {"LABEL"};
+						var template RequestPrimitive v_createParentRequest := m_createTimeSeriesBase;
+						var template RequestPrimitive v_createChildRequest := m_createTimeSeriesInstanceBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+		
+						v_updateRequest.primitiveContent.timeSeriesInstance.labels := v_labels;
+
+						v_ae1.start(f_CSE_DMR_UPD_011(int29, v_createParentRequest, int30, v_createChildRequest, v_updateRequest));//TimeSeriesInstance under TimeSeries
+						v_ae1.done;
+
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.timeSeriesInstance)) {
+								if(v_primitiveContentRetrieveResource.timeSeriesInstance.labels == v_labels){
+									setverdict(fail, __SCOPE__ & ": Error: Labels attribute updated")
+								}
+							}
+						}
+					}
+
+				} // end g_CSE_DMR_UPD_011
 
 				group g_CSE_DMR_UPD_014 {
 					
@@ -6476,6 +6750,82 @@ module OneM2M_Testcases_CSE_Release_2 {
 					};	
                 
 				};//end of group g_CSE_DMR_DEL_004
+				
+				group g_CSE_DMR_DEL_005{
+                	
+					/**
+					 * @desc Check that the stateTag attribute of a RESOURCE_TYPE resource is increased when a child resource is deleted
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_005_CNT() runs on Tester system CseSystem {
+						// Local variables
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+		
+						v_ae1.start(f_CSE_DMR_DEL_005(int3, m_createContainerBase, int3, m_createContainerBase));//Container
+						v_ae1.done;
+						
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that stateTag has been incremented
+							  if(ischosen(v_primitiveContentRetrieveResource.container)) {
+							   if(v_primitiveContentRetrieveResource.container.stateTag == 2){	//(Create and Delete)
+									setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented");	
+							   }else{
+									setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented");
+							   }
+							}
+						}
+					};
+
+					testcase TC_CSE_DMR_DEL_005_TS() runs on Tester system CseSystem {
+						// Local variables
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+		
+						v_ae1.start(f_CSE_DMR_DEL_005(int29, m_createTimeSeriesBase, int30, m_createTimeSeriesInstanceBase));//TimeSeries
+						v_ae1.done;
+						
+						if(getverdict == pass){ 
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that stateTag has been incremented
+							  if(ischosen(v_primitiveContentRetrieveResource.container)) {
+							   if(v_primitiveContentRetrieveResource.timeSeries.stateTag == 2){	//(Create and Delete)
+									setverdict(pass, __SCOPE__ & ": The stateTag attribute is incremented");	
+							   }else{
+									setverdict(fail, __SCOPE__ & ": Error the stateTag attribute is not incremented");
+							   }
+							}
+						}
+					};
+
+				};//end of group g_CSE_DMR_DEL_005
+				
+				group g_CSE_DMR_DEL_006{
+                	
+					/**
+					 * @desc Check that the IUT decreases the field value of attribute currentNrOfInstances and currentByteSize of parent RESOURCE_TYPE when a latest RESOURCE_TYPE resource is deleted successfully
+					 * 
+					 */
+					testcase TC_CSE_DMR_DEL_006_CNT_CIN() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+						v_ae1.start(f_CSE_DMR_DEL_006(int3, m_createContainerBase, int4, m_createContentInstanceBase));//ContentInstance under Container
+						v_ae1.done;
+	
+					};
+
+					testcase TC_CSE_DMR_DEL_006_TS_TSI() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+						v_ae1.start(f_CSE_DMR_DEL_006(int29, m_createTimeSeriesBase, int30, m_createTimeSeriesInstanceBase));//TimeSeriesInstance under TimeSeries
+						v_ae1.done;
+						
+					};
+
+				};//end of group g_CSE_DMR_DEL_006
 
 				group g_CSE_DMR_DEL_008{
 
@@ -7597,6 +7947,52 @@ module OneM2M_Testcases_CSE_Release_2 {
 	
 			group Create {
 				
+				group g_CSE_SUB_CRE_001 {
+				
+					/**
+					 * @desc Check that the IUT rejects the creation of the <subscription> resource when the target subscribed-to RESOURCE_TYPE resource is not subscribable. 
+					 * 
+					 */
+					testcase TC_CSE_SUB_CRE_001_CIN() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_parentResourceRequest := m_createContainerBase;
+						var template RequestPrimitive v_childResourceRequest := m_createContentInstanceBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						const XSD.String c_content := "Random Value";	
+
+						v_childResourceRequest.primitiveContent.contentInstance.content := "Random Value";
+
+						v_ae1.start(f_CSE_SUB_CRE_001(int3, v_parentResourceRequest, int4, v_childResourceRequest));		
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_SUB_CRE_001_SUB() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_parentResourceRequest := m_createSubscriptionBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+						v_ae1.start(f_CSE_SUB_CRE_001(int23, v_parentResourceRequest, int23, v_parentResourceRequest));		
+						v_ae1.done;
+					}
+					
+					testcase TC_CSE_SUB_CRE_001_TSI() runs on Tester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_parentResourceRequest := m_createTimeSeriesBase;
+						var template RequestPrimitive v_childResourceRequest := m_createTimeSeriesInstanceBase;
+						var ResponsePrimitive v_responsePrimitive;
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						const XSD.String c_content := "Random Value";	
+	
+						v_childResourceRequest.primitiveContent.timeSeriesInstance.content := "Random Value";
+	
+						v_ae1.start(f_CSE_SUB_CRE_001(int29, v_parentResourceRequest, int30, v_childResourceRequest));		
+						v_ae1.done;
+					}
+
+				}// end group g_CSE_DMR_CRE_014
+				
 			}//end group Create
 			
 			group Notify{