diff --git a/OneM2M_Testcases_CSE_Release_4.ttcn b/OneM2M_Testcases_CSE_Release_4.ttcn
index e6f52480d35cf240b2998fd72aa93a0f9aa66eb8..eccaf55843f77b95a8520287a524c726fa9c0050 100644
--- a/OneM2M_Testcases_CSE_Release_4.ttcn
+++ b/OneM2M_Testcases_CSE_Release_4.ttcn
@@ -7714,17 +7714,19 @@ module OneM2M_Testcases_CSE_Release_4 {
 				} // end testcase TC_CSE_3GPP_NIDD_001
 				
 				function f_CSE_3GPP_NIDD_001() runs on ScefSimu system ScefSystem{
-					var template RequestPrimitive v_createRequest := m_createServiceSubscribedNode;
-					var integer v_aeIndex := -1;
+					var template RequestPrimitive v_createServiceSubscribedNode := m_createServiceSubscribedNode;
+					var integer v_aeIndex := -1, v_subscriptionProfileIndex := -1;
+					
 					var RequestPrimitive v_request;
 					var OneM2M_Types_3GPP_T8.URI v_requestResourceURI;
 					var template T8Request v_requestPrimitive;
 					var NiddConfiguration v_niddConfiguration;
 					var RequestBody niddConfig := {individualNiddConfiguration := v_niddConfiguration};
 
+					var template RequestPrimitive v_createServiceSubscriptionProfile := m_createM2mServiceSubscriptionProfileMaxValue1; // maxNumAEs 1	
 					
-					v_createRequest.primitiveContent.serviceSubscribedNode.niddRequired := true;
-					v_createRequest.primitiveContent.serviceSubscribedNode.nodeID := "M2M-Ext-ID";
+					v_createServiceSubscribedNode.primitiveContent.serviceSubscribedNode.niddRequired := true;
+					v_createServiceSubscribedNode.primitiveContent.serviceSubscribedNode.nodeID := "M2M-Ext-ID";
 					
 					// Test component configuration
 					f_cf05Up();
@@ -7733,10 +7735,14 @@ module OneM2M_Testcases_CSE_Release_4 {
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
 					// Test Body
-					v_request := f_getCreateRequestPrimitive(int20, v_createRequest, v_aeIndex);
+//					v_request := f_getCreateRequestPrimitive(int20, v_createServiceSubscribedNode, v_aeIndex);
+//					f_send(e_mcaPort, m_request(v_request));
 					
-					f_send(e_mcaPort, m_request(v_request));
+					// ServiceSubscriptionProfile directly under CSEBase from superAE
+					v_subscriptionProfileIndex := f_cse_createResource(int11, v_createServiceSubscriptionProfile, -1);
 					
+					// ServiceSubscribedNode under ServiceSubscriptionProfile
+					vc_ae1.start(f_cse_createResource(int20, v_createServiceSubscribedNode, v_subscriptionProfileIndex));
 					
 					v_requestPrimitive := mw_t8_request_post(v_requestResourceURI, -,  niddConfig);
 					tc_ac.start;
@@ -7754,7 +7760,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 						}
 					}
 					
-					// Postamble
+					// Postamble: NOTE This needs to be done.
 					//f_cse_postamble_deleteResourcesCSE();
 					
 					//Tear Down
