From 192b80960435ef01a876f4a1ce8de77ea0693ff7 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Thu, 8 Feb 2018 12:34:44 +0100
Subject: [PATCH] Reverting back Release 2 changes for types and templates

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Pixits.ttcn        |     2 +-
 LibOneM2M/OneM2M_Templates.ttcn     |   606 +-
 LibOneM2M/OneM2M_Types.ttcn         | 11590 ++++++++++----------------
 OneM2M_Testcases_CSE_Release_1.ttcn |     2 +-
 OneM2M_Testcases_CSE_Release_2.ttcn |    16 +-
 5 files changed, 4619 insertions(+), 7597 deletions(-)

diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn
index 35c0207..f4ab4c6 100644
--- a/LibOneM2M/OneM2M_Pixits.ttcn
+++ b/LibOneM2M/OneM2M_Pixits.ttcn
@@ -147,7 +147,7 @@ module OneM2M_Pixits {
 	modulepar boolean PX_IUT_IS_IN_CSE				:= false; //default //set it to true when running Share-based location testcases
 	
 	//constant parameters for LOC  
-	modulepar LocationTargetID PX_LOCATION_TARGET_ID				:= {alt_ := "{LOCATION-TARGET-ID}"}; //SUPPOSE TO BE RECEIVED FROM LOCATION SERVER
+	modulepar XSD.Token PX_LOCATION_TARGET_ID				:= "{LOCATION-TARGET-ID}"; //SUPPOSE TO BE RECEIVED FROM LOCATION SERVER
 	modulepar XSD.AnyURI PX_LOCATION_SERVER_ADDRESS		:= "{LOCATION-SERVER-ADDRESS}";
 	
 	modulepar charstring PX_LOCATION_UPDATE_PERIOD			:= "PT10M10S" ;//10 Minute 10 Seconds
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index ea2ca45..7464dad 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -5,9 +5,9 @@
  *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
  *  All rights reserved.
  *  
- *  @author     oneM2M
- *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
- *              $Id: OneM2M_Templates.ttcn 356 2017-08-21 12:25:14Z reinaortega $
+ *  @author     ETSI
+ *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
+ *              $Id: OneM2M_Templates.ttcn 347 2017-08-11 08:48:20Z reinaortega $
  *  @desc       Module containing templates for oneM2M
  *
  */
@@ -106,7 +106,7 @@ module OneM2M_Templates {
 				requestIdentifier := "m_retrieve" & f_rnd(1, 1000000),
 				resourceType := omit,
 				primitiveContent := omit,
-				roleIDs := omit, 
+				role := omit, 
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -118,11 +118,7 @@ module OneM2M_Templates {
 				deliveryAggregation := omit,
 				groupRequestIdentifier := omit,
 				filterCriteria := omit,
-				discoveryResultType := omit,
-				tokens := omit,
-				tokenIDs := omit,
-				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				discoveryResultType := omit
 			};
 			
 			/**
@@ -136,7 +132,7 @@ module OneM2M_Templates {
 				requestIdentifier := ?,
 				resourceType := omit,
 				primitiveContent := *,
-				roleIDs := *, 
+				role := *, 
 				originatingTimestamp := *,
 				requestExpirationTimestamp := *,
 				resultExpirationTimestamp := *,
@@ -148,11 +144,7 @@ module OneM2M_Templates {
 				deliveryAggregation := *,
 				groupRequestIdentifier := *,
 				filterCriteria := *,
-				discoveryResultType := *,
-				tokens := *,
-				tokenIDs := *,
-				localTokenIDs := *,
-				tokenRequestIndicator := *
+				discoveryResultType := *
 			};
         	
 			/**
@@ -167,7 +159,7 @@ module OneM2M_Templates {
 				requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000),
 				resourceType := omit,
 				primitiveContent := omit, 
-				roleIDs := omit,
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -179,11 +171,7 @@ module OneM2M_Templates {
 				deliveryAggregation := omit,
 				groupRequestIdentifier := omit,
 				filterCriteria := omit,
-				discoveryResultType := omit,
-				tokens := omit,
-				tokenIDs := omit,
-				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				discoveryResultType := omit
 			};
         	
 			/**
@@ -199,7 +187,7 @@ module OneM2M_Templates {
 				requestIdentifier := "m_retrieveResourceAttributeContentOption" & f_rnd(1, 1000000),
 				resourceType := omit,
 				primitiveContent := {attributeList := p_attributeList},
-				roleIDs := omit,
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -211,11 +199,7 @@ module OneM2M_Templates {
 				deliveryAggregation := omit,
 				groupRequestIdentifier := omit,
 				filterCriteria := omit,
-				discoveryResultType := omit,
-				tokens := omit,
-				tokenIDs := omit,
-				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				discoveryResultType := omit
 			};
 			
 			/**
@@ -241,14 +225,8 @@ module OneM2M_Templates {
 					sizeBelow := omit,
 					contentType_list := {},
 					attribute_list := {},
-					filterUsage := p_filterUsage,
-					limit := omit,
-					semanticsFilter_list := {},
-					filterOperation := omit,
-					contentFilterSyntax := omit,
-					contentFilterQuery := omit,
-					level := omit,
-					offset := omit
+					filterUsage := p_filterUsage, 
+					limit := omit
 				}
 			};
 			
@@ -288,15 +266,10 @@ module OneM2M_Templates {
 					contentType_list := {},
 					attribute_list := {},
 					filterUsage := p_filterUsage, 
-					limit := omit,
-					semanticsFilter_list := {},
-					filterOperation := omit,
-					contentFilterSyntax := omit,
-					contentFilterQuery := omit,
-					level := omit,
-					offset := omit
+					limit := omit
 				}
 			};
+			
 			/**
 			  * @desc RETRIEVE request primtive containing the Discovery Type in the discoveryResultType field and Filter Criteria in the filterCriteria field
 			  * @param p_targetResourceAddress Target resource address 
@@ -321,13 +294,7 @@ module OneM2M_Templates {
 					contentType_list := {},
 					attribute_list := {},
 					filterUsage := p_filterUsage,
-					limit := omit,
-					semanticsFilter_list := {},
-					filterOperation := omit,
-					contentFilterSyntax := omit,
-					contentFilterQuery := omit,
-					level := omit,
-					offset := omit
+					limit := omit
 				},
 				discoveryResultType := p_discResType
 			};
@@ -356,13 +323,7 @@ module OneM2M_Templates {
 					contentType_list := {},
 					attribute_list := {},
 					filterUsage := omit,
-						limit := omit,
-						semanticsFilter_list := {},
-						filterOperation := omit,
-						contentFilterSyntax := omit,
-						contentFilterQuery := omit,
-						level := omit,
-						offset := omit
+					limit := omit
 				}
 			};
 			
@@ -401,7 +362,7 @@ module OneM2M_Templates {
 				requestIdentifier := "m_update",
 				resourceType := omit,
 				primitiveContent:= omit,
-				roleIDs := omit, 
+				role := omit, 
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -413,11 +374,7 @@ module OneM2M_Templates {
 				deliveryAggregation := omit,
 				groupRequestIdentifier := omit,
 				filterCriteria := omit,
-				discoveryResultType := omit,
-				tokens := omit,
-				tokenIDs := omit,
-				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				discoveryResultType := omit
 			};
 			
 						
@@ -426,9 +383,9 @@ module OneM2M_Templates {
 				to_ := p_to,
 				from_ := p_from,
 				requestIdentifier := ?,
-				resourceType := omit,
+				resourceType := ?,
 				primitiveContent:= ?,
-				roleIDs := *, 
+				role := *, 
 				originatingTimestamp := *,
 				requestExpirationTimestamp := *,
 				resultExpirationTimestamp := *,
@@ -440,11 +397,7 @@ module OneM2M_Templates {
 				deliveryAggregation := *,
 				groupRequestIdentifier := *,
 				filterCriteria := *,
-				discoveryResultType := *, 
-				tokens := *,
-				tokenIDs := *,
-				localTokenIDs := *,
-				tokenRequestIndicator := *
+				discoveryResultType := omit
 			};
         	
 			/**
@@ -454,7 +407,7 @@ module OneM2M_Templates {
 				requestIdentifier := "m_updateAe",
 				primitiveContent:= {aE := m_contentUpdateAe}
 			};
-        	
+						
 			/**
 			 * @desc Reception template for update Ae resource
 			 */
@@ -573,7 +526,7 @@ module OneM2M_Templates {
 				requestIdentifier := testcasename() & "-m_create",
 				resourceType := omit,
 				primitiveContent := omit,
-				roleIDs := omit,
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -585,12 +538,7 @@ module OneM2M_Templates {
 				deliveryAggregation := omit,
 				groupRequestIdentifier := omit,
 				filterCriteria := omit,
-				discoveryResultType := omit,
-				tokens := omit,
-				tokenIDs := omit,
-				localTokenIDs := omit,
-				tokenRequestIndicator := omit
-
+				discoveryResultType := omit
 			};
         	
 			/**
@@ -603,7 +551,7 @@ module OneM2M_Templates {
 				requestIdentifier := ?,
 				resourceType := ?,
 				primitiveContent := ?,
-				roleIDs := *,
+				role := *,
 				originatingTimestamp := *,
 				requestExpirationTimestamp := *,
 				resultExpirationTimestamp := *,
@@ -614,41 +562,8 @@ module OneM2M_Templates {
 				eventCategory := *,
 				deliveryAggregation := *,
 				groupRequestIdentifier := *,
-				filterCriteria := *,
-				discoveryResultType := *,
-				tokens := *,
-				tokenIDs := *,
-				localTokenIDs := *,
-				tokenRequestIndicator := *
-			}
-			
-			/**
-			 * @desc Base Reception template for create operation for announced resources
-			 */
-			template RequestPrimitive mw_createAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?) := {
-				operation := int1,
-				to_ := p_to,
-				from_ := p_from,
-				requestIdentifier := ?,
-				resourceType := ?,
-				primitiveContent := ?,
-				roleIDs := *,
-				originatingTimestamp := *,
-				requestExpirationTimestamp := *,
-				resultExpirationTimestamp := *,
-				operationExecutionTime := *,
-				responseType := *,
-				resultPersistence := *,
-				resultContent := *,
-				eventCategory := *,
-				deliveryAggregation := *,
-				groupRequestIdentifier := *,
-				filterCriteria := *,
-				discoveryResultType := *,
-				tokens := *,
-				tokenIDs := *,
-				localTokenIDs := *,
-				tokenRequestIndicator := *
+				filterCriteria := omit,
+				discoveryResultType := omit
 			}
 			
 			
@@ -660,18 +575,17 @@ module OneM2M_Templates {
 			 * @param p_appId
 			 * @param p_stemId
 			 */
-			template (value) RequestPrimitive m_createAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_to := omit, template (omit) XSD.ID p_from := omit, XSD.ID p_appId, XSD.ID p_stemId := "") modifies m_create:= {
-				to_ := p_to,
+			template (value) RequestPrimitive m_createAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_from := omit, XSD.ID p_appId, XSD.ID p_link) modifies m_create:= {
 				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
 				requestIdentifier := testcasename() & "-m_createAEAnnc",
 				resourceType := int10002,
-				primitiveContent := {aEAnnc := 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, p_link)}
 			};
 			
 			/**
 			 * @desc Reception template for CREATE AEAnnc
 			 */
-			template RequestPrimitive mw_createAEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?) modifies mw_createAnnc := {
+			template RequestPrimitive mw_createAEAnnc(template (omit) XSD.ID p_from := omit, template (omit) XSD.ID p_to := omit, template (omit) AcpType p_accessControlPolicyIds := omit, template XSD.AnyURI p_link := ?) modifies mw_create := {
 				resourceType := int10002,
 				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
 			};
@@ -720,7 +634,7 @@ module OneM2M_Templates {
 			template RequestPrimitive mw_createAccessControlPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				to_ := p_to,
 				from_ := p_from,
-				resourceType := int10001,
+				resourceType := int10002,
 				primitiveContent := {accessControlPolicyAnnc := mw_contentCreateAcpAnnc(-)}
 			};
         	
@@ -775,14 +689,14 @@ module OneM2M_Templates {
 			template RequestPrimitive mw_createRemoteCSE(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int16,
 				primitiveContent := {remoteCSE := ?}	//{remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
-			};			
+			};
 			
 			/**
-			 * @desc CREATE request primitive for remoteCSE resource
+			 * @desc Base reception template for CREATE RemoteCSE
 			 */
 			template RequestPrimitive mw_createRemoteCSEBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int16,
-				primitiveContent := ?//{remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
+				primitiveContent := {remoteCSE := mw_contentCreateRemoteCSEBase}
 			};
 			
 			/**
@@ -815,22 +729,6 @@ module OneM2M_Templates {
 				primitiveContent := {containerAnnc := mw_contentCreateContainerAnncBase}
 			};
         	
-			/**
-			 * @desc Reception template for CREATE FlexContainer
-			 */
-			template RequestPrimitive mw_createFlexContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
-				resourceType := int28, 
-				primitiveContent := {flexContainer := ?}
-			};  
-			
-			/**
-			 * @desc Reception template for CREATE GenericInterworkingOperationInstance
-			 */
-			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 := ?}
-			}; 
-        	
 			/**
 			 * @desc Base CREATE request primitive for Content Instance resource
 			 */
@@ -1091,7 +989,7 @@ module OneM2M_Templates {
 																		   in template (omit) BatchNotify p_batchNotify := omit,
 																		   in template (omit) XSD.Boolean p_latestNotify := omit,
 																		   in template (omit) XSD.AnyURI p_subscriberURI := omit,
-																		   in template (omit) NotificationContentType p_notificationContentType := int1,
+																		   in template (omit) NotificationContentType p_notificationContentType := int1, 
 																		   in template (omit) PendingNotification p_pendingNotification) modifies m_createSubscription := {
 				primitiveContent := {subscription := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType, p_pendingNotification)}
 			};
@@ -1105,7 +1003,7 @@ module OneM2M_Templates {
 				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) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
+			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", //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,
@@ -1136,14 +1034,6 @@ module OneM2M_Templates {
         	  
 			};
 			
-			/**
-			 * @desc Reception template for SemanticDescriptor creation
-			 */
-			template RequestPrimitive mw_createSemanticDescriptor(template XSD.ID p_from := *, template XSD.ID p_to := ?, template (present) SemanticDescriptor_optional p_semanticDescriptor := mw_contentCreateSemanticDescriptor) modifies mw_create := {
-				resourceType := int24,
-				primitiveContent := {semanticDescriptor := p_semanticDescriptor}
-			};
-			
 			/**
 			 * @desc Base CREATE request primitive for Stats Config resource
 			 */
