diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 877a099cf5e3e3666aac915beab05096282c11ab..9674bebb9e84e9ba9b145372713acdcfc93edc11 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $
- *              $Id: OneM2M_Functions.ttcn 306 2017-06-20 16:19:04Z reinaortega $
+ *              $Id: OneM2M_Functions.ttcn 308 2017-06-21 09:44:17Z reinaortega $
  *  @desc       Module containing functions for oneM2M
  *
  */
@@ -207,8 +207,8 @@ module OneM2M_Functions {
 					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 						tc_ac.stop;
 						setverdict(pass,__SCOPE__&":INFO: Application registered successfuly");
-						if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE_optional)) {
-							vc_aeAux := v_response.primitive.responsePrimitive.primitiveContent.aE_optional;
+						if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE)) {
+							vc_aeAux := v_response.primitive.responsePrimitive.primitiveContent.aE;
 							
 							f_checkAttributesToBeSaved(int2, v_request, v_response.primitive.responsePrimitive);
 							
@@ -278,8 +278,8 @@ module OneM2M_Functions {
 					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 						tc_ac.stop;
 						setverdict(pass, __SCOPE__&": INFO: Application registered successfuly");
-						if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE_optional)) {
-							vc_aeAux := v_response.primitive.responsePrimitive.primitiveContent.aE_optional;
+						if(ischosen(v_response.primitive.responsePrimitive.primitiveContent.aE)) {
+							vc_aeAux := v_response.primitive.responsePrimitive.primitiveContent.aE;
 							
 							v_aeAuxIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent);
 							vc_resourcesIndexToBeDeleted := vc_resourcesIndexToBeDeleted & {v_aeAuxIndex};
@@ -327,8 +327,8 @@ module OneM2M_Functions {
 				if(p_resourceType == int23){
 					p_notifyHandler := CseTester.create("NotifyHandler") alive;
 					p_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", {"http://" & PX_AE2_ADDRESS & "/"}), -1); // AE2 is registred
-					if(ischosen(p_createRequestPrimitive.primitiveContent.subscription_optional)){		//this condition is necessary for Subscription TCs where notification URI is set in m_createSubscriptionAdvanced
-						p_createRequestPrimitive.primitiveContent.subscription_optional.notificationURI := {f_getResourceAddress(p_ae2Index)}; 
+					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_notifyHandler.start(f_subscriptionVerificationHandler(f_getResourceAddress(p_aeIndex)));
 				}
@@ -358,8 +358,8 @@ module OneM2M_Functions {
 						//For deletion of AEs, priority is to use AE-ID in From parameter
 						//For other resources PX_SUPER_USER should be able to do DELETE operation
 						if(PX_FROM_IS_AE_ID){
-							if(ischosen(vc_resourcesList[vc_resourcesIndexToBeDeleted[i]].resource.aE_optional)) {	
-								v_request.from_ := vc_resourcesList[vc_resourcesIndexToBeDeleted[i]].resource.aE_optional.aE_ID;
+							if(ischosen(vc_resourcesList[vc_resourcesIndexToBeDeleted[i]].resource.aE)) {	
+								v_request.from_ := vc_resourcesList[vc_resourcesIndexToBeDeleted[i]].resource.aE.aE_ID;
 							}
 						}
 						
@@ -520,8 +520,8 @@ module OneM2M_Functions {
 				v_acpAuxIndex := f_cse_createAccessControlPolicyAux(p_acpName := c_acpAuxName);//"MyAcp_2"
 				
 				v_request := valueof(m_createContainerBase);
-				v_request.primitiveContent.container_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)};
-				v_request.primitiveContent.container_optional.resourceName := "MyContainerAux";
+				v_request.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)};
+				v_request.primitiveContent.container.resourceName := "MyContainerAux";
 				
 				v_containerResourceIndex := f_cse_createResource(int3, v_request, p_parentIndex);
 				
@@ -636,7 +636,7 @@ module OneM2M_Functions {
 				
 				v_request.to_ := f_getResourceAddress(vc_acpAuxIndex);
 				v_request.from_ := f_getOriginator(vc_acpAuxIndex);
-				v_request.primitiveContent.accessControlPolicy_optional.privileges.accessControlRule_list := {
+				v_request.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {
 					{
 						accessControlOriginators := PX_ACOR, //{"admin:admin"}
 						accessControlOperations := valueof(p_allowedOperations),
@@ -755,66 +755,66 @@ module OneM2M_Functions {
     		function f_checkAttributesToBeSaved (ResourceType p_resourceType, RequestPrimitive p_request, inout ResponsePrimitive p_response) {
     			select (p_resourceType) {
     				case (int1) {
-    					if(isvalue(p_response.primitiveContent.accessControlPolicy_optional) and
-    							not(ispresent(p_response.primitiveContent.accessControlPolicy_optional.resourceName))) {
-    						p_response.primitiveContent.accessControlPolicy_optional.resourceName :=  p_request.primitiveContent.accessControlPolicy_optional.resourceName;
-    						log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.accessControlPolicy_optional.resourceName)
+    					if(isvalue(p_response.primitiveContent.accessControlPolicy) and
+    							not(ispresent(p_response.primitiveContent.accessControlPolicy.resourceName))) {
+    						p_response.primitiveContent.accessControlPolicy.resourceName :=  p_request.primitiveContent.accessControlPolicy.resourceName;
+    						log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.accessControlPolicy.resourceName)
     					}
     				}
     				case (int2) {
-    					if(isvalue(p_response.primitiveContent.aE_optional) and
-    							not(ispresent(p_response.primitiveContent.aE_optional.resourceName))) {
-    						p_response.primitiveContent.aE_optional.resourceName :=  p_request.primitiveContent.aE_optional.resourceName;
-							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.aE_optional.resourceName)
+    					if(isvalue(p_response.primitiveContent.aE) and
+    							not(ispresent(p_response.primitiveContent.aE.resourceName))) {
+    						p_response.primitiveContent.aE.resourceName :=  p_request.primitiveContent.aE.resourceName;
+							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.aE.resourceName)
     					}
     				}
     				case (int3) {
-    					if(isvalue(p_response.primitiveContent.container_optional) and
-    							not(ispresent(p_response.primitiveContent.container_optional.resourceName))) {
-    						p_response.primitiveContent.container_optional.resourceName :=  p_request.primitiveContent.container_optional.resourceName;
-							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.container_optional.resourceName)
+    					if(isvalue(p_response.primitiveContent.container) and
+    							not(ispresent(p_response.primitiveContent.container.resourceName))) {
+    						p_response.primitiveContent.container.resourceName :=  p_request.primitiveContent.container.resourceName;
+							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.container.resourceName)
     					}
     				}
 					case (int4) {
-						if(isvalue(p_response.primitiveContent.contentInstance_optional) and
-								not(ispresent(p_response.primitiveContent.contentInstance_optional.resourceName))) {
-							p_response.primitiveContent.contentInstance_optional.resourceName :=  p_request.primitiveContent.contentInstance_optional.resourceName;
-							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.contentInstance_optional.resourceName)
+						if(isvalue(p_response.primitiveContent.contentInstance) and
+								not(ispresent(p_response.primitiveContent.contentInstance.resourceName))) {
+							p_response.primitiveContent.contentInstance.resourceName :=  p_request.primitiveContent.contentInstance.resourceName;
+							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.contentInstance.resourceName)
 						}
 					}
     				case (int15) {
-    					if (isvalue(p_response.primitiveContent.pollingChannel_optional) and
-    							not(ispresent(p_response.primitiveContent.pollingChannel_optional.resourceName))) {
-    						p_response.primitiveContent.pollingChannel_optional.resourceName :=  p_request.primitiveContent.pollingChannel_optional.resourceName;
-							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.pollingChannel_optional.resourceName)
+    					if (isvalue(p_response.primitiveContent.pollingChannel) and
+    							not(ispresent(p_response.primitiveContent.pollingChannel.resourceName))) {
+    						p_response.primitiveContent.pollingChannel.resourceName :=  p_request.primitiveContent.pollingChannel.resourceName;
+							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.pollingChannel.resourceName)
     					}
     				}
 					case (int16) {
-						if (isvalue(p_response.primitiveContent.remoteCSE_optional) and
-								not(ispresent(p_response.primitiveContent.remoteCSE_optional.resourceName))) {
-							p_response.primitiveContent.remoteCSE_optional.resourceName :=  p_request.primitiveContent.remoteCSE_optional.resourceName;
-							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.remoteCSE_optional.resourceName)
+						if (isvalue(p_response.primitiveContent.remoteCSE) and
+								not(ispresent(p_response.primitiveContent.remoteCSE.resourceName))) {
+							p_response.primitiveContent.remoteCSE.resourceName :=  p_request.primitiveContent.remoteCSE.resourceName;
+							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.remoteCSE.resourceName)
 						}
 					}
     				case (int18) {
-    					if (isvalue(p_response.primitiveContent.schedule_optional) and
-    							not(ispresent(p_response.primitiveContent.schedule_optional.resourceName))) {
-    						p_response.primitiveContent.schedule_optional.resourceName :=  p_request.primitiveContent.schedule_optional.resourceName;
-							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.schedule_optional.resourceName)
+    					if (isvalue(p_response.primitiveContent.schedule) and
+    							not(ispresent(p_response.primitiveContent.schedule.resourceName))) {
+    						p_response.primitiveContent.schedule.resourceName :=  p_request.primitiveContent.schedule.resourceName;
+							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.schedule.resourceName)
     					}
     				}
     				case (int23) {
-    					if (isvalue(p_response.primitiveContent.subscription_optional) and
-    							not(ispresent(p_response.primitiveContent.subscription_optional.resourceName))) {
-    						p_response.primitiveContent.subscription_optional.resourceName :=  p_request.primitiveContent.subscription_optional.resourceName;
-							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.subscription_optional.resourceName)
+    					if (isvalue(p_response.primitiveContent.subscription) and
+    							not(ispresent(p_response.primitiveContent.subscription.resourceName))) {
+    						p_response.primitiveContent.subscription.resourceName :=  p_request.primitiveContent.subscription.resourceName;
+							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.subscription.resourceName)
     					}
     				}
     				case (int9) {
-    					if (isvalue(p_response.primitiveContent.group_optional) and
-    							not(ispresent(p_response.primitiveContent.group_optional.resourceName))) {
-    						p_response.primitiveContent.group_optional.resourceName :=  p_request.primitiveContent.group_optional.resourceName;
-							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.group_optional.resourceName)
+    					if (isvalue(p_response.primitiveContent.group_) and
+    							not(ispresent(p_response.primitiveContent.group_.resourceName))) {
+    						p_response.primitiveContent.group_.resourceName :=  p_request.primitiveContent.group_.resourceName;
+							log(__SCOPE__ & ": Info: resourceName not returned. Using the one provided in the request: " & p_request.primitiveContent.group_.resourceName)
     					}
     				}
     				case else {
@@ -831,24 +831,24 @@ module OneM2M_Functions {
     			var integer i;
     			var integer v_numberOfAggregatedNotification;
     	
-    			if (ischosen(p_primitiveContent.aE_optional)){
+    			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_optional, p_primitiveContent.aE_optional)
+    					v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.AE_optional, p_primitiveContent.aE)
     				}
     				else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) {
-    					v_matchResult :=match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.aE_optional, p_primitiveContent.aE_optional)
+    					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;
     					v_numberOfAggregatedNotification := lengthof(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list);
     					for(i := 0; i< v_numberOfAggregatedNotification; i := i + 1){
     						if(ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.resource)) {
-    							if(not (match(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.resource.AE_optional, p_primitiveContent.aE_optional))){
+    							if(not (match(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.resource.AE_optional, p_primitiveContent.aE))){
     								v_matchResult := false;
     							}
     						}
     						else if(ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.responsePrimitive)) {
-    							if(not (match(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.responsePrimitive.primitiveContent.aE_optional, p_primitiveContent.aE_optional))){
+    							if(not (match(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE))){
     								v_matchResult := false;
     							}
     						}						
@@ -860,12 +860,12 @@ module OneM2M_Functions {
     
     			}
     	
-    			if (ischosen(p_primitiveContent.container_optional)){
+    			if (ischosen(p_primitiveContent.container)){
     				if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) {
-    					v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.Container_optional, p_primitiveContent.container_optional)
+    					v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.Container_optional, p_primitiveContent.container)
     				}
     				else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) {
-    					v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.container_optional, p_primitiveContent.container_optional)
+    					v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.container, p_primitiveContent.container)
     				}
     			}
     	