@@ -7774,22 +7780,23 @@ module OneM2M_Testcases_CSE_Release_4 {
 				} // end testcase TC_CSE_3GPP_NIDD_002
 				
 				function f_CSE_3GPP_NIDD_002() runs on ScefSimu system ScefSystem{
-					var template RequestPrimitive v_createRequest := m_createServiceSubscribedNode;
-					var template RequestPrimitive v_updateRequest := m_updateServiceSubscribedNode;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
+				
+					var template RequestPrimitive v_createServiceSubscribedNode := m_createServiceSubscribedNode;
+					var template RequestPrimitive v_updateServiceSubscribedNode := m_updateServiceSubscribedNode;
+					var template RequestPrimitive v_createServiceSubscriptionProfile := m_createM2mServiceSubscriptionProfileMaxValue1; // maxNumAEs 1
+				
+					var integer v_aeIndex := -1, v_subscriptionProfileIndex := -1, v_serviceSubscribedNodeIndex := -1;
 					var RequestPrimitive v_request;
 					var OneM2M_Types_3GPP_T8.URI v_requestResourceURI;
 					var template T8Request v_requestPrimitive;
 					var NiddConfiguration v_niddConfiguration;
 					var RequestBody niddConfig := {individualNiddConfiguration := v_niddConfiguration};
 					//var template NiddConfiguration v_niddConfiguration;
-
 					
-					v_createRequest.primitiveContent.serviceSubscribedNode.niddRequired := false;
-					v_createRequest.primitiveContent.serviceSubscribedNode.nodeID := "M2M-Ext-ID";
+					v_createServiceSubscribedNode.primitiveContent.serviceSubscribedNode.niddRequired := false;
+					v_createServiceSubscribedNode.primitiveContent.serviceSubscribedNode.nodeID := "M2M-Ext-ID";
 					
-					v_updateRequest.primitiveContent.serviceSubscribedNode.niddRequired := true;
+					v_updateServiceSubscribedNode.primitiveContent.serviceSubscribedNode.niddRequired := true;
 					
 					// Test component configuration
 					f_cf05Up();
@@ -7797,15 +7804,18 @@ module OneM2M_Testcases_CSE_Release_4 {
 					//Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
+					// ServiceSubscriptionProfile directly under CSEBase from superAE
+					v_subscriptionProfileIndex := f_cse_createResource(int11, v_createServiceSubscriptionProfile, -1);
 					
-					v_resourceIndex := f_cse_createResource(int20, v_createRequest, v_aeIndex);
-					
+					// ServiceSubscribedNode under ServiceSubscriptionProfile					
+					v_serviceSubscribedNodeIndex := f_cse_createResource(int20, v_createServiceSubscribedNode, v_subscriptionProfileIndex);
 					
 					// Test Body
 					
-					v_request := f_getUpdateRequestPrimitive(int20, v_resourceIndex, v_updateRequest);
-					f_send(e_mcaPort, m_request(v_request));
+				//	v_request := f_getUpdateRequestPrimitive(int20, v_resourceIndex, v_updateRequest);
+				//	f_send(e_mcaPort, m_request(v_request));
 					
+					vc_ae1.start(f_cse_updateResource(int20, v_serviceSubscribedNodeIndex, v_updateServiceSubscribedNode));
 					
 					v_requestPrimitive := mw_t8_request_post(v_requestResourceURI, -, niddConfig);
 					tc_ac.start;
@@ -7823,7 +7833,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 						}
 					}
 					
-					// Postamble
+					// Postamble: NOTE This needs to be done.
 					//f_cse_postamble_deleteResourcesCSE();
 					
 					//Tear Down