@@ -1182,7 +1072,7 @@ module OneM2M_Templates {
 				requestIdentifier := testcasename() & "-m_delete" & f_rnd(1, 1000000),
 				resourceType := omit,
 				primitiveContent := omit, 
-				roleIDs := omit, 
+				role := omit, 
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -1194,21 +1084,17 @@ module OneM2M_Templates {
 				deliveryAggregation := omit,
 				groupRequestIdentifier := omit,
 				filterCriteria := omit,
-				discoveryResultType := omit,
-				tokens := omit,
-				tokenIDs := omit,
-				localTokenIDs := omit, 
-				tokenRequestIndicator := omit
+				discoveryResultType := omit
 			};
-
+			
 			template RequestPrimitive mw_delete(template XSD.ID p_resourceAddress := ?, template XSD.ID p_from := *) := {
 				operation := int4,
 				to_ := p_resourceAddress,
-				from_ := ?,
+				from_ := p_from,
 				requestIdentifier := ?,
 				resourceType := omit,
 				primitiveContent := omit, 
-				roleIDs := *, 
+				role := *, 
 				originatingTimestamp := *,
 				requestExpirationTimestamp := *,
 				resultExpirationTimestamp := *,
@@ -1220,11 +1106,7 @@ module OneM2M_Templates {
 				deliveryAggregation := *,
 				groupRequestIdentifier := *,
 				filterCriteria := *,
-				discoveryResultType := *, 
-				tokens := *,
-				tokenIDs := *,
-				localTokenIDs := *,
-				tokenRequestIndicator := *
+				discoveryResultType := omit
 			};
         	
 		}//end group Delete
@@ -1241,7 +1123,7 @@ module OneM2M_Templates {
 				requestIdentifier := testcasename() & "-m_notify" & f_rnd(1, 1000000),
 				resourceType := omit,
 				primitiveContent := {notification := m_contentCreateNotification_allOmit},
-				roleIDs := omit,
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -1253,11 +1135,7 @@ module OneM2M_Templates {
 				deliveryAggregation := omit,
 				groupRequestIdentifier := omit,
 				filterCriteria := omit,
-				discoveryResultType := omit,
-				tokens := omit,
-				tokenIDs := omit,
-				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				discoveryResultType := omit
 			};
 			
 			/**
@@ -1270,7 +1148,7 @@ module OneM2M_Templates {
 				requestIdentifier := testcasename() & "-m_notifyAggregatedNotification" & f_rnd(1, 1000000),
 				resourceType := omit,
 				primitiveContent := {aggregatedNotification := {notification_list := {m_contentCreateNotification_allOmit,m_contentCreateNotification_allOmit}}},
-				roleIDs := omit,
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -1282,11 +1160,7 @@ module OneM2M_Templates {
 				deliveryAggregation := omit,
 				groupRequestIdentifier := omit,
 				filterCriteria := omit,
-				discoveryResultType := omit,
-				tokens := omit,
-				tokenIDs := omit,
-				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				discoveryResultType := omit
 			};
     		
     		/**
@@ -1299,7 +1173,7 @@ module OneM2M_Templates {
 				requestIdentifier := ?,
 				resourceType := omit,
 				primitiveContent := {notification := mw_contentNotificationBase},
-				roleIDs := *,
+				role := *,
 				originatingTimestamp := *,
 				requestExpirationTimestamp := *,
 				resultExpirationTimestamp := *,
@@ -1310,12 +1184,8 @@ module OneM2M_Templates {
 				eventCategory := *,
 				deliveryAggregation := *,
 				groupRequestIdentifier := *,
-				filterCriteria := *,
-				discoveryResultType := *,
-				tokens := *,
-				tokenIDs := *,
-				localTokenIDs := *,
-				tokenRequestIndicator := *
+				filterCriteria := omit,
+				discoveryResultType := omit
 			};
 			
 			/**
@@ -1356,7 +1226,7 @@ module OneM2M_Templates {
         template PrimitiveContent m_primitiveContentCSEBase(template CSEBase_optional p_cSEBase) := {
 	        cSEBase := p_cSEBase
 		}
-
+		
 		template PrimitiveContent m_primitiveContentRemoteCSE(template RemoteCSE_optional p_remoteCSE) := {
 			remoteCSE := p_remoteCSE
 		}
@@ -1370,7 +1240,7 @@ module OneM2M_Templates {
 		 * @param p_appId App ID
 		 * @param p_nodeLink Node link
 		 */
-		template AEAnnc_optional m_contentCreateAEAnnc (in template (omit)  Labels p_labels, in template (omit) AcpType p_accessControlPolicyIds, XSD.ID p_appId := PX_APP_ID, in template (omit) XSD.AnyURI p_nodeLink := omit) := {
+		template AEAnnc_optional m_contentCreateAEAnnc (in template (omit)  Labels p_labels, in template (omit) AcpType p_accessControlPolicyIds, XSD.ID p_appId := PX_APP_ID, in template (omit) XSD.AnyURI p_link := omit) := {
 			resourceName := omit,//O TODO 
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -1380,17 +1250,15 @@ module OneM2M_Templates {
 			labels := p_labels,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := "20301231T012345",//O
-			link := omit,//M TODO Put the right value
-			dynamicAuthorizationConsultationIDs := omit, //TODO Check whether it is optional or mandatory for create operation			
+			link := p_link,//M TODO Put the right value
 			appName := omit,//O
 			app_ID := p_appId,//M
 			aE_ID := omit,//NP
 			pointOfAccess := omit, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
 			ontologyRef := omit,//O
-			nodeLink := p_nodeLink,//NP
+			nodeLink := omit,//NP
 			requestReachability := true,//M
 			contentSerialization := omit,//O
-			e2eSecInfo := omit, //O TODO Check whether it is optional or mandatory for create operation
 			choice := omit//NP
 		};	
 
@@ -1412,16 +1280,14 @@ module OneM2M_Templates {
 			accessControlPolicyIDs := p_accessControlPolicyIds,//MA
 			expirationTime := ?,//MA M
 			link := p_link,//M
-    		dynamicAuthorizationConsultationIDs := omit, //OA			
-			appName := *,//OA
-			app_ID := *,//OA
-			aE_ID := *,//OA
-			pointOfAccess := *, //OA {"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
-			ontologyRef := *,//OA
-			nodeLink := *,//OA
-			requestReachability := *,//OA
-			contentSerialization := *,//OA
-			e2eSecInfo := ?, //MA
+			appName := omit,//OA
+			app_ID := omit,//OA
+			aE_ID := omit,//OA
+			pointOfAccess := omit, //OA {"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
+			ontologyRef := omit,//OA
+			nodeLink := omit,//OA
+			requestReachability := omit,//OA
+			contentSerialization := omit,//OA
 			choice := omit//NA
 		};	
 		
@@ -1441,7 +1307,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			appName := omit,//O
@@ -1452,7 +1317,6 @@ module OneM2M_Templates {
 			nodeLink := omit,//NP
 			requestReachability := true,//M
 			contentSerialization := omit,//O
-			e2eSecInfo := omit, //O
 			choice := omit//NP
 		};	
     	
@@ -1486,7 +1350,7 @@ module OneM2M_Templates {
 		 * @desc Base reception template of primitiveContent for CREATE operation for AccessControlPolicyAnnc resource
 		 * @param p_labels Labels
 		 */
-		template AccessControlPolicyAnnc_optional mw_contentCreateAcpAnnc (in template Labels p_labels := ?) := {
+		template AccessControlPolicyAnnc_optional mw_contentCreateAcpAnnc (in template (omit)  Labels p_labels := omit) := {
 			resourceName := omit,//NA M
 			resourceType := omit,//NA M
 			resourceID := omit,//NA M
@@ -1496,17 +1360,15 @@ module OneM2M_Templates {
 			labels := p_labels,//MA
 			expirationTime := ?,//MA M
 			link := ?,//M
-			privileges := ?,//MA
-			selfPrivileges := ?,//MA
+			privileges := *,//MA
+			selfPrivileges := *,//MA
 			choice := omit//NA
 		};	
 		
 		template (value) AccessControlRule m_createAcr (in template (value) ListOfURIs p_acor, in template (value) AccessControlOperations p_allowedOperations) := {
 			accessControlOriginators := p_acor,//{"*"},//{PX_AE_ID_STEM}, //{"admin:admin"},
 			accessControlOperations := p_allowedOperations,
-			accessControlContexts_list := {},
-			accessControlAuthenticationFlag := omit, 
-			accessControlObjectDetails_list := {}
+			accessControlContexts_list := {}
 		}
     	
 		/*template (value) CSEBase_optional m_contentCreateCSEBase (in template (value) ServiceSubscribedAppRule p_serviceSubscribedAppRule) := {
@@ -1549,8 +1411,6 @@ module OneM2M_Templates {
 			supportedResourceType := omit,
 			pointOfAccess := omit,
 			nodeLink := omit,
-			dynamicAuthorizationConsultationIDs := omit,
-			e2eSecInfo := omit, 
 			choice := omit
 		};
 		
@@ -1576,7 +1436,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
-			dynamicAuthorizationConsultationIDs := omit,//O
 			stateTag := omit,//NP
 			source := p_source,//M
 			target := p_target,//M
@@ -1611,7 +1470,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			creator := omit,//O
@@ -1623,7 +1481,6 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//NP
 			consistencyStrategy := p_consistencyStrategy,//O
 			groupName := omit,//O
-			semanticSupportIndicator := omit,//O
 			choice := omit//NP
 		};  
     	
@@ -1641,7 +1498,6 @@ module OneM2M_Templates {
 			  accessControlPolicyIDs := ?,//MA
 			  expirationTime := ?,//MA M
 			  link := ?,
-			  dynamicAuthorizationConsultationIDs := *, //OA
 			  memberType := *, //OA
 			  currentNrOfMembers := *, //OA
 			  maxNrOfMembers := *, //OA
@@ -1650,7 +1506,6 @@ module OneM2M_Templates {
 			  memberTypeValidated := *, //OA
 			  consistencyStrategy := *, //OA
 			  groupName := *, //OA
-			  semanticSupportIndicator := *,//OA
 			  choice := omit //NA
 		  };
     	
@@ -1670,7 +1525,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			mgmtDefinition := omit,//O
@@ -1695,7 +1549,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			mgmtDefinition := omit,//O
@@ -1718,7 +1571,6 @@ module OneM2M_Templates {
 			accessControlPolicyIDs := ?,//MA
 			expirationTime := ?,//MA M
 			link := ?,
-			dynamicAuthorizationConsultationIDs := *, //OA
 			mgmtDefinition := ?, //MA
 			objectIDs := *, //OA
 			objectPaths := *, //OA
@@ -1741,12 +1593,10 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			nodeID := p_nodeId,//M
 			hostedCSELink := omit,//O
-			mgmtClientAddress := omit,//O
 			choice := omit//O
 		};	  	
 		
@@ -1814,11 +1664,9 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
 			applicableCredIDs := p_applicableCredIDs,//O
 			allowedApp_IDs := p_allowedAppIDs,//O
 			allowedAEs := p_allowedAEs,//O
-			allowedRole_IDs := omit,//O
 			choice := omit //O
 		}
 		
@@ -1836,7 +1684,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			creator := omit,//O
 			choice := omit//O
 		};  
@@ -1858,8 +1705,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
-			creator := omit,//O
 			eventNotificationCriteria := omit,//O
 			expirationCounter := omit,//O
 			notificationURI := p_notificationURI,//M
@@ -1873,6 +1718,7 @@ module OneM2M_Templates {
 			latestNotify := omit,//O
 			notificationContentType := omit, //O
 			notificationEventCat := omit,//O
+			creator := omit,//O
 			subscriberURI := omit,//O
 			choice := omit//NP
 		};   	
@@ -1884,7 +1730,7 @@ module OneM2M_Templates {
 																					in template (omit) BatchNotify p_batchNotify,
 																					in template (omit) XSD.Boolean p_latestNotify,
 																					in template (omit) XSD.AnyURI p_subscriberURI,
-																					in template (omit) NotificationContentType p_notificationContentType,
+																					in template (omit) NotificationContentType p_notificationContentType, 
 																					in template (omit) PendingNotification p_pendingNotification) modifies m_contentCreateSubscription := {
 			eventNotificationCriteria := p_eventNotificationCriteria,//O
 			expirationCounter := p_expirationCounter,//O
@@ -1908,8 +1754,7 @@ module OneM2M_Templates {
 			sizeBelow := omit,
 			operationMonitor_list := {},
 			attribute := p_attribute_list, 
-			notificationEventType_list := p_notificationEventType_list,// TODO this list should be able to be omited see 9.6.8 (TS0001)
-			missingData := omit
+			notificationEventType_list := p_notificationEventType_list// TODO this list should be able to be omited see 9.6.8 (TS0001)
 		};
         
 		template (value) BatchNotify m_batchNotify (in XSD.NonNegativeInteger p_number, in XSD.Duration p_duration := "PT20S") := {
@@ -1925,7 +1770,7 @@ module OneM2M_Templates {
 		 * @desc Base primitiveContent for CREATE operation for ContentInstance resource
 		 * @param p_primitiveContent Content for the ContentInstance
 		 */
-    	template (value) ContentInstance_optional m_contentCreateContentInstance(in template (omit) XSD.String p_name := c_defaultContentInstanceResourceName, XSD.String p_primitiveContent := "AnyValue") := {
+		template (value) ContentInstance_optional m_contentCreateContentInstance(in template (omit) XSD.String p_name := c_defaultContentInstanceResourceName, XSD.String p_content := "AnyValue") := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -1938,12 +1783,10 @@ module OneM2M_Templates {
 			announcedAttribute := omit,//O
 			stateTag := omit,//NP
 			creator := omit,//O
-			contentInfo := "a",//O
+			contentInfo := omit,//O
 			contentSize := omit,//NP
-			contentRef := omit, //O
 			ontologyRef := omit,//O
-			content := p_primitiveContent,//M
-			choice := omit //O
+			content := p_content//M
 		};
 			
 		/**
@@ -1964,8 +1807,7 @@ module OneM2M_Templates {
 			contentInfo := *,//OA
 			contentSize := *,//OA
 			ontologyRef := *,//OA
-			content := *, //OA
-			choice := omit //O
+			content := * //OA
 		};
 		
 		/**
@@ -1982,7 +1824,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			stateTag := omit,//NP
@@ -1994,12 +1835,11 @@ module OneM2M_Templates {
 			currentByteSize := omit,//NP
 			locationID := omit,//O
 			ontologyRef := omit,//O
-			disableRetrieval := omit, //O
 			choice := omit//NP
 		};
     	
 		/**
-		 * @desc Base primitiveContent for CREATE operation for Container resource
+		 * @desc Base primitiveContent for CREATE operation for RemoteCSE resource
 		 * @param p_name Resource name
 		 */
 		template (value) RemoteCSE_optional m_contentCreateRemoteCSE (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE1_ID):= {
@@ -2012,7 +1852,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
-			dynamicAuthorizationConsultationIDs := omit,
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			cseType := omit,//O
@@ -2023,11 +1862,35 @@ module OneM2M_Templates {
 			trigger_Recipient_ID := omit,//O
 			requestReachability := true,//M
 			nodeLink := omit,//O
-			triggerReferenceNumber := omit,//O
-			e2eSecInfo := omit,//O
 			choice := omit//O
 		};
 		
+		/**
+	  	* @desc Base reception template of primitiveContent for CREATE operation for remoteCSE resource
+	  	*/
+		template RemoteCSE_optional mw_contentCreateRemoteCSEBase := {
+			resourceName := *,//O
+			resourceType := omit,//NP
+			resourceID := omit,//NP
+			parentID := omit,//NP
+			creationTime := omit,//NP
+			lastModifiedTime := omit,//NP
+			labels := *,//O
+			accessControlPolicyIDs := *,//O
+			expirationTime := *,//O
+			announceTo := *,//O
+			announcedAttribute := *,//O
+			cseType := *,//O
+			pointOfAccess := *,//O
+			cSEBase := ?,//M
+			cSE_ID := ?,//M
+			m2M_Ext_ID := *,//O
+			trigger_Recipient_ID := *,//O
+			requestReachability := ?,//M
+			nodeLink := *,//O
+			choice := *//O
+		};
+    	
 		/**
 		* @desc Base reception template of primitiveContent for CREATE operation for ContainerAnnc resource
 		*/
@@ -2042,7 +1905,6 @@ module OneM2M_Templates {
 			accessControlPolicyIDs := ?,//MA
 			expirationTime := ?,//MA M
 			link := ?, //M
-			dynamicAuthorizationConsultationIDs := *, //OA
 			stateTag := *,	//OA
 			maxNrOfInstances := *,	//OA
 			maxByteSize := *, //OA
@@ -2051,11 +1913,10 @@ module OneM2M_Templates {
 			currentByteSize := *, //OA
 			locationID := *, //OA
 			ontologyRef := *, //OA
-			disableRetrieval := *, //OA
 			choice := omit //NA
 		};
     	
-		template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) := {
+		template (value) LocationPolicy_optional m_contentCreateLocationPolicy (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) := {
 			resourceName 				:= c_defaultLocationPolicyResourceName, //O
 			resourceType				:= omit, //NP
 			resourceID					:= omit, //NP
@@ -2065,11 +1926,10 @@ module OneM2M_Templates {
 			labels 						:= PX_LABELS,//O
 			accessControlPolicyIDs 	:= p_accessControlPolicyIds, //O
 			expirationTime 			:= omit, //O
-      		dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo 				:= omit, 				   //O
 			announcedAttribute		:= omit, 			      //O
 			locationSource 			:= p_locationSource, //M
-    		locationUpdatePeriod 		:= {p_locationUpdatePeriod}, //O
+			locationUpdatePeriod 		:= p_locationUpdatePeriod, //O
 			locationTargetID 			:= p_locationTargetID, 	//O
 			locationServer 			:= p_locationServerAddress,//O
 			locationContainerID		:= omit,    		   //NP
@@ -2089,7 +1949,6 @@ module OneM2M_Templates {
 				labels 						:= PX_LABELS,//O
 				accessControlPolicyIDs 	:= omit, //O
 				expirationTime 			:= omit, //O
-				dynamicAuthorizationConsultationIDs := omit, //O
 				announceTo 				:= omit, 				   //O
 				announcedAttribute		:= omit, 			      //O
 				locationSource 			:= int1, //M
@@ -2116,7 +1975,6 @@ module OneM2M_Templates {
 		  accessControlPolicyIDs := ?,//MA
 		  expirationTime := ?,//MA M
 		  link := ?,
-		  dynamicAuthorizationConsultationIDs := *, //OA
 		  locationSource := *, //OA
 		  locationUpdatePeriod := *, //OA
 		  locationTargetID := *, //OA
@@ -2142,8 +2000,7 @@ module OneM2M_Templates {
 		  subscriptionDeletion := omit,
 		  subscriptionReference := p_subReference,
 		  creator := omit,
-    	  notificationForwardingURI := p_notifForwardingURI,
-    	  iPEDiscoveryRequest := omit
+		  notificationForwardingURI := p_notifForwardingURI
 		};
 		
 		template (value) Notification m_contentCreateNotification_allOmit := {
@@ -2159,41 +2016,8 @@ module OneM2M_Templates {
 		  subscriptionDeletion := omit,
 		  subscriptionReference := omit,
 		  creator := omit,
-		  notificationForwardingURI := omit, 
-		  iPEDiscoveryRequest := omit
+		  notificationForwardingURI := omit
 		};
-		/**
-		 * @desc 	Base primitiveContent for CREATE operation for SemanticDescriptor resource
-		 */
-		template SemanticDescriptor_optional mw_contentCreateSemanticDescriptor := {			
-			resourceName := *,                              //O
-			resourceType := omit,                           //NP
-			resourceID := omit,                             //NP
-			parentID := omit,                               //NP
-			creationTime := omit,                           //NP
-			lastModifiedTime := omit,                       //NP
-			labels := *,                                    //O
-			accessControlPolicyIDs := *,                    //O
-			expirationTime := *,                            //O
-			dynamicAuthorizationConsultationIDs := *,       //?
-			announceTo := *,                                //O
-			announcedAttribute := *,                        //O
-			creator := *,                                   //O
-			descriptorRepresentation := ?,                  //M
-			semanticOpExec := omit,                         //NP
-			descriptor := ?,                                //M
-			ontologyRef := *,                               //O
-			relatedSemantics := *,                          //O
-			choice := *                                     //?
-		} 
-		
-		/**
-		 * @desc  primitiveContent for CREATE operation for SemanticDescriptor resource, with specific OntologyRef
-		 * @param p_ontologyRef  Expected OntologyRef value
-		 */
-		template SemanticDescriptor_optional mw_contentCreateSemanticDescriptor_ontologyRef(template XSD.AnyURI p_ontologyRef) modifies mw_contentCreateSemanticDescriptor := {
-			ontologyRef := p_ontologyRef
-		}  
 		
 		/**
 			 * @desc Base primitiveContent for CREATE operation for StatConfig resource
@@ -2209,7 +2033,6 @@ module OneM2M_Templates {
 			labels 						:= PX_LABELS,//O
 			accessControlPolicyIDs 	:= omit, //O
 			expirationTime 			:= omit, //O
-			dynamicAuthorizationConsultationIDs := omit, //O
 			creator                 := omit,
 			choice 					:= omit  	         //NP
 		};
@@ -2228,7 +2051,6 @@ module OneM2M_Templates {
 			labels 						:= PX_LABELS,//O
 			accessControlPolicyIDs 	:= omit, //O
 			expirationTime 			:= omit, //O
-			dynamicAuthorizationConsultationIDs := omit, //O
 			creator                 := omit,
 			statsCollectID          := omit,
 			collectingEntityID      := omit,
@@ -2254,7 +2076,6 @@ module OneM2M_Templates {
 			labels 						:= PX_LABELS,//O
 			accessControlPolicyIDs 	:= omit, //O
 			expirationTime 			:= omit, //O
-			dynamicAuthorizationConsultationIDs := omit, //O
 			choice 					:= omit  	         //NP
 		};
 		
@@ -2272,11 +2093,9 @@ module OneM2M_Templates {
 			labels 						:= PX_LABELS,//O
 			accessControlPolicyIDs 	:= omit, //O
 			expirationTime 			:= omit, //O
-			dynamicAuthorizationConsultationIDs := omit, //O
 			applicableCredIDs       := omit,
 			allowedApp_IDs          := omit,
 			allowedAEs              := omit,
-			allowedRole_IDs			:= omit,
 			choice 					:= omit  	         //NP   
 		};
 		
@@ -2290,14 +2109,12 @@ module OneM2M_Templates {
 			labels 					:= omit, //O
 			accessControlPolicyIDs 	:= omit, //O
 			expirationTime 			:= omit, //M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			nodeID 					:= omit, //M
 			cSE_ID 					:= omit, //O
 			deviceIdentifier 		:= omit, //M
 			ruleLinks 				:= omit, //O
 			choice 					:= omit //O
 		};
-		
 	}//end group ContentCreate
 	
 	group ContentUpdate {
@@ -2315,7 +2132,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			appName := omit,//O
@@ -2326,7 +2142,6 @@ module OneM2M_Templates {
 			nodeLink := omit,//NP
 			requestReachability := omit,//O
 			contentSerialization := omit,//O
-			e2eSecInfo := omit, //O
 			choice := omit//NP
 		};	
     	
@@ -2367,7 +2182,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-	    	dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			creator := omit,//NP
@@ -2379,7 +2193,6 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//NP
 			consistencyStrategy := omit,//NP
 			groupName := omit,//O
-			semanticSupportIndicator := omit,//O
 			choice := omit//NP
 
 		};
@@ -2401,8 +2214,6 @@ module OneM2M_Templates {
 			supportedResourceType := omit,
 			pointOfAccess := omit,
 			nodeLink := omit,
-			dynamicAuthorizationConsultationIDs := omit,
-			e2eSecInfo := omit, 
 			choice := omit
 
 		};
@@ -2452,8 +2263,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
-			creator := omit,//NP
 			eventNotificationCriteria := omit,//O
 			expirationCounter := omit,//O
 			notificationURI := omit,//O
@@ -2467,6 +2276,7 @@ module OneM2M_Templates {
 			latestNotify := omit,//O
 			notificationContentType := omit,//O
 			notificationEventCat := omit,//O
+			creator := omit,//NP
 			subscriberURI := omit,//NP
 			choice := omit//NP
 		};
@@ -2484,7 +2294,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			stateTag := omit,//NP
@@ -2496,7 +2305,6 @@ module OneM2M_Templates {
 			currentByteSize := omit,//NP
 			locationID := omit,//O
 			ontologyRef := omit,//O
-    		disableRetrieval := omit, //NP
 			choice := omit//NP
 		};
 		
@@ -2518,10 +2326,8 @@ module OneM2M_Templates {
 			creator := omit,//O
 			contentInfo := omit,//O
 			contentSize := omit,//NP
-			contentRef := omit, //O
 			ontologyRef := omit,//O
-			content := omit, //M
-			choice := omit //O
+			content := omit //M
 		};
 		
 		template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) := {
@@ -2534,11 +2340,10 @@ module OneM2M_Templates {
 			labels 					:= PX_LABELS,//O
 			accessControlPolicyIDs 	:= p_accessControlPolicyIds,//O
 			expirationTime 			:= omit,//O    	  	
-    		dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo 				:= omit,//O
 			announcedAttribute		:= omit,//O
 			locationSource 			:= omit,//NP
-			locationUpdatePeriod 	:= {p_locationUpdatePeriod}, //O
+			locationUpdatePeriod 	:= p_locationUpdatePeriod, //O
 			locationTargetID 		:= omit, //NP
 			locationServer 			:= omit, //NP
 			locationContainerID		:= omit, //NP  
@@ -2557,12 +2362,10 @@ module OneM2M_Templates {
 			labels := omit,
 			accessControlPolicyIDs := omit,
 			expirationTime := omit,
-			dynamicAuthorizationConsultationIDs := omit,
 			announceTo := omit,
 			announcedAttribute := omit,
 			nodeID := omit,
 			hostedCSELink := omit,
-			mgmtClientAddress := omit,
 			choice := omit
 		}
     	
@@ -2576,7 +2379,6 @@ module OneM2M_Templates {
 			labels := omit,
 			accessControlPolicyIDs := omit,
 			expirationTime := omit,
-			dynamicAuthorizationConsultationIDs := omit,
 			announceTo := omit,
 			announcedAttribute := omit,
 			cseType := omit,
@@ -2587,8 +2389,6 @@ module OneM2M_Templates {
 			trigger_Recipient_ID := omit,
 			requestReachability := omit,
 			nodeLink := omit,
-			triggerReferenceNumber := omit,
-			e2eSecInfo := omit,
 			choice := omit
 		}
     	
@@ -2603,7 +2403,6 @@ module OneM2M_Templates {
 			accessControlPolicyIDs := omit,
 			expirationTime := omit,
 			link := omit,
-			dynamicAuthorizationConsultationIDs := omit,
 			appName := omit,
 			app_ID := omit,
 			aE_ID := omit,
@@ -2612,12 +2411,11 @@ module OneM2M_Templates {
 			nodeLink := omit,
 			requestReachability := omit,
 			contentSerialization := omit,
-			e2eSecInfo := omit,
 			choice := omit
 		}
  		
 	}//end group ContentUpdate
-
+	
 	group RequestContent {
 		
 		group CreateRequest {
@@ -2662,7 +2460,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-    		dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			appName := *,//O
@@ -2673,7 +2470,6 @@ module OneM2M_Templates {
 			nodeLink := *,//O
 			requestReachability := ?,//M
 			contentSerialization := *,//O
-			e2eSecInfo:= *, //O
 			choice := *//O
 		};
     	
@@ -2687,7 +2483,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			appName := omit,//O
@@ -2698,7 +2493,6 @@ module OneM2M_Templates {
 			nodeLink := omit,//O
 			requestReachability := omit,//M
 			contentSerialization := omit,//O
-			e2eSecInfo:= omit, //O
 			choice := omit//O
 		};
 		
@@ -2712,7 +2506,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := *,//M
-			dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			appName := *,//O
@@ -2723,7 +2516,6 @@ module OneM2M_Templates {
 			nodeLink := *,//O
 			requestReachability := *,//M
 			contentSerialization := *,//O
-			e2eSecInfo:= *, //O
 			choice := *//O
 		};
     	
@@ -2785,7 +2577,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			locationSource := omit,//M
@@ -2852,7 +2643,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-    		dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			creator := *,//O
@@ -2864,7 +2654,6 @@ module OneM2M_Templates {
 			memberTypeValidated := *,//O
 			consistencyStrategy := *,//O
 			groupName := *,//O
-			semanticSupportIndicator := *,//O
 			choice := *//O
 		};
 		
@@ -2878,7 +2667,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := *,//M
-			dynamicAuthorizationConsultationIDs := *,//O
 			announceTo := *,//O
 			announcedAttribute := *,//M
 			creator := *,//O
@@ -2890,7 +2678,6 @@ module OneM2M_Templates {
 			memberTypeValidated := *,//M
 			consistencyStrategy := *,//O
 			groupName := *,//O
-			semanticSupportIndicator := *,//O
 			choice := *//O
 		}
 		
@@ -2904,7 +2691,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			announceTo := omit,//O
 			announcedAttribute := omit,//M
 			creator := omit,//O
@@ -2916,7 +2702,6 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//M
 			consistencyStrategy := omit,//O
 			groupName := omit,//O
-			semanticSupportIndicator := omit,//O
 			choice := omit//O
 		}
 		
@@ -2932,7 +2717,7 @@ module OneM2M_Templates {
 		}
 		
 		template Group_optional mw_contentGroup_rc4 modifies mw_contentGroupBase := {
-			choice := {choice_list := {{subscription := ?}}}	//O
+			choice := {subscription_list := ?}	//O
 		}
 		
 		template Group_optional mw_contentGroup_rc5 modifies mw_contentGroupBase := {
@@ -2949,7 +2734,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			announceTo := omit,//O
 			announcedAttribute := omit,//M
 			creator := omit,//O
@@ -2961,7 +2745,6 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//M
 			consistencyStrategy := omit,//O
 			groupName := omit,//O
-			semanticSupportIndicator := omit,//O
 			choice := {childResource_list := ?}//O
 		}
 		
@@ -2983,7 +2766,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			description := omit,//O
 			cmdType := omit,//M
 			execReqArgs := omit,//O
@@ -3066,7 +2848,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			cseType := omit,//O
@@ -3077,8 +2858,6 @@ module OneM2M_Templates {
 			trigger_Recipient_ID := omit,//O
 			requestReachability := omit,//M
 			nodeLink := omit,//O
-			triggerReferenceNumber := omit,//O
-			e2eSecInfo := omit,//O
 			choice := omit//O
 		};
 		
@@ -3102,7 +2881,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-			dynamicAuthorizationConsultationIDs := *,//O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			cseType := *,//O
@@ -3113,8 +2891,6 @@ module OneM2M_Templates {
 			trigger_Recipient_ID := *,//O
 			requestReachability := ?,//M
 			nodeLink := *,//O
-			triggerReferenceNumber := *,//O
-			e2eSecInfo := *,//O
 			choice := *//O
 		};
 		
@@ -3215,7 +2991,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			creator := omit,//O
 			statsCollectID := omit,//M
 			collectingEntityID := omit,//M
@@ -3237,7 +3012,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			creator := omit,//O
 			choice := omit//M
 		}
@@ -3252,8 +3026,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-    		dynamicAuthorizationConsultationIDs := *, //O
-			creator := *,//O
 			eventNotificationCriteria := *,//O
 			expirationCounter := *,//O
 			notificationURI := ?,//M
@@ -3267,6 +3039,7 @@ module OneM2M_Templates {
 			latestNotify := *,//O
 			notificationContentType := *,//O
 			notificationEventCat := *,//O
+			creator := *,//O
 			subscriberURI := *,//O
 			choice := *//O
 		};
@@ -3280,8 +3053,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := *,//M
-		    dynamicAuthorizationConsultationIDs := *, //O
-			creator := *,//O
 			eventNotificationCriteria := *,//O
 			expirationCounter := *,//O
 			notificationURI := *,//M
@@ -3295,6 +3066,7 @@ module OneM2M_Templates {
 			latestNotify := *,//O
 			notificationContentType := *,//M
 			notificationEventCat := *,//O
+			creator := *,//O
 			subscriberURI := *,//O
 			choice := *//O
 		}
@@ -3309,8 +3081,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit, //O
-			creator := omit,//O
 			eventNotificationCriteria := omit,//O
 			expirationCounter := omit,//O
 			notificationURI := omit,//M
@@ -3324,6 +3094,7 @@ module OneM2M_Templates {
 			latestNotify := omit,//O
 			notificationContentType := omit,//M
 			notificationEventCat := omit,//O
+			creator := omit,//O
 			subscriberURI := omit,//O
 			choice := omit//O
 		}
@@ -3344,7 +3115,7 @@ module OneM2M_Templates {
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc4 modifies mw_contentSubscriptionBase := {
-			choice := { choice_list := {{schedule := ?}}}	//O
+			choice := {choice_list := ?}	//O
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc5 modifies mw_contentSubscriptionBase := {
@@ -3361,8 +3132,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-    		dynamicAuthorizationConsultationIDs := omit, //O
-			creator := omit,//O
 			eventNotificationCriteria := omit,//O
 			expirationCounter := omit,//O
 			notificationURI := omit,//M
@@ -3376,6 +3145,7 @@ module OneM2M_Templates {
 			latestNotify := omit,//O
 			notificationContentType := omit,//M
 			notificationEventCat := omit,//O
+			creator := omit,//O
 			subscriberURI := omit,//O
 			choice := {childResource_list := ?}//O
 		}
@@ -3403,15 +3173,11 @@ module OneM2M_Templates {
 			creator := *,//O
 			contentInfo := *,//O
 			contentSize := ?,//M
-			contentRef := *, //O
 			ontologyRef := *,//O
-			content := ?,//M
-			choice := * //O
-			
+			content := ?//M	
 		};
 		
 		template ContentInstance_optional mw_contentContentInstance_rc1 modifies mw_contentContentInstanceBase := {
-			choice := omit	//O
 		}
 		
 		template ContentInstance_optional m_contentContentInstance_allOmit := {
@@ -3429,10 +3195,8 @@ module OneM2M_Templates {
 			creator := omit,//O
 			contentInfo := omit,//O
 			contentSize := omit,//M
-			contentRef := omit,
 			ontologyRef := omit,//O
-			content := omit, //M
-			choice := omit
+			content := omit//M
 		};
 		
 		template Container_optional mw_contentContainerBase := {
@@ -3445,7 +3209,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-    		dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			stateTag := ?,//M
@@ -3457,7 +3220,6 @@ module OneM2M_Templates {
 			currentByteSize := ?,//M
 			locationID := *,//O
 			ontologyRef := *,//O
-			disableRetrieval := *, //O
 			choice := *//O
 		};
 		
@@ -3471,7 +3233,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := *,//M
-			dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//M
 			stateTag := *,//M
@@ -3483,7 +3244,6 @@ module OneM2M_Templates {
 			currentByteSize := *,//M
 			locationID := *,//O
 			ontologyRef := *,//O
-			disableRetrieval := *, //O
 			choice := *//O
 		}
 		
@@ -3497,7 +3257,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//M
 			stateTag := omit,//M
@@ -3509,7 +3268,6 @@ module OneM2M_Templates {
 			currentByteSize := omit,//M
 			locationID := omit,//O
 			ontologyRef := omit,//O
-			disableRetrieval := omit, //O
 			choice := omit//O
 		}
 		
@@ -3524,7 +3282,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			stateTag := omit,//M
 			source := omit,//M
 			target := omit,//M
@@ -3565,7 +3322,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//M
 			stateTag := omit,//M
@@ -3577,7 +3333,6 @@ module OneM2M_Templates {
 			currentByteSize := omit,//M
 			locationID := omit,//O
 			ontologyRef := omit,//O
-            disableRetrieval := omit, //O
 			choice := {childResource_list := ?}//O
 		}
 		
@@ -3595,8 +3350,7 @@ module OneM2M_Templates {
 			subscriptionDeletion := omit,
 			subscriptionReference := omit,
 			creator := omit,
-			notificationForwardingURI := omit,
-			iPEDiscoveryRequest := omit
+			notificationForwardingURI := omit
 		};
 		
 		template Notification mw_contentNotification_any := {
@@ -3605,8 +3359,7 @@ module OneM2M_Templates {
 			subscriptionDeletion := *,
 			subscriptionReference := *,
 			creator := *,
-			notificationForwardingURI := *,
-			iPEDiscoveryRequest := *
+			notificationForwardingURI := *
 		};
 		
 
@@ -3616,8 +3369,7 @@ module OneM2M_Templates {
 			subscriptionDeletion := *,//O
 			subscriptionReference := *,//M //TODO Put it back to ? subscriptionReference is mandatory
 			creator := *,//O
-			notificationForwardingURI := *,//O
-			iPEDiscoveryRequest := *//O
+			notificationForwardingURI := *//O
 		};
 		
 		template Notification mw_contentNotificationVerification modifies mw_contentNotificationBase := {
@@ -3645,12 +3397,10 @@ module OneM2M_Templates {
 			labels := omit,
 			accessControlPolicyIDs := omit,
 			expirationTime := omit,
-			dynamicAuthorizationConsultationIDs := omit,
 			announceTo := omit,
 			announcedAttribute := omit,
 			nodeID := omit,
 			hostedCSELink := omit,
-			mgmtClientAddress := omit,
 			choice := omit			
 			
 		};
@@ -3669,8 +3419,6 @@ module OneM2M_Templates {
 			supportedResourceType := ?,//M
 			pointOfAccess := ?,//M
 			nodeLink := *,//O
-			dynamicAuthorizationConsultationIDs := omit,
-			e2eSecInfo := *,//O			
 			choice := *//O
 		};
 
@@ -3693,7 +3441,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			appName := omit,//O
@@ -3704,8 +3451,7 @@ module OneM2M_Templates {
 			nodeLink := omit,//NP
 			requestReachability := omit,//M
 			contentSerialization := omit,//O
-			e2eSecInfo:= omit, //O
-			choice := omit//O
+			choice := omit//NP
 		};	
         
         template  AE_optional mw_contentCreateAe_invalid  := {
@@ -3718,7 +3464,6 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := *,//O
-			dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			appName := *,//O
@@ -3729,8 +3474,7 @@ module OneM2M_Templates {
 			nodeLink := *,//NP
 			requestReachability := omit,//M
 			contentSerialization := *,//O
-			e2eSecInfo:= *, //O
-			choice := *//O
+			choice := *//NP
 		}; 
 
 		template (value) AE_update_invalid m_contentUpdateAe_invalid := {
@@ -3744,7 +3488,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			appName := omit,//O
@@ -3755,7 +3498,6 @@ module OneM2M_Templates {
 			nodeLink := omit,//O
 			requestReachability := omit,//M
 			contentSerialization := omit,//O
-			e2eSecInfo:= omit, //O
 			choice := omit//O
 		};
     	
@@ -3787,7 +3529,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit,//O
 			announceTo := omit,//O
 			announcedAttribute := omit,//M
 			creator := omit,//O
@@ -3799,7 +3540,6 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//M
 			consistencyStrategy := omit,//O
 			groupName := omit,//O
-			semanticSupportIndicator := omit,//O
 			choice := omit//O
 		};
     	
@@ -3842,8 +3582,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit, //O
-			creator := omit,//O
 			eventNotificationCriteria := omit,//O
 			expirationCounter := omit,//O
 			notificationURI := omit,//M
@@ -3857,6 +3595,7 @@ module OneM2M_Templates {
 			latestNotify := omit,//O
 			notificationContentType := omit,//M
 			notificationEventCat := omit,//O
+			creator := omit,//O
 			subscriberURI := omit,//O
 			choice := omit//O
 		};
@@ -3872,7 +3611,6 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//M
-			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//M
 			stateTag := omit,//M
@@ -3884,7 +3622,6 @@ module OneM2M_Templates {
 			currentByteSize := omit,//M
 			locationID := omit,//O
 			ontologyRef := omit,//O
-			disableRetrieval := omit, //O
 			choice := omit//O
 		};		
 				
@@ -3905,11 +3642,7 @@ module OneM2M_Templates {
 			from_ := omit,
 			originatingTimestamp := omit,
 			resultExpirationTimestamp := omit,
-			eventCategory := omit,
-			contentStatus := omit,
-			contentOffset := omit,
-			assignedTokenIdentifiers := omit,
-			tokenRequestInformation := omit
+			eventCategory := omit
 		};
 		
 		/**
@@ -3933,11 +3666,7 @@ module OneM2M_Templates {
 			from_ := *,
 			originatingTimestamp := *,
 			resultExpirationTimestamp := *,
-			eventCategory := *,
-			contentStatus := *,
-			contentOffset := *,
-			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			eventCategory := *
 		};
     	
 		template ResponsePrimitive mw_responsePrimitiveInverse(ResponseStatusCode p_statusCode) := {
@@ -3948,11 +3677,7 @@ module OneM2M_Templates {
 			from_ := *,
 			originatingTimestamp := *,
 			resultExpirationTimestamp := *,
-			eventCategory := *,
-			contentStatus := *,
-			contentOffset := *,
-			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			eventCategory := *
 		};
     	
 		template ResponsePrimitive mw_responsePrimitiveOK(in template PrimitiveContent p_content := *) := {
@@ -3963,11 +3688,7 @@ module OneM2M_Templates {
 			from_ := *,
 			originatingTimestamp := *,
 			resultExpirationTimestamp := *,
-			eventCategory := *,
-			contentStatus := *,
-			contentOffset := *,
-			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			eventCategory := *
 		};
         		 
 		template ResponsePrimitive mw_responsePrimitiveKO := {
@@ -3978,14 +3699,10 @@ module OneM2M_Templates {
 			from_ := *,
 			originatingTimestamp := *,
 			resultExpirationTimestamp := *,
-			eventCategory := *,
-			contentStatus := *,
-			contentOffset := *,
-			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			eventCategory := *
 		};
     	
-		template ResponsePrimitive mw_responseDiscovery (template URIList p_uriList := ?) := {
+		template ResponsePrimitive mw_responseDiscovery(template URIList p_uriList := ?) := {
 			responseStatusCode := int2000,
 			requestIdentifier := ?,
 			primitiveContent := {uRIList := p_uriList},
@@ -3993,11 +3710,7 @@ module OneM2M_Templates {
 			from_ := *,
 			originatingTimestamp := *,
 			resultExpirationTimestamp := *,
-			eventCategory := *,
-			contentStatus := *,
-			contentOffset := *,
-			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			eventCategory := *
 		};
     	
 		template ResponsePrimitive m_responseNotification(ResponseStatusCode p_statusCode, in template(omit) PrimitiveContent p_notification := omit) := {
@@ -4008,11 +3721,7 @@ module OneM2M_Templates {
 			from_ := omit,
 			originatingTimestamp := omit,
 			resultExpirationTimestamp := omit,
-			eventCategory := omit,
-			contentStatus := omit,
-			contentOffset := omit,
-			assignedTokenIdentifiers := omit,
-			tokenRequestInformation := omit
+			eventCategory := omit
 		};
 		
 		group InfoPortTemplates {
@@ -4022,7 +3731,7 @@ module OneM2M_Templates {
 		}//end group InfoPortTemplates
     	
 	}//end group ResponsePrimitives	
-	
+
 	group UpperTester {
 		template (value) UtTriggerPrimitive m_utCreate := {
 			operation := int1,
@@ -4031,7 +3740,7 @@ module OneM2M_Templates {
 			requestIdentifier := testcasename() & "-m_utCreate" & f_rnd(1, 1000000),
 			resourceType := omit,
 			primitiveContent := omit,
-			roleIDs := omit, 
+			role := omit, 
 			originatingTimestamp := omit,
 			requestExpirationTimestamp := omit,
 			resultExpirationTimestamp := omit,
@@ -4043,11 +3752,7 @@ module OneM2M_Templates {
 			deliveryAggregation := omit,
 			groupRequestIdentifier := omit,
 			filterCriteria := omit,
-			discoveryResultType := omit,
-			tokens := omit,
-			tokenIDs := omit,
-			localTokenIDs := omit, 
-			tokenRequestIndicator := omit
+			discoveryResultType := omit
 		};
 		
 		template (value) UtTriggerPrimitive m_utCreateContainer modifies m_utCreate := {
@@ -4081,7 +3786,7 @@ module OneM2M_Templates {
 			requestIdentifier := "m_utRetrieveResource" & f_rnd(1, 1000000),
 			resourceType := omit,
 			primitiveContent := omit,
-			roleIDs := omit, 
+			role := omit, 
 			originatingTimestamp := omit,
 			requestExpirationTimestamp := omit,
 			resultExpirationTimestamp := omit,
@@ -4093,11 +3798,7 @@ module OneM2M_Templates {
 			deliveryAggregation := omit,
 			groupRequestIdentifier := omit,
 			filterCriteria := omit,
-			discoveryResultType := omit,
-			tokens := omit,
-			tokenIDs := omit,
-			localTokenIDs := omit, 
-			tokenRequestIndicator := omit
+			discoveryResultType := omit
 		};
 		
 		template (value) UtTriggerPrimitive m_utUpdate := {
@@ -4107,7 +3808,7 @@ module OneM2M_Templates {
 			requestIdentifier := testcasename() & "-m_utUpdate" & f_rnd(1, 1000000),
 			resourceType := omit,
 			primitiveContent := omit,
-			roleIDs := omit, 
+			role := omit, 
 			originatingTimestamp := omit,
 			requestExpirationTimestamp := omit,
 			resultExpirationTimestamp := omit,
@@ -4119,11 +3820,7 @@ module OneM2M_Templates {
 			deliveryAggregation := omit,
 			groupRequestIdentifier := omit,
 			filterCriteria := omit,
-			discoveryResultType := omit,
-			tokens := omit,
-			tokenIDs := omit,
-			localTokenIDs := omit, 
-			tokenRequestIndicator := omit
+			discoveryResultType := omit
 		};
 		
 		template (value) UtTriggerPrimitive m_utUpdateContainer modifies m_utUpdate := {
@@ -4139,7 +3836,7 @@ module OneM2M_Templates {
 			requestIdentifier := testcasename() & "-m_utDeleteRequest" & f_rnd(1, 1000000),
 			resourceType := omit,
 			primitiveContent := omit, 
-			roleIDs := omit, 
+			role := omit, 
 			originatingTimestamp := omit,
 			requestExpirationTimestamp := omit,
 			resultExpirationTimestamp := omit,
@@ -4151,11 +3848,7 @@ module OneM2M_Templates {
 			deliveryAggregation := omit,
 			groupRequestIdentifier := omit,
 			filterCriteria := omit,
-			discoveryResultType := omit,
-			tokens := omit,
-			tokenIDs := omit,
-			localTokenIDs := omit, 
-			tokenRequestIndicator := omit
+			discoveryResultType := omit
 		};
 		
 		template (value) UtTriggerPrimitive m_utDeleteResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_utDeleteRequest := {
@@ -4173,11 +3866,7 @@ module OneM2M_Templates {
 			from_ := *,
 			originatingTimestamp := *,
 			resultExpirationTimestamp := *,
-			eventCategory := *, 
-			contentStatus := *,
-			contentOffset := *,
-			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			eventCategory := *
 		}
 		
 		template UtTriggerAckPrimitive mw_utResponseKO := {
@@ -4188,12 +3877,7 @@ module OneM2M_Templates {
 			from_ := *,
 			originatingTimestamp := *,
 			resultExpirationTimestamp := *,
-			eventCategory := *,
-			contentStatus := *,
-			contentOffset := *,
-			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
-
+			eventCategory := *
 		}
 		
 		template UtTriggerAckPrimitive mw_utResponse(ResponseStatusCode p_statusCode) := {
@@ -4204,13 +3888,9 @@ module OneM2M_Templates {
 			from_ := *,
 			originatingTimestamp := *,
 			resultExpirationTimestamp := *,
-			eventCategory := *,
-			contentStatus := *,
-			contentOffset := *,
-			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
-
+			eventCategory := *
 		}
 	 }	
 	
 }  // end of module
+ 
\ No newline at end of file
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 1cdc879..2958e48 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -5,6992 +5,2647 @@
  *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
  *  All rights reserved.
  *  
- *  @author     oneM2M
- *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
- *              $Id: OneM2M_Types.ttcn 356 2017-08-21 12:25:14Z reinaortega $
- *  @desc       OneM2M data types module 
+ *  @author     ETSI
+ *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/LibOneM2M/OneM2M_Types.ttcn $
+ *              $Id: OneM2M_Types.ttcn 347 2017-08-11 08:48:20Z reinaortega $
+ *  @desc       Test System module for oneM2M
  *
  */
 module OneM2M_Types {
 
 
-import from XSD all;
-
-
-type record AccessControlPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	SetOfAcrs privileges,
-	SetOfAcrs selfPrivileges,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record AccessControlPolicyAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	SetOfAcrs privileges,
-	SetOfAcrs selfPrivileges,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-
-
-
-
-
-
-type record ActiveCmdhPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.ID activeCmdhPolicyLink
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record AE
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	XSD.String appName optional,
-	XSD.String app_ID,
-	XSD.ID aE_ID,
-	PoaList pointOfAccess optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean requestReachability,
-	Serializations contentSerialization optional,
-	E2eSecInfo e2eSecInfo optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Container container,
-			Group group_,
-			AccessControlPolicy accessControlPolicy,
-			Subscription subscription,
-			PollingChannel pollingChannel,
-			Schedule schedule,
-			SemanticDescriptor semanticDescriptor,
-			TimeSeries timeSeries,
-			TrafficPattern trafficPattern,
-			Sg_flexContainerResource_group sg_flexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (app_ID) "name as 'App-ID'";
-  variant (aE_ID) "name as 'AE-ID'";
-  //variant (requestReachability) "text 'true' as '1'";
-  //variant (requestReachability) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-};
-
-
-type record AEAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.String appName optional,
-	XSD.String app_ID optional,
-	XSD.ID aE_ID optional,
-	PoaList pointOfAccess optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean requestReachability optional,
-	Serializations contentSerialization optional,
-	E2eSecInfo e2eSecInfo optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Container container,
-			ContainerAnnc containerAnnc,
-			Group group_,
-			GroupAnnc groupAnnc,
-			AccessControlPolicy accessControlPolicy,
-			AccessControlPolicyAnnc accessControlPolicyAnnc,
-			Subscription subscription,
-			ScheduleAnnc scheduleAnnc,
-			SemanticDescriptor semanticDescriptor,
-			TimeSeries timeSeries,
-			TimeSeriesAnnc timeSeriesAnnc,
-			TrafficPatternAnnc trafficPatternAnnc,
-			Sg_flexContainerResource_group sg_flexContainerResource,
-			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (app_ID) "name as 'App-ID'";
-  variant (aE_ID) "name as 'AE-ID'";
-  //variant (requestReachability) "text 'true' as '1'";
-  //variant (requestReachability) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-};
-
-
-type record AllJoynApp
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	AllJoynDirection direction,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynSvcObject allJoynSvcObject
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynAppAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	AllJoynDirection direction,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynSvcObject allJoynSvcObject,
-			AllJoynSvcObjectAnnc allJoynSvcObjectAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynInterface
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI interfaceIntrospectXmlRef,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynMethod allJoynMethod,
-			AllJoynProperty allJoynProperty,
-			Container container
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynInterfaceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI interfaceIntrospectXmlRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynMethod allJoynMethod,
-			AllJoynMethodAnnc allJoynMethodAnnc,
-			AllJoynProperty allJoynProperty,
-			AllJoynPropertyAnnc allJoynPropertyAnnc,
-			Container container,
-			ContainerAnnc containerAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynMethodCall
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String input optional,
-	XSD.String callStatus optional,
-	XSD.String output optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynMethodCallAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynMethod
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynMethodCall allJoynMethodCall
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynMethodAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynMethodCall allJoynMethodCall,
-			AllJoynMethodCallAnnc allJoynMethodCallAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynProperty
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String currentValue,
-	XSD.String requestedValue optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynPropertyAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynSvcObject
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String objectPath,
-	XSD.Boolean enable,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynInterface allJoynInterface
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (enable) "text 'true' as '1'";
-  //variant (enable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AllJoynSvcObjectAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String objectPath,
-	XSD.Boolean enable optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynInterface allJoynInterface,
-			AllJoynInterfaceAnnc allJoynInterfaceAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (enable) "text 'true' as '1'";
-  //variant (enable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record AreaNwkDeviceInfo
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String devID,
-	XSD.String devType,
-	XSD.AnyURI areaNwkId,
-	XSD.NonNegativeInteger sleepInterval optional,
-	XSD.NonNegativeInteger sleepDuration optional,
-	XSD.String devStatus optional,
-	ListOfURIs listOfNeighbors,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record AreaNwkDeviceInfoAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String devID optional,
-	XSD.String devType optional,
-	XSD.AnyURI areaNwkId optional,
-	XSD.NonNegativeInteger sleepInterval optional,
-	XSD.NonNegativeInteger sleepDuration optional,
-	XSD.String devStatus optional,
-	ListOfURIs listOfNeighbors optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record AreaNwkInfo
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String areaNwkType,
-	ListOfURIs listOfDevices,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record AreaNwkInfoAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String areaNwkType optional,
-	ListOfURIs listOfDevices optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record Battery
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.UnsignedInt batteryLevel,
-	BatteryStatus batteryStatus,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record BatteryAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.UnsignedInt batteryLevel optional,
-	BatteryStatus batteryStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record CmdhBuffer
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfEventCatWithDef applicableEventCategory,
-	XSD.NonNegativeInteger maxBufferSize,
-	XSD.PositiveInteger storagePriority (1 .. !11)
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record CmdhDefaults
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	record length(2 .. infinity) of MgmtLinkRef mgmtLink_list
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (mgmtLink_list) "untagged";
-  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
-};
-
-
-type record CmdhDefEcValue
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.PositiveInteger order,
-	EventCat defEcValue,
-	ListOfM2MID requestOrigin,
-	XSD.AnySimpleType requestContext optional,//FIXME Use AnySimpleType instead
-	XSD.Boolean requestContextNotification optional,
-	XSD.AnySimpleType requestCharacteristics optional//FIXME Use AnySimpleType instead
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (requestContextNotification) "text 'true' as '1'";
-  //variant (requestContextNotification) "text 'false' as '0'";
-};
-
-
-type record CmdhEcDefParamValues
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfEventCatWithDef applicableEventCategory,
-	XSD.Long defaultRequestExpTime,
-	XSD.Long defaultResultExpTime,
-	XSD.Long defaultOpExecTime,
-	XSD.Long defaultRespPersistence,
-	XSD.Boolean defaultDelAggregation
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (defaultDelAggregation) "text 'true' as '1'";
-  //variant (defaultDelAggregation) "text 'false' as '0'";
-};
-
-
-type record CmdhLimits
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.PositiveInteger order,
-	ListOfM2MID requestOrigin,
-	XSD.AnySimpleType requestContext,//FIXME Use AnySimpleType instead
-	XSD.Boolean requestContextNotification optional,
-	XSD.AnySimpleType requestCharacteristics,//FIXME Use AnySimpleType instead
-	ListOfEventCat limitsEventCategory,
-	ListOfMinMax limitsRequestExpTime,
-	ListOfMinMax limitsResultExpTime,
-	ListOfMinMax limitsOpExecTime,
-	ListOfMinMax limitsRespPersistence,
-	enumerated {
-		x0,
-		x1,
-		x0_1
-	} limitsDelAggregation
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (requestContextNotification) "text 'true' as '1'";
-  //variant (requestContextNotification) "text 'false' as '0'";
-  variant (limitsDelAggregation) "text 'x0' as '0'";
-  variant (limitsDelAggregation) "text 'x0_1' as '0 1'";
-  variant (limitsDelAggregation) "text 'x1' as '1'";
-};
-
-
-type record CmdhNetworkAccessRules
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfEventCatWithDef applicableEventCategories,
-	record of MgmtLinkRef mgmtLink_list
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (mgmtLink_list) "untagged";
-  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
-};
-
-
-type record CmdhNwAccessRule
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfM2MID targetNetwork,
-	XSD.NonNegativeInteger minReqVolume,
-	XSD.NonNegativeInteger spreadingWaitTime,
-	BackOffParameters backOffParameters,
-	XSD.AnySimpleType otherConditions,//FIXME Use AnySimpleType instead
-	MgmtLinkRef mgmtLink
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record CmdhPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String cmdhPolicyName,
-	record length(4 .. infinity) of MgmtLinkRef mgmtLink_list
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (mgmtLink_list) "untagged";
-  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
-};
-
-
+	import from XSD all;
 
 
+	type record AccessControlPolicy
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO To be put as optional
+		SetOfAcrs privileges,
+		SetOfAcrs selfPrivileges,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
+	type record AccessControlPolicyAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		SetOfAcrs privileges,
+		SetOfAcrs selfPrivileges,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
-type XSD.AnyURI ID;
-
-
-type XSD.Token NodeID
-with {
-  variant "name as uncapitalized";
-};
-
-
-type XSD.Token DeviceID (pattern "urn:meid:[\dABCDEFabcdef]#(14)")
-with {
-  variant "name as uncapitalized";
-};
+	type record SetOfAcrs
+	{
+		record of AccessControlRule accessControlRule_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (accessControlRule_list) "untagged";
+	  variant (accessControlRule_list[-]) "name as 'accessControlRule'";
+	};
 
 
-type XSD.Token ExternalID
-with {
-  variant "name as uncapitalized";
-};
+	type record AccessControlRule
+	{
+		ListOfURIs accessControlOriginators,
+		AccessControlOperations accessControlOperations,
+		record of record {
+			record of ScheduleEntry accessControlWindow_list,
+			record {
+				record length(1 .. infinity) of Ipv4 ipv4Addresses optional,//TODO It must be optional,
+				record length(1 .. infinity) of Ipv6 ipv6Addresses optional//TODO It must be optional
+			} accessControlIpAddresses optional,
+			LocationRegion accessControlLocationRegion optional
+		} accessControlContexts_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (accessControlContexts_list) "untagged";
+	  variant (accessControlContexts_list[-]) "name as 'accessControlContexts'";
+	  variant (accessControlContexts_list[-].accessControlWindow_list) "untagged";
+	  variant (accessControlContexts_list[-].accessControlWindow_list[-]) "name as 'accessControlWindow'";
+	  variant (accessControlContexts_list[-].accessControlIpAddresses.ipv4Addresses) "list";
+	  variant (accessControlContexts_list[-].accessControlIpAddresses.ipv6Addresses) "list";
+	};
 
 
-type XSD.Token RequestID
-with {
-  variant "name as uncapitalized";
-};
+	type record LocationRegion
+	{
+		union {
+			record length(1 .. infinity) of CountryCode countryCode,
+			record length(3) of XSD.Float circRegion
+		} choice
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (choice) "untagged";
+	  variant (choice.countryCode) "list";
+	  variant (choice.circRegion) "list";
+	};
 
 
-type XSD.String RoleID (pattern "([a-zA-Z0-9.\-,_]*)@([A-Za-z0-9\-_]*)(.([A-Za-z0-9\-_])*)*")
-with {
-  variant "name as uncapitalized";
-};
 
 
-type XSD.String TokenID (pattern "([a-zA-Z0-9.\-,_]*)@([A-Za-z0-9\-_]*)(.([A-Za-z0-9\-_])*)*")
-with {
-  variant "name as uncapitalized";
-};
+	type XSD.String CountryCode (pattern "[A-Z]#(2)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type XSD.AnyURI NhURI
-with {
-  variant "name as uncapitalized";
-};
 
 
-type record length(1 .. infinity) of XSD.ID AcpType
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type XSD.Token Ipv4 (pattern "[0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type record length(1 .. infinity) of XSD.Token Labels
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type XSD.Token Ipv6 (pattern "::(/0)#(0,1)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type XSD.UnsignedInt TriggerRecipientID (0 .. 65535)
-with {
-  variant "name as uncapitalized";
-};
+	type record ActiveCmdhPolicy
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.ID activeCmdhPolicyLink
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
 
 
+	type record AE
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO To be put as optional
+		XSD.String appName optional,
+		XSD.String app_ID,
+		XSD.ID aE_ID,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI nodeLink optional,
+		XSD.Boolean requestReachability,
+		Serializations contentSerialization optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Container container,
+				Group group_,
+				AccessControlPolicy accessControlPolicy,
+				Subscription subscription,
+				PollingChannel pollingChannel,
+				Schedule schedule
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (app_ID) "name as 'App-ID'";
+	  variant (aE_ID) "name as 'AE-ID'";
+	  //variant (requestReachability) "text 'true' as '1'";
+	  //variant (requestReachability) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
 
 
-type record length(1 .. infinity) of XSD.ID ListOfM2MID
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type record AEAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		XSD.String appName optional,
+		XSD.String app_ID optional,
+		XSD.ID aE_ID optional,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI nodeLink optional,
+		XSD.Boolean requestReachability optional,
+		Serializations contentSerialization optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Container container,
+				ContainerAnnc containerAnnc,
+				Group group_,
+				GroupAnnc groupAnnc,
+				AccessControlPolicy accessControlPolicy,
+				AccessControlPolicyAnnc accessControlPolicyAnnc,
+				Subscription subscription,
+				ScheduleAnnc scheduleAnnc
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (app_ID) "name as 'App-ID'";
+	  variant (aE_ID) "name as 'AE-ID'";
+	  //variant (requestReachability) "text 'true' as '1'";
+	  //variant (requestReachability) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
 
 
+	type record AreaNwkDeviceInfo
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String devID,
+		XSD.String devType,
+		XSD.AnyURI areaNwkId,
+		XSD.NonNegativeInteger sleepInterval optional,
+		XSD.NonNegativeInteger sleepDuration optional,
+		XSD.String devStatus optional,
+		ListOfURIs listOfNeighbors,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
-type XSD.Long LongMin_1 (-1 .. infinity)
-with {
-  variant "name as 'longMin-1'";
-};
+	type record AreaNwkDeviceInfoAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String devID optional,
+		XSD.String devType optional,
+		XSD.AnyURI areaNwkId optional,
+		XSD.NonNegativeInteger sleepInterval optional,
+		XSD.NonNegativeInteger sleepDuration optional,
+		XSD.String devStatus optional,
+		ListOfURIs listOfNeighbors optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
+	type record AreaNwkInfo
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,//TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String areaNwkType,
+		ListOfURIs listOfDevices,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
-type record length(2) of LongMin_1 ListOfMinMax
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type record AreaNwkInfoAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String areaNwkType optional,
+		ListOfURIs listOfDevices optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
+	type record Battery
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.UnsignedInt batteryLevel,
+		BatteryStatus batteryStatus,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
+	type record BatteryAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.UnsignedInt batteryLevel optional,
+		BatteryStatus batteryStatus optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
-type XSD.Token Ipv4 (pattern "[0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1)")
-with {
-  variant "name as uncapitalized";
-};
+	type record CmdhBuffer
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		ListOfEventCatWithDef applicableEventCategory,
+		XSD.NonNegativeInteger maxBufferSize,
+		XSD.PositiveInteger storagePriority (1 .. !11)
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
 
 
-type XSD.Token Ipv6 (pattern "::(/0)#(0,1)")
-with {
-  variant "name as uncapitalized";
-};
+	type record CmdhDefaults
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		record length(2 .. infinity) of MgmtLinkRef mgmtLink_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (mgmtLink_list) "untagged";
+	  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
+	};
 
 
-type record length(1 .. infinity) of XSD.String PoaList
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type record CmdhDefEcValue
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.PositiveInteger order,
+		EventCat defEcValue,
+		ListOfM2MID requestOrigin,
+		XSD.AnySimpleType requestContext optional,//FIXME Use AnySimpleType instead
+		XSD.Boolean requestContextNotification optional,
+		XSD.AnySimpleType requestCharacteristics optional//FIXME Use AnySimpleType instead
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (requestContextNotification) "text 'true' as '1'";
+	  //variant (requestContextNotification) "text 'false' as '0'";
+	};
 
 
+	type record CmdhEcDefParamValues
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		ListOfEventCatWithDef applicableEventCategory,
+		XSD.Long defaultRequestExpTime,
+		XSD.Long defaultResultExpTime,
+		XSD.Long defaultOpExecTime,
+		XSD.Long defaultRespPersistence,
+		XSD.Boolean defaultDelAggregation
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (defaultDelAggregation) "text 'true' as '1'";
+	  //variant (defaultDelAggregation) "text 'false' as '0'";
+	};
 
 
-type XSD.String Timestamp (pattern "\d#(4)(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|30|31)T([01]\d|2[0-3])[0-5]\d[0-5]\d(,\d#(1,6))#(0,1)")
-with {
-  variant "name as uncapitalized";
-};
+	type record CmdhLimits
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.PositiveInteger order,
+		ListOfM2MID requestOrigin,
+		XSD.AnySimpleType requestContext,//FIXME Use AnySimpleType instead
+		XSD.Boolean requestContextNotification optional,
+		XSD.AnySimpleType requestCharacteristics,//FIXME Use AnySimpleType instead
+		ListOfEventCat limitsEventCategory,
+		ListOfMinMax limitsRequestExpTime,
+		ListOfMinMax limitsResultExpTime,
+		ListOfMinMax limitsOpExecTime,
+		ListOfMinMax limitsRespPersistence,
+		enumerated {
+			x0,
+			x1,
+			x0_1
+		} limitsDelAggregation
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (requestContextNotification) "text 'true' as '1'";
+	  //variant (requestContextNotification) "text 'false' as '0'";
+	  variant (limitsDelAggregation) "text 'x0' as '0'";
+	  variant (limitsDelAggregation) "text 'x0_1' as '0 1'";
+	  variant (limitsDelAggregation) "text 'x1' as '1'";
+	};
 
 
-type union AbsRelTimestamp
-{
-	Timestamp alt_,
-	XSD.Long alt_1
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-};
+	type record CmdhNetworkAccessRules
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		ListOfEventCatWithDef applicableEventCategories,
+		record of MgmtLinkRef mgmtLink_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (mgmtLink_list) "untagged";
+	  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
+	};
 
 
-type union MissingDataList
-{
-	ListOfTimeStamp alt_,
-	ListOfRelTimeStamp alt_1
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-};
+	type record CmdhNwAccessRule
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		ListOfM2MID targetNetwork,
+		XSD.NonNegativeInteger minReqVolume,
+		BackOffParameters backOffParameters,
+		XSD.AnySimpleType otherConditions,//FIXME Use AnySimpleType instead
+		MgmtLinkRef mgmtLink
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
 
 
+	type record CmdhPolicy
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String cmdhPolicyName,
+		record length(4 .. infinity) of MgmtLinkRef mgmtLink_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (mgmtLink_list) "untagged";
+	  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
+	};
 
 
-type record length(1 .. infinity) of Timestamp ListOfTimeStamp
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
 
 
 
-type record length(1 .. infinity) of XSD.Long ListOfRelTimeStamp
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
 
-type XSD.String TypeOfContent (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+")
-with {
-  variant "name as uncapitalized";
-};
+	type XSD.AnyURI ID;
 
 
+	type XSD.Token NodeID
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type enumerated PermittedMediaTypes
-{
-	applicationcbor,
-	applicationjson,
-	applicationxml
-}
-with {
-  variant "text 'applicationcbor' as 'application/cbor'";
-  variant "text 'applicationjson' as 'application/json'";
-  variant "text 'applicationxml' as 'application/xml'";
-  variant "name as uncapitalized";
-};
+	type XSD.Token DeviceID (pattern "urn:meid:[\dABCDEFabcdef]#(14)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
+	type XSD.Token ExternalID
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type record length(1 .. infinity) of PermittedMediaTypes Serializations
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
+	type XSD.Token RequestID
+	with {
+	  variant "name as uncapitalized";
+	};
 
-type XSD.String ContentInfo //FIXME To be fixed (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+((:[0-2])#(0,1))+((:[0-5])#(0,1))")
-with {
-  variant "name as uncapitalized";
-};
 
+	type XSD.AnyURI NhURI
+	with {
+	  variant "name as uncapitalized";
+	};
 
-type union EventCat
-{
-	StdEventCats alt_,
-	XSD.Integer alt_1 (100 .. 999)
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-};
-
-
-type union EventCatWithDef
-{
-	enumerated {
-		int0(0)
-	} alt_,
-	StdEventCats alt_1,
-	XSD.Integer alt_2 (100 .. 999)
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_) "useNumber";
-  variant (alt_1) "name as ''";
-  variant (alt_2) "name as 'alt_1'";
-  variant (alt_2) "name as ''";
-};
 
+	type record length(1 .. infinity) of XSD.ID AcpType
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
-type record length(1 .. infinity) of EventCat ListOfEventCat
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type record length(1 .. infinity) of XSD.Token Labels
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
-type record length(1 .. infinity) of EventCatWithDef ListOfEventCatWithDef
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type XSD.UnsignedInt TriggerRecipientID (0 .. 65535)
+	with {
+	  variant "name as uncapitalized";
+	};
 
-type XSD.String ScheduleEntry //FIXME To be fixed (pattern "(([*]|[1-5]#(0,1)\d([,-/][1-5]#(0,1)\d)*)[\q{0,0,0,20}\q{0,0,0,10}\t\r]+)#(2)([*]|((1#(0,1)\d|2[0-3])([,-/](1#(0,1)\d|2[0-3]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1\d|2\d|3[01])([,-/]([1-9]|1\d|2\d|3[01]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1[0-2])([,-/]([1-9]|1[0-2]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|([0-6]([,-/][0-6])*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|([2-9]\d\d\d)(([,-]([2-9]\d\d\d)([/][\d]#(0,1)[\d]#(0,1)[\d]#(0,1)[\d])#(0,1))*))")
-with {
-  variant "name as uncapitalized";
-};
 
 
-type record length(1 .. infinity) of XSD.AnyURI ListOfURIs
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type record length(1 .. infinity) of XSD.ID ListOfM2MID
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
-type record of XSD.Duration ListOfDuration
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
 
-type record of XSD.NCName AttributeList_1
-with {
-  variant "name as 'attributeList'";
-  variant "list";
-};
 
+	type XSD.Long LongMin_1 (-1 .. infinity)
+	with {
+	  variant "name as 'longMin-1'";
+	};
 
-type record length(1 .. infinity) of ResourceType ResourceTypeList
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
 
-type XSD.String Sparql
-with {
-  variant "name as uncapitalized";
-};
 
+	type record length(2) of LongMin_1 ListOfMinMax
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
-type XSD.String DescriptorRepresentation (pattern "application/rdf\+xml:1")
-with {
-  variant "name as uncapitalized";
-};
 
 
-type XSD.String E2eCompactJWS (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
-with {
-  variant "name as uncapitalized";
-};
 
+	type record length(3) of XSD.NonNegativeInteger BackOffParameters
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
-type XSD.String E2eCompactJWE (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([a-zA-Z0-9\-_=]*).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
-with {
-  variant "name as uncapitalized";
-};
 
 
-type union DynAuthJWT
-{
-	E2eCompactJWS alt_,
-	E2eCompactJWE alt_1
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-};
 
+	type record length(1 .. infinity) of XSD.String PoaList
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
-type XSD.String ResourceName (pattern "[a-zA-Z0-9]([a-zA-Z0-9.\-,_]*)")
-with {
-  variant "name as uncapitalized";
-};
 
 
-type union LocationTargetID
-{
-	NodeID alt_,
-	ExternalID alt_1,
-	XSD.String alt_2 (pattern "([0-9]*)")
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-  variant (alt_2) "name as ''";
-};
 
+	type XSD.String Timestamp (pattern "\d#(4)(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|30|31)T([01]\d|2[0-3])[0-5]\d[0-5]\d(,\d#(1,6))#(0,1)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
+	type union AbsRelTimestamp
+	{
+		Timestamp alt_,
+		XSD.Long alt_1
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "useUnion";
+	  variant (alt_) "name as ''";
+	  variant (alt_1) "name as ''";
+	};
 
 
+	type XSD.String TypeOfContent (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
 
-type record DeliveryMetaData
-{
-	XSD.Boolean tracingOption,
-	ListOfM2MID tracingInfo optional
-}
-with {
-  variant "name as uncapitalized";
-  //variant (tracingOption) "text 'true' as '1'";
-  //variant (tracingOption) "text 'false' as '0'";
-};
 
+	type enumerated PermittedMediaTypes
+	{
+		applicationjson,
+		applicationxml
+	}
+	with {
+	  variant "text 'applicationjson' as 'application/json'";
+	  variant "text 'applicationxml' as 'application/xml'";
+	  variant "name as uncapitalized";
+	};
 
-type record AggregatedRequest
-{
-	record length(1 .. infinity) of record {
-		Operation operation,
-		XSD.AnyURI to_,
-		XSD.ID from_,
-		RequestID requestIdentifier,
-		PrimitiveContent primitiveContent optional,
-		MetaInformation metaInformation optional
-	} request_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (request_list) "untagged";
-  variant (request_list[-]) "name as 'request'";
-  variant (request_list[-].to_) "name as 'to'";
-  variant (request_list[-].from_) "name as 'from'";
-};
-
-
-type record MetaInformation
-{
-	ResourceType resourceType optional,
-	Timestamp originatingTimestamp optional,
-	AbsRelTimestamp requestExpirationTimestamp optional,
-	AbsRelTimestamp resultExpirationTimestamp optional,
-	AbsRelTimestamp operationExecutionTime optional,
-	ResponseTypeInfo responseType optional,
-	AbsRelTimestamp resultPersistence optional,
-	ResultContent resultContent optional,
-	EventCat eventCategory optional,
-	XSD.Boolean deliveryAggregation optional,
-	XSD.String groupRequestIdentifier optional,
-	FilterCriteria filterCriteria optional,
-	DiscResType discoveryResultType optional,
-	record length(1 .. infinity) of RoleID roleIDs,
-	XSD.Boolean tokenRequestIndicator optional,
-	record length(1 .. infinity) of DynAuthJWT tokens,
-	record length(1 .. infinity) of TokenID tokenIDs,
-	record length(1 .. infinity) of XSD.NCName localTokenIDs
-}
-with {
-  variant "name as uncapitalized";
-  //variant (deliveryAggregation) "text 'true' as '1'";
-  //variant (deliveryAggregation) "text 'false' as '0'";
-  variant (roleIDs) "list";
-  //variant (tokenRequestIndicator) "text 'true' as '1'";
-  //variant (tokenRequestIndicator) "text 'false' as '0'";
-  variant (tokens) "list";
-  variant (tokenIDs) "list";
-  variant (localTokenIDs) "list";
-};
-
-
-
-
-//FIXME Use this type instead type record PrimitiveContent
-type union PrimitiveContent {
-	//TS-0004 - 7.5.2-1 & 7.5.2-2 Common elements to request/response content
-	//ResourceTypes
-	AEAnnc_optional aEAnnc,
-	AE_optional aE,
-	AccessControlPolicy_optional accessControlPolicy,
-	AccessControlPolicyAnnc_optional accessControlPolicyAnnc,
-	ContentInstance_optional contentInstance,
-	ContentInstanceAnnc_optional contentInstanceAnnc,
-	Container_optional container,
-	ContainerAnnc_optional containerAnnc,
-	Delivery_optional delivery,
-	FlexContainerResource_optional flexContainer,
-	CSEBase_optional cSEBase,
-	Group_optional group_,
-	GroupAnnc_optional groupAnnc,
-	LocationPolicy_optional locationPolicy,
-	LocationPolicyAnnc_optional locationPolicyAnnc,
-	MgmtResource_optional mgmtResource,//MgmtResource
-	MgmtCmd_optional mgmtCmd,
-	AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
-	Node_optional node,
-	NodeAnnc_optional nodeAnnc,
-	PollingChannel_optional pollingChannel,
-	Request_optional request, 
-	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
-	Notification notification,
-	AggregatedNotification aggregatedNotification,
-	AttributeList attributeList,
-	ResponsePrimitive responsePrimitive,
-	//TS-0004 - 7.5.2-2 Elements used for response content
-	Resource resource,
-	URIList uRIList,
-	ResourceRefList resourceRefList,
-	AggregatedResponse aggregatedResponse,
-	URI uRI,
-	DebugInfo debugInfo,
-	//Invalid types
-	AE_update_invalid aE_update_invalid,
-	ACP_update_invalid aCP_update_invalid,
-	Container_update_invalid container_update_invalid,
-	Group_update_invalid group_update_invalid,
-	PollingChannel_update_invalid pollingChannel_update_invalid,
-	Schedule_update_invalid schedule_update_invalid,
-	Subscription_update_invalid subscription_update_invalid,
-	LocationPolicy_update_invalid locationPolicy_update_invalid	
-}
 
 
 
+	type record length(1 .. infinity) of PermittedMediaTypes Serializations
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
 
-type record FilterCriteria
-{
-	Timestamp createdBefore optional,
-	Timestamp createdAfter optional,
-	Timestamp modifiedSince optional,
-	Timestamp unmodifiedSince optional,
-	XSD.PositiveInteger stateTagSmaller optional,
-	XSD.NonNegativeInteger stateTagBigger optional,
-	Timestamp expireBefore optional,
-	Timestamp expireAfter optional,
-	Labels labels optional,
-	ResourceTypeList resourceType optional,
-	XSD.NonNegativeInteger sizeAbove optional,
-	XSD.PositiveInteger sizeBelow optional,
-	record of TypeOfContent contentType_list,
-	record of Attribute attribute_list,
-	FilterUsage filterUsage optional,
-	XSD.NonNegativeInteger limit optional,
-	record of Sparql semanticsFilter_list,
-	XSD.Boolean filterOperation optional,
-	ContentFilterSyntax contentFilterSyntax optional,
-	XSD.String contentFilterQuery optional,
-	XSD.PositiveInteger level optional,
-	XSD.PositiveInteger offset optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (contentType_list) "untagged";
-  variant (contentType_list[-]) "name as 'contentType'";
-  variant (attribute_list) "untagged";
-  variant (attribute_list[-]) "name as 'attribute'";
-  variant (semanticsFilter_list) "untagged";
-  variant (semanticsFilter_list[-]) "name as 'semanticsFilter'";
-  //variant (filterOperation) "text 'true' as '1'";
-  //variant (filterOperation) "text 'false' as '0'";
-};
-
-
-type record Attribute
-{
-	XSD.NCName name,
-	XSD.AnySimpleType value_//FIXME Use AnySimpleType instead
-}
-with {
-  variant "name as uncapitalized";
-  variant (value_) "name as 'value'";
-};
+	type XSD.String ContentInfo //TODO To be fixed (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+(:[0-2])#(0,1)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type record ScheduleEntries
-{
-	record length(1 .. infinity) of ScheduleEntry scheduleEntry_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (scheduleEntry_list) "untagged";
-  variant (scheduleEntry_list[-]) "name as 'scheduleEntry'";
-};
+	type union EventCat
+	{
+		StdEventCats alt_,
+		XSD.Integer alt_1 (100 .. 999)
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "useUnion";
+	  variant (alt_) "name as ''";
+	  variant (alt_1) "name as ''";
+	};
 
 
+	type union EventCatWithDef
+	{
+		enumerated {
+			int0(0)
+		} alt_,
+		StdEventCats alt_1,
+		XSD.Integer alt_2 (100 .. 999)
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "useUnion";
+	  variant (alt_) "name as ''";
+	  variant (alt_) "useNumber";
+	  variant (alt_1) "name as ''";
+	  variant (alt_2) "name as 'alt_1'";
+	  variant (alt_2) "name as ''";
+	};
 
 
+	type record length(1 .. infinity) of EventCat ListOfEventCat
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
 
-type record ActionStatus
-{
-	XSD.AnyURI action_ optional,
-	Status status optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (action_) "name as 'action'";
-};
+	type record length(1 .. infinity) of EventCatWithDef ListOfEventCatWithDef
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
 
-type record AnyArgType
-{
-	XSD.NCName name,
-	XSD.AnySimpleType value_//FIXME Use AnySimpleType instead
-}
-with {
-  variant "name as uncapitalized";
-  variant (value_) "name as 'value'";
-};
+	type XSD.String ScheduleEntry //TODO To be fixed (pattern "(([*]|[1-5]#(0,1)\d([,-][1-5]#(0,1)\d)*)[\q{0,0,0,20}\q{0,0,0,10}\t\r]+)#(2)([*]|((1#(0,1)\d|2[0-3])([,-](1#(0,1)\d|2[0-3]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1\d|2\d|3[01])([,-]([1-9]|1\d|2\d|3[01]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1[0-2])([,-]([1-9]|1[0-2]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|([0-6]([,-][0-6])*))")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type record ResetArgsType
-{
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (anyArg_list) "untagged";
-  variant (anyArg_list[-]) "name as 'anyArg'";
-};
+	type record length(1 .. infinity) of XSD.AnyURI ListOfURIs
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
 
-type record RebootArgsType
-{
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (anyArg_list) "untagged";
-  variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-
-type record UploadArgsType
-{
-	XSD.String fileType,
-	XSD.AnyURI uRL,
-	XSD.String username,
-	XSD.String password,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRL) "name as capitalized";
-  variant (anyArg_list) "untagged";
-  variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-
-type record DownloadArgsType
-{
-	XSD.String fileType,
-	XSD.AnyURI uRL,
-	XSD.String username,
-	XSD.String password,
-	XSD.PositiveInteger filesize,
-	XSD.String targetFile,
-	XSD.PositiveInteger delaySeconds,
-	XSD.AnyURI successURL,
-	Timestamp startTime,
-	Timestamp completeTime,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRL) "name as capitalized";
-  variant (anyArg_list) "untagged";
-  variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-
-type record SoftwareInstallArgsType
-{
-	XSD.AnyURI uRL,
-	XSD.String uUID,
-	XSD.String username,
-	XSD.String password,
-	XSD.String executionEnvRef,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRL) "name as capitalized";
-  variant (uUID) "name as capitalized";
-  variant (anyArg_list) "untagged";
-  variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-
-type record SoftwareUpdateArgsType
-{
-	XSD.String uUID,
-	XSD.String version,
-	XSD.AnyURI uRL,
-	XSD.String username,
-	XSD.String password,
-	XSD.String executionEnvRef,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uUID) "name as capitalized";
-  variant (uRL) "name as capitalized";
-  variant (anyArg_list) "untagged";
-  variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-
-type record SoftwareUninstallArgsType
-{
-	XSD.String uUID,
-	XSD.String version,
-	XSD.String executionEnvRef,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uUID) "name as capitalized";
-  variant (anyArg_list) "untagged";
-  variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-
-type record ExecReqArgsListType
-{
-	union {
-		record of ResetArgsType reset_list,
-		record length(1 .. infinity) of RebootArgsType reboot_list,
-		record length(1 .. infinity) of UploadArgsType upload_list,
-		record length(1 .. infinity) of DownloadArgsType download_list,
-		record length(1 .. infinity) of SoftwareInstallArgsType softwareInstall_list,
-		record length(1 .. infinity) of SoftwareUpdateArgsType softwareUpdate_list,
-		record length(1 .. infinity) of SoftwareUninstallArgsType softwareUninstall_list
-	} choice
-}
-with {
-  variant "name as uncapitalized";
-  variant (choice) "untagged";
-  variant (choice.reset_list) "untagged";
-  variant (choice.reset_list[-]) "name as 'reset'";
-  variant (choice.reboot_list) "untagged";
-  variant (choice.reboot_list[-]) "name as 'reboot'";
-  variant (choice.upload_list) "untagged";
-  variant (choice.upload_list[-]) "name as 'upload'";
-  variant (choice.download_list) "untagged";
-  variant (choice.download_list[-]) "name as 'download'";
-  variant (choice.softwareInstall_list) "untagged";
-  variant (choice.softwareInstall_list[-]) "name as 'softwareInstall'";
-  variant (choice.softwareUpdate_list) "untagged";
-  variant (choice.softwareUpdate_list[-]) "name as 'softwareUpdate'";
-  variant (choice.softwareUninstall_list) "untagged";
-  variant (choice.softwareUninstall_list[-]) "name as 'softwareUninstall'";
-};
-
-
-type record MgmtLinkRef
-{
-	ResourceName name,
-	MgmtDefinition type_,
-	XSD.AnyURI base
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-  variant (type_) "name as 'type'";
-  variant (type_) "attribute";
-  variant (base) "untagged";
-};
+	type record of XSD.NCName AttributeList_1
+	with {
+	  variant "name as 'attributeList'";
+	  variant "list";
+	};
 
 
+	type record length(1 .. infinity) of ResourceType ResourceTypeList
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
 
-type record SetOfAcrs
-{
-	record of AccessControlRule accessControlRule_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (accessControlRule_list) "untagged";
-  variant (accessControlRule_list[-]) "name as 'accessControlRule'";
-};
-
-
-type record AccessControlRule
-{
-	ListOfURIs accessControlOriginators,
-	AccessControlOperations accessControlOperations,
-	record of record {
-		record of ScheduleEntry accessControlWindow_list,
-		record {
-			record length(1 .. infinity) of Ipv4 ipv4Addresses optional,//TODO It must be optional
-			record length(1 .. infinity) of Ipv6 ipv6Addresses optional //TODO It must be optional
-		} accessControlIpAddresses optional,
-		LocationRegion accessControlLocationRegion optional
-	} accessControlContexts_list,
-	XSD.Boolean accessControlAuthenticationFlag optional,
-	record of record {
-		ResourceType resourceType optional,
-		XSD.AnyURI specializationID optional,
-		record length(1 .. infinity) of ResourceType childResourceType
-	} accessControlObjectDetails_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (accessControlContexts_list) "untagged";
-  variant (accessControlContexts_list[-]) "name as 'accessControlContexts'";
-  variant (accessControlContexts_list[-].accessControlWindow_list) "untagged";
-  variant (accessControlContexts_list[-].accessControlWindow_list[-]) "name as 'accessControlWindow'";
-  variant (accessControlContexts_list[-].accessControlIpAddresses.ipv4Addresses) "list";
-  variant (accessControlContexts_list[-].accessControlIpAddresses.ipv6Addresses) "list";
-  //variant (accessControlAuthenticationFlag) "text 'true' as '1'";
-  //variant (accessControlAuthenticationFlag) "text 'false' as '0'";
-  variant (accessControlObjectDetails_list) "untagged";
-  variant (accessControlObjectDetails_list[-]) "name as 'accessControlObjectDetails'";
-  variant (accessControlObjectDetails_list[-].childResourceType) "list";
-};
-
-
-type record ChildResourceRef
-{
-	ResourceName name,
-	XSD.AnyURI specializationID optional,
-	ResourceType type_,
-	XSD.AnyURI base
-}
-with {
-  //variant "name as uncapitalized";
-  variant (name) "attribute";
-  variant (specializationID) "attribute";
-  variant (type_) "name as 'type'";
-  variant (type_) "attribute";
-  variant (base) "untagged";
-};
-
-
-type record ResponseTypeInfo
-{
-	ResponseType responseTypeValue,
-	record of XSD.AnyURI notificationURI
-}
-with {
-  variant "name as uncapitalized";
-  variant (notificationURI) "list";
-};
+	type XSD.String ResourceName (pattern "[a-zA-Z0-9]([a-zA-Z0-9.\-,_]*)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
 
 
-type record OperationResult
-{
-	ResponseStatusCode responseStatusCode,
-	RequestID requestIdentifier,
-	PrimitiveContent primitiveContent optional,
-	XSD.AnyURI to_ optional,
-	XSD.ID from_ optional,
-	Timestamp originatingTimestamp optional,
-	AbsRelTimestamp resultExpirationTimestamp optional,
-	EventCat eventCategory optional,
-	ContentStatus contentStatus optional,
-	XSD.PositiveInteger contentOffset optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-};
 
 
 
 
-type record ContentRef
-{
-	record length(1 .. infinity) of record {
-		XSD.NCName name,
-		XSD.AnyURI uRI
-	} uRIReference_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRIReference_list) "untagged";
-  variant (uRIReference_list[-]) "name as 'URIReference'";
-  variant (uRIReference_list[-].uRI) "name as capitalized";
-};
+	type record DeliveryMetaData
+	{
+		XSD.Boolean tracingOption,
+		ListOfM2MID tracingInfo optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  //variant (tracingOption) "text 'true' as '1'";
+	  //variant (tracingOption) "text 'false' as '0'";
+	};
 
 
-type record DeletionContexts
-{
-	record of ScheduleEntry timeOfDay_list,
-	record of LocationRegion locationRegions_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (timeOfDay_list) "untagged";
-  variant (timeOfDay_list[-]) "name as 'timeOfDay'";
-  variant (locationRegions_list) "untagged";
-  variant (locationRegions_list[-]) "name as 'locationRegions'";
-};
-
-
-type record LocationRegion
-{
-	union {
-		record length(1 .. infinity) of CountryCode countryCode,
-		record length(3) of XSD.Float circRegion
-	} choice
-}
-with {
-  variant "name as uncapitalized";
-  variant (choice) "untagged";
-  variant (choice.countryCode) "list";
-  variant (choice.circRegion) "list";
-};
+	type record AggregatedRequest
+	{
+		record length(1 .. infinity) of record {
+			Operation operation,
+			XSD.AnyURI to_,
+			XSD.ID from_,
+			RequestID requestIdentifier,
+			PrimitiveContent primitiveContent optional,
+			MetaInformation metaInformation optional
+		} request_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (request_list) "untagged";
+	  variant (request_list[-]) "name as 'request'";
+	  variant (request_list[-].to_) "name as 'to'";
+	  variant (request_list[-].from_) "name as 'from'";
+	};
 
 
-type XSD.String CountryCode (pattern "[A-Z]#(2)")
-with {
-  variant "name as uncapitalized";
-};
+	type record MetaInformation
+	{
+		ResourceType resourceType optional,
+		XSD.NCName name optional,
+		Timestamp originatingTimestamp optional,
+		AbsRelTimestamp requestExpirationTimestamp optional,
+		AbsRelTimestamp resultExpirationTimestamp optional,
+		AbsRelTimestamp operationExecutionTime optional,
+		ResponseTypeInfo responseType optional,
+		AbsRelTimestamp resultPersistence optional,
+		ResultContent resultContent optional,
+		EventCat eventCategory optional,
+		XSD.Boolean deliveryAggregation optional,
+		XSD.String groupRequestIdentifier optional,
+		FilterCriteria filterCriteria optional,
+		DiscResType discoveryResultType optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  //variant (deliveryAggregation) "text 'true' as '1'";
+	  //variant (deliveryAggregation) "text 'false' as '0'";
+	};
 
 
-type record MissingData
-{
-	XSD.NonNegativeInteger number,
-	XSD.Duration duration
-}
-with {
-  variant "name as uncapitalized";
-};
+//TODO Use this type instead type record PrimitiveContent
+  type union PrimitiveContent {
+	  //TS-0004 - 7.5.2-1 & 7.5.2-2 Common elements to request/response content
+	  //ResourceTypes
+	  AEAnnc_optional aEAnnc,
+	  AE_optional aE,
+	  AccessControlPolicy_optional accessControlPolicy,
+	  AccessControlPolicyAnnc_optional accessControlPolicyAnnc,
+	  ContentInstance_optional contentInstance,
+	  ContentInstanceAnnc_optional contentInstanceAnnc,
+	  Container_optional container,
+	  ContainerAnnc_optional containerAnnc,
+	  Delivery_optional delivery,
+	  CSEBase_optional cSEBase,
+	  Group_optional group_,
+	  GroupAnnc_optional groupAnnc,
+	  LocationPolicy_optional locationPolicy,
+	  LocationPolicyAnnc_optional locationPolicyAnnc,
+	  MgmtResource_optional mgmtResource,//MgmtResource
+	  MgmtCmd_optional mgmtCmd,
+	  AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
+	  Node_optional node,
+	  NodeAnnc_optional nodeAnnc,
+	  PollingChannel_optional pollingChannel,
+	  Request_optional request, 
+	  RemoteCSE_optional remoteCSE,
+	  Schedule_optional schedule,
+	  ScheduleAnnc_optional scheduleAnnc,
+	  StatsConfig_optional statsConfig,
+	  StatsCollect_optional statsCollect,
+	  M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+	  ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+	  Subscription_optional subscription,
+	  //SecurityInfo
+	  //TS-0004 - 7.5.2-1 Elements used for request content
+	  Notification notification,
+	  AggregatedNotification aggregatedNotification,
+	  AttributeList attributeList,
+	  ResponsePrimitive responsePrimitive,
+	  //TS-0004 - 7.5.2-2 Elements used for response content
+	  Resource resource,
+	  URIList uRIList,
+	  AggregatedResponse aggregatedResponse,
+	  URI uRI,
+	  DebugInfo debugInfo,
+	  //Invalid types
+	  AE_update_invalid aE_update_invalid,
+	  ACP_update_invalid aCP_update_invalid,
+	  Container_update_invalid container_update_invalid,
+	  Group_update_invalid group_update_invalid,
+	  PollingChannel_update_invalid pollingChannel_update_invalid,
+	  Schedule_update_invalid schedule_update_invalid,
+	  Subscription_update_invalid subscription_update_invalid,
+	  LocationPolicy_update_invalid locationPolicy_update_invalid	
+  }
+
+
+
+
+	type record FilterCriteria
+	{
+		Timestamp createdBefore optional,
+		Timestamp createdAfter optional,
+		Timestamp modifiedSince optional,
+		Timestamp unmodifiedSince optional,
+		XSD.PositiveInteger stateTagSmaller optional,
+		XSD.NonNegativeInteger stateTagBigger optional,
+		Timestamp expireBefore optional,
+		Timestamp expireAfter optional,
+		Labels labels optional,
+		ResourceTypeList resourceType optional,
+		XSD.NonNegativeInteger sizeAbove optional,
+		XSD.PositiveInteger sizeBelow optional,
+		record of TypeOfContent contentType_list,
+		record of Attribute attribute_list,
+		FilterUsage filterUsage optional,
+		XSD.NonNegativeInteger limit optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (contentType_list) "untagged";
+	  variant (contentType_list[-]) "name as 'contentType'";
+	  variant (attribute_list) "untagged";
+	  variant (attribute_list[-]) "name as 'attribute'";
+	};
 
 
+	type record Attribute
+	{
+		XSD.NCName name,
+		XSD.AnySimpleType value_//FIXME Use AnySimpleType instead
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (value_) "name as 'value'";
+	};
 
 
+	type record ScheduleEntries
+	{
+		record length(1 .. infinity) of ScheduleEntry scheduleEntry_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (scheduleEntry_list) "untagged";
+	  variant (scheduleEntry_list[-]) "name as 'scheduleEntry'";
+	};
 
 
-type record ReceiverESPrimRandObject
-{
-	XSD.NCName esprimRandID,
-	XSD.NCName esprimRandValue,
-	AbsRelTimestamp esprimRandExpiry,
-	record length(1 .. infinity) of EsprimKeyGenAlgID esprimKeyGenAlgIDs,
-	record length(1 .. infinity) of EsprimProtocolAndAlgID esprimProtocolAndAlgIDs
-}
-with {
-  variant "name as uncapitalized";
-  variant (esprimKeyGenAlgIDs) "list";
-  variant (esprimProtocolAndAlgIDs) "list";
-};
 
 
 
 
-type record OriginatorESPrimRandObject
-{
-	XSD.NCName esprimRandID,
-	XSD.NCName esprimRandValue,
-	AbsRelTimestamp esprimRandExpiry,
-	EsprimKeyGenAlgID esprimKeyGenAlgIDs,
-	record length(1 .. infinity) of EsprimProtocolAndAlgID esprimProtocolAndAlgIDs
-}
-with {
-  variant "name as uncapitalized";
-  variant (esprimProtocolAndAlgIDs) "list";
-};
+	type record ActionStatus
+	{
+		XSD.AnyURI action_ optional,
+		Status status optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (action_) "name as 'action'";
+	};
 
 
-type record E2eSecInfo
-{
-	record length(1 .. infinity) of Suid supportedE2ESecFeatures,
-	record length(1 .. infinity) of XSD.Base64Binary certificates,
-	ReceiverESPrimRandObject sharedReceiverESPrimRandObject optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (supportedE2ESecFeatures) "list";
-  variant (certificates) "list";
-};
+	type record AnyArgType
+	{
+		XSD.NCName name,
+		XSD.AnySimpleType value_//FIXME Use AnySimpleType instead
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (value_) "name as 'value'";
+	};
 
 
-type record TokenPermission
-{
-	ListOfM2MID resourceIDs optional,
-	SetOfAcrs privileges optional,
-	record length(1 .. infinity) of RoleID roleIDs
-}
-with {
-  variant "name as uncapitalized";
-  variant (roleIDs) "list";
-};
+	type record ResetArgsType
+	{
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
 
 
-type record TokenPermissions
-{
-	record of TokenPermission permission_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (permission_list) "untagged";
-  variant (permission_list[-]) "name as 'permission'";
-};
-
-
-type record TokenClaimSet
-{
-	XSD.String version,
-	TokenID tokenID,
-	XSD.ID holder,
-	XSD.ID issuer,
-	Timestamp notBefore,
-	Timestamp notAfter,
-	XSD.String tokenName optional,
-	ListOfM2MID audience optional,
-	TokenPermissions permissions optional,
-	XSD.String extension_ optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (extension_) "name as 'extension'";
-};
+	type record RebootArgsType
+	{
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
 
 
-type record DynAuthLocalTokenIdAssignments
-{
-	record length(1 .. infinity) of record {
-		XSD.NCName localTokenID,
-		TokenID tokenID
-	} localTokenIdAssignment_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (localTokenIdAssignment_list) "untagged";
-  variant (localTokenIdAssignment_list[-]) "name as 'localTokenIdAssignment'";
-};
-
-
-type record DynAuthTokenSummary
-{
-	TokenID tokenID,
-	Timestamp notBefore,
-	Timestamp notAfter,
-	XSD.String tokenName optional,
-	ListOfM2MID audience optional
-}
-with {
-  variant "name as uncapitalized";
-};
+	type record UploadArgsType
+	{
+		XSD.String fileType,
+		XSD.AnyURI uRL,
+		XSD.String username,
+		XSD.String password,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uRL) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
 
 
-type record DynAuthTokenReqInfo
-{
-	record length(1 .. infinity) of record {
-		XSD.AnyURI uRI,
-		DynAuthDasRequest dasRequest optional,
-		DynAuthJWT securedDasRequest optional
-	} dasInfo_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (dasInfo_list) "untagged";
-  variant (dasInfo_list[-]) "name as 'dasInfo'";
-  variant (dasInfo_list[-].uRI) "name as capitalized";
-};
-
-
-type record DynAuthDasRequest
-{
-	XSD.ID originator,
-	ResourceType targetedResourceType,
-	Operation operation,
-	record {
-		Ipv4 ipv4Address optional,
-		Ipv6 ipv6Address optional
-	} originatorIP optional,
-	LocationRegion originatorLocation optional,
-	record length(1 .. infinity) of RoleID originatorRoleIDs,
-	AbsRelTimestamp requestTimestamp optional,
-	XSD.AnyURI targetedResourceID optional,
-	AbsRelTimestamp proposedPrivilegesLifetime optional,
-	record length(1 .. infinity) of RoleID roleIDsFromACPs,
-	record length(1 .. infinity) of TokenID tokenIDs
-}
-with {
-  variant "name as uncapitalized";
-  variant (originatorRoleIDs) "list";
-  variant (roleIDsFromACPs) "list";
-  variant (tokenIDs) "list";
-};
+	type record DownloadArgsType
+	{
+		XSD.String fileType,
+		XSD.AnyURI uRL,
+		XSD.String username,
+		XSD.String password,
+		XSD.PositiveInteger filesize,
+		XSD.String targetFile,
+		XSD.PositiveInteger delaySeconds,
+		XSD.AnyURI successURL,
+		Timestamp startTime,
+		Timestamp completeTime,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uRL) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
 
 
+	type record SoftwareInstallArgsType
+	{
+		XSD.AnyURI uRL,
+		XSD.String uUID,
+		XSD.String username,
+		XSD.String password,
+		XSD.String executionEnvRef,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uRL) "name as capitalized";
+	  variant (uUID) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
 
 
-type record BackOffParameters
-{
-	record length(1 .. infinity) of record {
-		NetworkAction networkAction optional,
-		XSD.NonNegativeInteger initialBackoffTime,
-		XSD.NonNegativeInteger additionalBackoffTime,
-		XSD.NonNegativeInteger maximumBackoffTime,
-		XSD.NonNegativeInteger optionalRandomBackoffTime optional
-	} backOffParametersSet_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (backOffParametersSet_list) "untagged";
-  variant (backOffParametersSet_list[-]) "name as 'backOffParametersSet'";
-};
-
-
-
-
-
-
-type record ListOfDataLinks
-{
-	record length(1 .. infinity) of DataLink dataLinkEntry_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (dataLinkEntry_list) "untagged";
-  variant (dataLinkEntry_list[-]) "name as 'dataLinkEntry'";
-};
-
-
-
-
-type record DataLink
-{
-	XSD.AnyURI name,
-	XSD.ID dataContainerID,
-	XSD.NCName attributeName optional
-}
-with {
-  variant "name as uncapitalized";
-};
+	type record SoftwareUpdateArgsType
+	{
+		XSD.String uUID,
+		XSD.String version,
+		XSD.AnyURI uRL,
+		XSD.String username,
+		XSD.String password,
+		XSD.String executionEnvRef,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uUID) "name as capitalized";
+	  variant (uRL) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
 
 
+	type record SoftwareUninstallArgsType
+	{
+		XSD.String uUID,
+		XSD.String version,
+		XSD.String executionEnvRef,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uUID) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
 
 
-type record Resource_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional
-}
-with {
-  variant "name as 'resource'";
-  variant (resourceName) "attribute";
-};
-
-
-type record RegularResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record AnnounceableResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record AnnouncedResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record AnnounceableSubordinateResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record SubordinateResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record AnnouncedSubordinateResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record MgmtResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record AnnouncedMgmtResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
+	type record ExecReqArgsListType
+	{
+		union {
+			record of ResetArgsType reset_list,
+			record length(1 .. infinity) of RebootArgsType reboot_list,
+			record length(1 .. infinity) of UploadArgsType upload_list,
+			record length(1 .. infinity) of DownloadArgsType download_list,
+			record length(1 .. infinity) of SoftwareInstallArgsType softwareInstall_list,
+			record length(1 .. infinity) of SoftwareUpdateArgsType softwareUpdate_list,
+			record length(1 .. infinity) of SoftwareUninstallArgsType softwareUninstall_list
+		} choice
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (choice) "untagged";
+	  variant (choice.reset_list) "untagged";
+	  variant (choice.reset_list[-]) "name as 'reset'";
+	  variant (choice.reboot_list) "untagged";
+	  variant (choice.reboot_list[-]) "name as 'reboot'";
+	  variant (choice.upload_list) "untagged";
+	  variant (choice.upload_list[-]) "name as 'upload'";
+	  variant (choice.download_list) "untagged";
+	  variant (choice.download_list[-]) "name as 'download'";
+	  variant (choice.softwareInstall_list) "untagged";
+	  variant (choice.softwareInstall_list[-]) "name as 'softwareInstall'";
+	  variant (choice.softwareUpdate_list) "untagged";
+	  variant (choice.softwareUpdate_list[-]) "name as 'softwareUpdate'";
+	  variant (choice.softwareUninstall_list) "untagged";
+	  variant (choice.softwareUninstall_list[-]) "name as 'softwareUninstall'";
+	};
 
 
+	type record MgmtLinkRef
+	{
+		ResourceName name,
+		MgmtDefinition type_,
+		XSD.AnyURI base
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (name) "attribute";
+	  variant (type_) "name as 'type'";
+	  variant (type_) "attribute";
+	  variant (base) "untagged";
+	};
 
 
-type record length(1 .. infinity) of XSD.NCName ListOfNCNames
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-
-type record FlexContainerResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record AnnouncedFlexContainerResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
 
 
 
 
-type union Sg_announceableSubordinateResource_group
-{
-	AnnounceableSubordinateResource sg_announceableSubordinateResource,
-	AccessControlPolicy accessControlPolicy,
-	ContentInstance contentInstance,
-	Schedule schedule,
-	TimeSeriesInstance timeSeriesInstance
-}
-with {
-  variant "untagged";
-  variant (sg_announceableSubordinateResource) "form as qualified";
-  variant (sg_announceableSubordinateResource) "abstract";
-};
-
-
-type union Sg_announcedSubordinateResource_group
-{
-	AnnouncedSubordinateResource sg_announcedSubordinateResource,
-	AccessControlPolicyAnnc accessControlPolicyAnnc,
-	ContentInstanceAnnc contentInstanceAnnc,
-	ScheduleAnnc scheduleAnnc,
-	TimeSeriesInstanceAnnc timeSeriesInstanceAnnc
-}
-with {
-  variant "untagged";
-  variant (sg_announcedSubordinateResource) "form as qualified";
-  variant (sg_announcedSubordinateResource) "abstract";
-};
-
-
-type union Sg_mgmtResource_group
-{
-	MgmtResource sg_mgmtResource,
-	ActiveCmdhPolicy activeCmdhPolicy,
-	AreaNwkDeviceInfo areaNwkDeviceInfo,
-	AreaNwkInfo areaNwkInfo,
-	Battery battery,
-	CmdhBuffer cmdhBuffer,
-	CmdhDefEcValue cmdhDefEcValue,
-	CmdhDefaults cmdhDefaults,
-	CmdhEcDefParamValues cmdhEcDefParamValues,
-	CmdhLimits cmdhLimits,
-	CmdhNetworkAccessRules cmdhNetworkAccessRules,
-	CmdhNwAccessRule cmdhNwAccessRule,
-	CmdhPolicy cmdhPolicy,
-	DeviceCapability deviceCapability,
-	DeviceInfo deviceInfo,
-	EventLog eventLog,
-	Firmware firmware,
-	Memory memory,
-	Reboot reboot,
-	Software software
-}
-with {
-  variant "untagged";
-  variant (sg_mgmtResource) "form as qualified";
-  variant (sg_mgmtResource) "abstract";
-};
-
-
-type union Sg_announceableResource_group
-{
-	AnnounceableResource sg_announceableResource,
-	AE aE,
-	Container container,
-	Group group_,
-	LocationPolicy locationPolicy,
-	Node node,
-	RemoteCSE remoteCSE,
-	SemanticDescriptor semanticDescriptor,
-	TimeSeries timeSeries,
-	TrafficPattern trafficPattern
-}
-with {
-  variant "untagged";
-  variant (sg_announceableResource) "form as qualified";
-  variant (sg_announceableResource) "abstract";
-  variant (aE) "name as capitalized";
-  variant (group_) "name as 'group'";
-};
-
-
-type union Sg_announcedResource_group
-{
-	AnnouncedResource sg_announcedResource,
-	AEAnnc aEAnnc,
-	ContainerAnnc containerAnnc,
-	GroupAnnc groupAnnc,
-	LocationPolicyAnnc locationPolicyAnnc,
-	NodeAnnc nodeAnnc,
-	RemoteCSEAnnc remoteCSEAnnc,
-	SemanticDescriptorAnnc semanticDescriptorAnnc,
-	TimeSeriesAnnc timeSeriesAnnc,
-	TrafficPatternAnnc trafficPatternAnnc
-}
-with {
-  variant "untagged";
-  variant (sg_announcedResource) "form as qualified";
-  variant (sg_announcedResource) "abstract";
-  variant (aEAnnc) "name as capitalized";
-};
-
-
-type union Sg_flexContainerResource_group
-{
-	FlexContainerResource sg_flexContainerResource,
-	AllJoynApp allJoynApp,
-	AllJoynInterface allJoynInterface,
-	AllJoynMethod allJoynMethod,
-	AllJoynMethodCall allJoynMethodCall,
-	AllJoynProperty allJoynProperty,
-	AllJoynSvcObject allJoynSvcObject,
-	GenericInterworkingOperationInstance genericInterworkingOperationInstance,
-	GenericInterworkingService genericInterworkingService,
-	SvcFwWrapper svcFwWrapper,
-	SvcObjWrapper svcObjWrapper
-}
-with {
-  variant "untagged";
-  variant (sg_flexContainerResource) "form as qualified";
-  variant (sg_flexContainerResource) "abstract";
-};
-
-
-type union Sg_announcedFlexContainerResource_group
-{
-	AnnouncedFlexContainerResource sg_announcedFlexContainerResource,
-	AllJoynAppAnnc allJoynAppAnnc,
-	AllJoynInterfaceAnnc allJoynInterfaceAnnc,
-	AllJoynMethodAnnc allJoynMethodAnnc,
-	AllJoynMethodCallAnnc allJoynMethodCallAnnc,
-	AllJoynPropertyAnnc allJoynPropertyAnnc,
-	AllJoynSvcObjectAnnc allJoynSvcObjectAnnc,
-	GenericInterworkingOperationInstanceAnnc genericInterworkingOperationInstanceAnnc,
-	GenericInterworkingServiceAnnc genericInterworkingServiceAnnc,
-	SvcFwWrapperAnnc svcFwWrapperAnnc,
-	SvcObjWrapperAnnc svcObjWrapperAnnc
-}
-with {
-  variant "untagged";
-  variant (sg_announcedFlexContainerResource) "form as qualified";
-  variant (sg_announcedFlexContainerResource) "abstract";
-};
-
-
-type union Sg_announcedMgmtResource_group
-{
-	AnnouncedMgmtResource sg_announcedMgmtResource,
-	AreaNwkDeviceInfoAnnc areaNwkDeviceInfoAnnc,
-	AreaNwkInfoAnnc areaNwkInfoAnnc,
-	BatteryAnnc batteryAnnc,
-	DeviceCapabilityAnnc deviceCapabilityAnnc,
-	DeviceInfoAnnc deviceInfoAnnc,
-	EventLogAnnc eventLogAnnc,
-	FirmwareAnnc firmwareAnnc,
-	MemoryAnnc memoryAnnc,
-	RebootAnnc rebootAnnc,
-	SoftwareAnnc softwareAnnc
-}
-with {
-  variant "untagged";
-  variant (sg_announcedMgmtResource) "form as qualified";
-  variant (sg_announcedMgmtResource) "abstract";
-};
+	type record ChildResourceRef
+	{
+		ResourceName name,
+		ResourceType type_,
+		XSD.AnyURI base
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (name) "attribute";
+	  variant (type_) "name as 'type'";
+	  variant (type_) "attribute";
+	  variant (base) "untagged";
+	};
 
 
-type union Sg_resource_group
-{
-	Resource sg_resource,
-	CSEBase cSEBase
-}
-with {
-  variant "untagged";
-  variant (sg_resource) "form as qualified";
-  variant (sg_resource) "abstract";
-  variant (cSEBase) "name as capitalized";
-};
-
-
-type union Sg_regularResource_group
-{
-	RegularResource sg_regularResource,
-	Delivery delivery,
-	DynamicAuthorizationConsultation dynamicAuthorizationConsultation,
-	EventConfig eventConfig,
-	ExecInstance execInstance,
-	M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
-	MgmtCmd mgmtCmd,
-	NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
-	NotificationTargetPolicy notificationTargetPolicy,
-	PolicyDeletionRules policyDeletionRules,
-	Request request,
-	Role role,
-	ServiceSubscribedAppRule serviceSubscribedAppRule,
-	ServiceSubscribedNode serviceSubscribedNode,
-	StatsCollect statsCollect,
-	StatsConfig statsConfig,
-	Subscription subscription,
-	Token token
-}
-with {
-  variant "untagged";
-  variant (sg_regularResource) "form as qualified";
-  variant (sg_regularResource) "abstract";
-};
+	type record ResponseTypeInfo
+	{
+		ResponseType responseTypeValue,
+		record of XSD.AnyURI notificationURI
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (notificationURI) "list";
+	};
 
 
-type union Sg_subordinateResource_group
-{
-	SubordinateResource sg_subordinateResource,
-	PollingChannel pollingChannel
-}
-with {
-  variant "untagged";
-  variant (sg_subordinateResource) "form as qualified";
-  variant (sg_subordinateResource) "abstract";
-};
-
-
-type record Container
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.NonNegativeInteger maxNrOfInstances optional,
-	XSD.NonNegativeInteger maxByteSize optional,
-	XSD.NonNegativeInteger maxInstanceAge optional,
-	XSD.NonNegativeInteger currentNrOfInstances,
-	XSD.NonNegativeInteger currentByteSize,
-	XSD.AnyURI locationID optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.Boolean disableRetrieval optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ContentInstance contentInstance,
-			Container container,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			Sg_flexContainerResource_group sg_flexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (disableRetrieval) "text 'true' as '1'";
-  //variant (disableRetrieval) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record ContainerAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.NonNegativeInteger maxNrOfInstances optional,
-	XSD.NonNegativeInteger maxByteSize optional,
-	XSD.NonNegativeInteger maxInstanceAge optional,
-	XSD.NonNegativeInteger currentNrOfInstances optional,
-	XSD.NonNegativeInteger currentByteSize optional,
-	XSD.AnyURI locationID optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.Boolean disableRetrieval optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ContentInstance contentInstance,
-			ContentInstanceAnnc contentInstanceAnnc,
-			Container container,
-			ContainerAnnc containerAnnc,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Sg_flexContainerResource_group sg_flexContainerResource,
-			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (disableRetrieval) "text 'true' as '1'";
-  //variant (disableRetrieval) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record ContentInstance
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	ContentInfo contentInfo optional,
-	XSD.NonNegativeInteger contentSize,
-	ContentRef contentRef optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnySimpleType content,//FIXME Use AnySimpleType instead
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.semanticDescriptor_list) "untagged";
-  variant (choice.semanticDescriptor_list[-]) "name as 'semanticDescriptor'";
-};
-
-
-type record ContentInstanceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	XSD.NonNegativeInteger stateTag,
-	ContentInfo contentInfo optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnySimpleType content optional,//FIXME Use AnySimpleType instead
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.semanticDescriptor_list) "untagged";
-  variant (choice.semanticDescriptor_list[-]) "name as 'semanticDescriptor'";
-};
-
-
-type record CSEBase
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	CseTypeID cseType optional,
-	XSD.ID cSE_ID,
-	ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type
-	PoaList pointOfAccess,
-	XSD.AnyURI nodeLink optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	E2eSecInfo e2eSecInfo optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			RemoteCSE remoteCSE,
-			RemoteCSEAnnc remoteCSEAnnc,
-			Node node,
-			AE aE,
-			Container container,
-			Group group_,
-			AccessControlPolicy accessControlPolicy,
-			Subscription subscription,
-			MgmtCmd mgmtCmd,
-			LocationPolicy locationPolicy,
-			StatsConfig statsConfig,
-			StatsCollect statsCollect,
-			Request request,
-			Delivery delivery,
-			Schedule schedule,
-			M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
-			ServiceSubscribedAppRule serviceSubscribedAppRule,
-			Role role,
-			XSD.Token token,
-			Sg_flexContainerResource_group sg_flexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (cSE_ID) "name as 'CSE-ID'";
-  variant (supportedResourceType) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].aE) "name as capitalized";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-};
-
-
-type record Delivery
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID source,
-	XSD.ID target,
-	Timestamp lifespan,
-	EventCat eventCat,
-	DeliveryMetaData deliveryMetaData,
-	AggregatedRequest aggregatedRequest,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record DeviceCapability
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String capabilityName,
-	XSD.Boolean attached,
-	ActionStatus capabilityActionStatus,
-	XSD.Boolean currentState,
-	XSD.Boolean enable optional,
-	XSD.Boolean disable optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (attached) "text 'true' as '1'";
-  //variant (attached) "text 'false' as '0'";
-  //variant (currentState) "text 'true' as '1'";
-  //variant (currentState) "text 'false' as '0'";
-  //variant (enable) "text 'true' as '1'";
-  //variant (enable) "text 'false' as '0'";
-  //variant (disable) "text 'true' as '1'";
-  //variant (disable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record DeviceCapabilityAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String capabilityName optional,
-	XSD.Boolean attached optional,
-	ActionStatus capabilityActionStatus optional,
-	XSD.Boolean currentState optional,
-	XSD.Boolean enable optional,
-	XSD.Boolean disable optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (attached) "text 'true' as '1'";
-  //variant (attached) "text 'false' as '0'";
-  //variant (currentState) "text 'true' as '1'";
-  //variant (currentState) "text 'false' as '0'";
-  //variant (enable) "text 'true' as '1'";
-  //variant (enable) "text 'false' as '0'";
-  //variant (disable) "text 'true' as '1'";
-  //variant (disable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record DeviceInfo
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String deviceLabel,
-	XSD.String manufacturer,
-	XSD.String model,
-	XSD.String deviceType,
-	XSD.String fwVersion,
-	XSD.String swVersion,
-	XSD.String hwVersion,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record DeviceInfoAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String deviceLabel optional,
-	XSD.String manufacturer optional,
-	XSD.String model optional,
-	XSD.String deviceType optional,
-	XSD.String fwVersion optional,
-	XSD.String swVersion optional,
-	XSD.String hwVersion optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record DynamicAuthorizationConsultation
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.Boolean dynamicAuthorizationEnabled,
-	ListOfURIs dynamicAuthorizationPoA,
-	Timestamp dynamicAuthorizationLifetime optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (dynamicAuthorizationEnabled) "text 'true' as '1'";
-  //variant (dynamicAuthorizationEnabled) "text 'false' as '0'";
-};
-
-
-type enumerated ResourceType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int17(17),
-	int18(18),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30),
-	int31(31),
-	int32(32),
-	int33(33),
-	int34(34),
-	int10001(10001),
-	int10002(10002),
-	int10003(10003),
-	int10004(10004),
-	int10009(10009),
-	int10010(10010),
-	int10013(10013),
-	int10014(10014),
-	int10016(10016),
-	int10018(10018),
-	int10024(10024),
-	int10028(10028),
-	int10029(10029),
-	int10030(10030),
-	int10033(10033),
-	int10034(10034)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
 
-type enumerated CseTypeID
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record OperationResult
+	{
+		ResponseStatusCode responseStatusCode,
+		RequestID requestIdentifier,
+		PrimitiveContent primitiveContent optional,
+		XSD.AnyURI to_ optional,
+		XSD.ID from_ optional,
+		Timestamp originatingTimestamp optional,
+		AbsRelTimestamp resultExpirationTimestamp optional,
+		EventCat eventCategory optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (to_) "name as 'to'";
+	  variant (from_) "name as 'from'";
+	};
 
 
-type enumerated LocationSource
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
 
-type enumerated StdEventCats
-{
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated Operation
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
 
-type enumerated ResponseType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ResultContent
-{
-	int0(0),
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record Resource_1
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional
+	}
+	with {
+	  variant "name as 'resource'";
+	  variant (resourceName) "attribute";
+	};
 
 
-type enumerated DiscResType
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ResponseStatusCode
-{
-	int1000(1000),
-	int1001(1001),
-	int1002(1002),
-	int2000(2000),
-	int2001(2001),
-	int2002(2002),
-	int2004(2004),
-	int4000(4000),
-	int4004(4004),
-	int4005(4005),
-	int4008(4008),
-	int4101(4101),
-	int4102(4102),
-	int4103(4103),
-	int4104(4104),
-	int4105(4105),
-	int4106(4106),
-	int4107(4107),
-	int4108(4108),
-	int4109(4109),
-	int4110(4110),
-	int4111(4111),
-	int4112(4112),
-	int4113(4113),
-	int4114(4114),
-	int4115(4115),
-	int4116(4116),
-	int4117(4117),
-	int5000(5000),
-	int5001(5001),
-	int5103(5103),
-	int5105(5105),
-	int5106(5106),
-	int5203(5203),
-	int5204(5204),
-	int5205(5205),
-	int5206(5206),
-	int5207(5207),
-	int5208(5208),
-	int5209(5209),
-	int5210(5210),
-	int5211(5211),
-	int5212(5212),
-	int6003(6003),
-	int6005(6005),
-	int6010(6010),
-	int6020(6020),
-	int6021(6021),
-	int6022(6022),
-	int6023(6023),
-	int6024(6024),
-	int6025(6025),
-	int6026(6026),
-	int6028(6028),
-	int6029(6029)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record RegularResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
 
 
-type enumerated RequestStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated MemberType
-{
-	int0(0),
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int17(17),
-	int18(18),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30),
-	int31(31),
-	int32(32),
-	int33(33),
-	int34(34),
-	int10001(10001),
-	int10002(10002),
-	int10003(10003),
-	int10004(10004),
-	int10009(10009),
-	int10010(10010),
-	int10013(10013),
-	int10014(10014),
-	int10016(10016),
-	int10018(10018),
-	int10024(10024),
-	int10028(10028),
-	int10029(10029),
-	int10030(10030),
-	int10033(10033),
-	int10034(10034),
-	int20001(20001),
-	int20002(20002)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record AnnounceableResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
 
 
-type enumerated ConsistencyStrategy
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated CmdType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record AnnouncedResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
 
 
-type enumerated ExecModeType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ExecStatusType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ExecResultType
-{
-	int0(0),
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30),
-	int31(31)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record AnnounceableSubordinateResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
 
 
-type enumerated PendingNotification
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record SubordinateResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
 
 
-type enumerated NotificationContentType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated NotificationEventType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record AnnouncedSubordinateResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		XSD.AnyURI link
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
 
 
-type enumerated Status
-{
-	int0(0),
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated BatteryStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated MgmtDefinition
-{
-	int0(0),
-	int1001(1001),
-	int1002(1002),
-	int1003(1003),
-	int1004(1004),
-	int1005(1005),
-	int1006(1006),
-	int1007(1007),
-	int1008(1008),
-	int1009(1009),
-	int1010(1010),
-	int1011(1011),
-	int1012(1012),
-	int1013(1013),
-	int1014(1014),
-	int1015(1015),
-	int1016(1016),
-	int1017(1017),
-	int1018(1018),
-	int1019(1019)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated LogTypeId
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated LogStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record MgmtResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
 
 
-type enumerated EventType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record AnnouncedMgmtResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
 
 
-type enumerated StatsRuleStatusType
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated StatModelType
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EncodingType
-{
-	int0(0),
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-
-
-type enumerated AccessControlOperations
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int17(17),
-	int18(18),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30),
-	int31(31),
-	int32(32),
-	int33(33),
-	int34(34),
-	int35(35),
-	int36(36),
-	int37(37),
-	int38(38),
-	int39(39),
-	int40(40),
-	int41(41),
-	int42(42),
-	int43(43),
-	int44(44),
-	int45(45),
-	int46(46),
-	int47(47),
-	int48(48),
-	int49(49),
-	int50(50),
-	int51(51),
-	int52(52),
-	int53(53),
-	int54(54),
-	int55(55),
-	int56(56),
-	int57(57),
-	int58(58),
-	int59(59),
-	int60(60),
-	int61(61),
-	int62(62),
-	int63(63)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated FilterUsage
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated NotificationTargetPolicyAction
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated LogicalOperator
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-
-
-type enumerated AllJoynDirection
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record Container
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator,
+		XSD.NonNegativeInteger maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances,
+		XSD.NonNegativeInteger currentByteSize,
+		XSD.AnyURI locationID optional,
+		XSD.AnyURI ontologyRef optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ContentInstance contentInstance,
+				Container container,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
 
 
-type enumerated ContentFilterSyntax
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ContentSecurity
-{
-	int0(0),
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated Suid
-{
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int32(32),
-	int33(33),
-	int34(34),
-	int35(35),
-	int40(40),
-	int41(41),
-	int42(42),
-	int43(43),
-	int44(44),
-	int45(45)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record ContainerAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		XSD.NonNegativeInteger stateTag,
+		XSD.NonNegativeInteger maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances optional,
+		XSD.NonNegativeInteger currentByteSize optional,
+		XSD.AnyURI locationID optional,
+		XSD.AnyURI ontologyRef optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ContentInstance contentInstance,
+				ContentInstanceAnnc contentInstanceAnnc,
+				Container container,
+				ContainerAnnc containerAnnc,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
 
 
-type enumerated EsprimKeyGenAlgID
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record ContentInstance
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		ContentInfo contentInfo optional,
+		XSD.NonNegativeInteger contentSize,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnySimpleType content //FIXME Use AnySimpleType instead
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
 
 
-type enumerated EsprimProtocolAndAlgID
-{
-	int10(10),
-	int11(11),
-	int12(12)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record ContentInstanceAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		XSD.NonNegativeInteger stateTag,
+		ContentInfo contentInfo optional,
+		XSD.NonNegativeInteger contentSize optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnySimpleType content optional //FIXME Use AnySimpleType instead
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
 
 
-type enumerated PeriodicIndicator
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record CSEBase
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		CseTypeID cseType optional,
+		XSD.ID cSE_ID,
+		ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type
+		PoaList pointOfAccess,
+		XSD.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				RemoteCSE remoteCSE,
+				RemoteCSEAnnc remoteCSEAnnc,
+				Node node,
+				AE aE,
+				Container container,
+				Group group_,
+				AccessControlPolicy accessControlPolicy,
+				Subscription subscription,
+				MgmtCmd mgmtCmd,
+				LocationPolicy locationPolicy,
+				StatsConfig statsConfig,
+				StatsCollect statsCollect,
+				Request request,
+				Delivery delivery,
+				Schedule schedule,
+				M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+				ServiceSubscribedAppRule serviceSubscribedAppRule
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (cSE_ID) "name as 'CSE-ID'";
+	  variant (supportedResourceType) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].aE) "name as capitalized";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
 
 
-type enumerated StationaryIndication
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
+	type record Delivery
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID source,
+		XSD.ID target,
+		Timestamp lifespan,
+		EventCat eventCat,
+		DeliveryMetaData deliveryMetaData,
+		AggregatedRequest aggregatedRequest,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
 
 
-type enumerated ContentStatus
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated NetworkAction
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type record EventConfig
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	XSD.String eventID,
-	EventType eventType,
-	Timestamp eventStart optional,
-	Timestamp eventEnd optional,
-	record of Operation operationType,
-	XSD.NonNegativeInteger dataSize optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (operationType) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record EventLog
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	LogTypeId logTypeId,
-	XSD.String logData,
-	LogStatus logStatus,
-	XSD.Boolean logStart,
-	XSD.Boolean logStop,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (logStart) "text 'true' as '1'";
-  //variant (logStart) "text 'false' as '0'";
-  //variant (logStop) "text 'true' as '1'";
-  //variant (logStop) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record EventLogAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	LogTypeId logTypeId optional,
-	XSD.String logData optional,
-	LogStatus logStatus optional,
-	XSD.Boolean logStart optional,
-	XSD.Boolean logStop optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (logStart) "text 'true' as '1'";
-  //variant (logStart) "text 'false' as '0'";
-  //variant (logStop) "text 'true' as '1'";
-  //variant (logStop) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record ExecInstance
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ExecStatusType execStatus,
-	ExecResultType execResult,
-	XSD.Boolean execDisable optional,
-	NodeID execTarget,
-	ExecModeType execMode optional,
-	XSD.Duration execFrequency optional,
-	XSD.Duration execDelay optional,
-	XSD.NonNegativeInteger execNumber optional,
-	ExecReqArgsListType execReqArgs optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (execDisable) "text 'true' as '1'";
-  //variant (execDisable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record Firmware
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String version,
-	XSD.String firmwareName,
-	XSD.AnyURI uRL,
-	XSD.Boolean update,
-	ActionStatus updateStatus,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (uRL) "name as capitalized";
-  //variant (update) "text 'true' as '1'";
-  //variant (update) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record FirmwareAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String version optional,
-	XSD.String firmwareName optional,
-	XSD.AnyURI uRL optional,
-	XSD.Boolean update optional,
-	ActionStatus updateStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (uRL) "name as capitalized";
-  //variant (update) "text 'true' as '1'";
-  //variant (update) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record GenericInterworkingOperationInstance
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String operationName,
-	XSD.String operationState,
-	ListOfDataLinks inputDataPointLinks optional,
-	ListOfDataLinks outputDataPointLinks optional,
-	ListOfDataLinks inputLinks optional,
-	ListOfDataLinks outputLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record GenericInterworkingOperationInstanceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String operationName optional,
-	XSD.String operationState optional,
-	ListOfDataLinks inputDataPointLinks optional,
-	ListOfDataLinks outputDataPointLinks optional,
-	ListOfDataLinks inputLinks optional,
-	ListOfDataLinks outputLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record GenericInterworkingService
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String serviceName,
-	ListOfDataLinks inputDataPointLinks optional,
-	ListOfDataLinks outputDataPointLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			GenericInterworkingService genericInterworkingService,
-			GenericInterworkingOperationInstance genericInterworkingOperationInstance,
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record GenericInterworkingServiceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String serviceName,
-	ListOfDataLinks inputDataPointLinks optional,
-	ListOfDataLinks outputDataPointLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			GenericInterworkingServiceAnnc genericInterworkingServiceAnnc,
-			GenericInterworkingOperationInstanceAnnc genericInterworkingOperationInstanceAnnc,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record Group
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	XSD.ID creator optional,
-	MemberType memberType,
-	XSD.NonNegativeInteger currentNrOfMembers,
-	XSD.PositiveInteger maxNrOfMembers,
-	ListOfURIs memberIDs,
-	ListOfURIs membersAccessControlPolicyIDs optional,
-	XSD.Boolean memberTypeValidated optional,
-	ConsistencyStrategy consistencyStrategy optional,
-	XSD.String groupName optional,
-	XSD.Boolean semanticSupportIndicator optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (memberTypeValidated) "text 'true' as '1'";
-  //variant (memberTypeValidated) "text 'false' as '0'";
-  //variant (semanticSupportIndicator) "text 'true' as '1'";
-  //variant (semanticSupportIndicator) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record GroupAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MemberType memberType optional,
-	XSD.NonNegativeInteger currentNrOfMembers optional,
-	XSD.PositiveInteger maxNrOfMembers optional,
-	record of XSD.AnyURI memberIDs,
-	ListOfURIs membersAccessControlPolicyIDs optional,
-	XSD.Boolean memberTypeValidated optional,
-	ConsistencyStrategy consistencyStrategy optional,
-	XSD.String groupName optional,
-	XSD.Boolean semanticSupportIndicator optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (memberIDs) "list";
-  //variant (memberTypeValidated) "text 'true' as '1'";
-  //variant (memberTypeValidated) "text 'false' as '0'";
-  //variant (semanticSupportIndicator) "text 'true' as '1'";
-  //variant (semanticSupportIndicator) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record LocationPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	LocationSource locationSource,
-	ListOfDuration locationUpdatePeriod optional,
-	LocationTargetID locationTargetID optional,
-	XSD.AnyURI locationServer optional,
-	XSD.AnyURI locationContainerID optional,
-	XSD.String locationContainerName optional,
-	XSD.String locationStatus,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record LocationPolicyAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	LocationSource locationSource optional,
-	ListOfDuration locationUpdatePeriod optional,
-	LocationTargetID locationTargetID optional,
-	XSD.AnyURI locationServer optional,
-	XSD.AnyURI locationContainerID optional,
-	XSD.String locationContainerName optional,
-	XSD.String locationStatus optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-};
-
-
-type record M2mServiceSubscriptionProfile
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ServiceSubscribedNode serviceSubscribedNode,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record Memory
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.UnsignedLong memAvailable,
-	XSD.UnsignedLong memTotal,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record MemoryAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.UnsignedLong memAvailable optional,
-	XSD.UnsignedLong memTotal optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record MgmtCmd
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.String description optional,
-	CmdType cmdType,
-	ExecReqArgsListType execReqArgs optional,
-	XSD.Boolean execEnable,
-	NodeID execTarget,
-	ExecModeType execMode optional,
-	XSD.Duration execFrequency optional,
-	XSD.Duration execDelay optional,
-	XSD.NonNegativeInteger execNumber optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ExecInstance execInstance,
-			Subscription subscription
-		} choice_list
-	} choice
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (execEnable) "text 'true' as '1'";
-  //variant (execEnable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record Node
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	NodeID nodeID,
-	XSD.ID hostedCSELink optional,
-	XSD.String mgmtClientAddress optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Memory memory,
-			Battery battery,
-			AreaNwkInfo areaNwkInfo,
-			AreaNwkDeviceInfo areaNwkDeviceInfo,
-			Firmware firmware,
-			Software software,
-			DeviceInfo deviceInfo,
-			DeviceCapability deviceCapability,
-			Reboot reboot,
-			EventLog eventLog,
-			CmdhPolicy cmdhPolicy,
-			ActiveCmdhPolicy activeCmdhPolicy,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			TrafficPattern trafficPattern
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record NodeAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	NodeID nodeID,
-	XSD.ID hostedCSELink optional,
-	XSD.String mgmtClientAddress optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			MemoryAnnc memoryAnnc,
-			BatteryAnnc batteryAnnc,
-			AreaNwkInfoAnnc areaNwkInfoAnnc,
-			AreaNwkDeviceInfoAnnc areaNwkDeviceInfoAnnc,
-			FirmwareAnnc firmwareAnnc,
-			SoftwareAnnc softwareAnnc,
-			DeviceInfoAnnc deviceInfoAnnc,
-			DeviceCapabilityAnnc deviceCapabilityAnnc,
-			RebootAnnc rebootAnnc,
-			EventLogAnnc eventLogAnnc,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			TrafficPatternAnnc trafficPatternAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record NotificationTargetMgmtPolicyRef
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs notificationTargetURI optional,
-	XSD.AnyURI notificationlPolicyID optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record NotificationTargetPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	NotificationTargetPolicyAction action_,
-	XSD.Token policyLabel,
-	LogicalOperator rulesRelationship optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			PolicyDeletionRules policyDeletionRules,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (action_) "name as 'action'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type Notification_1 Notification
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
+	type record DeviceCapability
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String capabilityName,
+		XSD.Boolean attached,
+		ActionStatus capabilityActionStatus,
+		XSD.Boolean currentState,
+		XSD.Boolean enable optional,
+		XSD.Boolean disable optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (attached) "text 'true' as '1'";
+	  //variant (attached) "text 'false' as '0'";
+	  //variant (currentState) "text 'true' as '1'";
+	  //variant (currentState) "text 'false' as '0'";
+	  //variant (enable) "text 'true' as '1'";
+	  //variant (enable) "text 'false' as '0'";
+	  //variant (disable) "text 'true' as '1'";
+	  //variant (disable) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
-type AggregatedNotification_1 AggregatedNotification
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
+	type record DeviceCapabilityAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String capabilityName optional,
+		XSD.Boolean attached optional,
+		ActionStatus capabilityActionStatus optional,
+		XSD.Boolean currentState optional,
+		XSD.Boolean enable optional,
+		XSD.Boolean disable optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (attached) "text 'true' as '1'";
+	  //variant (attached) "text 'false' as '0'";
+	  //variant (currentState) "text 'true' as '1'";
+	  //variant (currentState) "text 'false' as '0'";
+	  //variant (enable) "text 'true' as '1'";
+	  //variant (enable) "text 'false' as '0'";
+	  //variant (disable) "text 'true' as '1'";
+	  //variant (disable) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
-type record AggregatedNotification_1
-{
-	record of Notification notification_list
-}
-with {
-  variant "name as 'aggregatedNotification'";
-  variant (notification_list) "untagged";
-  variant (notification_list[-]) "name as 'notification'";
-};
+	type record DeviceInfo
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String deviceLabel,
+		XSD.String manufacturer,
+		XSD.String model,
+		XSD.String deviceType,
+		XSD.String fwVersion,
+		XSD.String swVersion,
+		XSD.String hwVersion,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
 
-//FIXME To be added
-type union Representation {
-	Resource_2 resource, 
-	ResponsePrimitive responsePrimitive, 
-	XSD.AnyURI uRI
-}
-with {
-	variant "name as 'representation'";
-	variant (uRI) "name as capitalized";
-  };
+	type record DeviceInfoAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String deviceLabel optional,
+		XSD.String manufacturer optional,
+		XSD.String model optional,
+		XSD.String deviceType optional,
+		XSD.String fwVersion optional,
+		XSD.String swVersion optional,
+		XSD.String hwVersion optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
 
-type record Notification_1
-{
-	record {
-		//XSD.AnyType representation optional, Use Representation instead
-		Representation representation optional,
-		record {
-			Operation operation optional,
-			XSD.ID originator optional
-		} operationMonitor optional,
-		NotificationEventType notificationEventType optional
-	} notificationEvent optional,
-	XSD.Boolean verificationRequest optional,
-	XSD.Boolean subscriptionDeletion optional,
-	XSD.AnyURI subscriptionReference optional,
-	XSD.ID creator optional,
-	XSD.AnyURI notificationForwardingURI optional,
-	record {
-		XSD.ID originator,
-		FilterCriteria filterCriteria
-	} iPEDiscoveryRequest optional
-}
-with {
-  variant "name as 'notification'";
-  //variant (verificationRequest) "text 'true' as '1'";
-  //variant (verificationRequest) "text 'false' as '0'";
-  //variant (subscriptionDeletion) "text 'true' as '1'";
-  //variant (subscriptionDeletion) "text 'false' as '0'";
-  variant (iPEDiscoveryRequest) "name as capitalized";
-};
 
+	type enumerated ResourceType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8),
+		int9(9),
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int16(16),
+		int17(17),
+		int18(18),
+		int19(19),
+		int20(20),
+		int21(21),
+		int22(22),
+		int23(23),
+		int10001(10001),
+		int10002(10002),
+		int10003(10003),
+		int10004(10004),
+		int10009(10009),
+		int10010(10010),
+		int10013(10013),
+		int10014(10014),
+		int10016(10016),
+		int10018(10018)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type SecurityInfo_1 SecurityInfo
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SecurityInfo_1
-{
-	SecurityInfoType securityInfoType optional,
-	DynAuthDasRequest dasRequest optional,
-	DynAuthDasResponse dasResponse optional,
-	ReceiverESPrimRandObject esprimRandObject optional,
-	E2eCompactJWE esprimObject optional,
-	XSD.Base64Binary escertkeMessage optional
-}
-with {
-  variant "name as 'securityInfo'";
-};
-
-
-type enumerated SecurityInfoType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type record DynAuthDasResponse
-{
-	record {
-		SetOfAcrs grantedPrivileges optional,
-		AbsRelTimestamp privilegesLifetime optional
-	} dynamicACPInfo optional,
-	record length(1 .. infinity) of DynAuthJWT tokens
-}
-with {
-  variant "name as uncapitalized";
-  variant (tokens) "list";
-};
-
-
-type record PolicyDeletionRules
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	DeletionContexts deletionRules optional,
-	LogicalOperator deletionRulesRelation optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record PollingChannel
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-};
-
-
-type record Reboot
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.Boolean reboot,
-	XSD.Boolean factoryReset,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (reboot) "text 'true' as '1'";
-  //variant (reboot) "text 'false' as '0'";
-  //variant (factoryReset) "text 'true' as '1'";
-  //variant (factoryReset) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record RebootAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.Boolean reboot optional,
-	XSD.Boolean factoryReset optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (reboot) "text 'true' as '1'";
-  //variant (reboot) "text 'false' as '0'";
-  //variant (factoryReset) "text 'true' as '1'";
-  //variant (factoryReset) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record RemoteCSE
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	CseTypeID cseType optional,
-	PoaList pointOfAccess optional,
-	XSD.AnyURI cSEBase,
-	XSD.ID cSE_ID,
-	ExternalID m2M_Ext_ID optional,
-	TriggerRecipientID trigger_Recipient_ID optional,
-	XSD.Boolean requestReachability,
-	XSD.AnyURI nodeLink optional,
-	XSD.UnsignedInt triggerReferenceNumber optional,
-	E2eSecInfo e2eSecInfo optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			NodeAnnc nodeAnnc,
-			Container container,
-			ContainerAnnc containerAnnc,
-			Group group_,
-			GroupAnnc groupAnnc,
-			AccessControlPolicy accessControlPolicy,
-			AccessControlPolicyAnnc accessControlPolicyAnnc,
-			Subscription subscription,
-			PollingChannel pollingChannel,
-			Schedule schedule,
-			TimeSeries timeSeries,
-			TimeSeriesAnnc timeSeriesAnnc,
-			LocationPolicyAnnc locationPolicyAnnc,
-			AEAnnc aEAnnc,
-			Sg_flexContainerResource_group sg_flexContainerResource,
-			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (cSEBase) "name as capitalized";
-  variant (cSE_ID) "name as 'CSE-ID'";
-  variant (m2M_Ext_ID) "name as 'M2M-Ext-ID'";
-  variant (trigger_Recipient_ID) "name as 'Trigger-Recipient-ID'";
-  //variant (requestReachability) "text 'true' as '1'";
-  //variant (requestReachability) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
-};
-
-
-type record RemoteCSEAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	CseTypeID cseType optional,
-	PoaList pointOfAccess optional,
-	XSD.AnyURI cSEBase optional,
-	XSD.ID cSE_ID optional,
-	XSD.Boolean requestReachability optional,
-	XSD.AnyURI nodeLink optional,
-	E2eSecInfo e2eSecInfo optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			NodeAnnc nodeAnnc,
-			Container container,
-			ContainerAnnc containerAnnc,
-			Group group_,
-			GroupAnnc groupAnnc,
-			AccessControlPolicy accessControlPolicy,
-			AccessControlPolicyAnnc accessControlPolicyAnnc,
-			Subscription subscription,
-			PollingChannel pollingChannel,
-			ScheduleAnnc scheduleAnnc,
-			LocationPolicyAnnc locationPolicyAnnc,
-			TimeSeries timeSeries,
-			TimeSeriesAnnc timeSeriesAnnc,
-			AEAnnc aEAnnc,
-			Sg_flexContainerResource_group sg_flexContainerResource,
-			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (cSEBase) "name as capitalized";
-  variant (cSE_ID) "name as 'CSE-ID'";
-  //variant (requestReachability) "text 'true' as '1'";
-  //variant (requestReachability) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
-};
-
-
-type record RequestPrimitive
-{
-	Operation operation,
-	XSD.AnyURI to_,
-	XSD.ID from_ optional,
-	RequestID requestIdentifier,
-	ResourceType resourceType optional,
-	PrimitiveContent primitiveContent optional,
-	record length(1 .. infinity) of RoleID roleIDs optional,//TODO it must be optional
-	Timestamp originatingTimestamp optional,
-	AbsRelTimestamp requestExpirationTimestamp optional,
-	AbsRelTimestamp resultExpirationTimestamp optional,
-	AbsRelTimestamp operationExecutionTime optional,
-	ResponseTypeInfo responseType optional,
-	AbsRelTimestamp resultPersistence optional,
-	ResultContent resultContent optional,
-	EventCat eventCategory optional,
-	XSD.Boolean deliveryAggregation optional,
-	XSD.String groupRequestIdentifier optional,
-	FilterCriteria filterCriteria optional,
-	DiscResType discoveryResultType optional,
-	record length(1 .. infinity) of DynAuthJWT tokens optional,//TODO it must be optional
-	record length(1 .. infinity) of TokenID tokenIDs optional,//TODO it must be optional
-	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,//TODO it must be optional
-	XSD.Boolean tokenRequestIndicator optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-  variant (roleIDs) "list";
-  //variant (deliveryAggregation) "text 'true' as '1'";
-  //variant (deliveryAggregation) "text 'false' as '0'";
-  variant (tokens) "list";
-  variant (tokenIDs) "list";
-  variant (localTokenIDs) "list";
-  //variant (tokenRequestIndicator) "text 'true' as '1'";
-  //variant (tokenRequestIndicator) "text 'false' as '0'";
-};
-
-
-type AttributeList_1 AttributeList
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Request
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag,
-	Operation operation,
-	XSD.AnyURI target,
-	XSD.ID originator,
-	RequestID requestID,
-	MetaInformation metaInformation,
-	PrimitiveContent primitiveContent optional,
-	RequestStatus requestStatus,
-	OperationResult operationResult,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record ResponsePrimitive
-{
-	ResponseStatusCode responseStatusCode,
-	RequestID requestIdentifier,
-	PrimitiveContent primitiveContent optional,
-	XSD.ID to_ optional,
-	XSD.ID from_ optional,
-	Timestamp originatingTimestamp optional,
-	AbsRelTimestamp resultExpirationTimestamp optional,
-	EventCat eventCategory optional,
-	ContentStatus contentStatus optional,
-	XSD.PositiveInteger contentOffset optional,
-	DynAuthLocalTokenIdAssignments assignedTokenIdentifiers optional,
-	DynAuthTokenReqInfo tokenRequestInformation optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-};
 
+	type enumerated CseTypeID
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type ResourceWrapper Resource
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
 
+	type enumerated LocationSource
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type ListOfURIs URIList
-with {
-  variant "element";//Change from previous version "list"
-};
 
+	type enumerated StdEventCats
+	{
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type XSD.AnyURI URI
-with {
-  variant "element";
-};
 
+	type enumerated Operation
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type AggregatedResponse_1 AggregatedResponse
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
 
+	type enumerated ResponseType
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type ListOfChildResourceRef ResourceRefList
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
 
+	type enumerated ResultContent
+	{
+		int0(0),
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type XSD.String DebugInfo
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ResourceWrapper
-{
-//	union {
-//		Sg_resource_group sg_resource,
-//		Sg_regularResource_group sg_regularResource,
-//		Sg_announcedResource_group sg_announcedResource,
-//		Sg_announceableResource_group sg_announceableResource,
-//		Sg_subordinateResource_group sg_subordinateResource,
-//		Sg_announcedSubordinateResource_group sg_announcedSubordinateResource,
-//		Sg_announceableSubordinateResource_group sg_announceableSubordinateResource,
-//		Sg_mgmtResource_group sg_mgmtResource,
-//		Sg_announcedMgmtResource_group sg_announcedMgmtResource,
-//		Sg_flexContainerResource_group sg_flexContainerResource,
-//		Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-//	} 
-	Resource_2 choice,//TODO Use Resource_2 type instead 
-	XSD.AnyURI uRI
-}
-with {
-  variant "name as uncapitalized";
-  variant (choice) "untagged";
-  variant (uRI) "name as capitalized";
-};
 
+	type enumerated DiscResType
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type record AggregatedResponse_1
-{
-	XSD.AnyURI resourceID optional,
-	record of ResponsePrimitive responsePrimitive_list
-}
-with {
-  variant "name as 'aggregatedResponse'";
-  variant (responsePrimitive_list) "untagged";
-  variant (responsePrimitive_list[-]) "name as 'responsePrimitive'";
-};
 
+	type enumerated ResponseStatusCode
+	{
+		int1000(1000),
+		int2000(2000),
+		int2001(2001),
+		int2002(2002),
+		int2004(2004),
+		int4000(4000),
+		int4004(4004),
+		int4005(4005),
+		int4008(4008),
+		int4101(4101),
+		int4102(4102),
+		int4103(4103),
+		int4104(4104),
+		int4105(4105),
+		int4106(4106),
+		int4107(4107),
+		int4108(4108),
+		int4109(4109),
+		int4110(4110),
+		int5000(5000),
+		int5001(5001),
+		int5103(5103),
+		int5105(5105),
+		int5106(5106),
+		int5203(5203),
+		int5204(5204),
+		int5205(5205),
+		int5206(5206),
+		int5207(5207),
+		int5209(5209),
+		int6003(6003),
+		int6005(6005),
+		int6010(6010),
+		int6020(6020),
+		int6021(6021),
+		int6022(6022),
+		int6023(6023),
+		int6024(6024),
+		int6025(6025),
+		int6026(6026),
+		int6028(6028),
+		int6029(6029)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type record ListOfChildResourceRef
-{
-	record length(1 .. infinity) of ChildResourceRef resourceRef_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceRef_list) "untagged";
-  variant (resourceRef_list[-]) "name as 'resourceRef'";
-};
-
-
-type record Role
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	RoleID roleID,
-	XSD.ID issuer,
-	XSD.ID holder,
-	Timestamp notBefore,
-	Timestamp notAfter,
-	XSD.String roleName optional,
-	XSD.AnyURI tokenLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record Schedule
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	ScheduleEntries scheduleElement,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record ScheduleAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ScheduleEntries scheduleElement optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-};
-
-
-type record SemanticDescriptor
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	XSD.ID creator optional,
-	DescriptorRepresentation descriptorRepresentation optional,
-	Sparql semanticOpExec optional,
-	XSD.Base64Binary descriptor,
-	XSD.AnyURI ontologyRef optional,
-	ListOfURIs relatedSemantics optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record SemanticDescriptorAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	DescriptorRepresentation descriptorRepresentation optional,
-	Sparql semanticOpExec optional,
-	XSD.Base64Binary descriptor optional,
-	XSD.AnyURI ontologyRef optional,
-	ListOfURIs relatedSemantics optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record ServiceSubscribedAppRule
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfM2MID applicableCredIDs optional,
-	ListOfM2MID allowedApp_IDs optional,
-	ListOfM2MID allowedAEs optional,
-	record length(1 .. infinity) of RoleID allowedRole_IDs,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (allowedApp_IDs) "name as 'allowedApp-IDs'";
-  variant (allowedRole_IDs) "name as 'allowedRole-IDs'";
-  variant (allowedRole_IDs) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record ServiceSubscribedNode
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	NodeID nodeID,
-	XSD.ID cSE_ID optional,
-	record of DeviceID deviceIdentifier,
-	ListOfURIs ruleLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (cSE_ID) "name as 'CSE-ID'";
-  variant (deviceIdentifier) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record Software
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String version,
-	XSD.String softwareName,
-	XSD.AnyURI uRL,
-	XSD.Boolean install,
-	XSD.Boolean uninstall,
-	ActionStatus installStatus,
-	XSD.Boolean activate_ optional,
-	XSD.Boolean deactivate_ optional,
-	ActionStatus activeStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  variant (uRL) "name as capitalized";
-  //variant (install) "text 'true' as '1'";
-  //variant (install) "text 'false' as '0'";
-  //variant (uninstall) "text 'true' as '1'";
-  //variant (uninstall) "text 'false' as '0'";
-  variant (activate_) "name as 'activate'";
-  //variant (activate_) "text 'true' as '1'";
-  //variant (activate_) "text 'false' as '0'";
-  variant (deactivate_) "name as 'deactivate'";
-  //variant (deactivate_) "text 'true' as '1'";
-  //variant (deactivate_) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record SoftwareAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String version optional,
-	XSD.String softwareName optional,
-	XSD.AnyURI uRL optional,
-	XSD.Boolean install optional,
-	XSD.Boolean uninstall optional,
-	ActionStatus installStatus optional,
-	XSD.Boolean activate_ optional,
-	XSD.Boolean deactivate_ optional,
-	ActionStatus activeStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (uRL) "name as capitalized";
-  //variant (install) "text 'true' as '1'";
-  //variant (install) "text 'false' as '0'";
-  //variant (uninstall) "text 'true' as '1'";
-  //variant (uninstall) "text 'false' as '0'";
-  variant (activate_) "name as 'activate'";
-  //variant (activate_) "text 'true' as '1'";
-  //variant (activate_) "text 'false' as '0'";
-  variant (deactivate_) "name as 'deactivate'";
-  //variant (deactivate_) "text 'true' as '1'";
-  //variant (deactivate_) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record StatsCollect
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	XSD.String statsCollectID,
-	XSD.ID collectingEntityID,
-	XSD.ID collectedEntityID,
-	StatsRuleStatusType statsRuleStatus,
-	StatModelType statModel,
-	ScheduleEntries collectPeriod optional,
-	XSD.String eventID optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-  variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-
-type record StatsConfig
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			EventConfig eventConfig,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record Subscription
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	EventNotificationCriteria eventNotificationCriteria optional,
-	XSD.PositiveInteger expirationCounter optional,
-	ListOfURIs notificationURI,
-	XSD.AnyURI groupID optional,
-	XSD.AnyURI notificationForwardingURI optional,
-	BatchNotify batchNotify optional,
-	RateLimit rateLimit optional,
-	XSD.PositiveInteger preSubscriptionNotify optional,
-	PendingNotification pendingNotification optional,
-	XSD.PositiveInteger notificationStoragePriority optional,
-	XSD.Boolean latestNotify optional,
-	NotificationContentType notificationContentType,
-	EventCat notificationEventCat optional,
-	XSD.AnyURI subscriberURI optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Schedule schedule,
-			NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (latestNotify) "text 'true' as '1'";
-  //variant (latestNotify) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record EventNotificationCriteria
-{
-	Timestamp createdBefore optional,
-	Timestamp createdAfter optional,
-	Timestamp modifiedSince optional,
-	Timestamp unmodifiedSince optional,
-	XSD.PositiveInteger stateTagSmaller optional,
-	XSD.NonNegativeInteger stateTagBigger optional,
-	Timestamp expireBefore optional,
-	Timestamp expireAfter optional,
-	XSD.NonNegativeInteger sizeAbove optional,
-	XSD.PositiveInteger sizeBelow optional,
-	record length(0 .. 5) of Operation operationMonitor_list,
-	AttributeList_1 attribute optional,
-	record length(0 .. 5) of NotificationEventType notificationEventType_list,
-	MissingData missingData optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (operationMonitor_list) "untagged";
-  variant (operationMonitor_list[-]) "name as 'operationMonitor'";
-  variant (notificationEventType_list) "untagged";
-  variant (notificationEventType_list[-]) "name as 'notificationEventType'";
-};
-
-
-type record BatchNotify
-{
-	XSD.NonNegativeInteger number,
-	XSD.Duration duration
-}
-with {
-  variant "name as uncapitalized";
-};
 
+	type enumerated RequestStatus
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-type record RateLimit
-{
-	XSD.NonNegativeInteger maxNrOfNotify optional,
-	XSD.Duration timeWindow optional
-}
-with {
-  variant "name as uncapitalized";
-};
-
-
-type record SvcFwWrapper
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record SvcFwWrapperAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record SvcObjWrapper
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynApp allJoynApp
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record SvcObjWrapperAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynAppAnnc allJoynAppAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record TimeSeriesInstance
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	AbsRelTimestamp dataGenerationTime,
-	XSD.AnySimpleType content,
-	XSD.NonNegativeInteger sequenceNr optional,
-	XSD.NonNegativeInteger contentSize
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record TimeSeriesInstanceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	AbsRelTimestamp dataGenerationTime optional,
-	XSD.AnySimpleType content optional,
-	XSD.NonNegativeInteger sequenceNr optional,
-	XSD.NonNegativeInteger contentSize optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-};
-
-
-type record TimeSeries
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator,
-	XSD.NonNegativeInteger maxNrOfInstances optional,
-	XSD.NonNegativeInteger maxByteSize optional,
-	XSD.NonNegativeInteger maxInstanceAge optional,
-	XSD.NonNegativeInteger currentNrOfInstances,
-	XSD.NonNegativeInteger currentByteSize,
-	XSD.NonNegativeInteger periodicInterval optional,
-	XSD.Boolean missingDataDetect optional,
-	XSD.NonNegativeInteger missingDataMaxNr optional,
-	MissingDataList missingDataList optional,
-	XSD.NonNegativeInteger missingDataCurrentNr optional,
-	XSD.NonNegativeInteger missingDataDetectTimer optional,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			TimeSeriesInstance timeSeriesInstance,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (missingDataDetect) "text 'true' as '1'";
-  //variant (missingDataDetect) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record TimeSeriesAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.NonNegativeInteger maxNrOfInstances optional,
-	XSD.NonNegativeInteger maxByteSize optional,
-	XSD.NonNegativeInteger maxInstanceAge optional,
-	XSD.NonNegativeInteger currentNrOfInstances,
-	XSD.NonNegativeInteger currentByteSize,
-	XSD.NonNegativeInteger periodicInterval optional,
-	XSD.Boolean missingDataDetect optional,
-	MissingDataList missingDataList optional,
-	XSD.NonNegativeInteger missingDataCurrentNr optional,
-	XSD.NonNegativeInteger missingDataDetectTimer optional,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			TimeSeriesInstance timeSeriesInstance,
-			TimeSeriesInstanceAnnc timeSeriesInstanceAnnc,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (missingDataDetect) "text 'true' as '1'";
-  //variant (missingDataDetect) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record Token
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	TokenID tokenID,
-	DynAuthJWT tokenObject,
-	XSD.String version optional,
-	XSD.ID issuer optional,
-	XSD.ID holder optional,
-	Timestamp notBefore,
-	Timestamp notAfter optional,
-	XSD.String tokenName optional,
-	ListOfM2MID audience optional,
-	TokenPermissions permissions optional,
-	XSD.String extension_ optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (extension_) "name as 'extension'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record TrafficPattern
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
-	XSD.Boolean provideToNSE optional,
-	PeriodicIndicator periodicIndicator optional,
-	XSD.UnsignedInt periodicDurationTime optional,
-	XSD.UnsignedInt periodicIntervalTime optional,
-	StationaryIndication stationaryIndication optional,
-	XSD.PositiveInteger dataSizeIndicator optional,
-	Timestamp validityTime optional,
-	ListOfM2MID targetNetwork,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			record of Subscription subscription_list,
-			record length(1) of Schedule schedule_list
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (provideToNSE) "text 'true' as '1'";
-  //variant (provideToNSE) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription_list) "untagged";
-  variant (choice.choice_list[-].subscription_list[-]) "name as 'subscription'";
-  variant (choice.choice_list[-].schedule_list) "untagged";
-  variant (choice.choice_list[-].schedule_list[-]) "name as 'schedule'";
-};
-
-
-type record TrafficPatternAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.Boolean provideToNSE optional,
-	PeriodicIndicator periodicIndicator optional,
-	XSD.UnsignedInt periodicDurationTime optional,
-	XSD.UnsignedInt periodicIntervalTime optional,
-	StationaryIndication stationaryIndication optional,
-	XSD.PositiveInteger dataSizeIndicator optional,
-	Timestamp validityTime optional,
-	ListOfM2MID targetNetwork optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			record of Subscription subscription_list,
-			record length(1) of ScheduleAnnc scheduleAnnc_list
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (provideToNSE) "text 'true' as '1'";
-  //variant (provideToNSE) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription_list) "untagged";
-  variant (choice.choice_list[-].subscription_list[-]) "name as 'subscription'";
-  variant (choice.choice_list[-].scheduleAnnc_list) "untagged";
-  variant (choice.choice_list[-].scheduleAnnc_list[-]) "name as 'scheduleAnnc'";
-};
-
-
-/* ******************************************
- * 		oneM2M Abstract Service Primitives 
- * ******************************************
-*/
-	/**
-	 * @desc Type for the oneM2M primitives exchange
-	 * @member primitive oneM2M primitive
-	 * @member host IP Address of the destination
-	 * @member xmlNamespace XML Namespace to be used
-	 * @member protocolBinding Protocol binding to be used
-	 * @member serialization Serialization to be used
-	 * @member forcedFields Attributes that need to be processed differently by the test adapter:
-	 * 			- empty fields (for instance, for attribute deletion), i.e. <labels></labels> -> value_ to be omitted
-	 * 			- invalid values, i.e. <maxNrOfInstances>-1</maxNrOfInstances>
-	 */
-	type record MsgOut {
-		union {
-			RequestPrimitive requestPrimitive,
-			ResponsePrimitive responsePrimitive
-		} primitive, 
-		charstring host optional,
-		charstring xmlNamespace optional, 
-		charstring protocolBinding optional,
-		charstring serialization optional,
-		AttributeAux_list forcedFields optional
+
+	type enumerated MemberType
+	{
+		int0(0),
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8),
+		int9(9),
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int16(16),
+		int17(17),
+		int18(18),
+		int19(19),
+		int20(20),
+		int21(21),
+		int22(22),
+		int23(23),
+		int10001(10001),
+		int10002(10002),
+		int10003(10003),
+		int10004(10004),
+		int10009(10009),
+		int10010(10010),
+		int10013(10013),
+		int10014(10014),
+		int10016(10016),
+		int10018(10018),
+		int20001(20001),
+		int20002(20002)
 	}
 	with {
-		encode ""
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ConsistencyStrategy
+	{
+		int1(1),
+		int2(2),
+		int3(3)
 	}
-	
-	/**
-	 * @desc Type for the oneM2M primitives exchange
-	 * @member primitive oneM2M primitive
-	 */
-	type record MsgIn {
-		union {
-			RequestPrimitive requestPrimitive,
-			ResponsePrimitive responsePrimitive
-		} primitive
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated CmdType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7)
 	}
 	with {
-		encode ""
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ExecModeType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
 	}
-	
-	type record AcRequestPrimitive {
-		charstring event,
-		anytype data
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ExecStatusType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6)
 	}
 	with {
-		encode "adapter";
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ExecResultType
+	{
+		int0(0),
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8),
+		int9(9),
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int16(16),
+		int19(19),
+		int20(20),
+		int21(21),
+		int22(22),
+		int23(23),
+		int24(24),
+		int25(25),
+		int26(26),
+		int27(27),
+		int28(28),
+		int29(29),
+		int30(30),
+		int31(31)
 	}
-	
-	type record AcResponsePrimitive {
-		charstring event,
-		anytype data
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated PendingNotification
+	{
+		int1(1),
+		int2(2)
 	}
 	with {
-		encode "adapter";
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated NotificationContentType
+	{
+		int1(1),
+		int2(2),
+		int3(3)
 	}
-	
-	type RequestPrimitive UtTriggerPrimitive;
-		
-	type ResponsePrimitive UtTriggerAckPrimitive;
-	
-	type record AttributeAux {
-		XSD.NCName name,
-		charstring value_ optional
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
 	};
-	
-	type record of AttributeAux AttributeAux_list;
 
-/* **********************************
-* 		oneM2M Resource primitives
-* ***********************************	
-*/
 
+	type enumerated NotificationEventType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
 
-/* Additional types */
+	type enumerated Status
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
 
-group OptionalResourceTypes {
-	
-	type record AccessControlPolicy_optional
+
+	type enumerated BatteryStatus
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		SetOfAcrs privileges optional,
-		SetOfAcrs selfPrivileges optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of Subscription subscription_list
-		} choice optional
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7)
 	}
 	with {
+	  variant "useNumber";
 	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.subscription_list) "untagged";
-	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
-	type record AccessControlPolicyAnnc_optional
+
+
+	type enumerated MgmtDefinition
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		SetOfAcrs privileges optional,
-		SetOfAcrs selfPrivileges optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of Subscription subscription_list
-		} choice optional
+		int0(0),
+		int1001(1001),
+		int1002(1002),
+		int1003(1003),
+		int1004(1004),
+		int1005(1005),
+		int1006(1006),
+		int1007(1007),
+		int1008(1008),
+		int1009(1009),
+		int1010(1010),
+		int1011(1011),
+		int1012(1012),
+		int1013(1013),
+		int1014(1014),
+		int1015(1015),
+		int1016(1016),
+		int1017(1017),
+		int1018(1018),
+		int1019(1019)
 	}
 	with {
+	  variant "useNumber";
 	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.subscription_list) "untagged";
-	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record AE_optional
+
+	type enumerated LogTypeId
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.String appName optional,
-		XSD.String app_ID optional,
-		XSD.ID aE_ID optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean requestReachability optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Container container,
-				Group group_,
-				AccessControlPolicy accessControlPolicy,
-				Subscription subscription,
-				PollingChannel pollingChannel,
-				Schedule schedule,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TrafficPattern trafficPattern,
-				Sg_flexContainerResource_group sg_flexContainerResource
-			} choice_list
-		} choice optional
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
 	}
 	with {
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (app_ID) "name as 'App-ID'";
-	  variant (aE_ID) "name as 'AE-ID'";
-	  //variant (requestReachability) "text 'true' as '1'";
-	  //variant (requestReachability) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	  variant (choice.choice_list[-].group_) "name as 'group'";
+	  variant "useNumber";
+	  variant "name as uncapitalized";
 	};
 
