From 1b7f5e83b77d58457f15d0069b4289434be2df98 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Mon, 28 Mar 2022 19:10:44 +0200
Subject: [PATCH] Valueof missing and template (omit) and element order fixed

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Templates.ttcn     | 118 ++++++++++++++--------------
 OneM2M_PermutationFunctions.ttcn    |   6 +-
 OneM2M_Testcases_CSE_Release_4.ttcn |  20 ++---
 3 files changed, 72 insertions(+), 72 deletions(-)

diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index ab731ea..3ca1f60 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -129,7 +129,7 @@ module OneM2M_Templates {
 			 * @param p_originator Originator (from)
 			 * @oaram p_m2mServiceUser UserId with subscription
 			 */
-			template (value) RequestPrimitive m_retrieveUserId(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template XSD.ID p_m2mServiceUser := omit) := {
+			template (value) RequestPrimitive m_retrieveUserId(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (omit) XSD.ID p_m2mServiceUser := omit) := {
 				operation := int2,
 				to_ := p_targetResourceAddress,
 				from_ := p_originator,
@@ -1719,7 +1719,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for Content resource
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileAddContainerMaxByte100(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileAddContainerMaxByte100(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddContainerMaxByte100(p_IDList) }
@@ -1728,7 +1728,7 @@ module OneM2M_Templates {
             /**
              * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for Content resource
              */
-            template (value) RequestPrimitive m_createPrimitiveProfileAddContainerMaxByteNegative(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+            template (value) RequestPrimitive m_createPrimitiveProfileAddContainerMaxByteNegative(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
                 requestIdentifier := testcasename() & "-m_createPrimitveProfile",
                 resourceType := int62,
                 primitiveContent := {primitveProfile := m_contentCreatePrimitiveProfileAddContainerMaxByteNegative(p_IDList) }
@@ -1737,7 +1737,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for Content resource
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileAddContainerMaxByte100ToResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileAddContainerMaxByte100ToResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddContainerMaxByte100ToResponse(p_IDList) }
@@ -1746,7 +1746,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for ResultContent=4, attribute and child resources
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileAddResultContentTo4(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileAddResultContentTo4(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddResultContentTo4(p_IDList) }
@@ -1755,7 +1755,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for ResultContent=4, attribute and child resources
 			 */
-			template (value) RequestPrimitive m_createPrimitiveProfileAddResultContentTo4ToResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitiveProfileAddResultContentTo4ToResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddResultContentTo4ToResponse(p_IDList) }
@@ -1764,7 +1764,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitiveProfile resource with primitive Add for ResultContent=4, attribute and child resources
 			 */
-			template (value) RequestPrimitive m_createPrimitiveProfileModifResultContentTo4ToResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitiveProfileModifResultContentTo4ToResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitiveProfileModifResultContentTo4ToResponse(p_IDList) }
@@ -1773,7 +1773,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for ResultContent=1, attribute and child resources
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileAddResultContentTo1(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileAddResultContentTo1(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddResultContentTo1(p_IDList) }
@@ -1782,7 +1782,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for ResultContent=1, attribute and child resources
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileAddResultContentTo1ToResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileAddResultContentTo1ToResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddResultContentTo1ToResponse(p_IDList) }
@@ -1791,7 +1791,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Delete for ResultContent
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileDelteResultContent(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileDelteResultContent(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileDeleteResultContent(p_IDList) }
@@ -1800,7 +1800,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitiveProfile resource with primitive Add for non permissible attribute
 			 */
-			template (value) RequestPrimitive m_createPrimitiveProfileAddgmty(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitiveProfileAddgmty(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitiveProfileAddgmty(p_IDList) }
@@ -1809,7 +1809,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for non permissible attribute
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileAddNonPermissibleAttribute(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileAddNonPermissibleAttribute(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddNonPermissibleAttribute(p_IDList) }
@@ -1818,7 +1818,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for non permissible attribute
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileDeleteNonPermissibleAttribute(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileDeleteNonPermissibleAttribute(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileDeleteNonPermissibleAttribute(p_IDList) }
@@ -1827,7 +1827,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for Content resource with non mutually exclusive attributes
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileAddNonMutuallyExclusive(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileAddNonMutuallyExclusive(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddNonMutuallyExclusive(p_IDList) }
@@ -1836,7 +1836,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Delete for Content resource
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileDeleteContainerMaxByte(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileDeleteContainerMaxByte(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileDeleteContainerMaxByte(p_IDList) }
@@ -1845,7 +1845,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Delete from response.
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileAddMaxByte100ToResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileAddMaxByte100ToResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileAddMaxByte100ToResponse(p_IDList) }
@@ -1854,7 +1854,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for ResultContent=1 from response.
 			 */
-			template (value) RequestPrimitive m_createPrimitiveProfileAddResultContentTo1FromResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitiveProfileAddResultContentTo1FromResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitiveProfileAddResultContentTo1FromResponse(p_IDList) }
@@ -1863,7 +1863,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Add for ResultContent=1 from response.
 			 */
-			template (value) RequestPrimitive m_createPrimitiveProfileDeleteResultContentTo1FromResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitiveProfileDeleteResultContentTo1FromResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitiveProfileDeleteResultContentTo1FromResponse(p_IDList) }
@@ -1872,7 +1872,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Delete from response.
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileDeleteFromResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileDeleteFromResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileDeleteFromResponse(p_IDList) }
@@ -1881,7 +1881,7 @@ module OneM2M_Templates {
 			/**
 			 * @desc CREATE request primitive for PrimitveProfile resource with primitive Delete from response.
 			 */
-			template (value) RequestPrimitive m_createPrimitveProfileDeletePrimtiveContentFromResponse(in template ListOfM2MID p_IDList := omit) modifies m_create:= {
+			template (value) RequestPrimitive m_createPrimitveProfileDeletePrimtiveContentFromResponse(in template (omit) ListOfM2MID p_IDList := omit) modifies m_create:= {
 				requestIdentifier := testcasename() & "-m_createPrimitveProfile",
 				resourceType := int62,
 				primitiveContent := {primitveProfile := m_contentCreatePrimitveProfileDeletePrimitiveContentFromResponse(p_IDList) }
@@ -2818,7 +2818,7 @@ module OneM2M_Templates {
 				m2mServiceUser := omit
 			};
 			
-			template (value) RequestPrimitive m_deleteUserId(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_AE_ID, in template XSD.ID p_m2mServiceUser := omit) modifies m_delete := {
+			template (value) RequestPrimitive m_deleteUserId(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_AE_ID, in template (omit) XSD.ID p_m2mServiceUser := omit) modifies m_delete := {
 				to_ := p_resourceAddress,
 				from_ := p_originator,
 				m2mServiceUser := p_m2mServiceUser
@@ -3928,10 +3928,10 @@ module OneM2M_Templates {
 			resourceType := omit,//NP
 			resourceID := omit,//NP
 			parentID := omit,//NP
-			accessControlPolicyIDs := omit,//O
 			creationTime := omit,//NP
 			lastModifiedTime := omit,//NP
 			labels := omit,//O
+			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
 			dynamicAuthorizationConsultationIDs := omit, //O
 			creator := omit, //O
@@ -3963,10 +3963,10 @@ module OneM2M_Templates {
 			resourceType := omit,//NP
 			resourceID := omit,//NP
 			parentID := omit,//NP
-			accessControlPolicyIDs := omit,//O
 			creationTime := omit,//NP
 			lastModifiedTime := omit,//NP
 			labels := omit,//O
+			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
 			dynamicAuthorizationConsultationIDs := omit, //O
 			creator := omit, //O
@@ -4399,10 +4399,10 @@ module OneM2M_Templates {
             resourceType := omit,//NP,
             resourceID := omit,//NP,
             parentID := omit,//NP,
-            accessControlPolicyIDs := omit,//NP,
-		    creationTime := omit,//NP,
+            creationTime := omit,//NP,
 		    lastModifiedTime := omit,//NP,
 		    labels := omit,//O,
+		    accessControlPolicyIDs := omit,//NP,
 		    expirationTime := omit,//O,
             dynamicAuthorizationConsultationIDs := omit,//O,
             holder := omit,//O,          
@@ -4432,20 +4432,20 @@ module OneM2M_Templates {
             resourceType := omit,//NP
             resourceID := omit,//NP
             parentID := omit,//NP
-            accessControlPolicyIDs := omit,//NP
-		    creationTime := omit,//NP
+            creationTime := omit,//NP
 		    lastModifiedTime := omit,//NP
 		    labels := omit,//O
+		    accessControlPolicyIDs := omit,//NP
 		    expirationTime := omit,//O
             dynamicAuthorizationConsultationIDs := omit,//O
             holder := omit,//O
 		    announceTo := omit,//O
-            announceSyncType := omit,//O
             announcedAttribute := omit,//O
+            announceSyncType := omit,//O
             creator := omit,//O
             sufficient := omit,//O
-            referencedResourceID := omit,//O
             evalCriteria := omit,//O
+            referencedResourceID := omit,//O
             choice := omit//O
     	};
         
@@ -5514,11 +5514,11 @@ module OneM2M_Templates {
 	        resourceType                        := omit, //NP
 	        resourceID                          := omit, //NP
 	        parentID                            := omit, //NP
-			accessControlPolicyIDs              := omit, //O
-	        creationTime                        := omit, //NP
-			expirationTime                      := omit, //O
-	        lastModifiedTime                    := omit, //NP
+			creationTime                        := omit, //NP
+			lastModifiedTime                    := omit, //NP
 	        labels                              := omit, //O
+	        accessControlPolicyIDs              := omit, //O
+	        expirationTime                      := omit, //O
 	        dynamicAuthorizationConsultationIDs := omit, //O
 	        creator                             := omit, //O
 	        eventID                             := omit, //NP
@@ -5541,11 +5541,11 @@ module OneM2M_Templates {
 			resourceType                        := omit, //NP
 			resourceID                          := omit, //NP
 			parentID                            := omit, //NP
-			accessControlPolicyIDs              := omit, //O
 			creationTime                        := omit, //NP
-			expirationTime                      := omit, //O
 			lastModifiedTime                    := omit, //NP
 			labels                              := omit, //O
+			accessControlPolicyIDs              := omit, //O
+			expirationTime                      := omit, //O
 			dynamicAuthorizationConsultationIDs := omit, //O
 			creator                             := omit, //O
 			eventID                             := omit, //NP
@@ -5567,11 +5567,11 @@ module OneM2M_Templates {
 			resourceType                        := omit, //NP
 			resourceID                          := omit, //NP
 			parentID                            := omit, //NP
-			accessControlPolicyIDs              := omit, //O
 			creationTime                        := omit, //NP
-			expirationTime                      := omit, //O
 			lastModifiedTime                    := omit, //NP
 			labels                              := omit, //O
+			accessControlPolicyIDs              := omit, //O
+			expirationTime                      := omit, //O
 			dynamicAuthorizationConsultationIDs := omit, //O
 			creator                             := omit, //O
 			eventID                             := omit, //NP
@@ -5593,11 +5593,11 @@ module OneM2M_Templates {
 			resourceType                        := omit, //NP
 			resourceID                          := omit, //NP
 			parentID                            := omit, //NP
-			accessControlPolicyIDs              := omit, //O
 			creationTime                        := omit, //NP
-			expirationTime                      := omit, //O
 			lastModifiedTime                    := omit, //NP
 			labels                              := omit, //O
+			accessControlPolicyIDs              := omit, //O
+			expirationTime                      := omit, //O
 			dynamicAuthorizationConsultationIDs := omit, //O
 			creator                             := omit, //O
 			eventID                             := omit, //NP
@@ -5671,10 +5671,10 @@ module OneM2M_Templates {
 		    maxNumTimeSeries                    := 1, //O
 		    maxNumInstancesPerTimeSeries        := 1, //O
 		    maxMembersPerGroup                  := 1, //O
-			maxNumUsers							:= 1, //O
-		    maxNotificationRate                 := omit, //O
+			maxNotificationRate                 := omit, //O
 		    maxNumFlexContainers                := omit, //O
 		    maxNumInstancesPerFlexContainer     := omit, //O
+		    maxNumUsers							:= 1, //O
 		    defaultAccessControlPrivileges      := omit, //O
 		    choice 					            := omit  //NP
 		};
@@ -5711,10 +5711,10 @@ module OneM2M_Templates {
 			maxNumTimeSeries                    := omit, //O
 			maxNumInstancesPerTimeSeries        := omit, //O
 			maxMembersPerGroup                  := omit, //O
-			maxNumUsers							:= omit, //O
-		    maxNotificationRate                 := omit, //O
+			maxNotificationRate                 := omit, //O
 		    maxNumFlexContainers                := omit, //O
 		    maxNumInstancesPerFlexContainer     := omit, //O
+		    maxNumUsers							:= omit, //O
 		    defaultAccessControlPrivileges      := omit, //O
 		    choice 					            := omit  //NP
 		};
@@ -5751,10 +5751,10 @@ module OneM2M_Templates {
 			maxNumTimeSeries                    := 2, //O
 			maxNumInstancesPerTimeSeries        := 2, //O
 			maxMembersPerGroup                  := 2, //O
-			maxNumUsers							:= 2, //O
 			maxNotificationRate                 := omit, //O
 			maxNumFlexContainers                := omit, //O
 			maxNumInstancesPerFlexContainer     := omit, //O
+			maxNumUsers							:= 2, //O
 			defaultAccessControlPrivileges      := omit, //O
 			choice 					            := omit  //NP
 		};
@@ -5791,10 +5791,10 @@ module OneM2M_Templates {
 			maxNumTimeSeries                    := omit, //O
 			maxNumInstancesPerTimeSeries        := omit, //O
 			maxMembersPerGroup                  := omit, //O
-			maxNumUsers							:= omit, //O
 			maxNotificationRate                 := omit, //O
 			maxNumFlexContainers                := omit, //O
 			maxNumInstancesPerFlexContainer     := omit, //O
+			maxNumUsers							:= omit, //O
 			defaultAccessControlPrivileges      := omit, //O
 			choice 					            := omit  //NP
 		};
@@ -5831,10 +5831,10 @@ module OneM2M_Templates {
 			maxNumTimeSeries                    := omit, //O
 			maxNumInstancesPerTimeSeries        := omit, //O
 			maxMembersPerGroup                  := omit, //O
-			maxNumUsers							:= omit, //O
 			maxNotificationRate                 := omit, //O
 			maxNumFlexContainers                := omit, //O
 			maxNumInstancesPerFlexContainer     := omit, //O
+			maxNumUsers							:= omit, //O
 			defaultAccessControlPrivileges      := omit, //O
 			choice 					            := omit  //NP
 		};
@@ -5857,8 +5857,8 @@ module OneM2M_Templates {
 			applicableCredIDs       := omit,
 			allowedApp_IDs          := omit,
 			allowedAEs              := omit,
-			allowedUsers            := omit,
 			allowedRole_IDs			:= omit,
+			allowedUsers            := omit,
 			choice 					:= omit  	         //NP   
 		};
 		
@@ -7782,16 +7782,16 @@ module OneM2M_Templates {
 			expirationTime := omit, //NP
 			dynamicAuthorizationConsultationIDs := omit, //NP
 			creator := omit, //NP
-			transactionExpirationTime := omit, //NP
-			transactionMode := omit, //NP
-			transactionMaxRetries := omit, //NP
-			transactionMgmtHandling := omit, //NP
 			transactionLockTime := omit, //NP
 			transactionExecuteTime := omit, //NP
 			transactionCommitTime := omit, //NP
+			transactionExpirationTime := omit, //NP
+			transactionMode := omit, //NP
 			transactionLockType := omit, //NP
 			transactionControl := omit, //NP
 			transactionState := omit, //NP
+			transactionMaxRetries := omit, //NP
+			transactionMgmtHandling := omit, //NP
 			requestPrimitives := omit, //NP
 			responsePrimitives := omit, //NP
 			choice := omit //NP 
@@ -7818,12 +7818,12 @@ module OneM2M_Templates {
 			dynamicAuthorizationConsultationIDs := omit, //NP
 			creator := omit, //NP
 			transactionID := omit, //NP
+			transactionControl := omit, //NP
+			transactionState := omit, //NP
 			transactionLockTime := omit, //NP
 			transactionExecuteTime := omit, //NP
 			transactionCommitTime := omit, //NP
 			transactionLockType := omit, //NP
-			transactionControl := omit, //NP
-			transactionState := omit, //NP
 			requestPrimitive := omit, //NP
 			responsePrimitive := omit, //NP
 			choice := omit //NP 
@@ -7889,7 +7889,7 @@ module OneM2M_Templates {
 			expirationTime 			   				:= omit, //O
 			dynamicAuthorizationConsultationIDs 	:= omit, //O
 			applicableCredIDs 						:= omit,//O
-			allowedApp_IDs 							:= {*},//O
+			allowedApp_IDs 							:= {"*"},//O
 			allowedAEs 								:= omit,//O
 			allowedRole_IDs 						:= omit,//O
 			allowedUsers							:= omit,//O 
@@ -11675,7 +11675,7 @@ module OneM2M_Templates {
             /**
              * @desc base Software campaign creation
              */
-            template SoftwareCampaign_optional m_contentCreateSoftwareCampaignBase := { //(in template ListOfM2MID p_softwareTargets := omit, template Action_optional p_action) := {
+            template (value) SoftwareCampaign_optional m_contentCreateSoftwareCampaignBase := { //(in template ListOfM2MID p_softwareTargets := omit, template Action_optional p_action) := {
                 resourceName := c_defaultSoftwareCampaignResourceName, //O
                 resourceType := omit,//NP
                 resourceID := omit,//NP
@@ -11697,9 +11697,9 @@ module OneM2M_Templates {
                 uRL := "PX_TS_ONTOLOGY_SERVER",
                 softwareTargets := {"UNINITIALIZED"},
                 softwareTriggerCriteria := omit,
-                softwareOperation := (int1,int2,int3,int4),
+                softwareOperation := int1,
                 softwareLinks := omit,
-                aggregatedSoftwareStatus := (int0,int1,int2,int3),
+                aggregatedSoftwareStatus := int0,
                 individualSoftwareStatus := omit
             };
 
@@ -11735,7 +11735,7 @@ module OneM2M_Templates {
             /**
              * @desc CREATE request primitive for Software campaign resource without attribute softwareTargets
              */
-            template (value) RequestPrimitive m_createSoftwareCampaignNoSoftwareTargets(in template Action_optional p_action) modifies m_create := {
+            template (value) RequestPrimitive m_createSoftwareCampaignNoSoftwareTargets(in template (value) Action_optional p_action) modifies m_create := {
                 requestIdentifier := testcasename() & "-m_createSoftwareCampaign",
                 resourceType := int61,
                 primitiveContent := {softwareCampaign := m_contentCreateSoftwareCampaignNoSoftwareTargets(p_action)}
@@ -11744,7 +11744,7 @@ module OneM2M_Templates {
             /**
              * @desc CREATE request primitive for Software campaign resource without attribute SoftwareTriggerCriteria
              */
-            template (value) RequestPrimitive m_createSoftwareCampaignNoSoftwareTriggerCriteria(in template ListOfM2MID p_softwareTargets := omit, template Action_optional p_action) modifies m_create := {
+            template (value) RequestPrimitive m_createSoftwareCampaignNoSoftwareTriggerCriteria(in template (omit) ListOfM2MID p_softwareTargets := omit, template (value) Action_optional p_action) modifies m_create := {
                 requestIdentifier := testcasename() & "-m_createSoftwareCampaign",
                 resourceType := int61,
                 primitiveContent := {softwareCampaign := m_contentCreateSoftwareCampaignNoSoftwareTriggerCriteria(p_softwareTargets, p_action)}
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 10a7bfb..7af70ca 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -12448,10 +12448,10 @@ module OneM2M_PermutationFunctions {
 					
 					// Test Body
 					if (p_resourceType == int4) {
-						v_create := m_createContainerBase;
+						v_create := valueof(m_createContainerBase);
 						v_resourceIndex := f_cse_createResource(int3,v_create, v_aeIndex);
 					} else if (p_resourceType == int30) {
-						v_create := m_createTimeSeriesBase;
+						v_create := valueof(m_createTimeSeriesBase);
 						v_resourceIndex := f_cse_createResource(int29,v_create, v_aeIndex);
 					}
 
@@ -12808,7 +12808,7 @@ module OneM2M_PermutationFunctions {
 					// Test Body
 					vc_cse1.start(f_cse_retrieveResourceHandler(v_originalResourceIndex, -, -));
 					
-					v_request := m_retrieve(v_resourceAnncAddress, f_getOriginator(v_aeIndex));
+					v_request := valueof(m_retrieve(v_resourceAnncAddress, f_getOriginator(v_aeIndex)));
 					v_request.resultContent := int7;
 					
 					f_send(e_mcaPort, m_request(v_request));
diff --git a/OneM2M_Testcases_CSE_Release_4.ttcn b/OneM2M_Testcases_CSE_Release_4.ttcn
index fe05481..e9c9e59 100644
--- a/OneM2M_Testcases_CSE_Release_4.ttcn
+++ b/OneM2M_Testcases_CSE_Release_4.ttcn
@@ -6212,7 +6212,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 				v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 				// Primitive Profile with attribute of Container resource 'MaxByte' to be added and deleted simultaneously.
-				v_createPrimitveProfile := m_createPrimitveProfileAddNonMutuallyExclusive({f_getOriginator(v_aeIndex)});
+				v_createPrimitveProfile := valueof(m_createPrimitveProfileAddNonMutuallyExclusive({f_getOriginator(v_aeIndex)}));
 				
 				f_send(e_mcaPort, m_request(v_createPrimitveProfile));
 				tc_ac.start;
@@ -6324,7 +6324,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 				v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 				// Primitive Profile for adding non permissible parameters.
-				v_createPrimitveProfile := m_createPrimitveProfileAddNonPermissibleAttribute({f_getOriginator(v_aeIndex)});
+				v_createPrimitveProfile := valueof(m_createPrimitveProfileAddNonPermissibleAttribute({f_getOriginator(v_aeIndex)}));
 				
 				f_send(e_mcaPort, m_request(v_createPrimitveProfile));
 				tc_ac.start;
@@ -10162,7 +10162,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 					// Verifiy that the ServiceSubscriptionProfile resource has been updated
 					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_subscriptionProfileIndex);
 					
-					if(not(match(v_updateRequestPrimitive.primitiveContent.m2mServiceSubscriptionProfile.maxNumAEs, vc_primitiveContentRetrievedResource.m2mServiceSubscriptionProfile.maxNumAEs))) {
+					if(not(match(valueof(v_updateRequestPrimitive.primitiveContent.m2mServiceSubscriptionProfile.maxNumAEs), vc_primitiveContentRetrievedResource.m2mServiceSubscriptionProfile.maxNumAEs))) {
 						setverdict(fail, __SCOPE__&":INFO: Retrived ServiceSubscriptionProfile does not match with updated content.");
 					} else {
 						setverdict(pass, __SCOPE__ & ": Retrived ServiceSubscriptionProfile matched with updated content.");
@@ -12487,7 +12487,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 					
 					var template RequestPrimitive v_createServiceSubscriptionProfile := m_createM2mServiceSubscriptionProfileMaxValue2;	
 					var template RequestPrimitive v_updateRequestPrimitive := m_updateServiceSubscriptionProfileMaxNumInstancesPerTimeSeriesZero;
-					var RequestPrimitive v_createTimeSeriesRequest := m_createTimeSeriesBase;
+					var RequestPrimitive v_createTimeSeriesRequest := valueof(m_createTimeSeriesBase);
 					
 					// Test component configuration
 					f_cf01Up(true);
@@ -13242,7 +13242,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 					
 					var template RequestPrimitive v_createServiceSubscriptionProfile := m_createM2mServiceSubscriptionProfileMaxValue2;	
 					var template RequestPrimitive v_updateRequestPrimitive := m_updateServiceSubscriptionProfileMaxNumInstancesPerTimeSeries3;
-					var RequestPrimitive v_createTimeSeriesRequest := m_createTimeSeriesBase;
+					var RequestPrimitive v_createTimeSeriesRequest := valueof(m_createTimeSeriesBase);
 					
 					// Test component configuration
 					f_cf01Up(true);
@@ -13828,7 +13828,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 					// Verifiy that the seriviceSubscribedAppRule resource has been updated
 					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_serviceSubscribedAppRuleIndex);
 					
-					if(not(match(v_updateRequestPrimitive.primitiveContent.serviceSubscribedAppRule.allowedApp_IDs, vc_primitiveContentRetrievedResource.serviceSubscribedAppRule.allowedApp_IDs))) {
+					if(not(match(valueof(v_updateRequestPrimitive.primitiveContent.serviceSubscribedAppRule.allowedApp_IDs), vc_primitiveContentRetrievedResource.serviceSubscribedAppRule.allowedApp_IDs))) {
 						setverdict(fail, __SCOPE__&":INFO: Retrived ServiceSubscriptionProfile does not match with updated content.");
 					} else {
 						setverdict(pass, __SCOPE__ & ": Retrived ServiceSubscriptionProfile matched with updated content.");
@@ -13946,7 +13946,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 					v_serviceSubscribedAppRuleIndex := f_cse_createResource(int19, v_createServiceSubscribedAppRule);
 					
 					// ServiceSubscribedNode as a child of SubscriptionProfile with ruleLinks pointing to SubscribedAppRule
-					v_createServiceSubscribedNode := m_createServiceSubscribedNodeBase({f_getResourceAddress(v_serviceSubscribedAppRuleIndex)}, v_nodeID, v_cseId);
+					v_createServiceSubscribedNode := valueof(m_createServiceSubscribedNodeBase({f_getResourceAddress(v_serviceSubscribedAppRuleIndex)}, v_nodeID, v_cseId));
 					v_createServiceSubscribedNode := f_getCreateRequestPrimitive(int20, v_createServiceSubscribedNode, v_subscriptionProfileIndex);
 					
 					f_send(e_mcaPort, m_request(v_createServiceSubscribedNode));
@@ -14131,7 +14131,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 					// Verifiy that the ServiceSubscribedNode resource has been updated
 					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_serviceSubscribedNodeIndex);
 					
-					if(not(match(v_updateRequestPrimitive.primitiveContent.serviceSubscribedNode.niddRequired, vc_primitiveContentRetrievedResource.serviceSubscribedNode.niddRequired))) {
+					if(not(match(valueof(v_updateRequestPrimitive.primitiveContent.serviceSubscribedNode.niddRequired), vc_primitiveContentRetrievedResource.serviceSubscribedNode.niddRequired))) {
 						setverdict(fail, __SCOPE__&":INFO: Retrived serviceSubscribedNode does not match with updated content.");
 					} else {
 						setverdict(pass, __SCOPE__ & ": Retrived serviceSubscribedNode matched with updated content.");
@@ -14271,7 +14271,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 				
 					// ServiceSubscribedNode as a child of SubscriptionProfile with ruleLinks pointing to SubscribedAppRule 
 					// and no CSE-ID
-					v_createServiceSubscribedNode := m_createServiceSubscribedNodeBase({f_getResourceAddress(v_serviceSubscribedAppRuleIndex)}, v_nodeID, omit);
+					v_createServiceSubscribedNode := valueof(m_createServiceSubscribedNodeBase({f_getResourceAddress(v_serviceSubscribedAppRuleIndex)}, v_nodeID, omit));
 					
 					v_createServiceSubscribedNode := f_getCreateRequestPrimitive(int20, v_createServiceSubscribedNode, v_subscriptionProfileIndex);
 					
@@ -15463,7 +15463,7 @@ module OneM2M_Testcases_CSE_Release_4 {
 					// Test Body
 					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
 					
-					var RequestPrimitive v_createInnerRequestPrimitive := m_create;
+					var RequestPrimitive v_createInnerRequestPrimitive := valueof(m_create);
 					v_createInnerRequestPrimitive.to_ := f_getResourceId(vc_resourcesList[v_aeIndex].resource);
 					v_createInnerRequestPrimitive.from_ := f_getResourceId(vc_resourcesList[v_aeIndex].resource);
 					
-- 
GitLab