@@ -1149,8 +1149,8 @@ module OneM2M_Functions {
 				
 				// AE TODO To review the code (use of indexes, generation of value for certain attributes, etc..)
 				if(p_resourceType == int2 and ispresent(p_resource)) {
-				  	if(ischosen(p_resource.aE_optional)){
-				      	var AE_optional v_ae := p_resource.aE_optional;
+				  	if(ischosen(p_resource.aE)){
+				      	var AE_optional v_ae := p_resource.aE;
       					var AE_optional v_aeModified;					
       					
       					v_resourceIndex := lengthof(vc_resourcesList) - 1;
@@ -1170,8 +1170,8 @@ module OneM2M_Functions {
       					v_aeModified.aE_ID := v_ae.aE_ID;
       					v_aeModified.resourceName := v_ae.resourceName;
       					
-      					p_resource.aE_optional := v_ae;
-      					p_modifiedResource.aE_optional := v_aeModified;
+      					p_resource.aE := v_ae;
+      					p_modifiedResource.aE := v_aeModified;
       					return f_setResource(p_resource, p_parentIndex);			   
 				    
 				    }
@@ -1264,26 +1264,26 @@ module OneM2M_Functions {
 			} 
 			
 			if (p_resourceType == int9) {//group
-				if(match(valueof(p_request.primitiveContent.group_optional.memberIDs), v_defaultListOfURIs )){
-					p_request.primitiveContent.group_optional.memberIDs := {f_getResourceAddress(p_parentIndex)};
+				if(match(valueof(p_request.primitiveContent.group_.memberIDs), v_defaultListOfURIs )){
+					p_request.primitiveContent.group_.memberIDs := {f_getResourceAddress(p_parentIndex)};
 				}
 			}
 			
 			if(p_resourceType == int3){//container
 				//when a container is created by hosting cse for storing location information, the container is seen as a location container
 				if(PX_IS_LOC_CONTAINER){
-					p_request.primitiveContent.container_optional.locationID := f_getResourceId(vc_resourcesList[p_parentIndex].resource);//resourceID of the locationPolicy
+					p_request.primitiveContent.container.locationID := f_getResourceId(vc_resourcesList[p_parentIndex].resource);//resourceID of the locationPolicy
 				}	
-				if(ispresent(p_request.primitiveContent.container_optional.accessControlPolicyIDs)) {
-        			if(match(valueof(p_request.primitiveContent.container_optional.accessControlPolicyIDs), v_defaultAcpIDs )){
-        				p_request.primitiveContent.container_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)};
+				if(ispresent(p_request.primitiveContent.container.accessControlPolicyIDs)) {
+        			if(match(valueof(p_request.primitiveContent.container.accessControlPolicyIDs), v_defaultAcpIDs )){
+        				p_request.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)};
         			}	
 				}  
 			}
 			
 			if (p_resourceType == int15) {//pollingChannel
-				if(ischosen(vc_resourcesList[p_parentIndex].resource.aE_optional)) {	
-					p_request.from_ := vc_resourcesList[p_parentIndex].resource.aE_optional.aE_ID;
+				if(ischosen(vc_resourcesList[p_parentIndex].resource.aE)) {	
+					p_request.from_ := vc_resourcesList[p_parentIndex].resource.aE.aE_ID;
 				}
 			} 
 			
@@ -1292,24 +1292,24 @@ module OneM2M_Functions {
 
 			if (p_resourceType == int23) {//subscription
 				//notificationURI
-				if(match(valueof(p_request.primitiveContent.subscription_optional.notificationURI), v_defaultListOfURIs )){
-					p_request.primitiveContent.subscription_optional.notificationURI := {f_getResourceAddress(p_parentIndex)};
+				if(match(valueof(p_request.primitiveContent.subscription.notificationURI), v_defaultListOfURIs )){
+					p_request.primitiveContent.subscription.notificationURI := {f_getResourceAddress(p_parentIndex)};
 				}
 				//creator attribute
-			    if(ispresent(p_request.primitiveContent.subscription_optional.creator)) {
-					p_request.primitiveContent.subscription_optional.creator := f_getCreator(p_parentIndex);
+			    if(ispresent(p_request.primitiveContent.subscription.creator)) {
+					p_request.primitiveContent.subscription.creator := f_getCreator(p_parentIndex);
 			  	}
 			  	//accessControlPolicyIds
-				if(ispresent(p_request.primitiveContent.subscription_optional.accessControlPolicyIDs)) {
-					if(match(valueof(p_request.primitiveContent.subscription_optional.accessControlPolicyIDs), v_defaultAcpIDs )){
-						p_request.primitiveContent.subscription_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)};
+				if(ispresent(p_request.primitiveContent.subscription.accessControlPolicyIDs)) {
+					if(match(valueof(p_request.primitiveContent.subscription.accessControlPolicyIDs), v_defaultAcpIDs )){
+						p_request.primitiveContent.subscription.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)};
 					}	
 				}  
 			}
 			if (p_resourceType == int4) {//contentInstance
 				//creator attribute
-				if(ispresent(p_request.primitiveContent.contentInstance_optional.creator)) {
-					p_request.primitiveContent.contentInstance_optional.creator := f_getCreator(p_parentIndex);
+				if(ispresent(p_request.primitiveContent.contentInstance.creator)) {
+					p_request.primitiveContent.contentInstance.creator := f_getCreator(p_parentIndex);
 				}
 			}
 
@@ -1407,32 +1407,32 @@ module OneM2M_Functions {
 		 */
 		function f_getResourceId(PrimitiveContent p_contentResource) return XSD.ID {
 					
-			if(ischosen(p_contentResource.accessControlPolicy_optional)) {
-				return f_resourceIdCleaner(p_contentResource.accessControlPolicy_optional.resourceID);
+			if(ischosen(p_contentResource.accessControlPolicy)) {
+				return f_resourceIdCleaner(p_contentResource.accessControlPolicy.resourceID);
 			}
-			if(ischosen(p_contentResource.container_optional)) {
-				return f_resourceIdCleaner(p_contentResource.container_optional.resourceID);
+			if(ischosen(p_contentResource.container)) {
+				return f_resourceIdCleaner(p_contentResource.container.resourceID);
 			}
-			if(ischosen(p_contentResource.contentInstance_optional)) {
-				return f_resourceIdCleaner(p_contentResource.contentInstance_optional.resourceID);
+			if(ischosen(p_contentResource.contentInstance)) {
+				return f_resourceIdCleaner(p_contentResource.contentInstance.resourceID);
 			}
-			if(ischosen(p_contentResource.schedule_optional)) {
-				return f_resourceIdCleaner(p_contentResource.schedule_optional.resourceID);
+			if(ischosen(p_contentResource.schedule)) {
+				return f_resourceIdCleaner(p_contentResource.schedule.resourceID);
 			}
-			if(ischosen(p_contentResource.pollingChannel_optional)) {
-				return f_resourceIdCleaner(p_contentResource.pollingChannel_optional.resourceID);
+			if(ischosen(p_contentResource.pollingChannel)) {
+				return f_resourceIdCleaner(p_contentResource.pollingChannel.resourceID);
 			}
-			if(ischosen(p_contentResource.subscription_optional)) {
-				return f_resourceIdCleaner(p_contentResource.subscription_optional.resourceID);
+			if(ischosen(p_contentResource.subscription)) {
+				return f_resourceIdCleaner(p_contentResource.subscription.resourceID);
 			}
-			if(ischosen(p_contentResource.group_optional)) {
-				return f_resourceIdCleaner(p_contentResource.group_optional.resourceID);
+			if(ischosen(p_contentResource.group_)) {
+				return f_resourceIdCleaner(p_contentResource.group_.resourceID);
 			}
-			if(ischosen(p_contentResource.aE_optional)) {
-				return f_resourceIdCleaner(p_contentResource.aE_optional.resourceID);
+			if(ischosen(p_contentResource.aE)) {
+				return f_resourceIdCleaner(p_contentResource.aE.resourceID);
 			}
-			if(ischosen(p_contentResource.serviceSubscribedAppRule_optional)) {
-				return f_resourceIdCleaner(p_contentResource.serviceSubscribedAppRule_optional.resourceID);
+			if(ischosen(p_contentResource.serviceSubscribedAppRule)) {
+				return f_resourceIdCleaner(p_contentResource.serviceSubscribedAppRule.resourceID);
 			}
 			log(""&__SCOPE__&":WARNING: Primitive Content Kind not implemented");
 			
@@ -1448,32 +1448,32 @@ module OneM2M_Functions {
 		 */
 		function f_getResourceName(PrimitiveContent p_contentResource) return XSD.ID {
 					
-			if(ischosen(p_contentResource.accessControlPolicy_optional)) {
-				return p_contentResource.accessControlPolicy_optional.resourceName;
+			if(ischosen(p_contentResource.accessControlPolicy)) {
+				return p_contentResource.accessControlPolicy.resourceName;
 			}
-			if(ischosen(p_contentResource.container_optional)) {
-				return p_contentResource.container_optional.resourceName;
+			if(ischosen(p_contentResource.container)) {
+				return p_contentResource.container.resourceName;
 			}
-			if(ischosen(p_contentResource.contentInstance_optional)) {
-				return p_contentResource.contentInstance_optional.resourceName;
+			if(ischosen(p_contentResource.contentInstance)) {
+				return p_contentResource.contentInstance.resourceName;
 			}
-			if(ischosen(p_contentResource.schedule_optional)) {
-				return p_contentResource.schedule_optional.resourceName;
+			if(ischosen(p_contentResource.schedule)) {
+				return p_contentResource.schedule.resourceName;
 			}
-			if(ischosen(p_contentResource.pollingChannel_optional)) {
-				return p_contentResource.pollingChannel_optional.resourceName;
+			if(ischosen(p_contentResource.pollingChannel)) {
+				return p_contentResource.pollingChannel.resourceName;
 			}
-			if(ischosen(p_contentResource.subscription_optional)) {
-				return p_contentResource.subscription_optional.resourceName;
+			if(ischosen(p_contentResource.subscription)) {
+				return p_contentResource.subscription.resourceName;
 			}
-			if(ischosen(p_contentResource.group_optional)) {
-				return p_contentResource.group_optional.resourceName;
+			if(ischosen(p_contentResource.group_)) {
+				return p_contentResource.group_.resourceName;
 			}
-			if(ischosen(p_contentResource.aE_optional)) {
-				return p_contentResource.aE_optional.resourceName;
+			if(ischosen(p_contentResource.aE)) {
+				return p_contentResource.aE.resourceName;
 			}
-			if(ischosen(p_contentResource.serviceSubscribedAppRule_optional)) {
-				return p_contentResource.serviceSubscribedAppRule_optional.resourceName;
+			if(ischosen(p_contentResource.serviceSubscribedAppRule)) {
+				return p_contentResource.serviceSubscribedAppRule.resourceName;
 			}
 			log(__SCOPE__&":WARNING: Primitive Content Kind not implemented");
 			
@@ -1494,8 +1494,8 @@ module OneM2M_Functions {
 			}	
 				
 			if(PX_FROM_IS_AE_ID) {
-				if(ischosen(vc_resourcesList[p_targetResourceIndex].resource.aE_optional)) {
-					return vc_resourcesList[p_targetResourceIndex].resource.aE_optional.aE_ID;
+				if(ischosen(vc_resourcesList[p_targetResourceIndex].resource.aE)) {
+					return vc_resourcesList[p_targetResourceIndex].resource.aE.aE_ID;
 				} else {
 					return f_getOriginator(vc_resourcesList[p_targetResourceIndex].parentIndex);
 				}
@@ -1516,8 +1516,8 @@ module OneM2M_Functions {
 				return PX_CSE_ID;
 			}	
 				
-			if(ischosen(vc_resourcesList[p_targetResourceIndex].resource.aE_optional)) {
-				return vc_resourcesList[p_targetResourceIndex].resource.aE_optional.aE_ID;
+			if(ischosen(vc_resourcesList[p_targetResourceIndex].resource.aE)) {
+				return vc_resourcesList[p_targetResourceIndex].resource.aE.aE_ID;
 			} else {
 				return f_getCreator(vc_resourcesList[p_targetResourceIndex].parentIndex);
 			}
@@ -1664,23 +1664,23 @@ module OneM2M_Functions {
 		 */
 		function f_setAcpId(template RequestPrimitive p_requestPrimitive, template AcpType p_accessControlPolicyIDs) runs on CseTester return RequestPrimitive{
 	
-			if (ischosen(p_requestPrimitive.primitiveContent.aE_optional)){
-				p_requestPrimitive.primitiveContent.aE_optional.accessControlPolicyIDs := p_accessControlPolicyIDs;
+			if (ischosen(p_requestPrimitive.primitiveContent.aE)){
+				p_requestPrimitive.primitiveContent.aE.accessControlPolicyIDs := p_accessControlPolicyIDs;
 			}
-			else if (ischosen(p_requestPrimitive.primitiveContent.container_optional)){
-				p_requestPrimitive.primitiveContent.container_optional.accessControlPolicyIDs := p_accessControlPolicyIDs;
+			else if (ischosen(p_requestPrimitive.primitiveContent.container)){
+				p_requestPrimitive.primitiveContent.container.accessControlPolicyIDs := p_accessControlPolicyIDs;
 			}
-			else if (ischosen(p_requestPrimitive.primitiveContent.group_optional)){
-				p_requestPrimitive.primitiveContent.group_optional.accessControlPolicyIDs := p_accessControlPolicyIDs;
+			else if (ischosen(p_requestPrimitive.primitiveContent.group_)){
+				p_requestPrimitive.primitiveContent.group_.accessControlPolicyIDs := p_accessControlPolicyIDs;
 			}
-			else if (ischosen(p_requestPrimitive.primitiveContent.serviceSubscribedAppRule_optional)){
-				p_requestPrimitive.primitiveContent.serviceSubscribedAppRule_optional.accessControlPolicyIDs := p_accessControlPolicyIDs;
+			else if (ischosen(p_requestPrimitive.primitiveContent.serviceSubscribedAppRule)){
+				p_requestPrimitive.primitiveContent.serviceSubscribedAppRule.accessControlPolicyIDs := p_accessControlPolicyIDs;
 			}
-			else if (ischosen(p_requestPrimitive.primitiveContent.subscription_optional)){
-				p_requestPrimitive.primitiveContent.subscription_optional.accessControlPolicyIDs := p_accessControlPolicyIDs;
+			else if (ischosen(p_requestPrimitive.primitiveContent.subscription)){
+				p_requestPrimitive.primitiveContent.subscription.accessControlPolicyIDs := p_accessControlPolicyIDs;
 			}
-			else if (ischosen(p_requestPrimitive.primitiveContent.locationPolicy_optional)){
-				p_requestPrimitive.primitiveContent.locationPolicy_optional.accessControlPolicyIDs := p_accessControlPolicyIDs;
+			else if (ischosen(p_requestPrimitive.primitiveContent.locationPolicy)){
+				p_requestPrimitive.primitiveContent.locationPolicy.accessControlPolicyIDs := p_accessControlPolicyIDs;
 			}
 			return valueof(p_requestPrimitive);					
 		}
@@ -1692,8 +1692,8 @@ module OneM2M_Functions {
 		 */
 		function f_getAeId(integer  p_targetResourceIndex := -1) runs on AeTester return XSD.ID {
 			
-			if(ischosen(vc_resourcesList[p_targetResourceIndex].resource.aE_optional)) {
-				return vc_resourcesList[p_targetResourceIndex].resource.aE_optional.aE_ID;
+			if(ischosen(vc_resourcesList[p_targetResourceIndex].resource.aE)) {
+				return vc_resourcesList[p_targetResourceIndex].resource.aE.aE_ID;
 			}
 			
 			log("f_getAeId: WARNING: p_targetResourceIndex does not refer to AE resource");
@@ -1799,232 +1799,232 @@ module OneM2M_Functions {
 		function f_getTemplateFromPrimitiveContent (in template PrimitiveContent p_primitiveContent) return template PrimitiveContent{
 			var template PrimitiveContent v_primitiveContent := omit;
 			
-			if(ischosen(p_primitiveContent.container_optional)){ // Container
-				v_primitiveContent := {container_optional := mw_contentContainerBase};
+			if(ischosen(p_primitiveContent.container)){ // Container
+				v_primitiveContent := {container := mw_contentContainerBase};
 				
-				if(ispresent(p_primitiveContent.container_optional.labels)){
-					v_primitiveContent.container_optional.labels := ?;
+				if(ispresent(p_primitiveContent.container.labels)){
+					v_primitiveContent.container.labels := ?;
 				}
-    			if(ispresent(p_primitiveContent.container_optional.accessControlPolicyIDs)){
-    				v_primitiveContent.container_optional.accessControlPolicyIDs := ?;
+    			if(ispresent(p_primitiveContent.container.accessControlPolicyIDs)){
+    				v_primitiveContent.container.accessControlPolicyIDs := ?;
     			}
-    			if(ispresent(p_primitiveContent.container_optional.dynamicAuthorizationConsultationIDs)){
-    				v_primitiveContent.container_optional.dynamicAuthorizationConsultationIDs := ?;
+    			if(ispresent(p_primitiveContent.container.dynamicAuthorizationConsultationIDs)){
+    				v_primitiveContent.container.dynamicAuthorizationConsultationIDs := ?;
     			}
-    			if(ispresent(p_primitiveContent.container_optional.announceTo)){
-    				v_primitiveContent.container_optional.announceTo := ?;
+    			if(ispresent(p_primitiveContent.container.announceTo)){
+    				v_primitiveContent.container.announceTo := ?;
     			}
-    			if(ispresent(p_primitiveContent.container_optional.announcedAttribute)){
-    				v_primitiveContent.container_optional.announcedAttribute := ?;
+    			if(ispresent(p_primitiveContent.container.announcedAttribute)){
+    				v_primitiveContent.container.announcedAttribute := ?;
     			}
-    			if(ispresent(p_primitiveContent.container_optional.creator)){
-    				v_primitiveContent.container_optional.creator := ?;
+    			if(ispresent(p_primitiveContent.container.creator)){
+    				v_primitiveContent.container.creator := ?;
     			}
-    			if(ispresent(p_primitiveContent.container_optional.maxNrOfInstances)){
-    				v_primitiveContent.container_optional.maxNrOfInstances := ?;
+    			if(ispresent(p_primitiveContent.container.maxNrOfInstances)){
+    				v_primitiveContent.container.maxNrOfInstances := ?;
     			}
-    			if(ispresent(p_primitiveContent.container_optional.maxByteSize)){
-    				v_primitiveContent.container_optional.maxByteSize := ?;
+    			if(ispresent(p_primitiveContent.container.maxByteSize)){
+    				v_primitiveContent.container.maxByteSize := ?;
     			}
-    			if(ispresent(p_primitiveContent.container_optional.maxInstanceAge)){
-    				v_primitiveContent.container_optional.maxInstanceAge := ?;
+    			if(ispresent(p_primitiveContent.container.maxInstanceAge)){
+    				v_primitiveContent.container.maxInstanceAge := ?;
     			}
-				if(ispresent(p_primitiveContent.container_optional.locationID)){
-					v_primitiveContent.container_optional.locationID := ?;
+				if(ispresent(p_primitiveContent.container.locationID)){
+					v_primitiveContent.container.locationID := ?;
 				}
-				if(ispresent(p_primitiveContent.container_optional.ontologyRef)){
-					v_primitiveContent.container_optional.ontologyRef := ?;
+				if(ispresent(p_primitiveContent.container.ontologyRef)){
+					v_primitiveContent.container.ontologyRef := ?;
 				}
-				if(ispresent(p_primitiveContent.container_optional.disableRetrieval)){
-					v_primitiveContent.container_optional.disableRetrieval := ?;
+				if(ispresent(p_primitiveContent.container.disableRetrieval)){
+					v_primitiveContent.container.disableRetrieval := ?;
 				}
 			}
 			
-			else if(ischosen(p_primitiveContent.aE_optional)){ // AE
-				v_primitiveContent := {aE_optional := mw_contentAeBase};
+			else if(ischosen(p_primitiveContent.aE)){ // AE
+				v_primitiveContent := {aE := mw_contentAeBase};
 				
-				if(ispresent(p_primitiveContent.aE_optional.labels)){
-					v_primitiveContent.aE_optional.labels := ?;
+				if(ispresent(p_primitiveContent.aE.labels)){
+					v_primitiveContent.aE.labels := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.accessControlPolicyIDs)){
-					v_primitiveContent.aE_optional.accessControlPolicyIDs := ?;
+				if(ispresent(p_primitiveContent.aE.accessControlPolicyIDs)){
+					v_primitiveContent.aE.accessControlPolicyIDs := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.dynamicAuthorizationConsultationIDs)){
-					v_primitiveContent.aE_optional.dynamicAuthorizationConsultationIDs := ?;
+				if(ispresent(p_primitiveContent.aE.dynamicAuthorizationConsultationIDs)){
+					v_primitiveContent.aE.dynamicAuthorizationConsultationIDs := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.announceTo)){
-					v_primitiveContent.aE_optional.announceTo := ?;
+				if(ispresent(p_primitiveContent.aE.announceTo)){
+					v_primitiveContent.aE.announceTo := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.announcedAttribute)){
-					v_primitiveContent.aE_optional.announcedAttribute := ?;
+				if(ispresent(p_primitiveContent.aE.announcedAttribute)){
+					v_primitiveContent.aE.announcedAttribute := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.appName)){
-					v_primitiveContent.aE_optional.appName := ?;
+				if(ispresent(p_primitiveContent.aE.appName)){
+					v_primitiveContent.aE.appName := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.pointOfAccess)){
-					v_primitiveContent.aE_optional.pointOfAccess := ?;
+				if(ispresent(p_primitiveContent.aE.pointOfAccess)){
+					v_primitiveContent.aE.pointOfAccess := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.ontologyRef)){
-					v_primitiveContent.aE_optional.ontologyRef := ?;
+				if(ispresent(p_primitiveContent.aE.ontologyRef)){
+					v_primitiveContent.aE.ontologyRef := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.nodeLink)){
-					v_primitiveContent.aE_optional.nodeLink := ?;
+				if(ispresent(p_primitiveContent.aE.nodeLink)){
+					v_primitiveContent.aE.nodeLink := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.contentSerialization)){
-					v_primitiveContent.aE_optional.contentSerialization := ?;
+				if(ispresent(p_primitiveContent.aE.contentSerialization)){
+					v_primitiveContent.aE.contentSerialization := ?;
 				}
-				if(ispresent(p_primitiveContent.aE_optional.e2eSecInfo)){
-					v_primitiveContent.aE_optional.e2eSecInfo := ?;
+				if(ispresent(p_primitiveContent.aE.e2eSecInfo)){
+					v_primitiveContent.aE.e2eSecInfo := ?;
 				}	
 			}
 			
-			else if(ischosen(p_primitiveContent.accessControlPolicy_optional)){ // ACP
-				v_primitiveContent := {accessControlPolicy_optional := mw_contentAcpBase};
+			else if(ischosen(p_primitiveContent.accessControlPolicy)){ // ACP
+				v_primitiveContent := {accessControlPolicy := mw_contentAcpBase};
 	
-				if(ispresent(p_primitiveContent.accessControlPolicy_optional.labels)){
-					v_primitiveContent.accessControlPolicy_optional.labels := ?;
+				if(ispresent(p_primitiveContent.accessControlPolicy.labels)){
+					v_primitiveContent.accessControlPolicy.labels := ?;
 				}
-				if(ispresent(p_primitiveContent.accessControlPolicy_optional.announceTo)){
-					v_primitiveContent.accessControlPolicy_optional.announceTo := ?;
+				if(ispresent(p_primitiveContent.accessControlPolicy.announceTo)){
+					v_primitiveContent.accessControlPolicy.announceTo := ?;
 				}
 			}
 			
-			else if(ischosen(p_primitiveContent.contentInstance_optional)){ // ContentInstance
-				v_primitiveContent := {contentInstance_optional := mw_contentContentInstanceBase};
+			else if(ischosen(p_primitiveContent.contentInstance)){ // ContentInstance
+				v_primitiveContent := {contentInstance := mw_contentContentInstanceBase};
 
-				if(ispresent(p_primitiveContent.contentInstance_optional.labels)){
-					v_primitiveContent.contentInstance_optional.labels := ?;
+				if(ispresent(p_primitiveContent.contentInstance.labels)){
+					v_primitiveContent.contentInstance.labels := ?;
 				}
-				if(ispresent(p_primitiveContent.contentInstance_optional.announceTo)){
-					v_primitiveContent.contentInstance_optional.announceTo := ?;
+				if(ispresent(p_primitiveContent.contentInstance.announceTo)){
+					v_primitiveContent.contentInstance.announceTo := ?;
 				}
-				if(ispresent(p_primitiveContent.contentInstance_optional.announcedAttribute)){
-					v_primitiveContent.contentInstance_optional.announcedAttribute := ?;
+				if(ispresent(p_primitiveContent.contentInstance.announcedAttribute)){
+					v_primitiveContent.contentInstance.announcedAttribute := ?;
 				}
-				if(ispresent(p_primitiveContent.contentInstance_optional.creator)){
-					v_primitiveContent.contentInstance_optional.creator := ?;
+				if(ispresent(p_primitiveContent.contentInstance.creator)){
+					v_primitiveContent.contentInstance.creator := ?;
 				}
-				if(ispresent(p_primitiveContent.contentInstance_optional.contentInfo)){
-					v_primitiveContent.contentInstance_optional.contentInfo := ?;
+				if(ispresent(p_primitiveContent.contentInstance.contentInfo)){
+					v_primitiveContent.contentInstance.contentInfo := ?;
 				}
-				if(ispresent(p_primitiveContent.contentInstance_optional.contentRef)){
-					v_primitiveContent.contentInstance_optional.contentRef := ?;
+				if(ispresent(p_primitiveContent.contentInstance.contentRef)){
+					v_primitiveContent.contentInstance.contentRef := ?;
 				}
-				if(ispresent(p_primitiveContent.contentInstance_optional.ontologyRef)){
-					v_primitiveContent.contentInstance_optional.ontologyRef := ?;
+				if(ispresent(p_primitiveContent.contentInstance.ontologyRef)){
+					v_primitiveContent.contentInstance.ontologyRef := ?;
 				}
 			}
 			
-			else if(ischosen(p_primitiveContent.group_optional)){ // Group
-				v_primitiveContent := {group_optional := mw_contentGroupBase};
+			else if(ischosen(p_primitiveContent.group_)){ // Group
+				v_primitiveContent := {group_ := mw_contentGroupBase};
 
-				if(ispresent(p_primitiveContent.group_optional.labels)){
-					v_primitiveContent.group_optional.labels := ?;
+				if(ispresent(p_primitiveContent.group_.labels)){
+					v_primitiveContent.group_.labels := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.accessControlPolicyIDs)){
-					v_primitiveContent.group_optional.accessControlPolicyIDs := ?;
+				if(ispresent(p_primitiveContent.group_.accessControlPolicyIDs)){
+					v_primitiveContent.group_.accessControlPolicyIDs := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.dynamicAuthorizationConsultationIDs)){
-					v_primitiveContent.group_optional.dynamicAuthorizationConsultationIDs := ?;
+				if(ispresent(p_primitiveContent.group_.dynamicAuthorizationConsultationIDs)){
+					v_primitiveContent.group_.dynamicAuthorizationConsultationIDs := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.announceTo)){
-					v_primitiveContent.group_optional.announceTo := ?;
+				if(ispresent(p_primitiveContent.group_.announceTo)){
+					v_primitiveContent.group_.announceTo := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.announcedAttribute)){
-					v_primitiveContent.group_optional.announcedAttribute := ?;
+				if(ispresent(p_primitiveContent.group_.announcedAttribute)){
+					v_primitiveContent.group_.announcedAttribute := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.creator)){
-					v_primitiveContent.group_optional.creator := ?;
+				if(ispresent(p_primitiveContent.group_.creator)){
+					v_primitiveContent.group_.creator := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.membersAccessControlPolicyIDs)){
-					v_primitiveContent.group_optional.membersAccessControlPolicyIDs := ?;
+				if(ispresent(p_primitiveContent.group_.membersAccessControlPolicyIDs)){
+					v_primitiveContent.group_.membersAccessControlPolicyIDs := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.memberTypeValidated)){
-					v_primitiveContent.group_optional.memberTypeValidated := ?;
+				if(ispresent(p_primitiveContent.group_.memberTypeValidated)){
+					v_primitiveContent.group_.memberTypeValidated := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.consistencyStrategy)){
-					v_primitiveContent.group_optional.consistencyStrategy := ?;
+				if(ispresent(p_primitiveContent.group_.consistencyStrategy)){
+					v_primitiveContent.group_.consistencyStrategy := ?;
 				}
-				if(ispresent(p_primitiveContent.group_optional.groupName)){
-					v_primitiveContent.group_optional.groupName := ?;
+				if(ispresent(p_primitiveContent.group_.groupName)){
+					v_primitiveContent.group_.groupName := ?;
 				}
 			}
 			
-			else if(ischosen(p_primitiveContent.pollingChannel_optional)){ // PollingChannel
-				v_primitiveContent := {pollingChannel_optional := mw_contentPollingChannelBase};
+			else if(ischosen(p_primitiveContent.pollingChannel)){ // PollingChannel
+				v_primitiveContent := {pollingChannel := mw_contentPollingChannelBase};
 
-				if(ispresent(p_primitiveContent.pollingChannel_optional.labels)){
-					v_primitiveContent.pollingChannel_optional.labels := ?;
+				if(ispresent(p_primitiveContent.pollingChannel.labels)){
+					v_primitiveContent.pollingChannel.labels := ?;
 				}
 			}
 			
-			else if(ischosen(p_primitiveContent.schedule_optional)){ // Schedule
-				v_primitiveContent := {schedule_optional := mw_contentScheduleBase};
+			else if(ischosen(p_primitiveContent.schedule)){ // Schedule
+				v_primitiveContent := {schedule := mw_contentScheduleBase};
 
-				if(ispresent(p_primitiveContent.schedule_optional.labels)){
-					v_primitiveContent.schedule_optional.labels := ?;
+				if(ispresent(p_primitiveContent.schedule.labels)){
+					v_primitiveContent.schedule.labels := ?;
 				}
-				if(ispresent(p_primitiveContent.schedule_optional.announceTo)){
-					v_primitiveContent.schedule_optional.announceTo := ?;
+				if(ispresent(p_primitiveContent.schedule.announceTo)){
+					v_primitiveContent.schedule.announceTo := ?;
 				}
-				if(ispresent(p_primitiveContent.schedule_optional.announcedAttribute)){
-					v_primitiveContent.schedule_optional.announcedAttribute := ?;
+				if(ispresent(p_primitiveContent.schedule.announcedAttribute)){
+					v_primitiveContent.schedule.announcedAttribute := ?;
 				}
 			}
 			
-			else if(ischosen(p_primitiveContent.subscription_optional)){ // Schedule
-				v_primitiveContent := {subscription_optional := mw_contentSubscriptionBase};
+			else if(ischosen(p_primitiveContent.subscription)){ // Schedule
+				v_primitiveContent := {subscription := mw_contentSubscriptionBase};
 
-				if(ispresent(p_primitiveContent.subscription_optional.labels)){
-					v_primitiveContent.subscription_optional.labels := ?;
+				if(ispresent(p_primitiveContent.subscription.labels)){
+					v_primitiveContent.subscription.labels := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.accessControlPolicyIDs)){
-					v_primitiveContent.subscription_optional.accessControlPolicyIDs := ?;
+				if(ispresent(p_primitiveContent.subscription.accessControlPolicyIDs)){
+					v_primitiveContent.subscription.accessControlPolicyIDs := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.dynamicAuthorizationConsultationIDs)){
-					v_primitiveContent.subscription_optional.dynamicAuthorizationConsultationIDs := ?;
+				if(ispresent(p_primitiveContent.subscription.dynamicAuthorizationConsultationIDs)){
+					v_primitiveContent.subscription.dynamicAuthorizationConsultationIDs := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.creator)){
-					v_primitiveContent.subscription_optional.creator := ?;
+				if(ispresent(p_primitiveContent.subscription.creator)){
+					v_primitiveContent.subscription.creator := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.eventNotificationCriteria)){
-					v_primitiveContent.subscription_optional.eventNotificationCriteria := ?;
+				if(ispresent(p_primitiveContent.subscription.eventNotificationCriteria)){
+					v_primitiveContent.subscription.eventNotificationCriteria := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.expirationCounter)){
-					v_primitiveContent.subscription_optional.expirationCounter := ?;
+				if(ispresent(p_primitiveContent.subscription.expirationCounter)){
+					v_primitiveContent.subscription.expirationCounter := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.groupID)){
-					v_primitiveContent.subscription_optional.groupID := ?;
+				if(ispresent(p_primitiveContent.subscription.groupID)){
+					v_primitiveContent.subscription.groupID := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.notificationForwardingURI)){
-					v_primitiveContent.subscription_optional.notificationForwardingURI := ?;
+				if(ispresent(p_primitiveContent.subscription.notificationForwardingURI)){
+					v_primitiveContent.subscription.notificationForwardingURI := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.batchNotify)){
-					v_primitiveContent.subscription_optional.batchNotify := ?;
+				if(ispresent(p_primitiveContent.subscription.batchNotify)){
+					v_primitiveContent.subscription.batchNotify := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.rateLimit)){
-					v_primitiveContent.subscription_optional.rateLimit := ?;
+				if(ispresent(p_primitiveContent.subscription.rateLimit)){
+					v_primitiveContent.subscription.rateLimit := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.preSubscriptionNotify)){
-					v_primitiveContent.subscription_optional.preSubscriptionNotify := ?;
+				if(ispresent(p_primitiveContent.subscription.preSubscriptionNotify)){
+					v_primitiveContent.subscription.preSubscriptionNotify := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.pendingNotification)){
-					v_primitiveContent.subscription_optional.pendingNotification := ?;
+				if(ispresent(p_primitiveContent.subscription.pendingNotification)){
+					v_primitiveContent.subscription.pendingNotification := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.notificationStoragePriority)){
-					v_primitiveContent.subscription_optional.notificationStoragePriority := ?;
+				if(ispresent(p_primitiveContent.subscription.notificationStoragePriority)){
+					v_primitiveContent.subscription.notificationStoragePriority := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.latestNotify)){
-					v_primitiveContent.subscription_optional.latestNotify := ?;
+				if(ispresent(p_primitiveContent.subscription.latestNotify)){
+					v_primitiveContent.subscription.latestNotify := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.notificationContentType)){
-					v_primitiveContent.subscription_optional.notificationContentType := ?;
+				if(ispresent(p_primitiveContent.subscription.notificationContentType)){
+					v_primitiveContent.subscription.notificationContentType := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.notificationEventCat)){
-					v_primitiveContent.subscription_optional.notificationEventCat := ?;
+				if(ispresent(p_primitiveContent.subscription.notificationEventCat)){
+					v_primitiveContent.subscription.notificationEventCat := ?;
 				}
-				if(ispresent(p_primitiveContent.subscription_optional.subscriberURI)){
-					v_primitiveContent.subscription_optional.subscriberURI := ?;
+				if(ispresent(p_primitiveContent.subscription.subscriberURI)){
+					v_primitiveContent.subscription.subscriberURI := ?;
 				}
 			}
 			return v_primitiveContent;
diff --git a/LibOneM2M/OneM2M_Pics.ttcn b/LibOneM2M/OneM2M_Pics.ttcn
index 0a81828d4123d0edcb590c117917ea7a9688b04e..062695d2383e0fc79eb763241531f57b05a2d7c6 100644
--- a/LibOneM2M/OneM2M_Pics.ttcn
+++ b/LibOneM2M/OneM2M_Pics.ttcn
@@ -6,8 +6,8 @@
  *  All rights reserved.
  *  
  *  @author     oneM2M
- *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Pics.ttcn $
- *              $Id: OneM2M_Pics.ttcn 234 2017-03-20 16:37:29Z reinaortega $
+ *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Pics.ttcn $
+ *              $Id: OneM2M_Pics.ttcn 307 2017-06-21 08:32:28Z reinaortega $
  *  @desc       Module containing Pixits for oneM2M
  *
  */
diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn
index 884f5d0e8664e3e21f7007113f4620b4a05ebc27..38dfef6429c4153b1215dad1e55aec4fbd1fec8e 100644
--- a/LibOneM2M/OneM2M_Pixits.ttcn
+++ b/LibOneM2M/OneM2M_Pixits.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Pixits.ttcn $
- *              $Id: OneM2M_Pixits.ttcn 306 2017-06-20 16:19:04Z reinaortega $
+ *              $Id: OneM2M_Pixits.ttcn 307 2017-06-21 08:32:28Z reinaortega $
  *  @desc       Module containing Pixits for oneM2M
  *
  */
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index e0cf7cc3eb5058213a431787c9177693aabdf0bd..4aa613a7e443b64c9895d1d06e9bb9286c0a7522 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
- *              $Id: OneM2M_Templates.ttcn 306 2017-06-20 16:19:04Z reinaortega $
+ *              $Id: OneM2M_Templates.ttcn 308 2017-06-21 09:44:17Z reinaortega $
  *  @desc       Module containing templates for oneM2M
  *
  */
@@ -327,7 +327,7 @@ module OneM2M_Templates {
 			 */
 			template (value) RequestPrimitive m_updateAeBase modifies m_update:= {
 				requestIdentifier := "m_updateAe" & f_rnd(1, 1000000),
-				primitiveContent:= {aE_optional := m_contentUpdateAe}
+				primitiveContent:= {aE := m_contentUpdateAe}
 			};
         	
 			/**
@@ -335,7 +335,7 @@ module OneM2M_Templates {
 			 */
 			template (value) RequestPrimitive m_updateContainerBase modifies m_update:= {
 				requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000),
-				primitiveContent:= {container_optional := m_contentUpdateContainer}
+				primitiveContent:= {container := m_contentUpdateContainer}
 			};
 			
 			/**
@@ -343,7 +343,7 @@ module OneM2M_Templates {
 			 */
 			template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= {
 				requestIdentifier := "m_updateContentInstance" & f_rnd(1, 1000000),
-				primitiveContent:= {contentInstance_optional := m_contentUpdateContentInstance}
+				primitiveContent:= {contentInstance := m_contentUpdateContentInstance}
 			};
 			
 			/**
@@ -351,12 +351,12 @@ module OneM2M_Templates {
 			 */        				
 			template (value) RequestPrimitive m_updateAcpBase modifies m_update := {
 				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
-				primitiveContent:= {accessControlPolicy_optional := m_contentUpdateAcp}
+				primitiveContent:= {accessControlPolicy := m_contentUpdateAcp}
 			};
 			
 			template (value) RequestPrimitive m_updateAcpPrivileges(in template(omit) SetOfAcrs p_privileges := omit, in template(omit) SetOfAcrs p_selfPrivileges := omit) modifies m_update := {
 				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
-				primitiveContent:= {accessControlPolicy_optional := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)}
+				primitiveContent:= {accessControlPolicy := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)}
 			};
 			
 			/**
@@ -364,7 +364,7 @@ module OneM2M_Templates {
 			 */
 			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
 				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
-				primitiveContent:= {group_optional := m_contentUpdateGroup}
+				primitiveContent:= {group_ := m_contentUpdateGroup}
 			};
 			
 			/**
@@ -372,7 +372,7 @@ module OneM2M_Templates {
 			 */
 			template (value) RequestPrimitive m_updateCSEBaseBase modifies m_update := {
 				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
-				primitiveContent:= {cSEBase_optional := m_contentUpdateCSEBase}
+				primitiveContent:= {cSEBase := m_contentUpdateCSEBase}
 			};
 			
 			/**
@@ -380,7 +380,7 @@ module OneM2M_Templates {
 			 */
 			template (value) RequestPrimitive m_updateScheduleBase modifies m_update := {
 				requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000),
-				primitiveContent:= {schedule_optional := m_contentUpdateSchedule}
+				primitiveContent:= {schedule := m_contentUpdateSchedule}
 			};
 			
 			/**
@@ -388,7 +388,7 @@ module OneM2M_Templates {
 			 */
 			template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := {
 				requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000),
-				primitiveContent:= {pollingChannel_optional := m_contentUpdatePollingChannel}
+				primitiveContent:= {pollingChannel := m_contentUpdatePollingChannel}
 			};
 			
 			/**
@@ -396,13 +396,13 @@ module OneM2M_Templates {
 			 */
 			template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := {
 				requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000),
-				primitiveContent:= {subscription_optional := m_contentUpdateSubscription}
+				primitiveContent:= {subscription := m_contentUpdateSubscription}
 			};
 			
 			template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod) modifies m_update := {
         	  	to_ 				:= p_locResourceAddress,
         	  	requestIdentifier	:= "m_updateLocationPolicy",
-        	  	primitiveContent	:= {locationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
+        	  	primitiveContent	:= {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
 			  };
         	
     	}//end group Update
@@ -479,7 +479,7 @@ module OneM2M_Templates {
 				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
 				requestIdentifier := testcasename() & "-m_createAEAnnc" & f_rnd(1, 1000000),
 				resourceType := int10002,
-				primitiveContent := {aEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}
+				primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}
 			};
 			
 			/**
@@ -487,14 +487,14 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createAEAnnc(template (omit) XSD.ID p_from := omit, template (omit) XSD.ID p_to := omit, template (omit) AcpType p_accessControlPolicyIds := omit) modifies mw_create := {
 				resourceType := int10002,
-				primitiveContent := {aEAnnc_optional := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
+				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
 			};
 
 			template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIds := omit,template (omit) XSD.ID p_from := omit, template (omit) ResourceName p_resourceName :=  c_aeAuxName, in template (omit) PoaList p_poaList := omit) modifies m_create := {
 				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
 				requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
 				resourceType := int2,
-				primitiveContent := {aE_optional := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}
+				primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}
 			};
         	
 			/**
@@ -502,14 +502,14 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createAe(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int2,
-				primitiveContent := {aE_optional := ?}
+				primitiveContent := {aE := ?}
 			};  
 			        	
         	template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
         		from_ := PX_AE1_ID_STEM,//TODO We should use omit, "s", or "c"
         		requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
         		resourceType := int2,
-        		primitiveContent := {aE_optional := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}
+        		primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}
 			};
         	
 			/**
@@ -518,7 +518,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createAcpBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
 				resourceType := int1,
-				primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp ()}
+				primitiveContent := {accessControlPolicy := m_contentCreateAcp ()}
 			};
 				
         	template (value) RequestPrimitive m_createAcp(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := {
@@ -526,7 +526,7 @@ module OneM2M_Templates {
         		from_ := PX_SUPER_USER,
         		requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
         		resourceType := int1,
-        		primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
+        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
         	};
         	
 			/**
@@ -536,7 +536,7 @@ module OneM2M_Templates {
 				to_ := p_to,
 				from_ := p_from,
 				resourceType := int10002,
-				primitiveContent := {accessControlPolicyAnnc_optional := mw_contentCreateAcpAnnc(-)}
+				primitiveContent := {accessControlPolicyAnnc := mw_contentCreateAcpAnnc(-)}
 			};
         	
        	
@@ -547,14 +547,14 @@ module OneM2M_Templates {
         		from_ := PX_SUPER_USER,
         		requestIdentifier := testcasename() & "-m_createAcpAux" & f_rnd(1, 1000000),
         		resourceType := int1,
-        		primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}
+        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}
         	};
         	
 			/*template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := {
 				from_ := PX_SUPER_USER,
 				requestIdentifier := testcasename() & "-m_createCSE" & f_rnd(1, 1000000),
 				resourceType := int1,//FIXME Is this the value for CSEBase? In any case, this template is not used at all
-				primitiveContent := {cSEBase_optional := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}
+				primitiveContent := {cSEBase := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}
 			};*/
 			
 			/**
@@ -563,7 +563,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createCSEBaseBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
 				resourceType := int5,
-				primitiveContent := {cSEBase_optional := m_contentCreateCSEBase}
+				primitiveContent := {cSEBase := m_contentCreateCSEBase}
 			};
         	
        	
@@ -573,7 +573,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createContainerBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
 				resourceType := int3,
-				primitiveContent := {container_optional := m_contentCreateContainer}
+				primitiveContent := {container := m_contentCreateContainer}
 			};
 			
 			/**
@@ -582,21 +582,21 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createRemoteCSEBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE_ID) modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createRemoteCSE" & f_rnd(1, 1000000),
 				resourceType := int16,
-				primitiveContent := {remoteCSE_optional := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
+				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
 			};
 			
 			/**
 			 * @desc CREATE request primitive for Container resource wiht no resourceName provided
 			 */
 			template (value) RequestPrimitive m_createContainer_noResourceName modifies m_createContainerBase := {
-				primitiveContent := {container_optional := m_contentCreateContainer(omit)}
+				primitiveContent := {container := m_contentCreateContainer(omit)}
 			};
 	
     		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
     			to_ := p_parentResourceAddress,
     			requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
     			resourceType := int3,
-    			primitiveContent := {container_optional := m_contentCreateContainer(p_resourceName)}
+    			primitiveContent := {container := m_contentCreateContainer(p_resourceName)}
     		};
         	
 			/**
@@ -604,7 +604,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int3,
-				primitiveContent := {container_optional := ?}
+				primitiveContent := {container := ?}
 			};  
 			
 			/**
@@ -612,7 +612,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10003,
-				primitiveContent := {containerAnnc_optional := mw_contentCreateContainerAnncBase}
+				primitiveContent := {containerAnnc := mw_contentCreateContainerAnncBase}
 			};
 			
 			/**
@@ -620,7 +620,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createFlexContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int28, 
-				primitiveContent := {flexContainer_optional := ?}
+				primitiveContent := {flexContainer := ?}
 			};  
 			
 			/**
@@ -628,7 +628,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createGenericIwkOpInstance(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int28,  // FIXME: not found in TS004
-				primitiveContent := {genericInterworkingOperationInstance_optional := ?}
+				primitiveContent := {genericInterworkingOperationInstance := ?}
 			}; 
         	
 			/**
@@ -637,14 +637,14 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createContentInstanceBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
 				resourceType := int4,
-				primitiveContent := {contentInstance_optional := m_contentCreateContentInstance}
+				primitiveContent := {contentInstance := m_contentCreateContentInstance}
 			};
 				
 			/**
 			 * @desc CREATE request primitive for Content Instance resource with no resourceName provided
 			 */
 			template (value) RequestPrimitive m_createContentInstance_noResourceName modifies m_createContentInstanceBase := {
-				primitiveContent := {contentInstance_optional := m_contentCreateContentInstance(omit)}
+				primitiveContent := {contentInstance := m_contentCreateContentInstance(omit)}
 			};
     		
     		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
@@ -652,7 +652,7 @@ module OneM2M_Templates {
     			from_ := "admin:admin",
     			requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
     			resourceType := int4,
-    			primitiveContent := {contentInstance_optional := m_contentCreateContentInstance(p_primitiveContent)}
+    			primitiveContent := {contentInstance := m_contentCreateContentInstance(p_primitiveContent)}
     		};
     		
 			/**
@@ -660,7 +660,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createContentInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10014,
-				primitiveContent := {contentInstanceAnnc_optional := ?}
+				primitiveContent := {contentInstanceAnnc := ?}
 			};  
 			
 			/**
@@ -668,7 +668,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createContentInstanceAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10014,
-				primitiveContent := {contentInstanceAnnc_optional := mw_contentCreateContentInstanceAnncBase}
+				primitiveContent := {contentInstanceAnnc := mw_contentCreateContentInstanceAnncBase}
 			};  
         	    		
        	
@@ -678,7 +678,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
 				resourceType := int9,
-				primitiveContent := {group_optional := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
+				primitiveContent := {group_ := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
 			};
         	
         	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
@@ -690,7 +690,7 @@ module OneM2M_Templates {
 															in template (omit) XSD.String p_name := "MyGroup") modifies m_create := {
         		requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
         		resourceType := int9,
-        		primitiveContent := {group_optional := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
+        		primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
         	};
         	
 			/**
@@ -698,7 +698,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createGroupAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10009,
-				primitiveContent := {groupAnnc_optional := ?}
+				primitiveContent := {groupAnnc := ?}
 			};  
 			
 			/**
@@ -706,7 +706,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createGroupAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10009,
-				primitiveContent := {groupAnnc_optional := mw_contentCreateGroupAnncBase}
+				primitiveContent := {groupAnnc := mw_contentCreateGroupAnncBase}
 			};
         	
 			/**
@@ -715,7 +715,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createMgmtCmdBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createMgmtCmd" & f_rnd(1, 1000000),
 				resourceType := int12,
-				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtCmd (-,-)}
+				primitiveContent := {mgmtResource := m_contentCreateMgmtCmd (-,-)}
 			};
 			
 			/**
@@ -724,7 +724,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createMgmtObjBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createMgmtObj" & f_rnd(1, 1000000),
 				resourceType := int13,
-				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtObj (-,-)}
+				primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-,-)}
 			};
         	
 			/**
@@ -733,7 +733,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createMgmtObj modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createMgmtObj" & f_rnd(1, 1000000),
 				resourceType := int13,
-				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtObj (-, -)}
+				primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-, -)}
 			};
         	
 			/**
@@ -741,7 +741,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createMgmtObjAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10013,
-				primitiveContent := {announcedMgmtResource_optional := ?}
+				primitiveContent := {announcedMgmtResource := ?}
 			};  
 			
 			/**
@@ -749,7 +749,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createMgmtObjAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10013,
-				primitiveContent := {announcedMgmtResource_optional := mw_contentCreateMgmtObjAnncBase}
+				primitiveContent := {announcedMgmtResource := mw_contentCreateMgmtObjAnncBase}
 			};  
 			
 			/**
@@ -758,7 +758,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createNodeBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createNode" & f_rnd(1, 1000000),
 				resourceType := int14,
-				primitiveContent := {node_optional := m_contentCreateNode(-, -, -) }
+				primitiveContent := {node := m_contentCreateNode(-, -, -) }
 			};
         	
 			/**
@@ -767,7 +767,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createNode modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createNode" & f_rnd(1, 1000000),
 				resourceType := int14,
-				primitiveContent := {node_optional := m_contentCreateNode(-,-,-) }
+				primitiveContent := {node := m_contentCreateNode(-,-,-) }
 			};
         	
 			/**
@@ -775,7 +775,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createNodeAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10014,
-				primitiveContent := {nodeAnnc_optional := ?}
+				primitiveContent := {nodeAnnc := ?}
 			};  
        	
 			/**
@@ -784,7 +784,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
 				resourceType := int15,
-				primitiveContent := {pollingChannel_optional := m_contentCreatePollingChannel (-)}
+				primitiveContent := {pollingChannel := m_contentCreatePollingChannel (-)}
 			};
         	
         	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
@@ -792,7 +792,7 @@ module OneM2M_Templates {
         		from_ := p_originatorId,
         		requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
         		resourceType := int15,
-        		primitiveContent := {pollingChannel_optional := m_contentCreatePollingChannel ()}
+        		primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()}
         	};
         	
 			/**
@@ -801,14 +801,14 @@ module OneM2M_Templates {
         	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
         		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
         		resourceType := int18,
-        		primitiveContent := {schedule_optional := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}
+        		primitiveContent := {schedule := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}
         	};
         	
         	template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) modifies m_create := {
         		to_ := p_parentResourceAddress,
         		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
         		resourceType := int18,
-        		primitiveContent := {schedule_optional := m_contentCreateSchedule (p_scheduleElement, p_name)}
+        		primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)}
         	};
         	
 			/**
@@ -816,7 +816,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createScheduleAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10018,
-				primitiveContent := {scheduleAnnc_optional := ?}
+				primitiveContent := {scheduleAnnc := ?}
 			};  
 			
 			/**
@@ -824,13 +824,13 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createScheduleAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10018,
-				primitiveContent := {scheduleAnnc_optional := mw_contentCreateScheduleAnncBase}
+				primitiveContent := {scheduleAnnc := mw_contentCreateScheduleAnncBase}
 			};  
         	
 			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000),
 				resourceType := int19,//FIXME Is this the correct value?
-				primitiveContent := {serviceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}
+				primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}
 			};
         	
 			/**
@@ -839,7 +839,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createServiceSubscribedAppRuleBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRuleBase" & f_rnd(1, 1000000),
 				resourceType := int19,
-				primitiveContent := {serviceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRuleBase}
+				primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRuleBase}
 			};
        	
 			/**
@@ -848,14 +848,14 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
 				resourceType := int23,
-				primitiveContent := {subscription_optional := m_contentCreateSubscription ({"NotInitialized"})}
+				primitiveContent := {subscription := m_contentCreateSubscription ({"NotInitialized"})}
 			};
         	
         	template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ListOfURIs p_notificationURI := {"NotInitialized"}) modifies m_create := {
         		to_ := p_parentResourceAddress,
         		requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
         		resourceType := int23,
-        		primitiveContent := {subscription_optional := m_contentCreateSubscription (p_notificationURI, p_name)}
+        		primitiveContent := {subscription := m_contentCreateSubscription (p_notificationURI, p_name)}
         	};
         	
 			template (value) RequestPrimitive m_createSubscriptionAdvanced(	XSD.ID p_parentResourceAddress, 
@@ -867,7 +867,7 @@ module OneM2M_Templates {
 																		   in template (omit) XSD.Boolean p_latestNotify := omit,
 																		   in template (omit) XSD.AnyURI p_subscriberURI := omit,
 																		   in template (omit) NotificationContentType p_notificationContentType := int1) modifies m_createSubscription := {
-				primitiveContent := {subscription_optional := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType)}
+				primitiveContent := {subscription := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType)}
 			};
         	
         	/**
@@ -876,14 +876,14 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createLocationPolicyBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createLocationPolicy" & f_rnd(1, 1000000),
 				resourceType := int10,
-				primitiveContent := {locationPolicy_optional := m_contentCreateLocationPolicyBase}
+				primitiveContent := {locationPolicy := m_contentCreateLocationPolicyBase}
 			};
         	
         	template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
         		
         	  	requestIdentifier	:= testcasename() & "-m_createLocationPolicy" & f_rnd(1, 1000000), //the requestIdentifier is supposed to be set similar as "C190XX7T/001"  by prepending the AE-ID-Stem and slash(‘/’) in front of it
         	  	resourceType		:= int10,
-        	  	primitiveContent	:= {locationPolicy_optional := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
+        	  	primitiveContent	:= {locationPolicy := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
 			  	resultContent := int1//default
         	};
         	
@@ -892,7 +892,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createLocationPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10010,
-				primitiveContent := {locationPolicyAnnc_optional := ?}
+				primitiveContent := {locationPolicyAnnc := ?}
 			}; 
 			
 			/**
@@ -900,7 +900,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createLocationPolicyAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10010,
-				primitiveContent := {locationPolicyAnnc_optional := mw_contentCreateLocationPolicyAnncBase}
+				primitiveContent := {locationPolicyAnnc := mw_contentCreateLocationPolicyAnncBase}
 			}; 
 			
         	template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := {
@@ -915,7 +915,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createSemanticDescriptor(template XSD.ID p_from := *, template XSD.ID p_to := ?, template SemanticDescriptor_optional p_semanticDescriptor := mw_contentCreateSemanticDescriptor) modifies mw_create := {
 				resourceType := int24,
-				primitiveContent := {semanticDescriptor_optional := p_semanticDescriptor}
+				primitiveContent := {semanticDescriptor := p_semanticDescriptor}
 			};
 			
 			/**
@@ -924,7 +924,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createStatsConfigBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createStatsConfig" & f_rnd(1, 1000000),
 				resourceType := int22,
-				primitiveContent := {statsConfig_optional := m_contentCreateStatConfigBase}
+				primitiveContent := {statsConfig := m_contentCreateStatConfigBase}
 			};
 			
 			/**
@@ -933,7 +933,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createStatsCollectBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createStatsCollect" & f_rnd(1, 1000000),
 				resourceType := int21,
-				primitiveContent := {statsCollect_optional := m_contentCreateStatCollectBase}
+				primitiveContent := {statsCollect := m_contentCreateStatCollectBase}
 			};
 			
 			/**
@@ -942,7 +942,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createM2mServiceSubscriptionProfileBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createM2mServiceSubscriptionProfile" & f_rnd(1, 1000000),
 				resourceType := int11,
-				primitiveContent := {m2mServiceSubscriptionProfile_optional := m_contentCreatem2mServiceSubscriptionProfileBase}
+				primitiveContent := {m2mServiceSubscriptionProfile := m_contentCreatem2mServiceSubscriptionProfileBase}
 			};
 			
     	}//end group Create
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 8b88d045c250d15ab8c9ee6af45dde950bc4c703..9c158b863dfa7779b8e21d1c6c955fbcf4f64d77 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
- *              $Id: OneM2M_Types.ttcn 306 2017-06-20 16:19:04Z reinaortega $
+ *              $Id: OneM2M_Types.ttcn 308 2017-06-21 09:44:17Z reinaortega $
  *  @desc       OneM2M data types module 
  *
  */
@@ -1623,35 +1623,35 @@ with {
 type union PrimitiveContent {
 	//TS-0004 - 7.5.2-1 & 7.5.2-2 Common elements to request/response content
 	//ResourceTypes
-	AEAnnc_optional aEAnnc_optional,
-	AE_optional aE_optional,
-	AccessControlPolicy_optional accessControlPolicy_optional,
-	AccessControlPolicyAnnc_optional accessControlPolicyAnnc_optional,
-	ContentInstance_optional contentInstance_optional,
-	ContentInstanceAnnc_optional contentInstanceAnnc_optional,
-	Container_optional container_optional,
-	ContainerAnnc_optional containerAnnc_optional,
-	FlexContainerResource_optional flexContainer_optional,
-	CSEBase_optional cSEBase_optional,
-	Group_optional group_optional,
-	GroupAnnc_optional groupAnnc_optional,
-	LocationPolicy_optional locationPolicy_optional,
-	LocationPolicyAnnc_optional locationPolicyAnnc_optional,
-	MgmtResource_optional mgmtResource_optional,//MgmtResource
-	AnnouncedMgmtResource_optional announcedMgmtResource_optional,//AnnouncedMgmtResource
-	Node_optional node_optional,
-	NodeAnnc_optional nodeAnnc_optional,
-	PollingChannel_optional pollingChannel_optional,
-	RemoteCSE_optional remoteCSE_optional,
-	Schedule_optional schedule_optional,
-	ScheduleAnnc_optional scheduleAnnc_optional,
-	StatsConfig_optional statsConfig_optional,
-	StatsCollect_optional statsCollect_optional,
-	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile_optional,
-	ServiceSubscribedAppRule_optional serviceSubscribedAppRule_optional,
-	Subscription_optional subscription_optional,
-	SemanticDescriptor_optional semanticDescriptor_optional,
-	GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance_optional,
+	AEAnnc_optional aEAnnc,
+	AE_optional aE,
+	AccessControlPolicy_optional accessControlPolicy,
+	AccessControlPolicyAnnc_optional accessControlPolicyAnnc,
+	ContentInstance_optional contentInstance,
+	ContentInstanceAnnc_optional contentInstanceAnnc,
+	Container_optional container,
+	ContainerAnnc_optional containerAnnc,
+	FlexContainerResource_optional flexContainer,
+	CSEBase_optional cSEBase,
+	Group_optional group_,
+	GroupAnnc_optional groupAnnc,
+	LocationPolicy_optional locationPolicy,
+	LocationPolicyAnnc_optional locationPolicyAnnc,
+	MgmtResource_optional mgmtResource,//MgmtResource
+	AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
+	Node_optional node,
+	NodeAnnc_optional nodeAnnc,
+	PollingChannel_optional pollingChannel,
+	RemoteCSE_optional remoteCSE,
+	Schedule_optional schedule,
+	ScheduleAnnc_optional scheduleAnnc,
+	StatsConfig_optional statsConfig,
+	StatsCollect_optional statsCollect,
+	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+	ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+	Subscription_optional subscription,
+	SemanticDescriptor_optional semanticDescriptor,
+	GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance,
 	//SecurityInfo
 	SecurityInfo securityInfo,
 	//TS-0004 - 7.5.2-1 Elements used for request content
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index ab0bb047148fb25d8bc63bf2445b3f08e9750004..11d58ae0e096f76c9391d6d11e1c52fdff0fde05 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $
- *              $Id: OneM2M_Testcases.ttcn 306 2017-06-20 16:19:04Z reinaortega $
+ *              $Id: OneM2M_Testcases.ttcn 308 2017-06-21 09:44:17Z reinaortega $
  *  @desc       Module containing test cases for oneM2M
  *
  */
@@ -444,7 +444,7 @@ module OneM2M_Testcases {
 				v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi);
 	
 				//Test Body
-				v_request := valueof(m_responsePrimitive(int2001, "To_be_defined", {aEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, omit, PX_APP_ID, "/CSE_ID/S-AE-ID-STEM")}));				
+				v_request := valueof(m_responsePrimitive(int2001, "To_be_defined", {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, omit, PX_APP_ID, "/CSE_ID/S-AE-ID-STEM")}));				
 	  	  		
 				mccPort.send(m_response(v_request));
 				tc_ac.start;
@@ -614,7 +614,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createRemoteCSEBase;	
 						const AttributeAux c_optionalAttribute := {"labels", omit};
 						
-						v_createRequest.primitiveContent.remoteCSE_optional.labels := {"MyLabel"};
+						v_createRequest.primitiveContent.remoteCSE.labels := {"MyLabel"};
 						
 						f_CSE_REG_CRE_BV_015(v_createRequest, c_optionalAttribute);
 						
@@ -625,7 +625,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createRemoteCSEBase;	
 						const AttributeAux c_optionalAttribute := {"cseType", omit};
 						
-						v_createRequest.primitiveContent.remoteCSE_optional.cseType := int1;
+						v_createRequest.primitiveContent.remoteCSE.cseType := int1;
 						
 						f_CSE_REG_CRE_BV_015(v_createRequest, c_optionalAttribute);
 	
@@ -636,7 +636,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createRemoteCSEBase;	
 						const AttributeAux c_optionalAttribute := {"pointOfAccess", omit};
 	
-						v_createRequest.primitiveContent.remoteCSE_optional.pointOfAccess := {"http://" & PX_CSE1_ADDRESS & "/"};
+						v_createRequest.primitiveContent.remoteCSE.pointOfAccess := {"http://" & PX_CSE1_ADDRESS & "/"};
 	
 						f_CSE_REG_CRE_BV_015(v_createRequest, c_optionalAttribute);
 
@@ -647,7 +647,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createRemoteCSEBase;	
 						const AttributeAux c_optionalAttribute := {"nodeLink", omit};
 
-						v_createRequest.primitiveContent.remoteCSE_optional.nodeLink := c_defaultNodeID;
+						v_createRequest.primitiveContent.remoteCSE.nodeLink := c_defaultNodeID;
 
 						f_CSE_REG_CRE_BV_015(v_createRequest, c_optionalAttribute);
 
@@ -724,7 +724,7 @@ module OneM2M_Testcases {
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 					
 					// Test Body
-					v_contentResponse.cSEBase_optional := mw_contentCSEBase_rc1;
+					v_contentResponse.cSEBase := mw_contentCSEBase_rc1;
 					
 					mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(), f_getOriginator(v_aeIndex))));
 	
@@ -778,7 +778,7 @@ module OneM2M_Testcases {
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 	
 					// Test Body
-					v_contentResponse.cSEBase_optional := mw_contentCSEBase_rc1;
+					v_contentResponse.cSEBase := mw_contentCSEBase_rc1;
 	
 					mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(), f_getOriginator(v_aeIndex))));
 
@@ -786,11 +786,11 @@ module OneM2M_Testcases {
 					alt {
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response {
 							tc_ac.stop;
-							if (ispresent(v_response.primitive.responsePrimitive.primitiveContent.cSEBase_optional.cseType)){
-								if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase_optional.cseType==int1){
+							if (ispresent(v_response.primitive.responsePrimitive.primitiveContent.cSEBase.cseType)){
+								if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase.cseType==int1){
 									setverdict(pass, testcasename() & ": cseType attribute is set to 1 (IN_CSE)");
 								}else{
-									setverdict(fail, testcasename() & ": Error, cseType attribute is set to " & int2str(enum2int(v_response.primitive.responsePrimitive.primitiveContent.cSEBase_optional.cseType)));
+									setverdict(fail, testcasename() & ": Error, cseType attribute is set to " & int2str(enum2int(v_response.primitive.responsePrimitive.primitiveContent.cSEBase.cseType)));
 								}
 							}else{
 								setverdict(fail, testcasename() & ": Error, cseType attribute is not present");
@@ -837,7 +837,7 @@ module OneM2M_Testcases {
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 
 					// Test Body
-					v_contentResponse.cSEBase_optional := mw_contentCSEBase_rc1;
+					v_contentResponse.cSEBase := mw_contentCSEBase_rc1;
 
 					mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(), f_getOriginator(v_aeIndex))));
 
@@ -846,13 +846,13 @@ module OneM2M_Testcases {
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response {
 							tc_ac.stop;
 							
-							if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase_optional.supportedResourceType==PX_SRT){
+							if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase.supportedResourceType==PX_SRT){
 								setverdict(pass, testcasename() & ": supportedResourceTypes attribute is set according to PX_SRT");
 							}else{
 								setverdict(fail, testcasename() & ": supportedResourceTypes attribute is not set according to PX_SRT");
 							}
 							
-							if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase_optional.pointOfAccess==PX_POA){
+							if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase.pointOfAccess==PX_POA){
 								setverdict(pass, testcasename() & ": supportedResourceTypes attribute is set according to PX_POA");
 							}else{
 								setverdict(fail, testcasename() & ": supportedResourceTypes attribute is not set according to PX_POA");
@@ -903,7 +903,7 @@ module OneM2M_Testcases {
 					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 
 					// Test Body
-					v_updateRequest.primitiveContent.cSEBase_optional.labels := v_labels_1;
+					v_updateRequest.primitiveContent.cSEBase.labels := v_labels_1;
 					v_request := f_getUpdateRequestPrimitive(int5, c_cseBaseIndex, v_updateRequest);
 					
 					mcaPort.send(m_request(v_request));
@@ -1058,7 +1058,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.container_optional := mw_contentContainer_rc1;
+					v_contentResponse.container := mw_contentContainer_rc1;
 					                        
 					f_CSE_DMR_BV_002(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 				}
@@ -1067,7 +1067,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.group_optional := mw_contentGroup_rc1;
+					v_contentResponse.group_ := mw_contentGroup_rc1;
 					
 					f_CSE_DMR_BV_002(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 				}
@@ -1076,7 +1076,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc1;
+					v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
 						
 					f_CSE_DMR_BV_002(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 				}
@@ -1085,7 +1085,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.schedule_optional := mw_contentSchedule_rc1;
+					v_contentResponse.schedule := mw_contentSchedule_rc1;
 						
 					f_CSE_DMR_BV_002(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
 				}
@@ -1094,7 +1094,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.pollingChannel_optional := mw_contentPollingChannelBase;
+					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
 						
 					f_CSE_DMR_BV_002(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 				}
@@ -1103,7 +1103,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.subscription_optional := mw_contentSubscription_rc1;
+					v_contentResponse.subscription := mw_contentSubscription_rc1;
 
 					f_CSE_DMR_BV_002(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
 				}
@@ -1183,7 +1183,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.container_optional := mw_contentContainer_rc4;
+					v_contentResponse.container := mw_contentContainer_rc4;
 					                        
 					f_CSE_DMR_BV_003(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 				}
@@ -1192,7 +1192,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.group_optional := mw_contentGroup_rc4;
+					v_contentResponse.group_ := mw_contentGroup_rc4;
 					
 					f_CSE_DMR_BV_003(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 				}
@@ -1201,7 +1201,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc4;
+					v_contentResponse.accessControlPolicy := mw_contentAcp_rc4;
 						
 					f_CSE_DMR_BV_003(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 				}
@@ -1210,7 +1210,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.schedule_optional := mw_contentSchedule_rc4;
+					v_contentResponse.schedule := mw_contentSchedule_rc4;
 						
 					f_CSE_DMR_BV_003(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule
 				}
@@ -1219,7 +1219,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.pollingChannel_optional := mw_contentPollingChannelBase;
+					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
 						
 					f_CSE_DMR_BV_003(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 				}
@@ -1228,7 +1228,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.subscription_optional := mw_contentSubscription_rc4;
+					v_contentResponse.subscription := mw_contentSubscription_rc4;
 
 					f_CSE_DMR_BV_003(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
 				}
@@ -1307,7 +1307,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.container_optional := mw_contentContainer_rc5;
+					v_contentResponse.container := mw_contentContainer_rc5;
 					                        
 					f_CSE_DMR_BV_004(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 				}
@@ -1316,7 +1316,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.group_optional := mw_contentGroup_rc5;
+					v_contentResponse.group_ := mw_contentGroup_rc5;
 					
 					f_CSE_DMR_BV_004(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 				}
@@ -1325,7 +1325,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc5;
+					v_contentResponse.accessControlPolicy := mw_contentAcp_rc5;
 						
 					f_CSE_DMR_BV_004(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 				}
@@ -1334,7 +1334,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.schedule_optional := mw_contentSchedule_rc5;
+					v_contentResponse.schedule := mw_contentSchedule_rc5;
 						
 					f_CSE_DMR_BV_004(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
 				}
@@ -1343,7 +1343,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.pollingChannel_optional := mw_contentPollingChannelBase;
+					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
 						
 					f_CSE_DMR_BV_004(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 				}
@@ -1352,7 +1352,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.subscription_optional := mw_contentSubscription_rc5;
+					v_contentResponse.subscription := mw_contentSubscription_rc5;
 
 					f_CSE_DMR_BV_004(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
 				}
@@ -1431,7 +1431,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.container_optional := mw_contentContainer_rc6;
+					v_contentResponse.container := mw_contentContainer_rc6;
 					                        
 					f_CSE_DMR_BV_005(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 				}
@@ -1440,7 +1440,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.group_optional := mw_contentGroup_rc6;
+					v_contentResponse.group_ := mw_contentGroup_rc6;
 					
 					f_CSE_DMR_BV_005(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 				}
@@ -1449,7 +1449,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc6;
+					v_contentResponse.accessControlPolicy := mw_contentAcp_rc6;
 						
 					f_CSE_DMR_BV_005(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 				}
@@ -1458,7 +1458,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.schedule_optional := mw_contentSchedule_rc6;
+					v_contentResponse.schedule := mw_contentSchedule_rc6;
 						
 					f_CSE_DMR_BV_005(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule
 				}
@@ -1467,7 +1467,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.pollingChannel_optional := mw_contentPollingChannelBase;
+					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
 						
 					f_CSE_DMR_BV_005(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 				}
@@ -1476,7 +1476,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.subscription_optional := mw_contentSubscription_rc6;
+					v_contentResponse.subscription := mw_contentSubscription_rc6;
 
 					f_CSE_DMR_BV_005(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
 				}
@@ -1555,7 +1555,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.container_optional := mw_contentContainer_rc8;
+					v_contentResponse.container := mw_contentContainer_rc8;
 					                        
 					f_CSE_DMR_BV_006(int3, m_createContainerBase, v_contentResponse, int3, m_createContainerBase);//Container
 				}
@@ -1564,7 +1564,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.group_optional := mw_contentGroup_rc8;
+					v_contentResponse.group_ := mw_contentGroup_rc8;
 					
 					f_CSE_DMR_BV_006(int9, m_createGroupBase, v_contentResponse, int23, m_createSubscriptionBase);//Group
 				}
@@ -1573,7 +1573,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc8;
+					v_contentResponse.accessControlPolicy := mw_contentAcp_rc8;
 						
 					f_CSE_DMR_BV_006(int1, m_createAcpBase,v_contentResponse, int23, m_createSubscriptionBase);//AccessControlPolicy
 				}
@@ -1582,7 +1582,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.schedule_optional := mw_contentSchedule_rc8;
+					v_contentResponse.schedule := mw_contentSchedule_rc8;
 						
 					f_CSE_DMR_BV_006(int18, m_createScheduleBase, v_contentResponse, int23, m_createSubscriptionBase);//Schedule 
 				}
@@ -1591,7 +1591,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.pollingChannel_optional := mw_contentPollingChannelBase;
+					v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
 						
 					f_CSE_DMR_BV_006(int15, m_createPollingChannelBase, v_contentResponse, omit, omit);//PollingChannel
 				}
@@ -1600,7 +1600,7 @@ module OneM2M_Testcases {
 					// Local variables
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.subscription_optional := mw_contentSubscription_rc8;
+					v_contentResponse.subscription := mw_contentSubscription_rc8;
 
 					f_CSE_DMR_BV_006(int23, m_createSubscriptionBase, v_contentResponse, int18, m_createScheduleBase);//Subscription
 				}
@@ -1683,11 +1683,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;//TODO useless but need to be initialized see if we can remove it
 						
-						v_createRequest.primitiveContent.container_optional.resourceName := omit;
+						v_createRequest.primitiveContent.container.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int3, v_createRequest, -, v_notifyHandler); //Container
 						log(v_responsePrimitive);
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 						}
 						}
@@ -1700,11 +1700,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.group_optional.resourceName := omit;
+						v_createRequest.primitiveContent.group_.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int3, v_createRequest, m_createAeAux(omit,omit),v_notifyHandler);//Container
 							log(v_responsePrimitive);
 							if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.group_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 								}
 							}
@@ -1717,11 +1717,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.accessControlPolicy_optional.resourceName := omit;
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int3, v_createRequest, m_createContainerBase, v_notifyHandler);//Container
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 					}
 						}
@@ -1734,11 +1734,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.accessControlPolicy_optional.resourceName := omit;
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int9, v_createRequest, -, v_notifyHandler);//Group
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 						}
 						}
@@ -1751,11 +1751,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.accessControlPolicy_optional.resourceName := omit;
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int9, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Group
 							if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 								}
 							}
@@ -1768,11 +1768,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 
-						v_createRequest.primitiveContent.accessControlPolicy_optional.resourceName := omit;
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int1, v_createRequest, -, v_notifyHandler);//AccessControlPolicy
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 						}
 						}
@@ -1785,11 +1785,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.accessControlPolicy_optional.resourceName := omit;
+						v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
 
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int1, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//AccessControlPolicy
 							if(getverdict == pass){
-								if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.resourceName)){
+								if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 								}
 							}
@@ -1802,11 +1802,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.schedule_optional.resourceName := omit;
+						v_createRequest.primitiveContent.schedule.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int18, v_createRequest, -, v_notifyHandler);//Schedule
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.schedule_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
     					}
 						}
@@ -1819,11 +1819,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.schedule_optional.resourceName := omit;
+						v_createRequest.primitiveContent.schedule.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int18, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Schedule
 
 							if(getverdict == pass){
-								if(not ispresent(v_responsePrimitive.primitiveContent.schedule_optional.resourceName)){
+								if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 								}
 							}
@@ -1836,11 +1836,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.schedule_optional.resourceName := omit;
+						v_createRequest.primitiveContent.schedule.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int18, v_createRequest, m_createSubscriptionBase, v_notifyHandler);//Schedule
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.schedule_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 					}
 						}
@@ -1854,11 +1854,11 @@ module OneM2M_Testcases {
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
 						
-						v_createRequest.primitiveContent.pollingChannel_optional.resourceName := omit;
+						v_createRequest.primitiveContent.pollingChannel.resourceName := omit;
 
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int15, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//PollingChannel
 							if(getverdict == pass){
-								if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel_optional.resourceName)){
+								if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 								}
 							}
@@ -1871,10 +1871,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.subscription_optional.resourceName := omit;
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, -, v_notifyHandler);//Subscription
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 					}
 						}
@@ -1887,10 +1887,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.subscription_optional.resourceName := omit;
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Subscription
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -1903,10 +1903,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.subscription_optional.resourceName := omit;
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createContainerBase, v_notifyHandler);//Subscription
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -1919,10 +1919,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.subscription_optional.resourceName := omit;
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createAcpBase, v_notifyHandler);//Subscription
     						if(getverdict == pass){
-    							if(not ispresent(v_responsePrimitive.primitiveContent.subscription_optional.resourceName)){
+    							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
     								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
     							}
     						}
@@ -1934,10 +1934,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.subscription_optional.resourceName := omit;
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createScheduleBase, v_notifyHandler);//Subscription
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 					}
 						}		
@@ -1949,10 +1949,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
     				
-						v_createRequest.primitiveContent.subscription_optional.resourceName := omit;
+						v_createRequest.primitiveContent.subscription.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int23, v_createRequest, m_createGroupBase, v_notifyHandler);//Subscription
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}		
@@ -1964,11 +1964,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						 
-						v_createRequest.primitiveContent.node_optional.resourceName := omit;
+						v_createRequest.primitiveContent.node.resourceName := omit;
 
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int14, v_createRequest, -, v_notifyHandler);//Node
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.node_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -1981,10 +1981,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.mgmtResource_optional.resourceName := omit;
+						v_createRequest.primitiveContent.mgmtResource.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int12, v_createRequest, -, v_notifyHandler);//Management Command
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.mgmtResource_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.mgmtResource.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -1997,10 +1997,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.locationPolicy_optional.resourceName := omit;
+						v_createRequest.primitiveContent.locationPolicy.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int10, v_createRequest, -, v_notifyHandler);//Location Policy
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.locationPolicy_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.locationPolicy.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -2014,10 +2014,10 @@ module OneM2M_Testcases {
 						var RequestPrimitiveMatrix v_requestPrimitivematrix;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.statsConfig_optional.resourceName := omit;
+						v_createRequest.primitiveContent.statsConfig.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int22, v_createRequest, -, v_notifyHandler);//Stats Config
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -2029,11 +2029,11 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						 
-						v_createRequest.primitiveContent.statsCollect_optional.resourceName := omit;
+						v_createRequest.primitiveContent.statsCollect.resourceName := omit;
 						
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int21, v_createRequest, -, v_notifyHandler);//Stats Collect
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -2046,10 +2046,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						
-						v_createRequest.primitiveContent.m2mServiceSubscriptionProfile_optional.resourceName := omit;
+						v_createRequest.primitiveContent.m2mServiceSubscriptionProfile.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int11, v_createRequest, -, v_notifyHandler);//Subscription Profile
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -2062,10 +2062,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
 						 
-						v_createRequest.primitiveContent.serviceSubscribedAppRule_optional.resourceName := omit;
+						v_createRequest.primitiveContent.serviceSubscribedAppRule.resourceName := omit;
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_001(int19, v_createRequest, -, v_notifyHandler);//Service Subscribed App
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							}
 						}
@@ -2095,7 +2095,7 @@ module OneM2M_Testcases {
 						if(ispresent(p_parentRequestPrimitive)) {
 							if(match(int23, p_parentRequestPrimitive.resourceType)){
 								v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred
-								p_parentRequestPrimitive.primitiveContent.subscription_optional.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
+								p_parentRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
 								p_notifyHandler.start(f_subscriptionVerificationHandler(f_getResourceAddress(v_parentIndex)));
 							}
 							v_parentIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_parentIndex);
@@ -2105,7 +2105,7 @@ module OneM2M_Testcases {
     					
 						if(match(int23, p_requestPrimitive.resourceType)){
 							v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred
-							p_requestPrimitive.primitiveContent.subscription_optional.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
+							p_requestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)}; 
 							p_notifyHandler.start(f_subscriptionVerificationHandler(f_getResourceAddress(v_parentIndex)));
 						}
     					
@@ -2156,10 +2156,10 @@ module OneM2M_Testcases {
                         v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int3, m_createContainerBase);//container
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							} else {
-								if(v_responsePrimitive.primitiveContent.container_optional.resourceName != c_defaultContainerResourceName){
+								if(v_responsePrimitive.primitiveContent.container.resourceName != c_defaultContainerResourceName){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
 								}
 							}
@@ -2173,10 +2173,10 @@ module OneM2M_Testcases {
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int9, m_createGroupBase);//group
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.group_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							} else {
-								if(v_responsePrimitive.primitiveContent.group_optional.resourceName != c_defaultGroupResourceName){
+								if(v_responsePrimitive.primitiveContent.group_.resourceName != c_defaultGroupResourceName){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
 								}
 							}
@@ -2190,10 +2190,10 @@ module OneM2M_Testcases {
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int1, m_createAcpBase );//accessControlPolicy
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							} else {
-								if(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.resourceName != c_defaultAccessControlPolicyResourceName){
+								if(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName != c_defaultAccessControlPolicyResourceName){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
 								}
 							}
@@ -2207,10 +2207,10 @@ module OneM2M_Testcases {
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int18, m_createScheduleBase);//Schedule
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.schedule_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.schedule.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							} else {
-								if(v_responsePrimitive.primitiveContent.schedule_optional.resourceName != c_defaultScheduleResourceName){
+								if(v_responsePrimitive.primitiveContent.schedule.resourceName != c_defaultScheduleResourceName){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
 								}
 							}
@@ -2223,10 +2223,10 @@ module OneM2M_Testcases {
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int15, m_createPollingChannelBase);//Pollingchannel
 
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.pollingChannel.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							} else {
-								if(v_responsePrimitive.primitiveContent.pollingChannel_optional.resourceName != c_defaultPollingChannelResourceName){
+								if(v_responsePrimitive.primitiveContent.pollingChannel.resourceName != c_defaultPollingChannelResourceName){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
 								}
 							}
@@ -2240,10 +2240,10 @@ module OneM2M_Testcases {
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_002(int23, m_createSubscriptionBase);//Subscription
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription_optional.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
 								setverdict(fail, testcasename(), ": Error, resourceName attribute not provided");
 							} else {
-								if(v_responsePrimitive.primitiveContent.subscription_optional.resourceName != c_defaultSubscriptionResourceName){
+								if(v_responsePrimitive.primitiveContent.subscription.resourceName != c_defaultSubscriptionResourceName){
 									setverdict(fail, testcasename(), ": Error, resourceName attribute not correct");
 								}
 							}
@@ -2506,7 +2506,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.container_optional.maxNrOfInstances := 0;
+						v_createRequest.primitiveContent.container.maxNrOfInstances := 0;
 						v_invalidAttribute := {name := "maxNrOfInstances", value_ := "-1"};
 						
 						f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);			
@@ -2517,7 +2517,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.container_optional.maxByteSize := 0;
+						v_createRequest.primitiveContent.container.maxByteSize := 0;
 						v_invalidAttribute := {name := "maxByteSize", value_ := "-1"};
 						
 						f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);
@@ -2529,7 +2529,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.container_optional.maxInstanceAge := 0;
+						v_createRequest.primitiveContent.container.maxInstanceAge := 0;
 						v_invalidAttribute := {name := "maxInstanceAge", value_ := "-1"};
 						
 						f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);
@@ -2596,7 +2596,7 @@ module OneM2M_Testcases {
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);		
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container_optional.maxNrOfInstances)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxNrOfInstances)){
 								setverdict(fail, testcasename(), ": Error, maxNrOfInstances attribute not provided");
 							} 
 						}	
@@ -2610,7 +2610,7 @@ module OneM2M_Testcases {
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container_optional.maxByteSize)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxByteSize)){
 								setverdict(fail, testcasename(), ": Error, maxByteSize attribute not provided");
 							} 
 						}	
@@ -2625,7 +2625,7 @@ module OneM2M_Testcases {
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);
 						
 						if(getverdict == pass){
-							if(not ispresent(v_responsePrimitive.primitiveContent.container_optional.maxInstanceAge)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.container.maxInstanceAge)){
 								setverdict(fail, testcasename(), ": Error, maxInstanceAge attribute not provided");
 							} 
 						}	
@@ -2699,7 +2699,7 @@ module OneM2M_Testcases {
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_createRequest.primitiveContent.container_optional.maxNrOfInstances := c_maxNumberOfInstances;
+						v_createRequest.primitiveContent.container.maxNrOfInstances := c_maxNumberOfInstances;
 												
 						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
 					
@@ -2756,7 +2756,7 @@ module OneM2M_Testcases {
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
 						
-						v_createRequest.primitiveContent.container_optional.maxByteSize := c_maxByteSize;
+						v_createRequest.primitiveContent.container.maxByteSize := c_maxByteSize;
 												
 						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
 					
@@ -2823,14 +2823,14 @@ module OneM2M_Testcases {
 						// Test Body
 						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
 						
-						v_contentResponse.container_optional := mw_contentContainerBase;
+						v_contentResponse.container := mw_contentContainerBase;
 						
                         tc_ac.start;
                         alt {
                         	[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response {
                         		tc_ac.stop;
                         		setverdict(pass, testcasename() & ": Response OK for retrieving");
-                        		if(v_response.primitive.responsePrimitive.primitiveContent.container_optional.stateTag == vc_resourcesList[v_containerIndex].resource.container_optional.stateTag + 1) {
+                        		if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == vc_resourcesList[v_containerIndex].resource.container.stateTag + 1) {
 									setverdict(pass, testcasename() & ": stateTag attribute increased after creation of contentInstance resource");
                         		} else {
 									setverdict(fail, testcasename() & ": stateTag attribute not incremented correctly after creation of contentInstance resource");
@@ -2882,7 +2882,7 @@ module OneM2M_Testcases {
 						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
 					
 						// Test Body
-						v_createRequest.primitiveContent.container_optional.resourceName := c_resourceShortNameLatest;
+						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameLatest;
 						
 						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
 					
@@ -2939,7 +2939,7 @@ module OneM2M_Testcases {
 						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
 					
 						// Test Body
-						v_createRequest.primitiveContent.container_optional.resourceName := c_resourceShortNameOldest;
+						v_createRequest.primitiveContent.container.resourceName := c_resourceShortNameOldest;
 						
 						v_request := f_getCreateRequestPrimitive(int3, v_createRequest, v_containerIndex);
 					
@@ -3283,7 +3283,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit};
 						
-						v_createRequest.primitiveContent.container_optional.accessControlPolicyIDs := {"NotInitialized"};
+						v_createRequest.primitiveContent.container.accessControlPolicyIDs := {"NotInitialized"};
 						
 						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);			
 					}
@@ -3293,7 +3293,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
 						
-						v_createRequest.primitiveContent.container_optional.expirationTime := "20301231T012345";
+						v_createRequest.primitiveContent.container.expirationTime := "20301231T012345";
 						
 						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
 						  
@@ -3304,7 +3304,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						const AttributeAux c_optionalAttribute := {"labels", omit};
 						
-						v_createRequest.primitiveContent.container_optional.labels := {"MyLabel"};
+						v_createRequest.primitiveContent.container.labels := {"MyLabel"};
 						
 						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
 						
@@ -3315,7 +3315,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						const AttributeAux c_optionalAttribute := {"maxNrOfInstances", omit};
 						
-						v_createRequest.primitiveContent.container_optional.maxNrOfInstances := 0;
+						v_createRequest.primitiveContent.container.maxNrOfInstances := 0;
 						
 						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
 						
@@ -3326,7 +3326,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						const AttributeAux c_optionalAttribute := {"maxByteSize", omit};
 						
-						v_createRequest.primitiveContent.container_optional.maxByteSize := 0;
+						v_createRequest.primitiveContent.container.maxByteSize := 0;
 						
 						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
 						
@@ -3337,7 +3337,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						const AttributeAux c_optionalAttribute := {"maxInstanceAge", omit};
 						
-						v_createRequest.primitiveContent.container_optional.maxInstanceAge := 0;
+						v_createRequest.primitiveContent.container.maxInstanceAge := 0;
 						
 						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
 						
@@ -3348,7 +3348,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						const AttributeAux c_optionalAttribute := {"ontologyRef", omit};
 						
-						v_createRequest.primitiveContent.container_optional.ontologyRef := "MyOntologyRef";
+						v_createRequest.primitiveContent.container.ontologyRef := "MyOntologyRef";
 						
 						f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
 						
@@ -3359,7 +3359,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
 						
-						v_createRequest.primitiveContent.contentInstance_optional.expirationTime := "20301231T012345";
+						v_createRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345";
 						
 						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);			
 					}
@@ -3369,7 +3369,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						const AttributeAux c_optionalAttribute := {"labels", omit};
 						
-						v_createRequest.primitiveContent.contentInstance_optional.labels := {"MyLabel"};
+						v_createRequest.primitiveContent.contentInstance.labels := {"MyLabel"};
 						
 						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);
 						  
@@ -3380,7 +3380,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						const AttributeAux c_optionalAttribute := {"creator", omit};
 						
-						v_createRequest.primitiveContent.contentInstance_optional.creator := "MyCreator";
+						v_createRequest.primitiveContent.contentInstance.creator := "MyCreator";
 						
 						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);
 						
@@ -3391,7 +3391,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						const AttributeAux c_optionalAttribute := {"contentInfo", omit};
 						
-						v_createRequest.primitiveContent.contentInstance_optional.contentInfo := "MyContentInfo";
+						v_createRequest.primitiveContent.contentInstance.contentInfo := "MyContentInfo";
 						
 						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);
 						
@@ -3402,7 +3402,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						const AttributeAux c_optionalAttribute := {"ontologyRef", omit};
 						
-						v_createRequest.primitiveContent.contentInstance_optional.ontologyRef := "MyOntologyRef";
+						v_createRequest.primitiveContent.contentInstance.ontologyRef := "MyOntologyRef";
 						
 						f_CSE_DMR_CRE_BV_015(int4, v_createRequest, c_optionalAttribute);
 						
@@ -3413,7 +3413,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
 						
-						v_createRequest.primitiveContent.accessControlPolicy_optional.expirationTime := "20301231T012345";
+						v_createRequest.primitiveContent.accessControlPolicy.expirationTime := "20301231T012345";
 						
 						f_CSE_DMR_CRE_BV_015(int1, v_createRequest, c_optionalAttribute);
 						
@@ -3424,7 +3424,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						const AttributeAux c_optionalAttribute := {"labels", omit};
 						
-						v_createRequest.primitiveContent.accessControlPolicy_optional.labels := {"MyLabel"};
+						v_createRequest.primitiveContent.accessControlPolicy.labels := {"MyLabel"};
 						
 						f_CSE_DMR_CRE_BV_015(int1, v_createRequest, c_optionalAttribute);
 						
@@ -3435,7 +3435,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.accessControlPolicyIDs := {"NotInitialized"};
+						v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := {"NotInitialized"};
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);			
 					}
@@ -3445,7 +3445,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.expirationTime := "20301231T012345";
+						v_createRequest.primitiveContent.subscription.expirationTime := "20301231T012345";
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						  
@@ -3456,7 +3456,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"labels", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.labels := {"MyLabel"};
+						v_createRequest.primitiveContent.subscription.labels := {"MyLabel"};
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3467,7 +3467,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"eventNotificationCriteria", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.eventNotificationCriteria := valueof(m_eventNotificationCriteria({int1}, -));
+						v_createRequest.primitiveContent.subscription.eventNotificationCriteria := valueof(m_eventNotificationCriteria({int1}, -));
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3478,7 +3478,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"expirationCounter", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.expirationCounter := 1;
+						v_createRequest.primitiveContent.subscription.expirationCounter := 1;
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3489,7 +3489,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"groupID", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.groupID := "MyGroupID";
+						v_createRequest.primitiveContent.subscription.groupID := "MyGroupID";
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3500,7 +3500,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"notificationForwardingURI", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.notificationForwardingURI := "MyForwardingURI";
+						v_createRequest.primitiveContent.subscription.notificationForwardingURI := "MyForwardingURI";
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3511,7 +3511,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"batchNotify", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.batchNotify := {0, "PT1S"};
+						v_createRequest.primitiveContent.subscription.batchNotify := {0, "PT1S"};
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3522,7 +3522,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"rateLimit", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.rateLimit := {0, omit};
+						v_createRequest.primitiveContent.subscription.rateLimit := {0, omit};
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3533,7 +3533,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"preSubscriptionNotify", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.preSubscriptionNotify := 1;
+						v_createRequest.primitiveContent.subscription.preSubscriptionNotify := 1;
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3544,7 +3544,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"pendingNotification", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.pendingNotification := int1;
+						v_createRequest.primitiveContent.subscription.pendingNotification := int1;
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);			
 					}
@@ -3554,7 +3554,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"notificationStoragePriority", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.notificationStoragePriority := 1;
+						v_createRequest.primitiveContent.subscription.notificationStoragePriority := 1;
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						  
@@ -3565,7 +3565,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"latestNotify", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.latestNotify := true;
+						v_createRequest.primitiveContent.subscription.latestNotify := true;
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3576,7 +3576,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"notificationContentType", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.notificationContentType := int1;
+						v_createRequest.primitiveContent.subscription.notificationContentType := int1;
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3587,7 +3587,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"notificationEventCat", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.notificationEventCat := {alt_1 := 100};
+						v_createRequest.primitiveContent.subscription.notificationEventCat := {alt_1 := 100};
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3598,7 +3598,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"creator", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.creator := "MyCreator";
+						v_createRequest.primitiveContent.subscription.creator := "MyCreator";
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3609,7 +3609,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						const AttributeAux c_optionalAttribute := {"subscriberURI", omit};
 						
-						v_createRequest.primitiveContent.subscription_optional.subscriberURI := "MySubscriberURI";
+						v_createRequest.primitiveContent.subscription.subscriberURI := "MySubscriberURI";
 						
 						f_CSE_DMR_CRE_BV_015(int23, v_createRequest, c_optionalAttribute);
 						
@@ -3695,7 +3695,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.accessControlPolicy_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.accessControlPolicy.announceTo := {f_getAnnouncementTargetPoA()};
 						                    
 						f_CSE_DMR_CRE_BV_016(int1, v_createRequest, mw_createAccessControlPolicyAnnc);//AccessControlPolicy
 					}
@@ -3705,7 +3705,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.container_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()};
 					
 						f_CSE_DMR_CRE_BV_016(int3, v_createRequest, mw_createContainerAnncBase);//Container
 					}
@@ -3715,7 +3715,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.contentInstance_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()};
 						
 						f_CSE_DMR_CRE_BV_016(int4, v_createRequest, mw_createContentInstanceAnncBase);//ContentInstance
 					}
@@ -3725,7 +3725,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.group_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()};
 						
 						f_CSE_DMR_CRE_BV_016(int9, v_createRequest, mw_createGroupAnncBase);//Group
 					}
@@ -3735,7 +3735,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit);
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.locationPolicy_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.locationPolicy.announceTo := {f_getAnnouncementTargetPoA()};
 						
 						f_CSE_DMR_CRE_BV_016(int10, v_createRequest, mw_createLocationPolicyAnncBase);//LocationPolicy
 					}
@@ -3745,7 +3745,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.mgmtResource_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.mgmtResource.announceTo := {f_getAnnouncementTargetPoA()};
 
 						f_CSE_DMR_CRE_BV_016(int13, v_createRequest, mw_createMgmtObjAnncBase);//MgmtObj
 					}
@@ -3755,7 +3755,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createNodeBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.node_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.node.announceTo := {f_getAnnouncementTargetPoA()};
 						
 						f_CSE_DMR_CRE_BV_016(int14, v_createRequest, mw_createNodeAnnc);//Node
 					}
@@ -3765,7 +3765,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.schedule_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};
 
 						f_CSE_DMR_CRE_BV_016(int18, v_createRequest, mw_createScheduleAnncBase);//Schedule
 					}