-	type record AEAnnc_optional
+
+	type enumerated LogStatus
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.String appName optional,
-		XSD.String app_ID optional,
-		XSD.ID aE_ID optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean requestReachability optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Container container,
-				ContainerAnnc containerAnnc,
-				Group group_,
-				GroupAnnc groupAnnc,
-				AccessControlPolicy accessControlPolicy,
-				AccessControlPolicyAnnc accessControlPolicyAnnc,
-				Subscription subscription,
-				ScheduleAnnc scheduleAnnc,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				TrafficPatternAnnc trafficPatternAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-			} choice_list
-		} choice optional
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
 	}
 	with {
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (app_ID) "name as 'App-ID'";
-	  variant (aE_ID) "name as 'AE-ID'";
-	  //variant (requestReachability) "text 'true' as '1'";
-	  //variant (requestReachability) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	  variant (choice.choice_list[-].group_) "name as 'group'";
+	  variant "useNumber";
+	  variant "name as uncapitalized";
 	};
-	
-	type record MgmtCmd_optional
+
+
+	type enumerated EventType
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.String description optional,
-		CmdType cmdType optional,
-		ExecReqArgsListType execReqArgs optional,
-		XSD.Boolean execEnable optional,
-		NodeID execTarget optional,
-		ExecModeType execMode optional,
-		XSD.Duration execFrequency optional,
-		XSD.Duration execDelay optional,
-		XSD.NonNegativeInteger execNumber optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ExecInstance execInstance,
-				Subscription subscription
-			} choice_list
-		} choice optional
+		int1(1),
+		int2(2),
+		int3(3)
 	}
 	with {
+	  variant "useNumber";
 	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  //variant (execEnable) "text 'true' as '1'";
-	  //variant (execEnable) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
 	};