@@ -7843,10 +7853,12 @@ module OneM2M_Testcases_CSE_Release_4 {
 				} // end testcase TC_CSE_3GPP_NIDD_003
 				
 				function f_CSE_3GPP_NIDD_003() runs on ScefSimu system ScefSystem{
-					var template RequestPrimitive v_createRequest := m_createServiceSubscribedNode;
-					var template RequestPrimitive v_updateRequest := m_updateServiceSubscribedNode;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
+
+					var template RequestPrimitive v_createServiceSubscribedNode := m_createServiceSubscribedNode;
+					var template RequestPrimitive v_updateServiceSubscribedNode := m_updateServiceSubscribedNode;
+					var template RequestPrimitive v_createServiceSubscriptionProfile := m_createM2mServiceSubscriptionProfileMaxValue1; // maxNumAEs 1
+					
+					var integer v_aeIndex := -1,  v_subscriptionProfileIndex := -1, v_serviceSubscribedNodeIndex := -1;
 					var RequestPrimitive v_request;
 					var OneM2M_Types_3GPP_T8.URI v_requestResourceURI;
 					var template T8Request v_requestPrimitive;
@@ -7856,26 +7868,30 @@ module OneM2M_Testcases_CSE_Release_4 {
 					//var template NiddConfiguration v_niddConfiguration;
 
 					
-					v_createRequest.primitiveContent.serviceSubscribedNode.niddRequired := true;
-					v_createRequest.primitiveContent.serviceSubscribedNode.nodeID := "M2M-Ext-ID";
+					v_createServiceSubscribedNode.primitiveContent.serviceSubscribedNode.niddRequired := true;
+					v_createServiceSubscribedNode.primitiveContent.serviceSubscribedNode.nodeID := "M2M-Ext-ID";
 					
-					v_updateRequest.primitiveContent.serviceSubscribedNode.niddRequired := false;
+					v_updateServiceSubscribedNode.primitiveContent.serviceSubscribedNode.niddRequired := false;
 					
 					// Test component configuration
 					f_cf05Up();
 					
 					//Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+										
+					// ServiceSubscriptionProfile directly under CSEBase from superAE
+					v_subscriptionProfileIndex := f_cse_createResource(int11, v_createServiceSubscriptionProfile, -1);
 					
-					
-					v_resourceIndex := f_cse_createResource(int20, v_createRequest, v_aeIndex);
+					// ServiceSubscribedNode under ServiceSubscriptionProfile					
+					v_serviceSubscribedNodeIndex := f_cse_createResource(int20, v_createServiceSubscribedNode, v_subscriptionProfileIndex);
 					
 					
 					// Test Body
 					
-					v_request := f_getUpdateRequestPrimitive(int20, v_resourceIndex, v_updateRequest);
-					f_send(e_mcaPort, m_request(v_request));
+				//	v_request := f_getUpdateRequestPrimitive(int20, v_serviceSubscribedNodeIndex, v_updateRequest);
+				//	f_send(e_mcaPort, m_request(v_request));
 					
+					vc_ae1.start(f_cse_updateResource(int20, v_serviceSubscribedNodeIndex, v_updateServiceSubscribedNode));
 					
 					v_requestPrimitive := m_t8_request_delete(v_requestResourceURI,v_requestHeader , niddConfig); // NIDD configuration delete request
 					tc_ac.start;
@@ -7893,7 +7909,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 						}
 					}
 					
-					// Postamble
+					// Postamble: NOTE This needs to be done.
 					//f_cse_postamble_deleteResourcesCSE();
 					
 					//Tear Down