@@ -3834,16 +3834,16 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.NonNegativeInteger maxByteSize := 512;		//Correct value? Shall be indicated in TP?
 		
-						v_createRequest.primitiveContent.container_optional.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.container_optional.maxByteSize := maxByteSize;						
-						v_createRequest.primitiveContent.container_optional.announcedAttribute := {"maxByteSize"};		//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.container.maxByteSize := maxByteSize;						
+						v_createRequest.primitiveContent.container.announcedAttribute := {"maxByteSize"};		//Correct value? Shall be indicated in TP?
 	
 						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int3, v_createRequest, mw_createContainerAnncBase());//Container
 						
 						if(getverdict == pass){
 							//Check if maxByteSize attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.containerAnnc_optional.maxByteSize)){
-								if(v_requestPrimitive.primitiveContent.containerAnnc_optional.maxByteSize != maxByteSize){
+							if (ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){
+								if(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize != maxByteSize){
 									setverdict(fail, testcasename() & ": Error: Value of maxByteSize has not been announced successfully");
 								}else{
 									setverdict(pass, testcasename() & ": Value of maxByteSize has been announced successfully");
@@ -3860,16 +3860,16 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.NonNegativeInteger contentSize := 512;			//Correct value? Shall be indicated in TP?
 		
-						v_createRequest.primitiveContent.contentInstance_optional.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.contentInstance_optional.contentSize := contentSize;						
-						v_createRequest.primitiveContent.contentInstance_optional.announcedAttribute := {"contentSize"};	//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.contentInstance.contentSize := contentSize;						
+						v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"contentSize"};	//Correct value? Shall be indicated in TP?
 		
 						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int4, v_createRequest, mw_createContentInstanceAnncBase());//ContentInstance
 						
 						if(getverdict == pass){
 							//Check if contentSize attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.contentInstanceAnnc_optional.contentSize)){
-								if(v_requestPrimitive.primitiveContent.contentInstanceAnnc_optional.contentSize != contentSize){
+							if (ispresent(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize)){
+								if(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize != contentSize){
 									setverdict(fail, testcasename() & ": Error: Value of contentSize has not been announced successfully");
 								}else{
 									setverdict(pass, testcasename() & ": Value of contentSize has been announced successfully");
@@ -3886,16 +3886,16 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.PositiveInteger maxNrOfMembers := 10;						//Correct value? Shall be indicated in TP?
 		
-						v_createRequest.primitiveContent.group_optional.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.group_optional.maxNrOfMembers := maxNrOfMembers;
-						v_createRequest.primitiveContent.group_optional.announcedAttribute := {"maxNrOfMembers"};	//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.group_.maxNrOfMembers := maxNrOfMembers;
+						v_createRequest.primitiveContent.group_.announcedAttribute := {"maxNrOfMembers"};	//Correct value? Shall be indicated in TP?
 		
 						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int9, v_createRequest, mw_createGroupAnncBase());//Group
 						
 						if(getverdict == pass){
 							//Check if maxNrOfMembers attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.groupAnnc_optional.maxNrOfMembers)){
-								if(v_requestPrimitive.primitiveContent.groupAnnc_optional.maxNrOfMembers != maxNrOfMembers){
+							if (ispresent(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers)){
+								if(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers != maxNrOfMembers){
 									setverdict(fail, testcasename() & ": Error: Value of maxNrOfMembers has not been announced successfully");
 								}else{
 									setverdict(pass, testcasename() & ": Value of maxNrOfMembers has been announced successfully");
@@ -3912,16 +3912,16 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_requestPrimitive;
 						var LocationSource locationSource := int1;//Network-based		//Correct value? Shall be indicated in TP?
 		
-						v_createRequest.primitiveContent.locationPolicy_optional.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.locationPolicy_optional.locationSource := locationSource;
-						v_createRequest.primitiveContent.locationPolicy_optional.announcedAttribute := {"locationSource"};		//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.locationPolicy.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.locationPolicy.locationSource := locationSource;
+						v_createRequest.primitiveContent.locationPolicy.announcedAttribute := {"locationSource"};		//Correct value? Shall be indicated in TP?
 		
 						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int10, v_createRequest, mw_createLocationPolicyAnncBase());//LocationPolicy
 						
 						if(getverdict == pass){
 							//Check if locationSource attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.locationPolicyAnnc_optional.locationSource)){
-								if(v_requestPrimitive.primitiveContent.locationPolicyAnnc_optional.locationSource != locationSource){
+							if (ispresent(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource)){
+								if(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource != locationSource){
 									setverdict(fail, testcasename() & ": Error: Value of locationSource has not been announced successfully");
 								}else{
 									setverdict(pass, testcasename() & ": Value of locationSource has been announced successfully");
@@ -3938,16 +3938,16 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.String description := "Description of mgmtObj";	//Correct value? Shall be indicated in TP?
 		
-						v_createRequest.primitiveContent.mgmtResource_optional.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.mgmtResource_optional.description := description;			
-						v_createRequest.primitiveContent.mgmtResource_optional.announcedAttribute := {"description"};			//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.mgmtResource.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.mgmtResource.description := description;			
+						v_createRequest.primitiveContent.mgmtResource.announcedAttribute := {"description"};			//Correct value? Shall be indicated in TP?
 
 						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int13, v_createRequest, mw_createMgmtObjAnncBase());//MgmtObj
 						
 						if(getverdict == pass){
 							//Check if description attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource_optional.description)){
-								if(v_requestPrimitive.primitiveContent.announcedMgmtResource_optional.description != description){
+							if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource.description)){
+								if(v_requestPrimitive.primitiveContent.announcedMgmtResource.description != description){
 									setverdict(fail, testcasename() & ": Error: Value of description has not been announced successfully");
 								}else{
 									setverdict(pass, testcasename() & ": Value of description has been announced successfully");
@@ -3963,7 +3963,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createNodeBase;
 						var RequestPrimitive v_requestPrimitive;
 		
-						v_createRequest.primitiveContent.node_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.node.announceTo := {f_getAnnouncementTargetPoA()};
 						
 						//TODO node to be done. hostedCSELink attribute (OA) to be added!!!
 		
@@ -3976,16 +3976,16 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_requestPrimitive;
 						var ScheduleEntries scheduleElement := {{"0,0,0 1 2,1,1,*"}};
 		
-						v_createRequest.primitiveContent.schedule_optional.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.schedule_optional.scheduleElement := scheduleElement;			//Correct value? Shall be indicated in TP?
-						v_createRequest.primitiveContent.schedule_optional.announcedAttribute := {"scheduleElement"};			//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.schedule.scheduleElement := scheduleElement;			//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.schedule.announcedAttribute := {"scheduleElement"};			//Correct value? Shall be indicated in TP?
 						
 						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int18, v_createRequest, mw_createScheduleAnncBase());//Schedule
 						
 						if(getverdict == pass){
 							//Check if scheduleElement attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.scheduleAnnc_optional.scheduleElement)){
-								if(v_requestPrimitive.primitiveContent.scheduleAnnc_optional.scheduleElement != scheduleElement){
+							if (ispresent(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement)){
+								if(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement != scheduleElement){
 									setverdict(fail, testcasename() & ": Error: Value of scheduleElement has not been announced successfully");
 								}else{
 									setverdict(pass, testcasename() & ": Value of scheduleElement has been announced successfully");
@@ -4065,7 +4065,7 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container_optional := mw_contentContainer_rc1;
+						v_contentResponse.container := mw_contentContainer_rc1;
 						    
 						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int3, m_createContainerBase, v_contentResponse);//Container
 						
@@ -4076,7 +4076,7 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_optional := mw_contentGroup_rc1;
+						v_contentResponse.group_ := mw_contentGroup_rc1;
                         
 						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int9, m_createGroupBase, v_contentResponse);//Group
 						
@@ -4087,7 +4087,7 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc1;
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
 							
 						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 						
@@ -4098,7 +4098,7 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule_optional := mw_contentSchedule_rc1;
+						v_contentResponse.schedule := mw_contentSchedule_rc1;
 						
 						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int18, m_createScheduleBase, v_contentResponse);//Schedule
 						
@@ -4109,7 +4109,7 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.pollingChannel_optional := mw_contentPollingChannelBase;
+						v_contentResponse.pollingChannel := mw_contentPollingChannelBase;
 						
 						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 						
@@ -4120,7 +4120,7 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription_optional := mw_contentSubscription_rc1;
+						v_contentResponse.subscription := mw_contentSubscription_rc1;
 						
 						v_responsePrimitive := f_CSE_DMR_RET_BV_001(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					
@@ -4265,7 +4265,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template RequestPrimitive v_requestPrimitive := m_createAcpBase;
 						
-						v_requestPrimitive.primitiveContent.accessControlPolicy_optional.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
+						v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
 						
 						f_CSE_DMR_RET_BO_003(int1, v_requestPrimitive);//AccessControlPolicy
 					}
@@ -4361,8 +4361,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container_optional := m_contentContainer_allOmit;
-						v_contentResponse.container_optional.parentID := ?;
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
                         
 						f_CSE_DMR_RET_BV_004(int3, m_createContainerBase, v_contentResponse);//Container
 					}
@@ -4371,8 +4371,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_optional := m_contentGroup_allOmit;
-						v_contentResponse.group_optional.parentID := ?;
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
 												
 						f_CSE_DMR_RET_BV_004(int9, m_createGroupBase, v_contentResponse);//Group
 					}
@@ -4381,8 +4381,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy_optional := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy_optional.parentID := ?;
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_004(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
@@ -4391,8 +4391,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule_optional := m_contentSchedule_allOmit;
-						v_contentResponse.schedule_optional.parentID := ?;
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_004(int18, m_createScheduleBase,v_contentResponse);//Schedule
 					}
@@ -4401,8 +4401,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.pollingChannel_optional := m_contentPollingChannel_allOmit;
-						v_contentResponse.pollingChannel_optional.parentID := ?;
+						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_004(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 					}
@@ -4411,8 +4411,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription_optional := m_contentSubscription_allOmit;
-						v_contentResponse.subscription_optional.parentID := ?;
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_004(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					}
@@ -4481,8 +4481,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container_optional := m_contentContainer_allOmit;
-						v_contentResponse.container_optional.parentID := ?;
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
 						                       
 						f_CSE_DMR_RET_BV_005(int3, m_createContainerBase, v_contentResponse);//Container
 					}
@@ -4491,8 +4491,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_optional := m_contentGroup_allOmit;
-						v_contentResponse.group_optional.parentID := ?;
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
 																		
 						f_CSE_DMR_RET_BV_005(int9, m_createGroupBase, v_contentResponse);//Group
 					}
@@ -4501,8 +4501,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy_optional := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy_optional.parentID := ?;
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_005(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
@@ -4511,8 +4511,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule_optional := m_contentSchedule_allOmit;
-						v_contentResponse.schedule_optional.parentID := ?;
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
 								
 						f_CSE_DMR_RET_BV_005(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
@@ -4521,8 +4521,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.pollingChannel_optional := m_contentPollingChannel_allOmit;
-						v_contentResponse.pollingChannel_optional.parentID := ?;
+						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel.parentID := ?;
 								
 						f_CSE_DMR_RET_BV_005(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 					}
@@ -4531,8 +4531,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription_optional := m_contentSubscription_allOmit;
-						v_contentResponse.subscription_optional.parentID := ?;
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
 								
 						f_CSE_DMR_RET_BV_005(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 						}
@@ -4601,9 +4601,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container_optional := m_contentContainer_allOmit;
-						v_contentResponse.container_optional.parentID := ?;
-						v_contentResponse.container_optional.creationTime := ?;
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
+						v_contentResponse.container.creationTime := ?;
                         
 						f_CSE_DMR_RET_BV_006(int3, m_createContainerBase, v_contentResponse);//Container
 					}
@@ -4612,9 +4612,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_optional := m_contentGroup_allOmit;
-						v_contentResponse.group_optional.parentID := ?;
-						v_contentResponse.group_optional.creationTime := ?;
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
+						v_contentResponse.group_.creationTime := ?;
 												
 						f_CSE_DMR_RET_BV_006(int9, m_createGroupBase, v_contentResponse);//Group
 					}
@@ -4623,9 +4623,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy_optional := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy_optional.parentID := ?;
-						v_contentResponse.accessControlPolicy_optional.creationTime := ?;
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
+						v_contentResponse.accessControlPolicy.creationTime := ?;
 							
 						f_CSE_DMR_RET_BV_006(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
@@ -4634,9 +4634,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule_optional := m_contentSchedule_allOmit;
-						v_contentResponse.schedule_optional.parentID := ?;
-						v_contentResponse.schedule_optional.creationTime := ?;
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
+						v_contentResponse.schedule.creationTime := ?;
 							
 						f_CSE_DMR_RET_BV_006(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
@@ -4645,9 +4645,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.pollingChannel_optional := m_contentPollingChannel_allOmit;
-						v_contentResponse.pollingChannel_optional.parentID := ?;
-						v_contentResponse.pollingChannel_optional.creationTime := ?;
+						v_contentResponse.pollingChannel := m_contentPollingChannel_allOmit;
+						v_contentResponse.pollingChannel.parentID := ?;
+						v_contentResponse.pollingChannel.creationTime := ?;
 							
 						f_CSE_DMR_RET_BV_006(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
 					}
@@ -4656,9 +4656,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription_optional := m_contentSubscription_allOmit;
-						v_contentResponse.subscription_optional.parentID := ?;
-						v_contentResponse.subscription_optional.creationTime := ?;
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
+						v_contentResponse.subscription.creationTime := ?;
 							
 						f_CSE_DMR_RET_BV_006(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 						}
@@ -4993,8 +4993,8 @@ module OneM2M_Testcases {
 						
 						v_contentInstanceIndex2 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);  
 						
-						v_contentResponse.contentInstance_optional := mw_contentContentInstanceBase;
-						v_contentResponse.contentInstance_optional.resourceName := vc_resourcesList[v_contentInstanceIndex1].resource.contentInstance_optional.resourceName;
+						v_contentResponse.contentInstance := mw_contentContentInstanceBase;
+						v_contentResponse.contentInstance.resourceName := vc_resourcesList[v_contentInstanceIndex1].resource.contentInstance.resourceName;
     									
 						// Test Body
 						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex) & "/" & c_resourceShortNameOldest, f_getOriginator(v_containerIndex))));
@@ -5108,8 +5108,8 @@ module OneM2M_Testcases {
 						
 						v_contentInstanceIndex2 := f_cse_createResource(int4, m_createContentInstance_noResourceName, v_containerIndex);  
 						
-						v_contentResponse.contentInstance_optional := mw_contentContentInstanceBase;
-						v_contentResponse.contentInstance_optional.resourceName := vc_resourcesList[v_contentInstanceIndex2].resource.contentInstance_optional.resourceName;
+						v_contentResponse.contentInstance := mw_contentContentInstanceBase;
+						v_contentResponse.contentInstance.resourceName := vc_resourcesList[v_contentInstanceIndex2].resource.contentInstance.resourceName;
 						 
     					
 						// Test Body
@@ -5150,7 +5150,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc1;
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
 							
 						f_CSE_DMR_RET_BV_013(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 						
@@ -5160,7 +5160,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.aE_optional := mw_contentAeBase;
+						v_contentResponse.aE := mw_contentAeBase;
 							
 						f_CSE_DMR_RET_BV_013(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
 						
@@ -5170,7 +5170,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container_optional := mw_contentContainer_rc1;
+						v_contentResponse.container := mw_contentContainer_rc1;
 						    
 						f_CSE_DMR_RET_BV_013(int3, m_createContainerBase, v_contentResponse);//Container
 						
@@ -5180,7 +5180,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_optional := mw_contentGroup_rc1;
+						v_contentResponse.group_ := mw_contentGroup_rc1;
                         
 						f_CSE_DMR_RET_BV_013(int9, m_createGroupBase, v_contentResponse);//Group
 						
@@ -5190,7 +5190,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.remoteCSE_optional := mw_contentRemoteCSEBase;
+						v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
 							
 						f_CSE_DMR_RET_BV_013(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
 						
@@ -5200,7 +5200,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule_optional := mw_contentSchedule_rc1;
+						v_contentResponse.schedule := mw_contentSchedule_rc1;
 						
 						f_CSE_DMR_RET_BV_013(int18, m_createScheduleBase, v_contentResponse);//Schedule
 						
@@ -5210,7 +5210,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription_optional := mw_contentSubscription_rc1;
+						v_contentResponse.subscription := mw_contentSubscription_rc1;
 						
 						f_CSE_DMR_RET_BV_013(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					
@@ -5286,7 +5286,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template RequestPrimitive v_requestPrimitive := m_createAcpBase;
 						
-						v_requestPrimitive.primitiveContent.accessControlPolicy_optional.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
+						v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
 						
 						f_CSE_DMR_RET_BO_014(int1, v_requestPrimitive);//AccessControlPolicy
 					}
@@ -5393,8 +5393,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy_optional := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy_optional.parentID := ?;
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_015(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
@@ -5403,8 +5403,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.aE_optional := m_contentAe_allOmit;
-						v_contentResponse.aE_optional.parentID := ?;
+						v_contentResponse.aE := m_contentAe_allOmit;
+						v_contentResponse.aE.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_015(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
 					}
@@ -5413,8 +5413,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container_optional := m_contentContainer_allOmit;
-						v_contentResponse.container_optional.parentID := ?;
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
                         
 						f_CSE_DMR_RET_BV_015(int3, m_createContainerBase, v_contentResponse);//Container
 					}
@@ -5423,8 +5423,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_optional := m_contentGroup_allOmit;
-						v_contentResponse.group_optional.parentID := ?;
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
 												
 						f_CSE_DMR_RET_BV_015(int9, m_createGroupBase, v_contentResponse);//Group
 					}
@@ -5433,8 +5433,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 
-						v_contentResponse.remoteCSE_optional := m_contentRemoteCSE_allOmit;
-						v_contentResponse.remoteCSE_optional.parentID := ?;
+						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
+						v_contentResponse.remoteCSE.parentID := ?;
 		
 						f_CSE_DMR_RET_BV_015(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
 					}
@@ -5443,8 +5443,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule_optional := m_contentSchedule_allOmit;
-						v_contentResponse.schedule_optional.parentID := ?;
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_015(int18, m_createScheduleBase,v_contentResponse);//Schedule
 					}
@@ -5453,8 +5453,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription_optional := m_contentSubscription_allOmit;
-						v_contentResponse.subscription_optional.parentID := ?;
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_015(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 					}
@@ -5529,8 +5529,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy_optional := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy_optional.parentID := ?;
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
 							
 						f_CSE_DMR_RET_BV_016(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
@@ -5539,8 +5539,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.aE_optional := m_contentAe_allOmit;
-						v_contentResponse.aE_optional.parentID := ?;
+						v_contentResponse.aE := m_contentAe_allOmit;
+						v_contentResponse.aE.parentID := ?;
 								
 						f_CSE_DMR_RET_BV_016(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
 					}
@@ -5549,8 +5549,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container_optional := m_contentContainer_allOmit;
-						v_contentResponse.container_optional.parentID := ?;
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
 						                       
 						f_CSE_DMR_RET_BV_016(int3, m_createContainerBase, v_contentResponse);//Container
 					}
@@ -5559,8 +5559,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_optional := m_contentGroup_allOmit;
-						v_contentResponse.group_optional.parentID := ?;
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
 																		
 						f_CSE_DMR_RET_BV_016(int9, m_createGroupBase, v_contentResponse);//Group
 					}
@@ -5569,8 +5569,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.remoteCSE_optional := m_contentRemoteCSE_allOmit;
-						v_contentResponse.remoteCSE_optional.parentID := ?;
+						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
+						v_contentResponse.remoteCSE.parentID := ?;
 								
 						f_CSE_DMR_RET_BV_016(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
 					}
@@ -5579,8 +5579,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule_optional := m_contentSchedule_allOmit;
-						v_contentResponse.schedule_optional.parentID := ?;
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
 								
 						f_CSE_DMR_RET_BV_016(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
@@ -5589,8 +5589,8 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription_optional := m_contentSubscription_allOmit;
-						v_contentResponse.subscription_optional.parentID := ?;
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
 								
 						f_CSE_DMR_RET_BV_016(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 						}
@@ -5664,9 +5664,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.accessControlPolicy_optional := m_contentAcp_allOmit;
-						v_contentResponse.accessControlPolicy_optional.parentID := ?;
-						v_contentResponse.accessControlPolicy_optional.creationTime := ?;
+						v_contentResponse.accessControlPolicy := m_contentAcp_allOmit;
+						v_contentResponse.accessControlPolicy.parentID := ?;
+						v_contentResponse.accessControlPolicy.creationTime := ?;
 							
 						f_CSE_DMR_RET_BV_017(int1, m_createAcpBase, v_contentResponse);//AccessControlPolicy
 					}
@@ -5675,9 +5675,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.aE_optional := m_contentAe_allOmit;
-						v_contentResponse.aE_optional.parentID := ?;
-						v_contentResponse.aE_optional.creationTime := ?;
+						v_contentResponse.aE := m_contentAe_allOmit;
+						v_contentResponse.aE.parentID := ?;
+						v_contentResponse.aE.creationTime := ?;
 							
 						f_CSE_DMR_RET_BV_017(int2, m_createAe(PX_APP_ID), v_contentResponse);//AE
 					}
@@ -5686,9 +5686,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.container_optional := m_contentContainer_allOmit;
-						v_contentResponse.container_optional.parentID := ?;
-						v_contentResponse.container_optional.creationTime := ?;
+						v_contentResponse.container := m_contentContainer_allOmit;
+						v_contentResponse.container.parentID := ?;
+						v_contentResponse.container.creationTime := ?;
                         
 						f_CSE_DMR_RET_BV_017(int3, m_createContainerBase, v_contentResponse);//Container
 					}
@@ -5697,9 +5697,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.group_optional := m_contentGroup_allOmit;
-						v_contentResponse.group_optional.parentID := ?;
-						v_contentResponse.group_optional.creationTime := ?;
+						v_contentResponse.group_ := m_contentGroup_allOmit;
+						v_contentResponse.group_.parentID := ?;
+						v_contentResponse.group_.creationTime := ?;
 												
 						f_CSE_DMR_RET_BV_017(int9, m_createGroupBase, v_contentResponse);//Group
 					}
@@ -5708,9 +5708,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 
-						v_contentResponse.remoteCSE_optional := m_contentRemoteCSE_allOmit;
-						v_contentResponse.remoteCSE_optional.parentID := ?;
-						v_contentResponse.remoteCSE_optional.creationTime := ?;
+						v_contentResponse.remoteCSE := m_contentRemoteCSE_allOmit;
+						v_contentResponse.remoteCSE.parentID := ?;
+						v_contentResponse.remoteCSE.creationTime := ?;
 		
 						f_CSE_DMR_RET_BV_017(int16, m_createRemoteCSEBase, v_contentResponse);//RemoteCSE
 					}
@@ -5719,9 +5719,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.schedule_optional := m_contentSchedule_allOmit;
-						v_contentResponse.schedule_optional.parentID := ?;
-						v_contentResponse.schedule_optional.creationTime := ?;
+						v_contentResponse.schedule := m_contentSchedule_allOmit;
+						v_contentResponse.schedule.parentID := ?;
+						v_contentResponse.schedule.creationTime := ?;
 							
 						f_CSE_DMR_RET_BV_017(int18, m_createScheduleBase, v_contentResponse);//Schedule
 					}
@@ -5730,9 +5730,9 @@ module OneM2M_Testcases {
 						// Local variables
 						var template PrimitiveContent v_contentResponse;
 					
-						v_contentResponse.subscription_optional := m_contentSubscription_allOmit;
-						v_contentResponse.subscription_optional.parentID := ?;
-						v_contentResponse.subscription_optional.creationTime := ?;
+						v_contentResponse.subscription := m_contentSubscription_allOmit;
+						v_contentResponse.subscription.parentID := ?;
+						v_contentResponse.subscription.creationTime := ?;
 							
 						f_CSE_DMR_RET_BV_017(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
 						}
@@ -6029,8 +6029,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						
-						v_createRequest.primitiveContent.container_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.container_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.container.labels := v_labels_1;
+						v_updateRequest.primitiveContent.container.labels := v_labels_2;
 						
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int3, v_createRequest, v_updateRequest);//Container
 						
@@ -6038,8 +6038,8 @@ module OneM2M_Testcases {
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.container_optional)) {
-        							if(v_responsePrimitive.primitiveContent.container_optional.labels != v_labels_2){
+								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
+        							if(v_responsePrimitive.primitiveContent.container.labels != v_labels_2){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6055,16 +6055,16 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_createRequest.primitiveContent.group_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.group_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.group_.labels := v_labels_1;
+						v_updateRequest.primitiveContent.group_.labels := v_labels_2;
 
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int9, v_createRequest, v_updateRequest);//Group
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.group_optional)) {
-									if(v_responsePrimitive.primitiveContent.group_optional.labels != v_labels_2){
+								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
+									if(v_responsePrimitive.primitiveContent.group_.labels != v_labels_2){
 										setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
 									}
 								}
@@ -6080,16 +6080,16 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_createRequest.primitiveContent.accessControlPolicy_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.accessControlPolicy_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
+						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2;
 
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int1, v_createRequest, v_updateRequest);//ACP
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy_optional)) {
-									if(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.labels != v_labels_2){
+								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
+									if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels_2){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6106,16 +6106,16 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_createRequest.primitiveContent.schedule_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.schedule_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.schedule.labels := v_labels_1;
+						v_updateRequest.primitiveContent.schedule.labels := v_labels_2;
 
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int18, v_createRequest, v_updateRequest);//Schedule
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.schedule_optional)) {
-									if(v_responsePrimitive.primitiveContent.schedule_optional.labels != v_labels_2){
+								if(ischosen(v_responsePrimitive.primitiveContent.schedule)) {
+									if(v_responsePrimitive.primitiveContent.schedule.labels != v_labels_2){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6132,16 +6132,16 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_createRequest.primitiveContent.pollingChannel_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.pollingChannel_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1;
+						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2;
 
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int15, v_createRequest, v_updateRequest);//PollingChannel
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel_optional)) {
-        							if(v_responsePrimitive.primitiveContent.pollingChannel_optional.labels != v_labels_2){
+								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) {
+        							if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_2){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6157,16 +6157,16 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_createRequest.primitiveContent.subscription_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.subscription_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.subscription.labels := v_labels_1;
+						v_updateRequest.primitiveContent.subscription.labels := v_labels_2;
 
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_001(int23, v_createRequest, v_updateRequest);//Subscription
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.subscription_optional)) {
-									if(v_responsePrimitive.primitiveContent.subscription_optional.labels != v_labels_2){
+								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
+									if(v_responsePrimitive.primitiveContent.subscription.labels != v_labels_2){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6238,15 +6238,15 @@ module OneM2M_Testcases {
                         var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
                         
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int3, m_createContainerBase, v_updateRequest);//Container
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.container_optional)) {
-        							if(v_responsePrimitive.primitiveContent.container_optional.labels != v_labels_1){
+								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
+        							if(v_responsePrimitive.primitiveContent.container.labels != v_labels_1){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6260,15 +6260,15 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_updateRequest.primitiveContent.group_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.group_.labels := v_labels_1;
 						
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int9, m_createGroupBase, v_updateRequest);//Group
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.group_optional)) {
-        							if(v_responsePrimitive.primitiveContent.group_optional.labels != v_labels_1){
+								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
+        							if(v_responsePrimitive.primitiveContent.group_.labels != v_labels_1){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6282,15 +6282,15 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_updateRequest.primitiveContent.accessControlPolicy_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
 							
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int1, m_createAcpBase,v_updateRequest);//AccessControlPolicy
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy_optional)) {
-        							if(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.labels != v_labels_1){
+								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
+        							if(v_responsePrimitive.primitiveContent.accessControlPolicy.labels != v_labels_1){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6304,15 +6304,15 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_updateRequest.primitiveContent.schedule_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.schedule.labels := v_labels_1;
 						
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int18, m_createScheduleBase,v_updateRequest);//Schedule
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.schedule_optional)) {
-        							if(v_responsePrimitive.primitiveContent.schedule_optional.labels != v_labels_1){
+								if(ischosen(v_responsePrimitive.primitiveContent.schedule)) {
+        							if(v_responsePrimitive.primitiveContent.schedule.labels != v_labels_1){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6326,15 +6326,15 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_updateRequest.primitiveContent.pollingChannel_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1;
 						
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int15, m_createPollingChannelBase,v_updateRequest);//PollingChannel
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel_optional)) {
-        							if(v_responsePrimitive.primitiveContent.pollingChannel_optional.labels != v_labels_1){
+								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) {
+        							if(v_responsePrimitive.primitiveContent.pollingChannel.labels != v_labels_1){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6348,15 +6348,15 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 
-						v_updateRequest.primitiveContent.subscription_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.subscription.labels := v_labels_1;
 						
 						v_responsePrimitive := f_CSE_DMR_UPD_BV_002(int23, m_createSubscriptionBase,v_updateRequest);//Subscription
 						
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.subscription_optional)) {
-        							if(v_responsePrimitive.primitiveContent.subscription_optional.labels != v_labels_1){
+								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
+        							if(v_responsePrimitive.primitiveContent.subscription.labels != v_labels_1){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
         							}
 								}
@@ -6430,8 +6430,8 @@ module OneM2M_Testcases {
                         var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						
-						v_createRequest.primitiveContent.container_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.container_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.container.labels := v_labels_1;
+						v_updateRequest.primitiveContent.container.labels := v_labels_2;
 						
 						v_nullFields := {{"labels", omit}};
                         
@@ -6440,9 +6440,9 @@ module OneM2M_Testcases {
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.container_optional)) {
-        							if(ispresent(v_responsePrimitive.primitiveContent.container_optional.labels)){ 
-        								if(not(match(v_responsePrimitive.primitiveContent.container_optional.labels,{""}))) {
+								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
+        							if(ispresent(v_responsePrimitive.primitiveContent.container.labels)){ 
+        								if(not(match(v_responsePrimitive.primitiveContent.container.labels,{""}))) {
         									setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly");
         								}
         							}
@@ -6460,8 +6460,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 
-						v_createRequest.primitiveContent.group_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.group_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.group_.labels := v_labels_1;
+						v_updateRequest.primitiveContent.group_.labels := v_labels_2;
 						
 						v_nullFields := {{"labels", omit}};
 						
@@ -6470,8 +6470,8 @@ module OneM2M_Testcases {
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.group_optional)) {
-        							if(ispresent(v_responsePrimitive.primitiveContent.group_optional.labels)){
+								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
+        							if(ispresent(v_responsePrimitive.primitiveContent.group_.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6488,8 +6488,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 
-						v_createRequest.primitiveContent.accessControlPolicy_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.accessControlPolicy_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
+						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2;
 						
 						v_nullFields := {{"labels", omit}};
 							
@@ -6498,8 +6498,8 @@ module OneM2M_Testcases {
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy_optional)) {
-        							if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.labels)){
+								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
+        							if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6516,8 +6516,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 
-						v_createRequest.primitiveContent.schedule_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.schedule_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.schedule.labels := v_labels_1;
+						v_updateRequest.primitiveContent.schedule.labels := v_labels_2;
 						
 						v_nullFields := {{"labels", omit}};
 						
@@ -6526,8 +6526,8 @@ module OneM2M_Testcases {
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.schedule_optional)) {
-        							if(ispresent(v_responsePrimitive.primitiveContent.schedule_optional.labels)){
+								if(ischosen(v_responsePrimitive.primitiveContent.schedule)) {
+        							if(ispresent(v_responsePrimitive.primitiveContent.schedule.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6544,8 +6544,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 
-						v_createRequest.primitiveContent.pollingChannel_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.pollingChannel_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1;
+						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2;
 						
 						v_nullFields := {{"labels", omit}};
 						
@@ -6554,8 +6554,8 @@ module OneM2M_Testcases {
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel_optional)) {
-        							if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel_optional.labels)){
+								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) {
+        							if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6572,8 +6572,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 
-						v_createRequest.primitiveContent.subscription_optional.labels := v_labels_1;
-						v_updateRequest.primitiveContent.subscription_optional.labels := v_labels_2;
+						v_createRequest.primitiveContent.subscription.labels := v_labels_1;
+						v_updateRequest.primitiveContent.subscription.labels := v_labels_2;
 						
 						v_nullFields := {{"labels", omit}};
 						
@@ -6582,8 +6582,8 @@ module OneM2M_Testcases {
 						if(getverdict == pass){
 							//Check attribute 1
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.subscription_optional)) {
-        							if(ispresent(v_responsePrimitive.primitiveContent.subscription_optional.labels)){
+								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
+        							if(ispresent(v_responsePrimitive.primitiveContent.subscription.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6659,10 +6659,10 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var AttributeAux_list v_nullFields;
 
-						v_createRequest.primitiveContent.container_optional.labels := v_labels_1;//Attribute 3
-						v_updateRequest.primitiveContent.container_optional.expirationTime := "20301231T012345";//Attribute 1
-						v_updateRequest.primitiveContent.container_optional.maxNrOfInstances := 5;//Attribute 2
-						v_updateRequest.primitiveContent.container_optional.labels := v_labels_2;//Attribute 3
+						v_createRequest.primitiveContent.container.labels := v_labels_1;//Attribute 3
+						v_updateRequest.primitiveContent.container.expirationTime := "20301231T012345";//Attribute 1
+						v_updateRequest.primitiveContent.container.maxNrOfInstances := 5;//Attribute 2
+						v_updateRequest.primitiveContent.container.labels := v_labels_2;//Attribute 3
 						
 						v_nullFields := {{"labels", omit}};
 						
@@ -6670,17 +6670,17 @@ module OneM2M_Testcases {
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.container_optional)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.container)) {
         							//Check attribute 1
-        							if(v_responsePrimitive.primitiveContent.container_optional.expirationTime != valueof(v_updateRequest.primitiveContent.container_optional.expirationTime)){
+        							if(v_responsePrimitive.primitiveContent.container.expirationTime != valueof(v_updateRequest.primitiveContent.container.expirationTime)){
         								setverdict(fail, testcasename() & ": Error: Expiration Time attribute not updated correctly")
         							}
         							//Check attribute 2
-        							if(v_responsePrimitive.primitiveContent.container_optional.maxNrOfInstances != valueof(v_updateRequest.primitiveContent.container_optional.maxNrOfInstances)){
+        							if(v_responsePrimitive.primitiveContent.container.maxNrOfInstances != valueof(v_updateRequest.primitiveContent.container.maxNrOfInstances)){
         								setverdict(fail, testcasename() & ": Error: MaxNrOfInstances attribute not updated correctly")
         							}
         							//Check attribute 3
-        							if(ispresent(v_responsePrimitive.primitiveContent.container_optional.labels)){
+        							if(ispresent(v_responsePrimitive.primitiveContent.container.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6699,10 +6699,10 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 						var ResponsePrimitive v_responsePrimitive;
 												
-						v_createRequest.primitiveContent.group_optional.labels := v_labels_1;//Attribute 3
-						v_updateRequest.primitiveContent.group_optional.expirationTime := "20301231T012345";//Attribute 1
-						v_updateRequest.primitiveContent.group_optional.groupName:= v_groupName_1;//Attribute 2
-						v_updateRequest.primitiveContent.group_optional.labels := v_labels_2;//Attribute 3
+						v_createRequest.primitiveContent.group_.labels := v_labels_1;//Attribute 3
+						v_updateRequest.primitiveContent.group_.expirationTime := "20301231T012345";//Attribute 1
+						v_updateRequest.primitiveContent.group_.groupName:= v_groupName_1;//Attribute 2
+						v_updateRequest.primitiveContent.group_.labels := v_labels_2;//Attribute 3
 						
 						v_nullFields := {{"labels", omit}};
                         
@@ -6710,17 +6710,17 @@ module OneM2M_Testcases {
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.group_optional)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.group_)) {
         							//Check attribute 1
-        							if(not match(v_responsePrimitive.primitiveContent.group_optional.groupName, valueof(v_updateRequest.primitiveContent.group_optional.groupName))){
+        							if(not match(v_responsePrimitive.primitiveContent.group_.groupName, valueof(v_updateRequest.primitiveContent.group_.groupName))){
         								setverdict(fail, testcasename() & ": Error: groupName attribute not updated correctly")
         							}
         							//Check attribute 2
-        							if(not match(v_responsePrimitive.primitiveContent.group_optional.expirationTime, valueof(v_updateRequest.primitiveContent.group_optional.expirationTime))){
+        							if(not match(v_responsePrimitive.primitiveContent.group_.expirationTime, valueof(v_updateRequest.primitiveContent.group_.expirationTime))){
         								setverdict(fail, testcasename() & ": Error: expirationTime attribute not updated correctly")
         							}
         							//Check attribute 3
-        							if(ispresent(v_responsePrimitive.primitiveContent.group_optional.labels)){
+        							if(ispresent(v_responsePrimitive.primitiveContent.group_.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6748,10 +6748,10 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.accessControlPolicy_optional.labels := v_labels_1;//Attribute 3
-						v_updateRequest.primitiveContent.accessControlPolicy_optional.privileges := v_privileges_2; //Attribute 1
-						v_updateRequest.primitiveContent.accessControlPolicy_optional.announceTo := {f_getAnnouncementTargetPoA()};//Attribute 2
-						v_updateRequest.primitiveContent.accessControlPolicy_optional.labels := v_labels_2;//Attribute 3
+						v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;//Attribute 3
+						v_updateRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_2; //Attribute 1
+						v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {f_getAnnouncementTargetPoA()};//Attribute 2
+						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2;//Attribute 3
 						
 						v_nullFields := {{"labels", omit}};
       							
@@ -6759,17 +6759,17 @@ module OneM2M_Testcases {
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy_optional)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.accessControlPolicy)) {
         							//Check attribute 1
-        							if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.privileges.accessControlRule_list[0].accessControlOperations, v_privileges_2.accessControlRule_list[0].accessControlOperations)){
+        							if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy.privileges.accessControlRule_list[0].accessControlOperations, v_privileges_2.accessControlRule_list[0].accessControlOperations)){
         								setverdict(fail, testcasename() & ": Error: Privileges attribute not updated correctly")
         							}
         							//Check attribute 2
-        							if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.announceTo, valueof(v_updateRequest.primitiveContent.accessControlPolicy_optional.announceTo))){
+        							if(not match(v_responsePrimitive.primitiveContent.accessControlPolicy.announceTo, valueof(v_updateRequest.primitiveContent.accessControlPolicy.announceTo))){
         								setverdict(fail, testcasename() & ": Error: Announce_to attribute not updated correctly")
         							}
         							//Check attribute 3
-        							if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy_optional.labels)){
+        							if(ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6786,10 +6786,10 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.schedule_optional.scheduleElement := {{"0,0,0 1 2,1,1,*"}};//Attribute 1
-						v_updateRequest.primitiveContent.schedule_optional.scheduleElement := {{"1,1,1 1 2,1,1,*"}}; //Attribute 1
-						v_updateRequest.primitiveContent.schedule_optional.announceTo := {f_getAnnouncementTargetPoA()};//Attribute 2
-						v_updateRequest.primitiveContent.schedule_optional.labels := v_labels_2;//Attribute 3
+						v_createRequest.primitiveContent.schedule.scheduleElement := {{"0,0,0 1 2,1,1,*"}};//Attribute 1
+						v_updateRequest.primitiveContent.schedule.scheduleElement := {{"1,1,1 1 2,1,1,*"}}; //Attribute 1
+						v_updateRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};//Attribute 2
+						v_updateRequest.primitiveContent.schedule.labels := v_labels_2;//Attribute 3
                 						
 						v_nullFields := {{"labels", omit}};
 						
@@ -6797,17 +6797,17 @@ module OneM2M_Testcases {
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.schedule_optional)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.schedule)) {
         							//Check attribute 1
-        							if(v_responsePrimitive.primitiveContent.schedule_optional.scheduleElement != valueof(v_updateRequest.primitiveContent.schedule_optional.scheduleElement)){
+        							if(v_responsePrimitive.primitiveContent.schedule.scheduleElement != valueof(v_updateRequest.primitiveContent.schedule.scheduleElement)){
         								setverdict(fail, testcasename() & ": Error: Expiration Time attribute not updated correctly")
         							}
         							//Check attribute 2
-        							if(v_responsePrimitive.primitiveContent.schedule_optional.announceTo != valueof(v_updateRequest.primitiveContent.schedule_optional.announceTo)){
+        							if(v_responsePrimitive.primitiveContent.schedule.announceTo != valueof(v_updateRequest.primitiveContent.schedule.announceTo)){
         								setverdict(fail, testcasename() & ": Error: MaxNrOfInstances attribute not updated correctly")
         							}
         							//Check attribute 3
-        							if(ispresent(v_responsePrimitive.primitiveContent.schedule_optional.labels)){
+        							if(ispresent(v_responsePrimitive.primitiveContent.schedule.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6825,10 +6825,10 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.pollingChannel_optional.labels := v_labels_1;//Attribute 3
+						v_createRequest.primitiveContent.pollingChannel.labels := v_labels_1;//Attribute 3
 						//No Attribute 1
-						//v_updateRequest.primitiveContent.pollingChannel_optional.accessControlPolicyIDs := v_acp;//Attribute 2 TODO Find another alternative for Attribute 2
-						v_updateRequest.primitiveContent.pollingChannel_optional.labels := v_labels_2;//Attribute 3
+						//v_updateRequest.primitiveContent.pollingChannel.accessControlPolicyIDs := v_acp;//Attribute 2 TODO Find another alternative for Attribute 2
+						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_2;//Attribute 3
 						
 						v_nullFields := {{"labels", omit}};
       						
@@ -6836,15 +6836,15 @@ module OneM2M_Testcases {
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel_optional)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.pollingChannel)) {
         							//Check attribute 1
         							
         							//Check attribute 2 TODO once another alternative is found, activate this checking
-        							/*if(not match(v_responsePrimitive.primitiveContent.pollingChannel_optional.accessControlPolicyIDs, valueof(v_updateRequest.primitiveContent.pollingChannel_optional.accessControlPolicyIDs))){
+        							/*if(not match(v_responsePrimitive.primitiveContent.pollingChannel.accessControlPolicyIDs, valueof(v_updateRequest.primitiveContent.pollingChannel.accessControlPolicyIDs))){
         								setverdict(fail, testcasename() & ": Error: ACPI attribute not added correctly")
         							}*/
         							//Check attribute 3
-        							if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel_optional.labels)){
+        							if(ispresent(v_responsePrimitive.primitiveContent.pollingChannel.labels)){
         								setverdict(fail, testcasename() & ": Error: Labels attribute not deleted correctly")
         							}
 								}
@@ -6860,10 +6860,10 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.subscription_optional.expirationCounter := 10;//Attribute 3
-						v_updateRequest.primitiveContent.subscription_optional.expirationTime := "20301231T012345";//Attribute 1
-						v_updateRequest.primitiveContent.subscription_optional.labels := v_labels_1;//Attribute 2
-						v_updateRequest.primitiveContent.subscription_optional.expirationCounter := 5;//Attribute 3
+						v_createRequest.primitiveContent.subscription.expirationCounter := 10;//Attribute 3
+						v_updateRequest.primitiveContent.subscription.expirationTime := "20301231T012345";//Attribute 1
+						v_updateRequest.primitiveContent.subscription.labels := v_labels_1;//Attribute 2
+						v_updateRequest.primitiveContent.subscription.expirationCounter := 5;//Attribute 3
 						
 						v_nullFields := {{"expirationCounter", omit}};
       							
@@ -6871,17 +6871,17 @@ module OneM2M_Testcases {
 						
 						if(getverdict == pass){
 							if(ispresent(v_responsePrimitive.primitiveContent)) {
-								if(ischosen(v_responsePrimitive.primitiveContent.subscription_optional)) {
+								if(ischosen(v_responsePrimitive.primitiveContent.subscription)) {
             						//Check attribute 1
-            						if(not match(v_responsePrimitive.primitiveContent.subscription_optional.labels, valueof(v_updateRequest.primitiveContent.subscription_optional.labels))){
+            						if(not match(v_responsePrimitive.primitiveContent.subscription.labels, valueof(v_updateRequest.primitiveContent.subscription.labels))){
             							setverdict(fail, testcasename() & ": Error: Labels attribute not updated correctly")
             						}
             						//Check attribute 2
-            						if(not match(v_responsePrimitive.primitiveContent.subscription_optional.expirationTime, valueof(v_updateRequest.primitiveContent.subscription_optional.expirationTime))){
+            						if(not match(v_responsePrimitive.primitiveContent.subscription.expirationTime, valueof(v_updateRequest.primitiveContent.subscription.expirationTime))){
             							setverdict(fail, testcasename() & ": Error: expirationTime attribute not updated correctly")
             						}
             						//Check attribute 3
-            						if(ispresent(v_responsePrimitive.primitiveContent.subscription_optional.expirationCounter)){
+            						if(ispresent(v_responsePrimitive.primitiveContent.subscription.expirationCounter)){
             							setverdict(fail, testcasename() & ": Error: expirationCounter attribute not deleted correctly")
             						}
 								}
@@ -7077,7 +7077,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 
-						v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
 						
 						f_CSE_DMR_UPD_BO_006(int3, m_createContainerBase, v_updateRequest);//Container
 					}
@@ -7087,7 +7087,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 
-						v_updateRequest.primitiveContent.group_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.group_.labels := v_labels_1;
 						
 						f_CSE_DMR_UPD_BO_006(int9, m_createGroupBase, v_updateRequest);//Group
 					}
@@ -7098,9 +7098,9 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 						var template RequestPrimitive v_requestPrimitive := m_createAcpBase;
 						
-						v_requestPrimitive.primitiveContent.accessControlPolicy_optional.selfPrivileges.accessControlRule_list[0].accessControlOperations := int59;
+						v_requestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[0].accessControlOperations := int59;
 
-						v_updateRequest.primitiveContent.accessControlPolicy_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;
 								
 						f_CSE_DMR_UPD_BO_006(int1, v_requestPrimitive, v_updateRequest);//AccessControlPolicy
 					}
@@ -7110,7 +7110,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 
-						v_updateRequest.primitiveContent.schedule_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.schedule.labels := v_labels_1;
 										
 						f_CSE_DMR_UPD_BO_006(int18, m_createScheduleBase, v_updateRequest);//Schedule
 					}
@@ -7120,7 +7120,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 
-						v_updateRequest.primitiveContent.pollingChannel_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.pollingChannel.labels := v_labels_1;
 							
 						f_CSE_DMR_UPD_BO_006(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel
 					}
@@ -7130,7 +7130,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_1 := {"VALUE_1"};
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 
-						v_updateRequest.primitiveContent.subscription_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.subscription.labels := v_labels_1;
 								
 						f_CSE_DMR_UPD_BO_006(int23, m_createSubscriptionBase, v_updateRequest);//Subscription
 						}
@@ -7335,7 +7335,7 @@ module OneM2M_Testcases {
 						
 						v_nullFields := {{"expirationTime", omit}};
 
-						v_updateRequest.primitiveContent.container_optional.expirationTime := v_expirationTime;
+						v_updateRequest.primitiveContent.container.expirationTime := v_expirationTime;
 						
 						f_CSE_DMR_UPD_BO_008(int3, m_createContainerBase, v_updateRequest, v_nullFields);//Container
 					}
@@ -7348,7 +7348,7 @@ module OneM2M_Testcases {
 
 						v_nullFields := {{"expirationTime", omit}};
 						
-						v_updateRequest.primitiveContent.group_optional.expirationTime := v_expirationTime;
+						v_updateRequest.primitiveContent.group_.expirationTime := v_expirationTime;
 						
 						f_CSE_DMR_UPD_BO_008(int9, m_createGroupBase, v_updateRequest, v_nullFields);//Group
 					}
@@ -7361,7 +7361,7 @@ module OneM2M_Testcases {
 
 						v_nullFields := {{"expirationTime", omit}};
 						
-						v_updateRequest.primitiveContent.accessControlPolicy_optional.expirationTime := v_expirationTime;
+						v_updateRequest.primitiveContent.accessControlPolicy.expirationTime := v_expirationTime;
 								
 						f_CSE_DMR_UPD_BO_008(int1, m_createAcpBase, v_updateRequest, v_nullFields);//AccessControlPolicy
 					}
@@ -7374,7 +7374,7 @@ module OneM2M_Testcases {
 
 						v_nullFields := {{"expirationTime", omit}};
 						
-						v_updateRequest.primitiveContent.schedule_optional.expirationTime := v_expirationTime;
+						v_updateRequest.primitiveContent.schedule.expirationTime := v_expirationTime;
 										
 						f_CSE_DMR_UPD_BO_008(int18, m_createScheduleBase, v_updateRequest, v_nullFields);//Schedule
 					}
@@ -7387,7 +7387,7 @@ module OneM2M_Testcases {
 
 						v_nullFields := {{"expirationTime", omit}};
 						
-						v_updateRequest.primitiveContent.pollingChannel_optional.expirationTime := v_expirationTime;
+						v_updateRequest.primitiveContent.pollingChannel.expirationTime := v_expirationTime;
 							
 						f_CSE_DMR_UPD_BO_008(int15, m_createPollingChannelBase, v_updateRequest, v_nullFields);//PollingChannel
 					}
@@ -7400,7 +7400,7 @@ module OneM2M_Testcases {
 
 						v_nullFields := {{"expirationTime", omit}};
 						
-						v_updateRequest.primitiveContent.subscription_optional.expirationTime := v_expirationTime;
+						v_updateRequest.primitiveContent.subscription.expirationTime := v_expirationTime;
 								
 						f_CSE_DMR_UPD_BO_008(int23, m_createSubscriptionBase, v_updateRequest, v_nullFields);//Subscription
 						}
@@ -7470,7 +7470,7 @@ module OneM2M_Testcases {
 						var integer v_containerIndex := -1;
 						var RequestPrimitive v_updateRequest := valueof(m_updateContainerBase);
 						var Labels v_labels_1:= {"VALUE_1"};
-						v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
 				   
 						// Test control
 
@@ -7485,7 +7485,7 @@ module OneM2M_Testcases {
 						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); 
 		
 						// Test Body
-						if(ispresent(vc_resourcesList[v_containerIndex].resource.container_optional.stateTag)) { 
+						if(ispresent(vc_resourcesList[v_containerIndex].resource.container.stateTag)) { 
 		
 							v_updateRequest := f_getUpdateRequestPrimitive(int3, v_containerIndex, v_updateRequest);
 							f_cse_updateResource(v_updateRequest);
@@ -7496,7 +7496,7 @@ module OneM2M_Testcases {
 							alt {
 								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 									tc_ac.stop;
-									if(v_response.primitive.responsePrimitive.primitiveContent.container_optional.stateTag == 1) { //(Create and Delete)
+									if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 1) { //(Create and Delete)
 										setverdict(pass, testcasename() & ": The stateTag attribute is incremented");	
 									}
 									else{
@@ -7539,7 +7539,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase;
 						var Labels v_labels:= {"LABEL"};
 						
-						v_updateRequest.primitiveContent.contentInstance_optional.labels := v_labels;
+						v_updateRequest.primitiveContent.contentInstance.labels := v_labels;
 								   
 						// Test control
             
@@ -7600,7 +7600,7 @@ module OneM2M_Testcases {
 					  	var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase;
 					  	var Labels v_labels := {"LABEL"};					  	
 		
-					  	v_updateRequest.primitiveContent.contentInstance_optional.labels := v_labels;
+					  	v_updateRequest.primitiveContent.contentInstance.labels := v_labels;
 				   
 					  	// Test control
 
@@ -7663,7 +7663,7 @@ module OneM2M_Testcases {
 					  	var template RequestPrimitive v_updateRequest := m_updateContentInstanceBase;
 					  	var Labels v_labels:= {"LABEL"};
 
-					  	v_updateRequest.primitiveContent.contentInstance_optional.labels := v_labels;
+					  	v_updateRequest.primitiveContent.contentInstance.labels := v_labels;
    
 					  	// Test control
 
@@ -7909,7 +7909,7 @@ module OneM2M_Testcases {
                 		
                 		//Adjustments for ACP resource type
                 		if(p_resourceType == int1) {
-							p_createRequestPrimitive.primitiveContent.accessControlPolicy_optional.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2};
+							p_createRequestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2};
                 		} else {
 							f_setAcpId(p_createRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});
 							v_setOfArcs.accessControlRule_list := {v_accessControlRule_1, v_accessControlRule_2};
@@ -8149,7 +8149,7 @@ module OneM2M_Testcases {
 						
             			v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex); 
             			
-            			if(ispresent(vc_resourcesList[v_resourceIndex].resource.container_optional.stateTag)) {
+            			if(ispresent(vc_resourcesList[v_resourceIndex].resource.container.stateTag)) {
             				
             				v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex); 
             				
@@ -8180,7 +8180,7 @@ module OneM2M_Testcases {
             				alt {
             					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
             						tc_ac.stop;
-            						if(v_response.primitive.responsePrimitive.primitiveContent.container_optional.stateTag == 2) { //(Create and Delete)
+            						if(v_response.primitive.responsePrimitive.primitiveContent.container.stateTag == 2) { //(Create and Delete)
             							setverdict(pass, testcasename() & ": The stateTag attribute is incremented");	
             						}
             						else{
@@ -8237,7 +8237,7 @@ module OneM2M_Testcases {
 						
 						v_attributesContainer := f_cse_retrieveResource(v_containerIndex);
             			
-						if(not(ispresent(v_attributesContainer.container_optional.currentNrOfInstances))) {
+						if(not(ispresent(v_attributesContainer.container.currentNrOfInstances))) {
 							setverdict(fail, testcasename() & ": Error the currentNrOfInstances attribute is empty");
 							f_checkCseTesterStatus();
 						}
@@ -8247,13 +8247,13 @@ module OneM2M_Testcases {
 					
 						v_attributesContainer_afterDeletion := f_cse_retrieveResource(v_containerIndex);
 						
-						if(not(ispresent(v_attributesContainer.container_optional.currentNrOfInstances))) {
+						if(not(ispresent(v_attributesContainer.container.currentNrOfInstances))) {
 							setverdict(fail, testcasename() & ": Error the currentNrOfInstances attribute is empty");
 							f_checkCseTesterStatus();
 						}
 						
-						if((v_attributesContainer.container_optional.currentNrOfInstances > v_attributesContainer_afterDeletion.container_optional.currentNrOfInstances) and
-							(v_attributesContainer.container_optional.currentByteSize > v_attributesContainer_afterDeletion.container_optional.currentByteSize)) {
+						if((v_attributesContainer.container.currentNrOfInstances > v_attributesContainer_afterDeletion.container.currentNrOfInstances) and
+							(v_attributesContainer.container.currentByteSize > v_attributesContainer_afterDeletion.container.currentByteSize)) {
 							setverdict(pass, testcasename() & ": The currentNrOfInstances and currentByteSize attributes are decreased");
 						} else {
 							setverdict(fail, testcasename() & ": currentNrOfInstances and/or currentByteSize attributes are not decreased");
@@ -8813,7 +8813,7 @@ module OneM2M_Testcases {
 		      alt{
 		        [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{
 		          tc_ac.stop;
-		          if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.container_optional.locationID)){		            
+		          if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.container.locationID)){		            
 		            	setverdict(fail, testcasename() & "No locationID is included in the response!");
 		          }else{
 		            	setverdict(pass, testcasename() & "Container resource associated with locationPolicy resource is successfully retrieved with locationID included in the response!");		            
@@ -9231,7 +9231,7 @@ module OneM2M_Testcases {
 		      alt{
 		        [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response{
 		          tc_ac.stop;
-		          if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.locationPolicy_optional.locationContainerID)){		            
+		          if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.locationPolicy.locationContainerID)){		            
 		            	setverdict(fail, testcasename() & "No locationContainerID is included in the response!");
 		          }else{
 		            	setverdict(pass, testcasename() & "LocationPolicy resource is successfully retrieved with locationContainerID included in the response!");		            
@@ -9369,7 +9369,7 @@ module OneM2M_Testcases {
 					
                 	v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
 					v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource
-					v_containerCreateRequest.primitiveContent.container_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
+					v_containerCreateRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
 					v_containerIndex := f_cse_createResource(int3, v_containerCreateRequest, v_aeIndex); // AE child resource
 					
 					v_createRequest := m_createGroup(1, {f_getResourceId(vc_resourcesList[v_containerIndex].resource)}, omit, int3);
@@ -9439,12 +9439,12 @@ module OneM2M_Testcases {
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
 					v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource
-					v_containerCreateRequest.primitiveContent.container_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
+					v_containerCreateRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
 					v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
 					v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
 					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3), v_aeIndex);
 					
-					v_updateRequest.primitiveContent.group_optional.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
+					v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
 					v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);	// creating group
                 	    
 					// Test Body
@@ -9514,10 +9514,10 @@ module OneM2M_Testcases {
                             tc_ac.stop;
                             setverdict(pass, testcasename() & ": Resource created successfully");
 						
-                            if(not match({v_memberID}, v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs)){
+                            if(not match({v_memberID}, v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){
 								setverdict(fail, testcasename(), ": Error, presence of duplicate member IDs ");
                             }
-							if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs) != 1) {
+							if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) {
 							   setverdict(fail, testcasename() & ": Error, wrong number of memberIDs attribute");      
 							} 
                         }
@@ -9572,11 +9572,11 @@ module OneM2M_Testcases {
                         [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
                             tc_ac.stop;
                             setverdict(pass, testcasename() & ": Resource created successfully");
-							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated)){
+							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){
                                 setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided");
                             }
                             else {
-                                if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated == false){
+                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){
                                     setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not correct");
                                 }
                             }     
@@ -9634,20 +9634,20 @@ module OneM2M_Testcases {
                             setverdict(pass, testcasename() & ": Resource created successfully");
 							
                             // check for memberTypeValidated
-                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated)){
+                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){
                                 setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided");
                             }
                             else {
-                                if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated != false){
+                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != false){
                                     setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not correct");
                                 }
                             }
                             // check for memberType (MIXED)
-                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberType)){
+                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType)){
                                 setverdict(fail, testcasename(), ": Error, memberType attribute not provided");
                             } 
                             else {
-                                if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberType != int0){  //Mixed is int0 in release 2 and int24 in release 1
+                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType != int0){  //Mixed is int0 in release 2 and int24 in release 1
                                     setverdict(fail, testcasename(), ": Error, memberType attribute not correct");
                                 }
                             }
@@ -9673,7 +9673,7 @@ module OneM2M_Testcases {
 			// Test objective:
 			// Check that the IUT handles unsuccessful validation of the resource type during the creation of the
 			// group resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is
-			// ABANDON_GROUP.
+			// ABANDON_group_.
 			group g_CSE_GMG_BV_007 {
                 
 				testcase TC_CSE_GMG_BV_007() runs on CseTester system CseSystem {
@@ -9770,19 +9770,19 @@ module OneM2M_Testcases {
                             setverdict(pass, testcasename() & ": Resource created successfully");
 							
 							// check for memberTypeValidated
-                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated)){
+                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)){
                                 setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided");
                             } else {
-                                if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated == false){
+                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false){
                                     setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not correct");
                                 }
                             }
                             // check for membersId
-                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs)){
+                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){
                                 setverdict(fail, testcasename(), ": Error, memberIDs attribute not provided");
                             } 
                             else {
-                                if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs[0] != f_getResourceAddress(v_containerIndex)){
+                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] != f_getResourceAddress(v_containerIndex)){
                                     setverdict(fail, testcasename(), ": Error, memberIDs attribute not correct");
                                 }
                             }
@@ -9836,7 +9836,7 @@ module OneM2M_Testcases {
 					v_memberId_2 :=  f_getResourceId(vc_resourcesList[v_containerIndex_2].resource);
 					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1, v_memberId_2}, omit, int3), v_aeIndex); // AE child resource
 					
-					v_updateRequest.primitiveContent.group_optional.memberIDs := {v_memberId_2, v_memberId_2}; 
+					v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_2}; 
 					v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
 					
 					//Test Body
@@ -9848,14 +9848,14 @@ module OneM2M_Testcases {
 							 setverdict(pass, testcasename() & ": update successful"); 
      
 							// check for membersId
-							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs)){
+							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){
 								setverdict(fail, testcasename(), ": Error, memberIDs attribute not provided");
 							} 
 							else {
-								if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs) != 1) {
+								if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) {
 								   setverdict(fail, testcasename() & ": Error, wrong number of memberIDs attribute");      
 								}                               
-								if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs[0] != v_memberId_2){
+								if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] != v_memberId_2){
 									setverdict(fail, testcasename(), ": Error, memberIDs attribute not correct");
 								}
 							}
@@ -9902,7 +9902,7 @@ module OneM2M_Testcases {
 					v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
 					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3), v_aeIndex);
 					
-					v_updateRequest.primitiveContent.group_optional.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
+					v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
 					v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
 					
                     // Test Body
@@ -9913,11 +9913,11 @@ module OneM2M_Testcases {
                             tc_ac.stop;
                             setverdict(pass, testcasename() & ": update successful"); 
                              
-                             if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated)) {
+                             if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) {
                                 setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided");    
                              } 
                              else {
-                                if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated == false) {
+                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false) {
                                     setverdict(fail, testcasename(), ": Error, memberTypeValidated wrong value");  
                                 }
                              }
@@ -9969,7 +9969,7 @@ module OneM2M_Testcases {
 					v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource);
 					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int3), v_aeIndex); //Member type is set to Container (int3) and consistencyStrategy is set to MIXED (int3)
                 	
-					v_updateRequest.primitiveContent.group_optional.memberIDs := {v_memberId_1, v_memberId_2};
+					v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_1, v_memberId_2};
 					v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
 					
        				// Test Body
@@ -9981,21 +9981,21 @@ module OneM2M_Testcases {
 							setverdict(pass, testcasename() & ": update successful");                              
                              
 							//memberTypeValidated attribute set to FALSE
-							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated)) {
+							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) {
                             	setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided");    
                             }
 							else {
-								if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated != false) {
+								if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != false) {
 									setverdict(fail, testcasename(), ": Error, memberTypeValidated must be FALSE");
 								}
 							}
                                 
 							//memberType attribute set to MIXED
-							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberType)) {
+							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType)) {
 								setverdict(fail, testcasename(), ": Error, memberType attribute not provided");    
 							}
 							else {
-								if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberType != int0) { //Mixed is int0 in release 2 and int24 in release 1
+								if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType != int0) { //Mixed is int0 in release 2 and int24 in release 1
 									setverdict(fail, testcasename(), ": Error, memberType was not set to MIXED");
 								}
 							}
@@ -10047,7 +10047,7 @@ module OneM2M_Testcases {
 					v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource);
 					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, omit), v_aeIndex);  //Member type is set to Container (int3) and consistencyStrategy is set to ABANDON MEMBER (default value)
                 	
-					v_updateRequest.primitiveContent.group_optional.memberIDs := {v_memberId_2, v_memberId_1};
+					v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_1};
 					v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
 					
                     //Test Body
@@ -10060,24 +10060,24 @@ module OneM2M_Testcases {
                             setverdict(pass, testcasename() & ": update successful"); 
                                                           
 							//memberTypeValidated attribute set to TRUE
-							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated)) {
+							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) {
 								setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided");    
 							} 
 							else {
-								if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated != true) {
+								if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != true) {
 									setverdict(fail, testcasename(), ": Error, memberTypeValidated must be TRUE");
 								}
 							}
 
                             //memberIDs attribute set to v_memberID1
-							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs)){
+							if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs)){
 								setverdict(fail, testcasename(), ": Error, memberIDs attribute not provided");
 							}
 							else {                               
-								if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs) != 1) {
+								if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 1) {
 								   setverdict(fail, testcasename() & ": Error, wrong number of memberIDs attribute");      
 								}                               
-								if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs[0] != v_memberId_1){
+								if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] != v_memberId_1){
 									setverdict(fail, testcasename(), ": Error, memberIDs attribute not correct");
 								}
 							}                                   