-	
 
-	type record MgmtResource_optional
+
+	type enumerated StatsRuleStatusType
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		MgmtDefinition mgmtDefinition optional,
-		ListOfURIs objectIDs optional,
-		ListOfURIs objectPaths optional,
-		XSD.String description optional
+		int1(1),
+		int2(2)
 	}
 	with {
+	  variant "useNumber";
 	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
 	};
 
-	type record AnnouncedMgmtResource_optional
+
+	type enumerated StatModelType
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		MgmtDefinition mgmtDefinition optional,
-		ListOfURIs objectIDs optional,
-		ListOfURIs objectPaths optional,
-		XSD.String description optional
+		int1(1)
 	}
 	with {
+	  variant "useNumber";
 	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
 	};
 
-	type record FlexContainerResource_optional
+
+	type enumerated EncodingType
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional
+		int0(0),
+		int1(1),
+		int2(2)
 	}
 	with {
+	  variant "useNumber";
 	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
 	};
 
-	type record AnnouncedFlexContainerResource_optional
+
+
+
+	type enumerated AccessControlOperations
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8),
+		int9(9),
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int16(16),
+		int17(17),
+		int18(18),
+		int19(19),
+		int20(20),
+		int21(21),
+		int22(22),
+		int23(23),
+		int24(24),
+		int25(25),
+		int26(26),
+		int27(27),
+		int28(28),
+		int29(29),
+		int30(30),
+		int31(31),
+		int32(32),
+		int33(33),
+		int34(34),
+		int35(35),
+		int36(36),
+		int37(37),
+		int38(38),
+		int39(39),
+		int40(40),
+		int41(41),
+		int42(42),
+		int43(43),
+		int44(44),
+		int45(45),
+		int46(46),
+		int47(47),
+		int48(48),
+		int49(49),
+		int50(50),
+		int51(51),
+		int52(52),
+		int53(53),
+		int54(54),
+		int55(55),
+		int56(56),
+		int57(57),
+		int58(58),
+		int59(59),
+		int60(60),
+		int61(61),
+		int62(62),
+		int63(63)
 	}
 	with {
+	  variant "useNumber";
 	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
 	};
 