@@ -7914,9 +7930,8 @@ module OneM2M_Testcases_CSE_Release_4 {
 				} // end testcase TC_CSE_3GPP_NIDD_004
 				
 				function f_CSE_3GPP_NIDD_004() runs on ScefSimu system ScefSystem{
-					var template RequestPrimitive v_createRequest := m_createServiceSubscribedNode;
-					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
+					var template RequestPrimitive v_createServiceSubscribedNode := m_createServiceSubscribedNode;
+					var integer v_aeIndex := -1, v_serviceSubscribedNodeIndex := -1;
 					var RequestPrimitive v_request;
 					var OneM2M_Types_3GPP_T8.URI v_requestResourceURI;
 					var template T8Request v_requestPrimitive;
@@ -7926,8 +7941,8 @@ module OneM2M_Testcases_CSE_Release_4 {
 					//var template NiddConfiguration v_niddConfiguration;
 
 					
-					v_createRequest.primitiveContent.serviceSubscribedNode.niddRequired := true;
-					v_createRequest.primitiveContent.serviceSubscribedNode.nodeID := "M2M-Ext-ID";
+					v_createServiceSubscribedNode.primitiveContent.serviceSubscribedNode.niddRequired := true;
+					v_createServiceSubscribedNode.primitiveContent.serviceSubscribedNode.nodeID := "M2M-Ext-ID";
 					
 					
 					
@@ -7937,15 +7952,18 @@ module OneM2M_Testcases_CSE_Release_4 {
 					//Preamble
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
+					// ServiceSubscriptionProfile directly under CSEBase from superAE
+					v_subscriptionProfileIndex := f_cse_createResource(int11, v_createServiceSubscriptionProfile, -1);
 					
-					v_resourceIndex := f_cse_createResource(int20, v_createRequest, v_aeIndex);
-					
-					
+					// ServiceSubscribedNode under ServiceSubscriptionProfile					
+					v_serviceSubscribedNodeIndex := f_cse_createResource(int20, v_createServiceSubscribedNode, v_subscriptionProfileIndex);
+										
 					// Test Body
 					
-					v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					f_send(e_mcaPort, m_request(v_request));
+				//	v_request := valueof(m_delete(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+				//	f_send(e_mcaPort, m_request(v_request));
 					
+					vc_ae1.start(f_cse_deleteResource(v_serviceSubscribedNodeIndex));
 					
 					v_requestPrimitive := m_t8_request_delete(v_requestResourceURI, v_requestHeader, niddConfig); // NIDD configuration delete request 
 					tc_ac.start;
@@ -7963,7 +7981,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 						}
 					}
 					
-					// Postamble
+					// Postamble: NOTE This needs to be done.
 					//f_cse_postamble_deleteResourcesCSE();
 					
 					//Tear Down
@@ -8039,8 +8057,10 @@ module OneM2M_Testcases_CSE_Release_4 {
 					
 			// Test Body
 					
-			v_request := f_getCreateRequestPrimitive(int4, v_createRequest, v_ae2Index);
-			f_send(e_mcaPort, m_request(v_request));
+		//	v_request := f_getCreateRequestPrimitive(int4, v_createRequest, v_ae2Index);
+		//	f_send(e_mcaPort, m_request(v_request));
+			
+			vc_ae1.start(f_cse_createResource(int4, v_createRequest, v_ae2Index));
 					
 			vc_ae1.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
 					
@@ -8068,7 +8088,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 				}
 			}
 					
-			// Postamble
+			// Postamble: NOTE This needs to be done.
 			//f_cse_postamble_deleteResourcesCSE();
 					
 			//Tear Down
@@ -8144,8 +8164,10 @@ module OneM2M_Testcases_CSE_Release_4 {
 					
 			// Test Body
 					
-			v_request := f_getCreateRequestPrimitive(int4, v_createRequest, v_ae2Index);
-			f_send(e_mcaPort, m_request(v_request));
+		//	v_request := f_getCreateRequestPrimitive(int4, v_createRequest, v_ae2Index);
+		//	f_send(e_mcaPort, m_request(v_request));
+							
+			vc_ae1.start(f_cse_createResource(int4, v_createRequest, v_ae2Index));
 					
 			vc_ae1.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
 					
@@ -8173,7 +8195,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 				}
 			}
 					
-			// Postamble
+			// Postamble: NOTE This needs to be done.
 			//f_cse_postamble_deleteResourcesCSE();
 					
 			//Tear Down
@@ -8268,9 +8290,9 @@ module OneM2M_Testcases_CSE_Release_4 {
 				}
 			}
 					
-			// Postamble
-			//f_cse_postamble_deleteResourcesCSE();
-					
+			// Postamble: NOTE This needs to be done.
+			//f_cse_postamble_deleteResourcesCSE();		
+			
 			//Tear Down
 			f_cf05Down();
 		} // end of function f_CSE_3GPP_NIDD_007
@@ -8366,7 +8388,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 				}
 			}
 					
-			// Postamble
+			// Postamble: NOTE This needs to be done.
 			//f_cse_postamble_deleteResourcesCSE();
 					
 			//Tear Down
@@ -8443,7 +8465,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 				}
 			}
 					
-			// Postamble
+			// Postamble: NOTE This needs to be done.
 			//f_cse_postamble_deleteResourcesCSE();
 					
 			//Tear Down