@@ -10099,7 +10099,7 @@ module OneM2M_Testcases {
                 }
             } // end group g_CSE_GMG_BV_012
         
-			//Test objective: Check that the IUT handles unsuccessful validation of the resource type during an update of the <group> resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_GROUP.
+			//Test objective: Check that the IUT handles unsuccessful validation of the resource type during an update of the <group> resource when memberType attribute is not ‘mixed’ and the consistencyStrategy attribute is ABANDON_group_.
             group g_CSE_GMG_BV_013 {
                 
                 testcase TC_CSE_GMG_BV_013() runs on CseTester system CseSystem {
@@ -10128,7 +10128,7 @@ module OneM2M_Testcases {
 					v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource);
                 	v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int2), v_aeIndex);  //Member type is set to Container(int3) and consistencyStrategy is set to ABANDON GROUP (default value)
                                 	
-                	v_updateRequest.primitiveContent.group_optional.memberIDs := {v_memberId_2, v_memberId_1};
+                	v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_1};
                 	v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
                 					
                     //Test Body
@@ -10201,7 +10201,7 @@ module OneM2M_Testcases {
                     //Test Body
                     v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
 					v_memberIDs := v_memberIDs & {f_getResourceId(vc_resourcesList[v_containerIndex_3].resource)};
-                    v_request.primitiveContent.group_optional.memberIDs := v_memberIDs;
+                    v_request.primitiveContent.group_.memberIDs := v_memberIDs;
         
                     mcaPort.send(m_request(v_request));
                     tc_ac.start;
@@ -10241,7 +10241,7 @@ module OneM2M_Testcases {
 					var ListOfURIs v_memberIDs;
 					var XSD.PositiveInteger v_maxNrOfMembers:= 1;
 					
-					v_updateRequest.primitiveContent.group_optional.maxNrOfMembers := v_maxNrOfMembers;
+					v_updateRequest.primitiveContent.group_.maxNrOfMembers := v_maxNrOfMembers;
 					
 					// Test control
                     
@@ -10324,10 +10324,10 @@ module OneM2M_Testcases {
 //                  TODO: -> register IUT to the remoteCSE
         
                     v_createRequest := f_getCreateRequestPrimitive(c_ResourceTypeGroup, v_createRequest, v_aeIndex);
-                    v_createRequest.primitiveContent.group_optional := m_contentCreateGroup(1, {c_memberResourceAddress1}, omit);
-                    v_createRequest.primitiveContent.group_optional.memberType := c_memberType1;
-                    v_createRequest.primitiveContent.group_optional.memberTypeValidated := true;
-                    v_createRequest.primitiveContent.group_optional.consistencyStrategy := c_consistentcyStrategy;
+                    v_createRequest.primitiveContent.group_ := m_contentCreateGroup(1, {c_memberResourceAddress1}, omit);
+                    v_createRequest.primitiveContent.group_.memberType := c_memberType1;
+                    v_createRequest.primitiveContent.group_.memberTypeValidated := true;
+                    v_createRequest.primitiveContent.group_.consistencyStrategy := c_consistentcyStrategy;
                     v_groupIndex := f_cse_createResource(c_ResourceTypeGroup, v_createRequest, v_aeIndex);
         
                     // TODO: -> do the resources actually need to be created?
@@ -10342,7 +10342,7 @@ module OneM2M_Testcases {
                     //Test Body
                     v_request := f_getUpdateRequestPrimitive(c_ResourceTypeGroup, v_groupIndex, v_updateRequest);
 //                    v_request.to_ := c_targetResourceAddress;
-                    v_createRequest.primitiveContent.group_optional := m_contentCreateGroup(2, {c_memberResourceAddress1, c_memberResourceAddress2}, omit);
+                    v_createRequest.primitiveContent.group_ := m_contentCreateGroup(2, {c_memberResourceAddress1, c_memberResourceAddress2}, omit);
         
                     mcaPort.send(m_request(v_request));
                     tc_ac.start;
@@ -10350,14 +10350,14 @@ module OneM2M_Testcases {
                         [] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value v_response {
                             tc_ac.stop;
                             
-                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated)) {
+                            if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated)) {
                                 setverdict(fail, testcasename(), ": Error, memberTypeValidated attribute not provided");    
                              } else {
-                                if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberTypeValidated == false) {
-                                    if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs) != 2) {
+                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated == false) {
+                                    if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs) != 2) {
                                         setverdict(fail, testcasename() & ": Error, wrong number of memberIDs attribute"); 
                                     } else {
-                                        if(v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs[0] == c_memberResourceAddress1 and v_response.primitive.responsePrimitive.primitiveContent.group_optional.memberIDs[1] == c_memberResourceAddress2) {
+                                        if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[0] == c_memberResourceAddress1 and v_response.primitive.responsePrimitive.primitiveContent.group_.memberIDs[1] == c_memberResourceAddress2) {
                                             setverdict(pass, testcasename() & ": update successful");       
                                         } else {
                                             setverdict(fail, testcasename(), ": Error, wrong memberIDs");   
@@ -10423,10 +10423,10 @@ module OneM2M_Testcases {
                     //v_remoteCSEIndex := ...
         
                     v_createRequest := f_getCreateRequestPrimitive(c_ResourceTypeGroup, v_createRequest, v_aeIndex);
-                    v_createRequest.primitiveContent.group_optional := m_contentCreateGroup(2, {c_memberResourceAddress1, c_memberResourceAddress2}, omit);
-                    v_createRequest.primitiveContent.group_optional.memberType := c_memberType1;
-                    v_createRequest.primitiveContent.group_optional.memberTypeValidated := false;
-                    v_createRequest.primitiveContent.group_optional.consistencyStrategy := c_consistentcyStrategy;
+                    v_createRequest.primitiveContent.group_ := m_contentCreateGroup(2, {c_memberResourceAddress1, c_memberResourceAddress2}, omit);
+                    v_createRequest.primitiveContent.group_.memberType := c_memberType1;
+                    v_createRequest.primitiveContent.group_.memberTypeValidated := false;
+                    v_createRequest.primitiveContent.group_.consistencyStrategy := c_consistentcyStrategy;
                     v_groupIndex := f_cse_createResource(c_ResourceTypeGroup, v_createRequest, v_aeIndex);
         
                     // TODO: -> the AE having a subscription to c_targetResourceAddress 
@@ -10481,7 +10481,7 @@ module OneM2M_Testcases {
 				testcase TC_CSE_GMG_BV_018_02() runs on CseTester system CseSystem { //Update
 					var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 					var Labels v_labels_1:= {"VALUE_1"};
-					v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+					v_updateRequest.primitiveContent.container.labels := v_labels_1;
 					f_CSE_GMG_BV_018(v_updateRequest);
 				}//end TC_CSE_GMG_BV_018_02
 
@@ -10577,7 +10577,7 @@ module OneM2M_Testcases {
 				testcase TC_CSE_GMG_BO_019_02() runs on CseTester system CseSystem { //Update
 					var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 					var Labels v_labels_1:= {"VALUE_1"};
-					v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+					v_updateRequest.primitiveContent.container.labels := v_labels_1;
 					f_CSE_GMG_BO_019(v_updateRequest, int59);//c_CRDNDi
 				}//end TC_CSE_GMG_BO_019_02
 
@@ -10669,7 +10669,7 @@ module OneM2M_Testcases {
 				testcase TC_CSE_GMG_BV_020_02() runs on CseTester system CseSystem { //Update
 					var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 					var Labels v_labels_1:= {"VALUE_1"};
-					v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+					v_updateRequest.primitiveContent.container.labels := v_labels_1;
 					f_CSE_GMG_BV_020(v_updateRequest);
 				}//end TC_CSE_GMG_BV_020_02
 
@@ -10765,7 +10765,7 @@ module OneM2M_Testcases {
 				testcase TC_CSE_GMG_BO_021_02() runs on CseTester system CseSystem { //Update
 					var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 					var Labels v_labels_1:= {"VALUE_1"};
-					v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+					v_updateRequest.primitiveContent.container.labels := v_labels_1;
 					f_CSE_GMG_BO_021(v_updateRequest, int59);//c_CRDNDi
 				}//end TC_CSE_GMG_BO_021_02
 
@@ -10852,7 +10852,7 @@ module OneM2M_Testcases {
             	
 				testcase TC_CSE_GMG_BV_022_01() runs on CseTester system CseSystem { //Create
 					var template PrimitiveContent v_contentResponse;
-					v_contentResponse.container_optional := mw_contentContainer_rc1;
+					v_contentResponse.container := mw_contentContainer_rc1;
 					
 					f_CSE_GMG_BV_022(m_createContainerBase, v_contentResponse);
 				}//end TC_CSE_GMG_BV_022_01
@@ -10861,23 +10861,23 @@ module OneM2M_Testcases {
 					var template RequestPrimitive v_updateRequest := m_updateAeBase;
 					var template PrimitiveContent v_contentResponse;
 					var Labels v_labels_1:= {"VALUE_1"};
-    				v_contentResponse.aE_optional := m_contentAe_allOmit;
-					v_contentResponse.aE_optional.labels := ?;
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1;
+    				v_contentResponse.aE := m_contentAe_allOmit;
+					v_contentResponse.aE.labels := ?;
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 					
 					f_CSE_GMG_BV_022(v_updateRequest, v_contentResponse);
 				}//end TC_CSE_GMG_BV_022_02
 
 				testcase TC_CSE_GMG_BV_022_03() runs on CseTester system CseSystem { //Retrieve
 					var template PrimitiveContent v_contentResponse;
-					v_contentResponse.aE_optional := mw_contentAeBase;
+					v_contentResponse.aE := mw_contentAeBase;
 					
 					f_CSE_GMG_BV_022(m_retrieveResource("Temporary", "Temporary"), v_contentResponse);
 				}//end TC_CSE_GMG_BV_022_03
 
 				testcase TC_CSE_GMG_BV_022_04() runs on CseTester system CseSystem { //Delete
 					var template PrimitiveContent v_contentResponse;
-					v_contentResponse.aE_optional := mw_contentAeBase;// TODO see with wath should it be matched
+					v_contentResponse.aE := mw_contentAeBase;// TODO see with wath should it be matched
 					
 					f_CSE_GMG_BV_022(m_deleteRequest("Temporary"), v_contentResponse);	
 				}//end TC_CSE_GMG_BV_022_04
@@ -10970,7 +10970,7 @@ module OneM2M_Testcases {
 					var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, -);
 					var template PrimitiveContent v_contentResponse;
 					
-					v_contentResponse.contentInstance_optional := mw_contentContentInstanceBase;
+					v_contentResponse.contentInstance := mw_contentContentInstanceBase;
 					
 					// Test control
 					if(not(PICS_ACP_SUPPORT)) {
@@ -11056,7 +11056,7 @@ module OneM2M_Testcases {
 					var template PrimitiveContent v_contentResponse;
 					var XSD.AnyURI v_fanoutPointAddress;
 		
-					v_contentResponse.container_optional := mw_contentContainerBase;
+					v_contentResponse.container := mw_contentContainerBase;
 		
 					// Test control
 					if(not(PICS_ACP_SUPPORT)) {
@@ -11534,7 +11534,7 @@ module OneM2M_Testcases {
 					var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 					var RequestPrimitive v_request;
 					
-					v_createRequest.primitiveContent.subscription_optional.resourceName := omit;
+					v_createRequest.primitiveContent.subscription.resourceName := omit;
 					// Test control
 
 					// Test component configuration
@@ -11661,7 +11661,7 @@ module OneM2M_Testcases {
 					v_aeIndex := f_cse_preamble_registerAe();//c_CUDNDi);		
 					
 					v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription 
-					//v_request.primitiveContent.subscription_optional.notificationURI := {"Not Initialized"};
+					//v_request.primitiveContent.subscription.notificationURI := {"Not Initialized"};
 					
 					// Test Body
 					mcaPort.send(m_request(v_request));
@@ -11717,7 +11717,7 @@ module OneM2M_Testcases {
 					v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", {f_getAnnouncementTargetPoA("HTTP", PX_AE2_ADDRESS, "")}), -1);
 					
 					v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription 
-					v_request.primitiveContent.subscription_optional.notificationURI := {f_getResourceAddress(v_ae2Index)};
+					v_request.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)};
 					
 					notifyHandler.start(f_subscriptionVerificationHandler(f_getResourceAddress(v_aeIndex), int4101));
 					
@@ -11776,7 +11776,7 @@ module OneM2M_Testcases {
 					v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", {f_getAnnouncementTargetPoA("HTTP", PX_AE2_ADDRESS, "")}));
 					
 					v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription 
-					v_request.primitiveContent.subscription_optional.notificationURI := {f_getResourceAddress(v_ae2Index)};
+					v_request.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)};
 					
 					notifyHandler.start(f_subscriptionVerificationHandler(f_getResourceAddress(v_aeIndex), int5205));
 					
@@ -11827,8 +11827,8 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1; 
-					v_contentResponse.aE_optional := mw_contentAeBase; // all attributes expected   
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
 
 					// Test control
 
@@ -11899,7 +11899,7 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 			
-					v_contentResponse.container_optional := mw_contentContainer_rc1; // all attributes expected   
+					v_contentResponse.container := mw_contentContainer_rc1; // all attributes expected   
 					// Test control
 
 					// Test component configuration
@@ -11969,7 +11969,7 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 					
-					v_contentResponse.aE_optional := mw_contentAeBase; // all attributes expected       
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected       
 
 					// Test control
 
@@ -12078,7 +12078,7 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 
-					v_contentResponse.container_optional := mw_contentContainer_rc1; // all attributes expected in notification  
+					v_contentResponse.container := mw_contentContainer_rc1; // all attributes expected in notification  
 
 					// Test component configuration
 					f_cf01Up();
@@ -12159,9 +12159,9 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 			
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1; 
-					v_contentResponse.aE_optional := m_contentAe_allOmit; // only modified attribute expected  
-					v_contentResponse.aE_optional.labels := ?;
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
+					v_contentResponse.aE := m_contentAe_allOmit; // only modified attribute expected  
+					v_contentResponse.aE.labels := ?;
 			
 					// Test control
 
@@ -12235,9 +12235,9 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 					
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1; 
-					v_contentResponse.aE_optional := m_contentAe_allOmit; // only modified attribute expected  
-					v_contentResponse.aE_optional.resourceID := ?;
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
+					v_contentResponse.aE := m_contentAe_allOmit; // only modified attribute expected  
+					v_contentResponse.aE.resourceID := ?;
 
 					// Test control
 
@@ -12306,9 +12306,9 @@ module OneM2M_Testcases {
         			var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1; 
-					v_contentResponse.aE_optional := mw_contentAeBase; // all attributes expected  
-					v_retrieveContentResponse.subscription_optional := mw_contentSubscription_rc1;
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected  
+					v_retrieveContentResponse.subscription := mw_contentSubscription_rc1;
 
 					// Test control
 
@@ -12345,7 +12345,7 @@ module OneM2M_Testcases {
 					alt {
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_retrieveContentResponse))) -> value v_response {
 							tc_ac.stop;
-							if(v_response.primitive.responsePrimitive.primitiveContent.subscription_optional.expirationCounter == 2 ){
+							if(v_response.primitive.responsePrimitive.primitiveContent.subscription.expirationCounter == 2 ){
 								setverdict(pass, testcasename() & ": expirationCounter has been successfully decreased by one");
 							}
 							else{
@@ -12392,8 +12392,8 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 					
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1; 
-					v_contentResponse.aE_optional := mw_contentAeBase; // all attributes expected  
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected  
 
 					// Test control
 
@@ -12472,8 +12472,8 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 					
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1; 
-					v_contentResponse.aE_optional := mw_contentAeBase; // all attributes expected   
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
 
 					// Test control
 
@@ -12547,7 +12547,7 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1;
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 
 					// Test control
 
@@ -12743,7 +12743,7 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 					
-					v_contentResponse.aE_optional := mw_contentAeBase; // all attributes expected   
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
 
 					// Test control
 
@@ -12768,15 +12768,15 @@ module OneM2M_Testcases {
 					// Test Body
 					v_notifyHandler.start(f_CSE_SUB_BV_018(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received
 					
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1;
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
 					f_cse_updateResource(v_request);
 					
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_2; 
+					v_updateRequest.primitiveContent.aE.labels := v_labels_2; 
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 2
 					f_cse_updateResource(v_request);
 					
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_3; 
+					v_updateRequest.primitiveContent.aE.labels := v_labels_3; 
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 3
 					f_cse_updateResource(v_request);
 
@@ -12846,7 +12846,7 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
 					
-					v_contentResponse.aE_optional := mw_contentAeBase; // all attributes expected   
+					v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
 
 					// Test control
 
@@ -12871,11 +12871,11 @@ module OneM2M_Testcases {
 					// Test Body
 					v_notifyHandler.start(f_CSE_SUB_BV_018(v_contentResponse, 2)); // check that no notification is received
 
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1;
+					v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
 					f_cse_updateResource(v_request);
 					
-					v_updateRequest.primitiveContent.aE_optional.labels := v_labels_2; 
+					v_updateRequest.primitiveContent.aE.labels := v_labels_2; 
 					v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 2
 					f_cse_updateResource(v_request);
 
@@ -12909,7 +12909,7 @@ module OneM2M_Testcases {
 					var CseTester v_notifyHandler;
 					var integer v_ae2Index := -1;
             
-            		v_contentResponse.aE_optional := mw_contentAeBase; // all attributes expected   
+            		v_contentResponse.aE := mw_contentAeBase; // all attributes expected   
             
             		// Test control
             
@@ -12938,15 +12938,15 @@ module OneM2M_Testcases {
 					// Test Body
 					v_notifyHandler.start(f_cse_notifyProcedure(v_contentResponse)); // check if the notification is well received and if its content matchs
             					
-            		v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1; 
+            		v_updateRequest.primitiveContent.aE.labels := v_labels_1; 
             		v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
 					f_cse_updateResource(v_request);
             					
-            		v_updateRequest.primitiveContent.aE_optional.labels := v_labels_2; 
+            		v_updateRequest.primitiveContent.aE.labels := v_labels_2; 
             		v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 2
 					f_cse_updateResource(v_request);
             					
-            		v_updateRequest.primitiveContent.aE_optional.labels := v_labels_3; 
+            		v_updateRequest.primitiveContent.aE.labels := v_labels_3; 
             		v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 3
 					f_cse_updateResource(v_request);
 					
@@ -12989,12 +12989,12 @@ module OneM2M_Testcases {
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe(-, -); // Only use for setting the ACR_2's accessControlOriginators attribute to AE_ID
 
-						v_createRequest.primitiveContent.accessControlPolicy_optional.privileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};
-						v_createRequest.primitiveContent.accessControlPolicy_optional.privileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
+						v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};
+						v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
 
-						v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc1;
-						v_contentResponse.accessControlPolicy_optional.privileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};// TODO To handle reverse order of acrs
-						v_contentResponse.accessControlPolicy_optional.privileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+						v_contentResponse.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};// TODO To handle reverse order of acrs
+						v_contentResponse.accessControlPolicy.privileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
 
 						// Test Body
 						v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource
@@ -13051,12 +13051,12 @@ module OneM2M_Testcases {
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe(-, -); // Only use for setting the ACR_2's accessControlOriginators attribute to AE_ID
 
-						v_createRequest.primitiveContent.accessControlPolicy_optional.selfPrivileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};
-						v_createRequest.primitiveContent.accessControlPolicy_optional.selfPrivileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
+						v_createRequest.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};
+						v_createRequest.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
 
-						v_contentResponse.accessControlPolicy_optional := mw_contentAcp_rc1;
-						v_contentResponse.accessControlPolicy_optional.selfPrivileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};//TODO To handle reverse order of acrs
-						v_contentResponse.accessControlPolicy_optional.selfPrivileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
+						v_contentResponse.accessControlPolicy := mw_contentAcp_rc1;
+						v_contentResponse.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};//TODO To handle reverse order of acrs
+						v_contentResponse.accessControlPolicy.selfPrivileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
 
 						// Test Body
 						v_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource
@@ -13101,7 +13101,7 @@ module OneM2M_Testcases {
 					testcase TC_CSE_SEC_ACP_BV_003_02() runs on CseTester system CseSystem { //Update
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var Labels v_labels_1:= {"VALUE_1"};
-						v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 						f_CSE_SEC_ACP_BV_003(v_updateRequest);	
 					}//end TC_CSE_SEC_ACP_BV_003_02
 					
@@ -13200,7 +13200,7 @@ module OneM2M_Testcases {
 					testcase TC_CSE_SEC_ACP_BV_004_02() runs on CseTester system CseSystem { //Update
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var Labels v_labels_1:= {"VALUE_1"};
-						v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 						f_CSE_SEC_ACP_BV_004(v_updateRequest);	
 					}//end TC_CSE_SEC_ACP_BV_004_02
 	
@@ -13275,7 +13275,7 @@ module OneM2M_Testcases {
 					testcase TC_CSE_SEC_ACP_BV_011_02() runs on CseTester system CseSystem { //Update
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						var Labels v_labels_1:= {"VALUE_1"};
-						v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
 						f_CSE_SEC_ACP_BV_011(v_updateRequest);	
 					}//end TC_CSE_SEC_ACP_BV_011_02
 
@@ -13347,7 +13347,7 @@ module OneM2M_Testcases {
 					testcase TC_CSE_SEC_ACP_BO_012_02() runs on CseTester system CseSystem { //Update
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						var Labels v_labels_1:= {"VALUE_1"};
-						v_updateRequest.primitiveContent.container_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.container.labels := v_labels_1;
 						f_CSE_SEC_ACP_BO_012(v_updateRequest, int62);	//TODO Fix p_acor
 					}//end TC_CSE_SEC_ACP_BO_012_02
 
@@ -13437,7 +13437,7 @@ module OneM2M_Testcases {
 					testcase TC_CSE_SEC_ACP_BO_013_02() runs on CseTester system CseSystem { //Update
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var Labels v_labels_1:= {"VALUE_1"};
-						v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 						f_CSE_SEC_ACP_BO_013(v_updateRequest);	
 					}//end TC_CSE_SEC_ACP_BO_013_02
 
@@ -13523,7 +13523,7 @@ module OneM2M_Testcases {
 					testcase TC_CSE_SEC_ACP_BV_014_02() runs on CseTester system CseSystem { //Update
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var Labels v_labels_1:= {"VALUE_1"};
-						v_updateRequest.primitiveContent.aE_optional.labels := v_labels_1;
+						v_updateRequest.primitiveContent.aE.labels := v_labels_1;
 						f_CSE_SEC_ACP_BV_014(v_updateRequest);	
 					}//end TC_CSE_SEC_ACP_BV_014_02
 
@@ -13643,7 +13643,7 @@ module OneM2M_Testcases {
 						f_cse_updateResource(v_updateRequest);
 						
 						// Test Body
-						v_updateRequest.primitiveContent.aE_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex2].resource)};
+						v_updateRequest.primitiveContent.aE.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex2].resource)};
 						v_updateRequest := f_getUpdateRequestPrimitive(int1, v_aeIndex, v_updateRequest);
 						
 						mcaPort.send(m_request(v_updateRequest));
@@ -13714,7 +13714,7 @@ module OneM2M_Testcases {
 						f_cse_updateResource(v_updateRequest);
 						
 						// Test Body
-						v_updateRequest.primitiveContent.aE_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex2].resource)};
+						v_updateRequest.primitiveContent.aE.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex2].resource)};
 						v_updateRequest := f_getUpdateRequestPrimitive(int1, v_aeIndex, v_updateRequest);
 
 						mcaPort.send(m_request(v_updateRequest));