-	type record Container_optional
+
+	type enumerated FilterUsage
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.NonNegativeInteger currentNrOfInstances optional,
-		XSD.NonNegativeInteger currentByteSize optional,
-		XSD.AnyURI locationID optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.Boolean disableRetrieval optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ContentInstance contentInstance,
-				Container container,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				Sg_flexContainerResource_group sg_flexContainerResource
-			} choice_list
-		} choice optional
+		int1(1),
+		int2(2)
 	}
 	with {
+	  variant "useNumber";
 	  variant "name as uncapitalized";
-	  //variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  //variant (disableRetrieval) "text 'true' as '1'";
-	  //variant (disableRetrieval) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
 	};
 
-	type record ContainerAnnc_optional
+
+	type record EventConfig
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.NonNegativeInteger currentNrOfInstances optional,
-		XSD.NonNegativeInteger currentByteSize optional,
-		XSD.AnyURI locationID optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.Boolean disableRetrieval optional,
+		Timestamp expirationTime,
+		XSD.ID creator,
+		XSD.String eventID,
+		EventType eventType,
+		Timestamp eventStart optional,
+		Timestamp eventEnd optional,
+		record of Operation operationType,
+		XSD.NonNegativeInteger dataSize optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ContentInstance contentInstance,
-				ContentInstanceAnnc contentInstanceAnnc,
-				Container container,
-				ContainerAnnc containerAnnc,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				SemanticDescriptorAnnc semanticDescriptorAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-			} choice_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
-	  //variant (disableRetrieval) "text 'true' as '1'";
-	  //variant (disableRetrieval) "text 'false' as '0'";
+	  variant (operationType) "list";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record ContentInstance_optional
+
+	type record EventLog
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		Timestamp expirationTime optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		ContentInfo contentInfo optional,
-		XSD.NonNegativeInteger contentSize optional,
-		ContentRef contentRef optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnySimpleType content optional, 
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		LogTypeId logTypeId,
+		XSD.String logData,
+		LogStatus logStatus,
+		XSD.Boolean logStart,
+		XSD.Boolean logStop,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
@@ -6998,212 +2653,208 @@ group OptionalResourceTypes {
 	  variant "element";
 	  variant (resourceName) "attribute";
 	  variant (announcedAttribute) "list";
+	  //variant (logStart) "text 'true' as '1'";
+	  //variant (logStart) "text 'false' as '0'";
+	  //variant (logStop) "text 'true' as '1'";
+	  //variant (logStop) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.semanticDescriptor_list) "untagged";
-	  variant (choice.semanticDescriptor_list[-]) "name as 'semanticDescriptor'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record ContentInstanceAnnc_optional
+
+	type record EventLogAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		XSD.NonNegativeInteger stateTag optional,
-		ContentInfo contentInfo optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnySimpleType content optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		LogTypeId logTypeId optional,
+		XSD.String logData optional,
+		LogStatus logStatus optional,
+		XSD.Boolean logStart optional,
+		XSD.Boolean logStop optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
+	  //variant (logStart) "text 'true' as '1'";
+	  //variant (logStart) "text 'false' as '0'";
+	  //variant (logStop) "text 'true' as '1'";
+	  //variant (logStop) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.semanticDescriptor_list) "untagged";
-	  variant (choice.semanticDescriptor_list[-]) "name as 'semanticDescriptor'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record CSEBase_optional
+
+	type record ExecInstance
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		CseTypeID cseType optional,
-		XSD.ID cSE_ID optional,
-		ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type
-		PoaList pointOfAccess optional,
-		XSD.AnyURI nodeLink optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		E2eSecInfo e2eSecInfo optional,
+		Timestamp expirationTime,
+		ExecStatusType execStatus,
+		ExecResultType execResult,
+		XSD.Boolean execDisable optional,
+		NodeID execTarget,
+		ExecModeType execMode optional,
+		XSD.Duration execFrequency optional,
+		XSD.Duration execDelay optional,
+		XSD.NonNegativeInteger execNumber optional,
+		ExecReqArgsListType execReqArgs optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				RemoteCSE remoteCSE,
-				RemoteCSEAnnc remoteCSEAnnc,
-				Node node,
-				AE aE,
-				Container container,
-				Group group_,
-				AccessControlPolicy accessControlPolicy,
-				Subscription subscription,
-				MgmtCmd mgmtCmd,
-				LocationPolicy locationPolicy,
-				StatsConfig statsConfig,
-				StatsCollect statsCollect,
-				Request request,
-				Delivery delivery,
-				Schedule schedule,
-				M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
-				ServiceSubscribedAppRule serviceSubscribedAppRule,
-				Role role,
-				XSD.Token token,
-				Sg_flexContainerResource_group sg_flexContainerResource
-			} choice_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
+	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
-	  variant (cSE_ID) "name as 'CSE-ID'";
-	  variant (supportedResourceType) "list";
+	  //variant (execDisable) "text 'true' as '1'";
+	  //variant (execDisable) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	  variant (choice.choice_list[-].aE) "name as capitalized";
-	  variant (choice.choice_list[-].group_) "name as 'group'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record Delivery_optional
+
+	type record Firmware
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID source optional,
-		XSD.ID target optional,
-		Timestamp lifespan optional,
-		EventCat eventCat optional,
-		DeliveryMetaData deliveryMetaData optional,
-		AggregatedRequest aggregatedRequest optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String version,
+		XSD.String firmwareName,
+		XSD.AnyURI uRL,
+		XSD.Boolean update,
+		ActionStatus updateStatus,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription
-			} choice_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (uRL) "name as capitalized";
+	  //variant (update) "text 'true' as '1'";
+	  //variant (update) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record GenericInterworkingOperationInstance_optional
+
+	type record FirmwareAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.String operationName optional,
-		XSD.String operationState optional,
-		ListOfDataLinks inputDataPointLinks optional,
-		ListOfDataLinks outputDataPointLinks optional,
-		ListOfDataLinks inputLinks optional,
-		ListOfDataLinks outputLinks optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String version optional,
+		XSD.String firmwareName optional,
+		XSD.AnyURI uRL optional,
+		XSD.Boolean update optional,
+		ActionStatus updateStatus optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				SemanticDescriptor semanticDescriptor,
-				Subscription subscription
-			} choice_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
+	  variant (uRL) "name as capitalized";
+	  //variant (update) "text 'true' as '1'";
+	  //variant (update) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record Group_optional
+
+	type record Group
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		Timestamp expirationTime,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
 		XSD.ID creator optional,
-		MemberType memberType optional,
-		XSD.NonNegativeInteger currentNrOfMembers optional,
-		XSD.PositiveInteger maxNrOfMembers optional,
-		ListOfURIs memberIDs optional,
+		MemberType memberType,
+		XSD.NonNegativeInteger currentNrOfMembers,
+		XSD.PositiveInteger maxNrOfMembers,
+		record of XSD.AnyURI memberIDs,
 		ListOfURIs membersAccessControlPolicyIDs optional,
 		XSD.Boolean memberTypeValidated optional,
 		ConsistencyStrategy consistencyStrategy optional,
 		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor
-			} choice_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
@@ -7211,46 +2862,40 @@ group OptionalResourceTypes {
 	  variant "element";
 	  variant (resourceName) "attribute";
 	  variant (announcedAttribute) "list";
+	  variant (memberIDs) "list";
 	  //variant (memberTypeValidated) "text 'true' as '1'";
 	  //variant (memberTypeValidated) "text 'false' as '0'";
-	  //variant (semanticSupportIndicator) "text 'true' as '1'";
-	  //variant (semanticSupportIndicator) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record GroupAnnc_optional
+
+	type record GroupAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
 		MemberType memberType optional,
 		XSD.NonNegativeInteger currentNrOfMembers optional,
 		XSD.PositiveInteger maxNrOfMembers optional,
-		record of XSD.AnyURI memberIDs optional,
+		record of XSD.AnyURI memberIDs,
 		ListOfURIs membersAccessControlPolicyIDs optional,
 		XSD.Boolean memberTypeValidated optional,
 		ConsistencyStrategy consistencyStrategy optional,
 		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				SemanticDescriptorAnnc semanticDescriptorAnnc
-			} choice_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
@@ -7260,36 +2905,34 @@ group OptionalResourceTypes {
 	  variant (memberIDs) "list";
 	  //variant (memberTypeValidated) "text 'true' as '1'";
 	  //variant (memberTypeValidated) "text 'false' as '0'";
-	  //variant (semanticSupportIndicator) "text 'true' as '1'";
-	  //variant (semanticSupportIndicator) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record LocationPolicy_optional
+
+	type record LocationPolicy
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		Timestamp expirationTime,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		LocationSource locationSource optional,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID locationTargetID optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		LocationSource locationSource,
+		XSD.Duration locationUpdatePeriod optional,
+		NodeID locationTargetID optional,
 		XSD.AnyURI locationServer optional,
 		XSD.AnyURI locationContainerID optional,
 		XSD.String locationContainerName optional,
-		XSD.String locationStatus optional,
+		XSD.String locationStatus,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7309,22 +2952,22 @@ group OptionalResourceTypes {
 	  variant (choice.choice_list[-]) "untagged";
 	};
 
-	type record LocationPolicyAnnc_optional
+
+	type record LocationPolicyAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
 		LocationSource locationSource optional,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID locationTargetID optional,
+		XSD.Duration locationUpdatePeriod optional,
+		NodeID locationTargetID optional,
 		XSD.AnyURI locationServer optional,
 		XSD.AnyURI locationContainerID optional,
 		XSD.String locationContainerName optional,
@@ -7336,18 +2979,18 @@ group OptionalResourceTypes {
 	  variant (resourceName) "attribute";
 	};
 
-	type record M2mServiceSubscriptionProfile_optional
+
+	type record M2mServiceSubscriptionProfile
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		Timestamp expirationTime,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7367,23 +3010,136 @@ group OptionalResourceTypes {
 	  variant (choice.choice_list[-]) "untagged";
 	};
 
-	type record Node_optional
+
+	type record Memory
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.UnsignedLong memAvailable,
+		XSD.UnsignedLong memTotal,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record MemoryAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.UnsignedLong memAvailable optional,
+		XSD.UnsignedLong memTotal optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record MgmtCmd
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.String description optional,
+		CmdType cmdType,
+		ExecReqArgsListType execReqArgs optional,
+		XSD.Boolean execEnable,
+		NodeID execTarget,
+		ExecModeType execMode optional,
+		XSD.Duration execFrequency optional,
+		XSD.Duration execDelay optional,
+		XSD.NonNegativeInteger execNumber optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ExecInstance execInstance,
+				Subscription subscription
+			} choice_list
+		} choice
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (execEnable) "text 'true' as '1'";
+	  //variant (execEnable) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record Node
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		Timestamp expirationTime,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		NodeID nodeID optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		NodeID nodeID,
 		XSD.ID hostedCSELink optional,
-		XSD.String mgmtClientAddress optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7399,9 +3155,7 @@ group OptionalResourceTypes {
 				EventLog eventLog,
 				CmdhPolicy cmdhPolicy,
 				ActiveCmdhPolicy activeCmdhPolicy,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				TrafficPattern trafficPattern
+				Subscription subscription
 			} choice_list
 		} choice optional
 	}
@@ -7417,22 +3171,21 @@ group OptionalResourceTypes {
 	  variant (choice.choice_list[-]) "untagged";
 	};
 
-	type record NodeAnnc_optional
+
+	type record NodeAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		NodeID nodeID optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		NodeID nodeID,
 		XSD.ID hostedCSELink optional,
-		XSD.String mgmtClientAddress optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7446,10 +3199,7 @@ group OptionalResourceTypes {
 				DeviceCapabilityAnnc deviceCapabilityAnnc,
 				RebootAnnc rebootAnnc,
 				EventLogAnnc eventLogAnnc,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				SemanticDescriptorAnnc semanticDescriptorAnnc,
-				TrafficPatternAnnc trafficPatternAnnc
+				Subscription subscription
 			} choice_list
 		} choice optional
 	}
@@ -7464,16 +3214,78 @@ group OptionalResourceTypes {
 	  variant (choice.choice_list[-]) "untagged";
 	};
 
-	type record PollingChannel_optional
+
+	type Notification_1 Notification
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type AggregatedNotification_1 AggregatedNotification
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type record AggregatedNotification_1
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		record of Notification notification_list
+	}
+	with {
+	  variant "name as 'aggregatedNotification'";
+	  variant (notification_list) "untagged";
+	  variant (notification_list[-]) "name as 'notification'";
+	};
+
+//	TODO To be added
+  type union Representation {
+	  Resource_2 resource, 
+	  ResponsePrimitive responsePrimitive, 
+	  XSD.AnyURI uRI
+  }
+  with {
+  	variant "name as 'representation'";
+	variant (uRI) "name as capitalized";
+  }
+
+	type record Notification_1
+	{
+		record {
+			//XSD.AnyType representation optional,
+			Representation representation optional,
+			record {
+				Operation operation optional,
+				XSD.ID originator optional
+			} operationMonitor optional,
+			NotificationEventType notificationEventType optional
+		} notificationEvent optional,
+		XSD.Boolean verificationRequest optional,
+		XSD.Boolean subscriptionDeletion optional,
+		XSD.AnyURI subscriptionReference optional,
+		XSD.ID creator optional,
+		XSD.AnyURI notificationForwardingURI optional
+	}
+	with {
+	  variant "name as 'notification'";
+	  //variant (verificationRequest) "text 'true' as '1'";
+	  //variant (verificationRequest) "text 'false' as '0'";
+	  //variant (subscriptionDeletion) "text 'true' as '1'";
+	  //variant (subscriptionDeletion) "text 'false' as '0'";
+	};
+
+
+	type record PollingChannel
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		Timestamp expirationTime optional
+		Timestamp expirationTime
 	}
 	with {
 	  variant "name as uncapitalized";
@@ -7481,34 +3293,111 @@ group OptionalResourceTypes {
 	  variant (resourceName) "attribute";
 	};
 
-	type record RemoteCSE_optional
+
+	type record Reboot
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		Timestamp expirationTime,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.Boolean reboot,
+		XSD.Boolean factoryReset,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (reboot) "text 'true' as '1'";
+	  //variant (reboot) "text 'false' as '0'";
+	  //variant (factoryReset) "text 'true' as '1'";
+	  //variant (factoryReset) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record RebootAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.Boolean reboot optional,
+		XSD.Boolean factoryReset optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (reboot) "text 'true' as '1'";
+	  //variant (reboot) "text 'false' as '0'";
+	  //variant (factoryReset) "text 'true' as '1'";
+	  //variant (factoryReset) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record RemoteCSE
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
 		CseTypeID cseType optional,
 		PoaList pointOfAccess optional,
-		XSD.AnyURI cSEBase optional,
-		XSD.ID cSE_ID optional,
+		XSD.AnyURI cSEBase,
+		XSD.ID cSE_ID,
 		ExternalID m2M_Ext_ID optional,
 		TriggerRecipientID trigger_Recipient_ID optional,
-		XSD.Boolean requestReachability optional,
+		XSD.Boolean requestReachability,
 		XSD.AnyURI nodeLink optional,
-		XSD.UnsignedInt triggerReferenceNumber optional,
-		E2eSecInfo e2eSecInfo optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
-				NodeAnnc nodeAnnc,
 				Container container,
 				ContainerAnnc containerAnnc,
 				Group group_,
@@ -7518,12 +3407,10 @@ group OptionalResourceTypes {
 				Subscription subscription,
 				PollingChannel pollingChannel,
 				Schedule schedule,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				LocationPolicyAnnc locationPolicyAnnc,
+				NodeAnnc nodeAnnc,
+				RemoteCSEAnnc remoteCSEAnnc,
 				AEAnnc aEAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+				LocationPolicyAnnc locationPolicyAnnc
 			} choice_list
 		} choice optional
 	}
@@ -7547,26 +3434,25 @@ group OptionalResourceTypes {
 	  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
 	};
 
-	type record RemoteCSEAnnc_optional
+
+	type record RemoteCSEAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
 		CseTypeID cseType optional,
 		PoaList pointOfAccess optional,
 		XSD.AnyURI cSEBase optional,
 		XSD.ID cSE_ID optional,
 		XSD.Boolean requestReachability optional,
 		XSD.AnyURI nodeLink optional,
-		E2eSecInfo e2eSecInfo optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7581,52 +3467,243 @@ group OptionalResourceTypes {
 				PollingChannel pollingChannel,
 				ScheduleAnnc scheduleAnnc,
 				LocationPolicyAnnc locationPolicyAnnc,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				AEAnnc aEAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+				RemoteCSEAnnc remoteCSEAnnc,
+				AEAnnc aEAnnc
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (cSEBase) "name as capitalized";
+	  variant (cSE_ID) "name as 'CSE-ID'";
+	  //variant (requestReachability) "text 'true' as '1'";
+	  //variant (requestReachability) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
+	};
+
+
+	type record RequestPrimitive
+	{
+		Operation operation,
+		XSD.AnyURI to_,
+		XSD.ID from_ optional,
+		RequestID requestIdentifier,
+		ResourceType resourceType optional,
+		PrimitiveContent primitiveContent optional,
+		XSD.AnySimpleType role optional,
+		Timestamp originatingTimestamp optional,
+		AbsRelTimestamp requestExpirationTimestamp optional,
+		AbsRelTimestamp resultExpirationTimestamp optional,
+		AbsRelTimestamp operationExecutionTime optional,
+		ResponseTypeInfo responseType optional,
+		AbsRelTimestamp resultPersistence optional,
+		ResultContent resultContent optional,
+		EventCat eventCategory optional,
+		XSD.Boolean deliveryAggregation optional,
+		XSD.String groupRequestIdentifier optional,
+		FilterCriteria filterCriteria optional,
+		DiscResType discoveryResultType optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (to_) "name as 'to'";
+	  variant (from_) "name as 'from'";
+	  //variant (deliveryAggregation) "text 'true' as '1'";
+	  //variant (deliveryAggregation) "text 'false' as '0'";
+	};
+
+
+	type AttributeList_1 AttributeList
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type record Request
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.NonNegativeInteger stateTag,
+		Operation operation,
+		XSD.AnyURI target,
+		XSD.ID originator,
+		RequestID requestID,
+		MetaInformation metaInformation,
+		PrimitiveContent primitiveContent,
+		RequestStatus requestStatus,
+		OperationResult operationResult,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription
 			} choice_list
 		} choice optional
 	}
 	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (cSEBase) "name as capitalized";
-	  variant (cSE_ID) "name as 'CSE-ID'";
-	  //variant (requestReachability) "text 'true' as '1'";
-	  //variant (requestReachability) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	  variant (choice.choice_list[-].group_) "name as 'group'";
-	  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record ResponsePrimitive
+	{
+		ResponseStatusCode responseStatusCode,
+		RequestID requestIdentifier,
+		PrimitiveContent primitiveContent optional,
+		XSD.ID to_ optional,
+		XSD.ID from_ optional,
+		Timestamp originatingTimestamp optional,
+		AbsRelTimestamp resultExpirationTimestamp optional,
+		EventCat eventCategory optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (to_) "name as 'to'";
+	  variant (from_) "name as 'from'";
+	};
+
+
+	type ResourceWrapper Resource
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type ListOfURIs URIList
+	with {
+	  variant "list";
+	};
+
+
+	type XSD.AnyURI URI
+	with {
+	  variant "element";
+	};
+
+
+	type AggregatedResponse_1 AggregatedResponse
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type XSD.String DebugInfo
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type record ResourceWrapper//Make of union elements type _optional
+	{
+		union {
+			AccessControlPolicy_optional accessControlPolicy,
+			ActiveCmdhPolicy activeCmdhPolicy,
+			AE_optional aE,
+			AreaNwkDeviceInfo areaNwkDeviceInfo,
+			AreaNwkInfo areaNwkInfo,
+			Battery battery,
+			CmdhBuffer cmdhBuffer,
+			CmdhDefaults cmdhDefaults,
+			CmdhDefEcValue cmdhDefEcValue,
+			CmdhEcDefParamValues cmdhEcDefParamValues,
+			CmdhLimits cmdhLimits,
+			CmdhNetworkAccessRules cmdhNetworkAccessRules,
+			CmdhNwAccessRule cmdhNwAccessRule,
+			CmdhPolicy cmdhPolicy,
+			Container_optional container,
+			ContentInstance_optional contentInstance,
+			CSEBase_optional cSEBase,
+			Delivery_optional delivery,
+			DeviceCapability deviceCapability,
+			DeviceInfo deviceInfo,
+			EventConfig eventConfig,
+			EventLog eventLog,
+			ExecInstance execInstance,
+			Firmware firmware,
+			Group_optional group_,
+			LocationPolicy_optional locationPolicy,
+			M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+			Memory memory,
+			MgmtCmd_optional mgmtCmd,
+			Node_optional node,
+			Notification notification,
+			PollingChannel_optional pollingChannel,
+			Reboot reboot,
+			RemoteCSE_optional remoteCSE,
+			Request_optional request,
+			RequestPrimitive requestPrimitive,
+			ResponsePrimitive responsePrimitive,
+			Schedule_optional schedule,
+			ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+			ServiceSubscribedNode_optional serviceSubscribedNode,
+			Software software,
+			StatsCollect_optional statsCollect,
+			StatsConfig_optional statsConfig,
+			Subscription_optional subscription
+		} choice,
+		XSD.AnyURI uRI
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (choice) "untagged";
+	  variant (choice.aE) "name as capitalized";
+	  variant (choice.cSEBase) "name as capitalized";
+	  variant (choice.group_) "name as 'group'";
+	  variant (uRI) "name as capitalized";
+	};
+
+
+	type record AggregatedResponse_1
+	{
+		record of ResponsePrimitive responsePrimitive_list
+	}
+	with {
+	  variant "name as 'aggregatedResponse'";
+	  variant (responsePrimitive_list) "untagged";
+	  variant (responsePrimitive_list[-]) "name as 'responsePrimitive'";
 	};
-	
-	type record Request_optional
+
+
+	type record Schedule
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag optional,
-		Operation operation optional,
-		XSD.AnyURI target optional,
-		XSD.ID originator optional,
-		RequestID requestID optional,
-		MetaInformation metaInformation optional,
-		PrimitiveContent primitiveContent optional,
-		RequestStatus requestStatus optional,
-		OperationResult operationResult optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		ScheduleEntries scheduleElement,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7638,6 +3715,7 @@ group OptionalResourceTypes {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
@@ -7645,77 +3723,74 @@ group OptionalResourceTypes {
 	  variant (choice.choice_list[-]) "untagged";
 	};
 
-	type record Schedule_optional
+
+	type record ScheduleAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		ScheduleEntries scheduleElement optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription
-			} choice_list
-		} choice optional
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ScheduleEntries scheduleElement optional
 	}
 	with {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
 	};
 
-	type record ScheduleAnnc_optional
+
+	type record ServiceSubscribedAppRule
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ScheduleEntries scheduleElement optional
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfM2MID applicableCredIDs optional,
+		ListOfM2MID allowedApp_IDs optional,
+		ListOfM2MID allowedAEs optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
 	}
 	with {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
+	  variant (allowedApp_IDs) "name as 'allowedApp-IDs'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record SemanticDescriptor_optional
+
+	type record ServiceSubscribedNode
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		DescriptorRepresentation descriptorRepresentation optional,
-		Sparql semanticOpExec optional,
-		XSD.Base64Binary descriptor optional,
-		XSD.AnyURI ontologyRef optional,
-		ListOfURIs relatedSemantics optional,
+		Timestamp expirationTime,
+		NodeID nodeID,
+		XSD.ID cSE_ID optional,
+		record of DeviceID deviceIdentifier,
+		ListOfURIs ruleLinks optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of Subscription subscription_list
@@ -7725,7 +3800,8 @@ group OptionalResourceTypes {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
+	  variant (cSE_ID) "name as 'CSE-ID'";
+	  variant (deviceIdentifier) "list";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
@@ -7733,22 +3809,33 @@ group OptionalResourceTypes {
 	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record ServiceSubscribedAppRule_optional
+
+	type record Software
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfM2MID applicableCredIDs optional,
-		ListOfM2MID allowedApp_IDs optional,
-		ListOfM2MID allowedAEs optional,
-		record length(1 .. infinity) of RoleID allowedRole_IDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String version,
+		XSD.String softwareName,
+		XSD.AnyURI uRL,
+		XSD.Boolean install,
+		XSD.Boolean uninstall,
+		ActionStatus installStatus,
+		XSD.Boolean activate_ optional,
+		XSD.Boolean deactivate_ optional,
+		ActionStatus activeStatus optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of Subscription subscription_list
@@ -7758,9 +3845,18 @@ group OptionalResourceTypes {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
-	  variant (allowedApp_IDs) "name as 'allowedApp-IDs'";
-	  variant (allowedRole_IDs) "name as 'allowedRole-IDs'";
-	  variant (allowedRole_IDs) "list";
+	  variant (announcedAttribute) "list";
+	  variant (uRL) "name as capitalized";
+	  //variant (install) "text 'true' as '1'";
+	  //variant (install) "text 'false' as '0'";
+	  //variant (uninstall) "text 'true' as '1'";
+	  //variant (uninstall) "text 'false' as '0'";
+	  variant (activate_) "name as 'activate'";
+	  //variant (activate_) "text 'true' as '1'";
+	  //variant (activate_) "text 'false' as '0'";
+	  variant (deactivate_) "name as 'deactivate'";
+	  //variant (deactivate_) "text 'true' as '1'";
+	  //variant (deactivate_) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
@@ -7768,22 +3864,32 @@ group OptionalResourceTypes {
 	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record ServiceSubscribedNode_optional
+
+	type record SoftwareAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		NodeID nodeID optional,
-		XSD.ID cSE_ID optional,
-		record of DeviceID deviceIdentifier optional,
-		ListOfURIs ruleLinks optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String version optional,
+		XSD.String softwareName optional,
+		XSD.AnyURI uRL optional,
+		XSD.Boolean install optional,
+		XSD.Boolean uninstall optional,
+		ActionStatus installStatus optional,
+		XSD.Boolean activate_ optional,
+		XSD.Boolean deactivate_ optional,
+		ActionStatus activeStatus optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of Subscription subscription_list
@@ -7793,8 +3899,17 @@ group OptionalResourceTypes {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
-	  variant (cSE_ID) "name as 'CSE-ID'";
-	  variant (deviceIdentifier) "list";
+	  variant (uRL) "name as capitalized";
+	  //variant (install) "text 'true' as '1'";
+	  //variant (install) "text 'false' as '0'";
+	  //variant (uninstall) "text 'true' as '1'";
+	  //variant (uninstall) "text 'false' as '0'";
+	  variant (activate_) "name as 'activate'";
+	  //variant (activate_) "text 'true' as '1'";
+	  //variant (activate_) "text 'false' as '0'";
+	  variant (deactivate_) "name as 'deactivate'";
+	  //variant (deactivate_) "text 'true' as '1'";
+	  //variant (deactivate_) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
@@ -7802,24 +3917,24 @@ group OptionalResourceTypes {
 	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record StatsCollect_optional
+
+	type record StatsCollect
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
-		XSD.String statsCollectID optional,
-		XSD.ID collectingEntityID optional,
-		XSD.ID collectedEntityID optional,
-		StatsRuleStatusType statsRuleStatus optional,
-		StatModelType statModel optional,
+		Timestamp expirationTime,
+		XSD.ID creator,
+		XSD.String statsCollectID,
+		XSD.ID collectingEntityID,
+		XSD.ID collectedEntityID,
+		StatsRuleStatusType statsRuleStatus,
+		StatModelType statModel,
 		ScheduleEntries collectPeriod optional,
 		XSD.String eventID optional,
 		union {
@@ -7838,19 +3953,19 @@ group OptionalResourceTypes {
 	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
 
-	type record StatsConfig_optional
+
+	type record StatsConfig
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
+		Timestamp expirationTime,
+		XSD.ID creator,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7870,22 +3985,21 @@ group OptionalResourceTypes {
 	  variant (choice.choice_list[-]) "untagged";
 	};
 
-	type record Subscription_optional
+
+	type record Subscription
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
+		Timestamp expirationTime,
 		EventNotificationCriteria eventNotificationCriteria optional,
 		XSD.PositiveInteger expirationCounter optional,
-		ListOfURIs notificationURI optional,
+		ListOfURIs notificationURI,
 		XSD.AnyURI groupID optional,
 		XSD.AnyURI notificationForwardingURI optional,
 		BatchNotify batchNotify optional,
@@ -7894,15 +4008,13 @@ group OptionalResourceTypes {
 		PendingNotification pendingNotification optional,
 		XSD.PositiveInteger notificationStoragePriority optional,
 		XSD.Boolean latestNotify optional,
-		NotificationContentType notificationContentType optional,
+		NotificationContentType notificationContentType,
 		EventCat notificationEventCat optional,
+		XSD.ID creator optional,
 		XSD.AnyURI subscriberURI optional,
 		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Schedule schedule,
-				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
-			} choice_list
+			ChildResourceRef childResource,
+			Schedule schedule
 		} choice optional
 	}
 	with {
@@ -7912,19 +4024,1271 @@ group OptionalResourceTypes {
 	  //variant (latestNotify) "text 'true' as '1'";
 	  //variant (latestNotify) "text 'false' as '0'";
 	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
 	};
 
 
-}//end group OptionalResourceTypes
+	type record EventNotificationCriteria
+	{
+		Timestamp createdBefore optional,
+		Timestamp createdAfter optional,
+		Timestamp modifiedSince optional,
+		Timestamp unmodifiedSince optional,
+		XSD.PositiveInteger stateTagSmaller optional,
+		XSD.NonNegativeInteger stateTagBigger optional,
+		Timestamp expireBefore optional,
+		Timestamp expireAfter optional,
+		XSD.NonNegativeInteger sizeAbove optional,
+		XSD.PositiveInteger sizeBelow optional,
+		record length(0 .. 5) of Operation operationMonitor_list,
+		AttributeList_1 attribute optional,
+		record length(0 .. 4) of NotificationEventType notificationEventType_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (operationMonitor_list) "untagged";
+	  variant (operationMonitor_list[-]) "name as 'operationMonitor'";
+	  variant (notificationEventType_list) "untagged";
+	  variant (notificationEventType_list[-]) "name as 'notificationEventType'";
+	};
+
+
+	type record BatchNotify
+	{
+		XSD.NonNegativeInteger number,
+		XSD.Duration duration
+	}
+	with {
+	  variant "name as uncapitalized";
+	};
+
+
+	type record RateLimit
+	{
+		XSD.NonNegativeInteger maxNrOfNotify optional,
+		XSD.Duration timeWindow optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	};
+
+	/* ******************************************
+	 * 		oneM2M Abstract Service Primitives 
+	 * ******************************************
+	*/
+		/**
+		 * @desc Type for the oneM2M primitives exchange
+		 * @member primitive oneM2M primitive
+		 * @member host IP Address of the destination
+		 * @member xmlNamespace XML Namespace to be used
+		 * @member protocolBinding Protocol binding to be used
+		 * @member serialization Serialization to be used
+		 * @member forcedFields Attributes that need to be processed differently by the test adapter:
+		 * 			- empty fields (for instance, for attribute deletion), i.e. <labels></labels> -> value_ to be omitted
+		 * 			- invalid values, i.e. <maxNrOfInstances>-1</maxNrOfInstances>
+		 */
+		type record MsgOut {
+			union {
+				RequestPrimitive requestPrimitive,
+				ResponsePrimitive responsePrimitive
+			} primitive, 
+			charstring host optional,
+			charstring xmlNamespace optional, 
+			charstring protocolBinding optional,
+			charstring serialization optional,
+			AttributeAux_list forcedFields optional
+		}
+		with {
+			encode ""
+		}
+	
+		/**
+		 * @desc Type for the oneM2M primitives exchange
+		 * @member primitive oneM2M primitive
+		 */
+		type record MsgIn {
+			union {
+				RequestPrimitive requestPrimitive,
+				ResponsePrimitive responsePrimitive
+			} primitive
+		}
+		with {
+			encode ""
+		}
+	
+		type record AcRequestPrimitive {
+			charstring event,
+			anytype data
+		}
+		with {
+			encode "adapter";
+		}
+	
+		type record AcResponsePrimitive {
+			charstring event,
+			anytype data
+		}
+		with {
+			encode "adapter";
+		}
+		
+		type RequestPrimitive UtTriggerPrimitive
+		with {
+			encode "UpperTester"
+		}
+		
+		type ResponsePrimitive UtTriggerAckPrimitive
+		with {			
+			encode "UpperTester"
+		}
+		
+		type record AttributeAux {
+			XSD.NCName name,
+			charstring value_ optional
+		};
+	
+		type record of AttributeAux AttributeAux_list;
+
+
+/* Additional types */
+
+group optionalResourceTypes {
+  
+	type record AccessControlPolicy_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			SetOfAcrs privileges optional,
+			SetOfAcrs selfPrivileges optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of Subscription subscription_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.subscription_list) "untagged";
+		  variant (choice.subscription_list[-]) "name as 'subscription'";
+		};
+
+		type record AccessControlPolicyAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			SetOfAcrs privileges optional,
+			SetOfAcrs selfPrivileges optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of Subscription subscription_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.subscription_list) "untagged";
+		  variant (choice.subscription_list[-]) "name as 'subscription'";
+		};
+
+		type record AE_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.String appName optional,
+			XSD.String app_ID optional,
+			XSD.ID aE_ID optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean requestReachability optional,
+			Serializations contentSerialization optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Container container,
+					Group group_,
+					AccessControlPolicy accessControlPolicy,
+					Subscription subscription,
+					PollingChannel pollingChannel,
+					Schedule schedule
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		  variant (app_ID) "name as 'App-ID'";
+		  variant (aE_ID) "name as 'AE-ID'";
+		  //variant (requestReachability) "text 'true' as '1'";
+		  //variant (requestReachability) "text 'false' as '0'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		  variant (choice.choice_list[-].group_) "name as 'group'";
+		};
+
+		type record AEAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			XSD.String appName optional,
+			XSD.String app_ID optional,
+			XSD.ID aE_ID optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean requestReachability optional,
+			Serializations contentSerialization optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Container container,
+					ContainerAnnc containerAnnc,
+					Group group_,
+					GroupAnnc groupAnnc,
+					AccessControlPolicy accessControlPolicy,
+					AccessControlPolicyAnnc accessControlPolicyAnnc,
+					Subscription subscription,
+					ScheduleAnnc scheduleAnnc
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (app_ID) "name as 'App-ID'";
+		  variant (aE_ID) "name as 'AE-ID'";
+		  //variant (requestReachability) "text 'true' as '1'";
+		  //variant (requestReachability) "text 'false' as '0'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		  variant (choice.choice_list[-].group_) "name as 'group'";
+		};
+
+		type record MgmtResource_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			MgmtDefinition mgmtDefinition optional,
+			ListOfURIs objectIDs optional,
+			ListOfURIs objectPaths optional,
+			XSD.String description optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		};
+
+		type record AnnouncedMgmtResource_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			MgmtDefinition mgmtDefinition optional,
+			ListOfURIs objectIDs optional,
+			ListOfURIs objectPaths optional,
+			XSD.String description optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant (resourceName) "attribute";
+		};
+
+		type record Container_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.NonNegativeInteger maxNrOfInstances optional,
+			XSD.NonNegativeInteger maxByteSize optional,
+			XSD.NonNegativeInteger maxInstanceAge optional,
+			XSD.NonNegativeInteger currentNrOfInstances optional,
+			XSD.NonNegativeInteger currentByteSize optional,
+			XSD.AnyURI locationID optional,
+			XSD.AnyURI ontologyRef optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					ContentInstance contentInstance,
+					Container container,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record ContainerAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.NonNegativeInteger maxNrOfInstances optional,
+			XSD.NonNegativeInteger maxByteSize optional,
+			XSD.NonNegativeInteger maxInstanceAge optional,
+			XSD.NonNegativeInteger currentNrOfInstances optional,
+			XSD.NonNegativeInteger currentByteSize optional,
+			XSD.AnyURI locationID optional,
+			XSD.AnyURI ontologyRef optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					ContentInstance contentInstance,
+					ContentInstanceAnnc contentInstanceAnnc,
+					Container container,
+					ContainerAnnc containerAnnc,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record ContentInstance_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			ContentInfo contentInfo optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnySimpleType content optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		};
+
+		type record ContentInstanceAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			XSD.NonNegativeInteger stateTag optional,
+			ContentInfo contentInfo optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnySimpleType content optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		};
+
+		type record CSEBase_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			CseTypeID cseType optional,
+			XSD.ID cSE_ID optional,
+			ResourceTypeList_1 supportedResourceType optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					RemoteCSE remoteCSE,
+					RemoteCSEAnnc remoteCSEAnnc,
+					Node node,
+					AE aE,
+					Container container,
+					Group group_,
+					AccessControlPolicy accessControlPolicy,
+					Subscription subscription,
+					MgmtCmd mgmtCmd,
+					LocationPolicy locationPolicy,
+					StatsConfig statsConfig,
+					StatsCollect statsCollect,
+					Request request,
+					Delivery delivery,
+					Schedule schedule,
+					M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+					ServiceSubscribedAppRule serviceSubscribedAppRule
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (cSE_ID) "name as 'CSE-ID'";
+		  variant (supportedResourceType) "list";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		  variant (choice.choice_list[-].aE) "name as capitalized";
+		  variant (choice.choice_list[-].group_) "name as 'group'";
+		};
+		
+		type record Delivery_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID source optional,
+			XSD.ID target optional,
+			Timestamp lifespan optional,
+			EventCat eventCat optional,
+			DeliveryMetaData deliveryMetaData optional,
+			AggregatedRequest aggregatedRequest optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record Group_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			MemberType memberType optional,
+			XSD.NonNegativeInteger currentNrOfMembers optional,
+			XSD.PositiveInteger maxNrOfMembers optional,
+			ListOfURIs memberIDs optional,
+			ListOfURIs membersAccessControlPolicyIDs optional,
+			XSD.Boolean memberTypeValidated optional,
+			ConsistencyStrategy consistencyStrategy optional,
+			XSD.String groupName optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of Subscription subscription_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		  variant (memberIDs) "list";
+		  //variant (memberTypeValidated) "text 'true' as '1'";
+		  //variant (memberTypeValidated) "text 'false' as '0'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.subscription_list) "untagged";
+		  variant (choice.subscription_list[-]) "name as 'subscription'";
+		};
+
+		type record GroupAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			MemberType memberType optional,
+			XSD.NonNegativeInteger currentNrOfMembers optional,
+			XSD.PositiveInteger maxNrOfMembers optional,
+			ListOfURIs memberIDs optional,
+			ListOfURIs membersAccessControlPolicyIDs optional,
+			XSD.Boolean memberTypeValidated optional,
+			ConsistencyStrategy consistencyStrategy optional,
+			XSD.String groupName optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of Subscription subscription_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (memberIDs) "list";
+		  //variant (memberTypeValidated) "text 'true' as '1'";
+		  //variant (memberTypeValidated) "text 'false' as '0'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.subscription_list) "untagged";
+		  variant (choice.subscription_list[-]) "name as 'subscription'";
+		};
+
+		type record LocationPolicy_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			LocationSource locationSource optional,
+			XSD.Duration locationUpdatePeriod optional,
+			NodeID locationTargetID optional,
+			XSD.AnyURI locationServer optional,
+			XSD.AnyURI locationContainerID optional,
+			XSD.String locationContainerName optional,
+			XSD.String locationStatus optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record LocationPolicyAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			LocationSource locationSource optional,
+			XSD.Duration locationUpdatePeriod optional,
+			NodeID locationTargetID optional,
+			XSD.AnyURI locationServer optional,
+			XSD.AnyURI locationContainerID optional,
+			XSD.String locationContainerName optional,
+			XSD.String locationStatus optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		};
+		
+		type record M2mServiceSubscriptionProfile_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					ServiceSubscribedNode serviceSubscribedNode,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+		
+		type record MgmtCmd_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.String description optional,
+			CmdType cmdType optional,
+			ExecReqArgsListType execReqArgs optional,
+			XSD.Boolean execEnable optional,
+			NodeID execTarget optional,
+			ExecModeType execMode optional,
+			XSD.Duration execFrequency optional,
+			XSD.Duration execDelay optional,
+			XSD.NonNegativeInteger execNumber optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					ExecInstance execInstance,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  //variant (execEnable) "text 'true' as '1'";
+		  //variant (execEnable) "text 'false' as '0'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record Node_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			NodeID nodeID optional,
+			XSD.ID hostedCSELink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Memory memory,
+					Battery battery,
+					AreaNwkInfo areaNwkInfo,
+					AreaNwkDeviceInfo areaNwkDeviceInfo,
+					Firmware firmware,
+					Software software,
+					DeviceInfo deviceInfo,
+					DeviceCapability deviceCapability,
+					Reboot reboot,
+					EventLog eventLog,
+					CmdhPolicy cmdhPolicy,
+					ActiveCmdhPolicy activeCmdhPolicy,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record NodeAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			NodeID nodeID optional,
+			XSD.ID hostedCSELink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					MemoryAnnc memoryAnnc,
+					BatteryAnnc batteryAnnc,
+					AreaNwkInfoAnnc areaNwkInfoAnnc,
+					AreaNwkDeviceInfoAnnc areaNwkDeviceInfoAnnc,
+					FirmwareAnnc firmwareAnnc,
+					SoftwareAnnc softwareAnnc,
+					DeviceInfoAnnc deviceInfoAnnc,
+					DeviceCapabilityAnnc deviceCapabilityAnnc,
+					RebootAnnc rebootAnnc,
+					EventLogAnnc eventLogAnnc,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record PollingChannel_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		};
+
+		type record RemoteCSE_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			CseTypeID cseType optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI cSEBase optional,
+			XSD.ID cSE_ID optional,
+			ExternalID m2M_Ext_ID optional,
+			TriggerRecipientID trigger_Recipient_ID optional,
+			XSD.Boolean requestReachability optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Container container,
+					ContainerAnnc containerAnnc,
+					Group group_,
+					GroupAnnc groupAnnc,
+					AccessControlPolicy accessControlPolicy,
+					AccessControlPolicyAnnc accessControlPolicyAnnc,
+					Subscription subscription,
+					PollingChannel pollingChannel,
+					Schedule schedule,
+					NodeAnnc nodeAnnc,
+					RemoteCSEAnnc remoteCSEAnnc,
+					AEAnnc aEAnnc,
+					LocationPolicyAnnc locationPolicyAnnc
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		  variant (cSEBase) "name as capitalized";
+		  variant (cSE_ID) "name as 'CSE-ID'";
+		  variant (m2M_Ext_ID) "name as 'M2M-Ext-ID'";
+		  variant (trigger_Recipient_ID) "name as 'Trigger-Recipient-ID'";
+		  //variant (requestReachability) "text 'true' as '1'";
+		  //variant (requestReachability) "text 'false' as '0'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		  variant (choice.choice_list[-].group_) "name as 'group'";
+		  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
+		};
+
+		type record RemoteCSEAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			CseTypeID cseType optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI cSEBase optional,
+			XSD.ID cSE_ID optional,
+			XSD.Boolean requestReachability optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					NodeAnnc nodeAnnc,
+					Container container,
+					ContainerAnnc containerAnnc,
+					Group group_,
+					GroupAnnc groupAnnc,
+					AccessControlPolicy accessControlPolicy,
+					AccessControlPolicyAnnc accessControlPolicyAnnc,
+					Subscription subscription,
+					PollingChannel pollingChannel,
+					ScheduleAnnc scheduleAnnc,
+					LocationPolicyAnnc locationPolicyAnnc,
+					RemoteCSEAnnc remoteCSEAnnc,
+					AEAnnc aEAnnc
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (cSEBase) "name as capitalized";
+		  variant (cSE_ID) "name as 'CSE-ID'";
+		  //variant (requestReachability) "text 'true' as '1'";
+		  //variant (requestReachability) "text 'false' as '0'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		  variant (choice.choice_list[-].group_) "name as 'group'";
+		  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
+		};
+		
+		type record Request_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.NonNegativeInteger stateTag optional,
+			Operation operation optional,
+			XSD.AnyURI target optional,
+			XSD.ID originator optional,
+			RequestID requestID optional,
+			MetaInformation metaInformation optional,
+			PrimitiveContent primitiveContent optional,
+			RequestStatus requestStatus optional,
+			OperationResult operationResult optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record Schedule_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			ScheduleEntries scheduleElement optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (announcedAttribute) "list";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record ScheduleAnnc_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			XSD.AnyURI link optional,
+			ScheduleEntries scheduleElement optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		};
+
+		type record ServiceSubscribedAppRule_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfM2MID applicableCredIDs optional,
+			ListOfM2MID allowedApp_IDs optional,
+			ListOfM2MID allowedAEs optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of Subscription subscription_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (allowedApp_IDs) "name as 'allowedApp-IDs'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.subscription_list) "untagged";
+		  variant (choice.subscription_list[-]) "name as 'subscription'";
+		};
+		
+		type record ServiceSubscribedNode_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			NodeID nodeID optional,
+			XSD.ID cSE_ID optional,
+			record of DeviceID deviceIdentifier optional,
+			ListOfURIs ruleLinks optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of Subscription subscription_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (cSE_ID) "name as 'CSE-ID'";
+		  variant (deviceIdentifier) "list";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.subscription_list) "untagged";
+		  variant (choice.subscription_list[-]) "name as 'subscription'";
+		};
+		
+		type record StatsCollect_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.ID creator optional,
+			XSD.String statsCollectID optional,
+			XSD.ID collectingEntityID optional,
+			XSD.ID collectedEntityID optional,
+			StatsRuleStatusType statsRuleStatus optional,
+			StatModelType statModel optional,
+			ScheduleEntries collectPeriod optional,
+			XSD.String eventID optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of Subscription subscription_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.subscription_list) "untagged";
+		  variant (choice.subscription_list[-]) "name as 'subscription'";
+		};
+	
+	
+		type record StatsConfig_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			XSD.ID creator optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					EventConfig eventConfig,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
+		type record Subscription_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			EventNotificationCriteria eventNotificationCriteria optional,
+			XSD.PositiveInteger expirationCounter optional,
+			ListOfURIs notificationURI optional,
+			XSD.AnyURI groupID optional,
+			XSD.AnyURI notificationForwardingURI optional,
+			BatchNotify batchNotify optional,
+			RateLimit rateLimit optional,
+			XSD.PositiveInteger preSubscriptionNotify optional,
+			PendingNotification pendingNotification optional,
+			XSD.PositiveInteger notificationStoragePriority optional,
+			XSD.Boolean latestNotify optional,
+			NotificationContentType notificationContentType optional,
+			EventCat notificationEventCat optional,
+			XSD.ID creator optional,
+			XSD.AnyURI subscriberURI optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Schedule schedule
+				} choice_list
+			} choice optional //TODO Replace type of choice union elements as other choice union elements (record length(1..infinity) of)
+		}
+		with {
+		  variant "name as uncapitalized";
+		  variant "element";
+		  variant (resourceName) "attribute";
+		  //variant (latestNotify) "text 'true' as '1'";
+		  //variant (latestNotify) "text 'false' as '0'";
+		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
+		};
+
 	
+}
 	
-group InvalidTypes {
+group invalidTypes {
 		
-	type record AE_update_invalid {
+	type record AE_update_invalid 
+	{ 
 		ResourceName resourceName optional,
 		ResourceType resourceType optional,
 		XSD.ID resourceID optional,
@@ -7935,7 +5299,6 @@ group InvalidTypes {
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
 		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 		XSD.String appName optional,
@@ -7946,7 +5309,6 @@ group InvalidTypes {
 		XSD.AnyURI nodeLink optional,
 		XSD.Boolean requestReachability optional,
 		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7955,11 +5317,7 @@ group InvalidTypes {
 				AccessControlPolicy accessControlPolicy,
 				Subscription subscription,
 				PollingChannel pollingChannel,
-				Schedule schedule,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TrafficPattern trafficPattern,
-				Sg_flexContainerResource_group sg_flexContainerResource
+				Schedule schedule
 			} choice_list
 		} choice optional
 	}
@@ -8008,9 +5366,10 @@ group InvalidTypes {
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
 	  variant (choice.subscription_list) "untagged";
 	  variant (choice.subscription_list[-]) "name as 'subscription'";
-	};
-    	
+	};		
+
 	type record Container_update_invalid {
+		
 		ResourceName resourceName optional,
 		ResourceType resourceType optional,
 		XSD.ID resourceID optional,
@@ -8021,7 +5380,6 @@ group InvalidTypes {
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
 		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 		XSD.NonNegativeInteger stateTag optional,
@@ -8033,33 +5391,29 @@ group InvalidTypes {
 		XSD.NonNegativeInteger currentByteSize optional,
 		XSD.AnyURI locationID optional,
 		XSD.AnyURI ontologyRef optional,
-		XSD.Boolean disableRetrieval optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
 				ContentInstance contentInstance,
 				Container container,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				Sg_flexContainerResource_group sg_flexContainerResource
+				Subscription subscription
 			} choice_list
 		} choice optional
 	}
 	with {
 	  variant "name as uncapitalized";
-	  //variant "element";
+	  variant "element";
 	  variant (resourceName) "attribute";
 	  variant (announcedAttribute) "list";
-	  //variant (disableRetrieval) "text 'true' as '1'";
-	  //variant (disableRetrieval) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
 	  variant (choice.choice_list) "untagged";
 	  variant (choice.choice_list[-]) "untagged";
-	};
-	          
-	type record Group_update_invalid {
+	};		
+       
+	type record Group_update_invalid 
+	{
 		ResourceName resourceName optional,
 		ResourceType resourceType optional,
 		XSD.ID resourceID optional,
@@ -8070,7 +5424,6 @@ group InvalidTypes {
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
 		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 		XSD.ID creator optional,
@@ -8082,13 +5435,9 @@ group InvalidTypes {
 		XSD.Boolean memberTypeValidated optional,
 		ConsistencyStrategy consistencyStrategy optional,
 		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor
-			} choice_list
+			record length(1 .. infinity) of Subscription subscription_list
 		} choice optional
 	}
 	with {
@@ -8096,19 +5445,18 @@ group InvalidTypes {
 	  variant "element";
 	  variant (resourceName) "attribute";
 	  variant (announcedAttribute) "list";
+	  variant (memberIDs) "list";
 	  //variant (memberTypeValidated) "text 'true' as '1'";
 	  //variant (memberTypeValidated) "text 'false' as '0'";
-	  //variant (semanticSupportIndicator) "text 'true' as '1'";
-	  //variant (semanticSupportIndicator) "text 'false' as '0'";
 	  variant (choice) "untagged";
 	  variant (choice.childResource_list) "untagged";
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
 	};
-
        
-	type record PollingChannel_update_invalid {
+	type record PollingChannel_update_invalid 
+	{
 		ResourceName resourceName optional,
 		ResourceType resourceType optional,
 		XSD.ID resourceID optional,
@@ -8123,9 +5471,10 @@ group InvalidTypes {
 	  variant "name as uncapitalized";
 	  variant "element";
 	  variant (resourceName) "attribute";
-	};
-       
-	type record Schedule_update_invalid {
+	};	
+	
+	type record Schedule_update_invalid 
+	{
 		ResourceName resourceName optional,
 		ResourceType resourceType optional,
 		XSD.ID resourceID optional,
@@ -8155,9 +5504,10 @@ group InvalidTypes {
 	  variant (choice.childResource_list[-]) "name as 'childResource'";
 	  variant (choice.choice_list) "untagged";
 	  variant (choice.choice_list[-]) "untagged";
-	};
+	};		 
        
-	type record Subscription_update_invalid {
+	type record Subscription_update_invalid 
+	{
 		ResourceName resourceName optional,
 		ResourceType resourceType optional,
 		XSD.ID resourceID optional,
@@ -8168,8 +5518,6 @@ group InvalidTypes {
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
 		EventNotificationCriteria eventNotificationCriteria optional,
 		XSD.PositiveInteger expirationCounter optional,
 		ListOfURIs notificationURI optional,
@@ -8183,13 +5531,11 @@ group InvalidTypes {
 		XSD.Boolean latestNotify optional,
 		NotificationContentType notificationContentType optional,
 		EventCat notificationEventCat optional,
+		XSD.ID creator optional,
 		XSD.AnyURI subscriberURI optional,
 		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Schedule schedule,
-				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
-			} choice_list
+			ChildResourceRef childResource,
+			Schedule schedule
 		} choice optional
 	}
 	with {
@@ -8199,14 +5545,10 @@ group InvalidTypes {
 	  //variant (latestNotify) "text 'true' as '1'";
 	  //variant (latestNotify) "text 'false' as '0'";
 	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
 	};
-
        
-	 type record LocationPolicy_update_invalid {	
+	 type record LocationPolicy_update_invalid
+	 {	
 		ResourceName resourceName optional,
 		ResourceType resourceType optional,
 		XSD.ID resourceID optional,
@@ -8217,12 +5559,11 @@ group InvalidTypes {
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
 		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 		LocationSource locationSource optional,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID locationTargetID optional,
+		XSD.Duration locationUpdatePeriod optional,
+		NodeID locationTargetID optional,
 		XSD.AnyURI locationServer optional,
 		XSD.AnyURI locationContainerID optional,
 		XSD.String locationContainerName optional,
@@ -8321,10 +5662,11 @@ group OtherTypes {
 		
 	type record of ResourceType ResourceTypeList_1;
 }
+
 }
 with {
   encode "XML";
-  //variant "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-  //variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
-	extension "anytype Resource, URI, Notification, AggregatedNotification, AggregatedResponse, ServiceSubscribedAppRule_optional, charstring, AnyURI, AttributeList, AE, AccessControlPolicy, AccessControlPolicy_optional, AccessControlPolicyAnnc_optional, ACP_update_invalid, AE_optional, AE_update_invalid,AEAnnc_optional, Container_optional, ContainerAnnc_optional, ContentInstanceAnnc_optional, CSEBase_optional, Container_update_invalid, ContentInstance_optional, Group_optional, Group_update_invalid,  GroupAnnc_optional, LocationPolicyAnnc_optional, MgmtResource_optional, AnnouncedMgmtResource_optional, Node_optional, NodeAnnc_optional, Schedule_optional, ScheduleAnnc_optional,  Schedule_update_invalid, Subscription_optional, Subscription_update_invalid, PollingChannel_optional, PollingChannel_update_invalid, LocationPolicy_optional, LocationPolicy_update_invalid, SemanticDescriptor_optional, FlexContainerResource_optional, GenericInterworkingOperationInstance_optional"
+  variant "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+  variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
+  extension "anytype AggregatedResponse, AggregatedNotification,Notification, ServiceSubscribedAppRule_optional, charstring, AnyURI, AttributeList, AE, AccessControlPolicy, AccessControlPolicy_optional, ACP_update_invalid, AE_optional, AE_update_invalid,AEAnnc_optional, Container_optional, CSEBase_optional, Container_update_invalid, ContentInstance_optional,  Group_optional, Group_update_invalid, Schedule_optional, Schedule_update_invalid, Subscription_optional, Subscription_update_invalid, PollingChannel_optional, PollingChannel_update_invalid, LocationPolicy_optional, LocationPolicy_update_invalid"
 }
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index 8c84d22..cc53f03 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -883,7 +883,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					//Test Body
 					f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, f_getResourceId(vc_resourcesList[v_aeIndex].resource)));
 					
-					vc_cse1.start(f_cse_resourceAnnouncementHandler(PX_CSE_ID, f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative)));
+					vc_cse1.start(f_cse_resourceAnnouncementHandler(mw_createAEAnnc(PX_CSE_ID, -, -, -)));
 					vc_cse1.done;
 					
 					tc_ac.start;
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 80ff4cc..6da18b8 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -5019,7 +5019,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 				var integer v_aeAuxIndex 				:= -1;				
 				var LocationSource v_locationSource		:= int1;//Network-based	
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  
-				var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
+				var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
 				var XSD.AnyURI locationServerAddress	:= PX_LOCATION_SERVER_ADDRESS;
 				var RequestPrimitive v_request;
 				var MsgIn v_response;
@@ -5085,7 +5085,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 				var integer v_acpAuxIndex 				:= -1;
 				var LocationSource v_locationSource		:= int1;//Network-based
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;      
-				var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
+				var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
 				var XSD.AnyURI locationServerAddress	:= PX_LOCATION_SERVER_ADDRESS;
 				var RequestPrimitive v_request;	
 				var MsgIn v_response;
@@ -5154,7 +5154,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 				var integer v_aeIndex 				:= -1;
 				var LocationSource v_locationSource		:= int1;//Netwok-based		        
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;   
-				var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
+				var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
 				var XSD.AnyURI locationServerAddress	:= PX_LOCATION_SERVER_ADDRESS;
 				var RequestPrimitive v_request;
 				var MsgIn v_response;
@@ -5217,7 +5217,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 				var LocationSource v_locationSource				:= int1;//Netwok-based	
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  	      	
 				var XSD.Duration locationUpdatePeriod_invalid 	:= c_invalid_location_update_period;				 
-				var LocationTargetID locationTargetID					:= PX_LOCATION_TARGET_ID;
+				var XSD.Token locationTargetID					:= PX_LOCATION_TARGET_ID;
 				var XSD.AnyURI locationServerAddress			:= PX_LOCATION_SERVER_ADDRESS;
 				var RequestPrimitive v_request;
 				var RequestPrimitive v_locpolicy_request_preamble;
@@ -5279,7 +5279,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 			  var integer v_locPolicyResourceIndex	    := 	-1;
 			  var integer v_locContainerResourceIndex	:= 	-1;
 			  var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  
-			  var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
+			  var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
 			  var XSD.AnyURI locationServerAddress	    := PX_LOCATION_SERVER_ADDRESS;
 			  var RequestPrimitive v_loc_request_preamble;
 			  var RequestPrimitive v_container_request_preamble;
@@ -5477,7 +5477,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 			  var integer v_subscriptionResourceIndex	:= 	-1;
 			  var LocationSource v_locationSource	:= int1;//Netwok-based
 			  var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  
-			  var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
+			  var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
 			  var XSD.AnyURI locationServerAddress	    := PX_LOCATION_SERVER_ADDRESS;
 			  var RequestPrimitive v_locpolicy_request_preamble;
 			  var RequestPrimitive v_container_request_preamble;
@@ -5680,7 +5680,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 				  var integer v_locContainerResourceIndex	:=	-1;
 				  var LocationSource v_locationSource		:= int1;//Netwok-based
 				var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;  
-				  var LocationTargetID locationTargetID			:= PX_LOCATION_TARGET_ID;
+				  var XSD.Token locationTargetID			:= PX_LOCATION_TARGET_ID;
 				  var XSD.AnyURI locationServerAddress	    := PX_LOCATION_SERVER_ADDRESS;
 				  var RequestPrimitive v_locpolicy_request_preamble;
 				  var RequestPrimitive v_container_request_preamble;
@@ -5741,7 +5741,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 			  var MsgIn v_response;
 			  var LocationSource v_locationSource	:= int1;//Netwok-based
 			  var XSD.Duration locationUpdatePeriod 	:= PX_LOCATION_UPDATE_PERIOD;
-			  var LocationTargetID locationTargetID		:= PX_LOCATION_TARGET_ID;
+			  var XSD.Token locationTargetID		:= PX_LOCATION_TARGET_ID;
 			  var XSD.AnyURI locationServerAddress	:= PX_LOCATION_SERVER_ADDRESS;
 		      
 		      
-- 
GitLab