diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 0ed5befc25c17883a43755fcbc9c726b6c104a00..242c3e293fd1c9ee48b9e01b2855617876ae2a81 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -35,18 +35,18 @@ module OneM2M_Templates {
 	/* Templates */
 	
 	group Primitives {
-    	/** 
-    	 * @desc Base template for request sending operations
-    	 * @param p_requestPrimitive
-    	 */
-    	template (value) MsgOut m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
-    		primitive := { requestPrimitive := p_requestPrimitive},
-    		host := "",
-    		xmlNamespace := PX_XML_NAMESPACE,
-    		protocolBinding := "",
-    		serialization := "", 
-    		forcedFields := p_forcedFields
-    	};
+		/** 
+		 * @desc Base template for request sending operations
+		 * @param p_requestPrimitive
+		 */
+		template (value) MsgOut m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
+			primitive := { requestPrimitive := p_requestPrimitive},
+			host := "",
+			xmlNamespace := PX_XML_NAMESPACE,
+			protocolBinding := "",
+			serialization := "", 
+			forcedFields := p_forcedFields
+		};
     	
 		/** 
 		 * @desc Base template for response sending operations
@@ -256,7 +256,7 @@ module OneM2M_Templates {
 			};
         	
 			template RequestPrimitive mw_retrieveFormalOntology(template XSD.ID p_targetResourceAddress := ?, template XSD.ID p_originator := ?, template XSD.AnyURI p_ontologyServerUri := ?) modifies mw_retrieve := {
-    		from_ := p_originator,
+			from_ := p_originator,
 				requestIdentifier := ?,
 				primitiveContent := { flexContainer := mw_contentFlexContainer(p_ontologyServerUri) },
 				releaseVersionIndicator := "3"
@@ -268,11 +268,11 @@ module OneM2M_Templates {
 			 * @param p_originator Originator (from)
 			 */
 			template (value) RequestPrimitive m_retrieveAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
-        		operation := int2,
-        		to_ := p_targetResourceAddress,
-        		from_ := p_originator,
-        		requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000),
-        		resourceType := omit,
+				operation := int2,
+				to_ := p_targetResourceAddress,
+				from_ := p_originator,
+				requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000),
+				resourceType := omit,
 				primitiveContent := omit, 
 				roleIDs := omit,
 				originatingTimestamp := omit,
@@ -300,7 +300,7 @@ module OneM2M_Templates {
 				vendorInformation := omit,
 				primitiveProfileIdentifier := omit,
 				m2mServiceUser := omit
-        	};
+			};
         	
 			/**
 			 * @desc RETRIEVE request primtive containing the target attributes in the primitiveContent field
@@ -348,7 +348,7 @@ module OneM2M_Templates {
 			  * @param p_targetResourceAddress Target resource address 
 			  * @param p_filterCriteria FilterCriteria
 			  * @param p_originator Originator (from)
-		     */
+			 */
 			template (value) RequestPrimitive m_retrieveFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage := int1) modifies m_retrieve := {
 				requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
 				filterCriteria := {
@@ -578,11 +578,11 @@ module OneM2M_Templates {
 			
 			
 			
-    	}//end group Retrieve
+		}//end group Retrieve
 
-    	group Update {
+		group Update {
     		
-    		template (value) RequestPrimitive m_update := {
+			template (value) RequestPrimitive m_update := {
 				operation := int3,
 				to_ := "NotInitialized",
 				from_ := "NotInitialized",
@@ -721,7 +721,7 @@ module OneM2M_Templates {
 				primitiveContent:= {genericInterworkingService := m_contentUpdateGenericInterworkingService}
 			};
 
-            /**
+			/**
 			 * @desc Base UPDATE request primitive for GenericInterworkingService_invalid resource
 			 */
 			template (value) RequestPrimitive m_updateGenericInterworkingServiceBase_invalid modifies m_update:= {
@@ -729,7 +729,7 @@ module OneM2M_Templates {
 				primitiveContent:= {genericInterworkingService_invalid := m_contentUpdateGenericInterworkingService_invalid}
 			};
 
-            /**
+			/**
 			 * @desc Base UPDATE request primitive for Group resource
 			 */
 			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
@@ -770,15 +770,15 @@ module OneM2M_Templates {
 			};
 			
 			template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) modifies m_update := {
-        	  	to_ 				:= p_locResourceAddress,
-        	  	requestIdentifier	:= "m_updateLocationPolicy",
-        	  	primitiveContent	:= {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
+				to_ 				:= p_locResourceAddress,
+				requestIdentifier	:= "m_updateLocationPolicy",
+				primitiveContent	:= {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
 			  };
         	
-        	template (value) RequestPrimitive m_updateNodeBase modifies m_update := {
+			template (value) RequestPrimitive m_updateNodeBase modifies m_update := {
 				requestIdentifier := "m_updateNode",
 				primitiveContent:= {node := m_contentUpdateNode}
-        	}
+			}
         	
 			template (value) RequestPrimitive m_updatePrimitiveProfileBase modifies m_update := {
 				requestIdentifier := "m_updatePrimitiveProfile",
@@ -793,10 +793,10 @@ module OneM2M_Templates {
 				primitiveContent:= {primitveProfile := m_contentUpdatePrimitiveProfileNonPermissibleParameters}
 			}
         	
-        	template (value) RequestPrimitive m_updateRemoteCSEBase modifies m_update := {
+			template (value) RequestPrimitive m_updateRemoteCSEBase modifies m_update := {
 			   requestIdentifier := "m_updateRemoteCSEBase",
-        	   primitiveContent := {remoteCSE := m_contentUpdateRemoteCSE}
-        	}
+			   primitiveContent := {remoteCSE := m_contentUpdateRemoteCSE}
+			}
 
 			/**
 			 * @desc Reception template for update remoteCSE resource
@@ -814,7 +814,7 @@ module OneM2M_Templates {
 				primitiveContent := {aEAnnc := ?}
 			};
 
-            /**
+			/**
 			 * @desc Base Reception template for update ContainerAnnc
 			 */
 			template RequestPrimitive mw_updateContainerAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
@@ -879,7 +879,7 @@ module OneM2M_Templates {
 				primitiveContent := {serviceSubscribedUserProfile := m_contentUpdateServiceSubscribedUserProfileMaxValue2 } 
 			};
 			
-		    /**
+			/**
 			 * @desc Base UPDATE request primitive for CreateServiceSubscribedUserProfile resource
 			 */
 			template (value) RequestPrimitive m_updateServiceSubscribedUserProfileHigherAE0 modifies m_update := {
@@ -919,10 +919,25 @@ module OneM2M_Templates {
 				primitiveContent:= {role := m_contentUpdateRole}
 			};
 			
+			/**
+			 * @desc Base UPDATE request primitive for TransactionMgmt resource
+			 */
+			template (value) RequestPrimitive m_updateTransactionMgmtBase modifies m_update:= {
+				requestIdentifier := "m_updateTransactionMgmt",
+				primitiveContent:= {transactionMgmt := m_contentUpdateTransactionMgmt}
+			};
+			
+			/**
+			 * @desc Base UPDATE request primitive for Transaction resource
+			 */
+			template (value) RequestPrimitive m_updateTransactionBase modifies m_update:= {
+				requestIdentifier := "m_updateTransaction",
+				primitiveContent:= {transaction := m_contentUpdateTransaction}
+			};
 			
-    	}//end group Update
+		}//end group Update
     	
-    	group Create {
+		group Create {
 
 			template (value) RequestPrimitive m_create := {
 				operation := int1,
@@ -1081,11 +1096,11 @@ module OneM2M_Templates {
 				primitiveContent := {accessControlPolicyAnnc := m_contentCreateAcpAnnc ()}
 			};
 				
-        	template (value) RequestPrimitive m_createAcp(in template (omit)  XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := {
+			template (value) RequestPrimitive m_createAcp(in template (omit)  XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createAcp",
-        		resourceType := int1,
-        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
-        	};
+				resourceType := int1,
+				primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
+			};
         	
 			/**
 			 * @desc Reception template for CREATE AcpAnnc
@@ -1193,12 +1208,12 @@ module OneM2M_Templates {
 				primitiveContent := {container := m_contentCreateContainer(omit)}
 			};
 	
-    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
-    			to_ := p_parentResourceAddress,
+			template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
+				to_ := p_parentResourceAddress,
 				requestIdentifier := testcasename() & "-m_createContainer",
-    			resourceType := int3,
-    			primitiveContent := {container := m_contentCreateContainer(p_resourceName)}
-    		};
+				resourceType := int3,
+				primitiveContent := {container := m_contentCreateContainer(p_resourceName)}
+			};
     		
 			template (value) RequestPrimitive m_createContainerMaxByte(XSD.NonNegativeInteger p_maxByte) modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createContainer",
@@ -1239,7 +1254,7 @@ module OneM2M_Templates {
 				primitiveContent := {genericInterworkingService := m_contentCreateGenericInterworkingService()}
 			};
 
-            /**
+			/**
 			 * @desc Reception template for CREATE GenericInterworkingOperationInstance
 			 */
 			template RequestPrimitive mw_createGenericIwkOpInstance(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
@@ -1272,13 +1287,13 @@ module OneM2M_Templates {
 				primitiveContent := {contentInstance := m_contentCreateContentInstance(omit)}
 			};
     		
-    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
-    			to_ := p_parentResourceAddress,
-    			from_ := "admin:admin",
+			template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
+				to_ := p_parentResourceAddress,
+				from_ := "admin:admin",
 				requestIdentifier := testcasename() & "-m_createContentInstance",
-    			resourceType := int4,
-    			primitiveContent := {contentInstance := m_contentCreateContentInstance(-, p_primitiveContent)}
-    		};
+				resourceType := int4,
+				primitiveContent := {contentInstance := m_contentCreateContentInstance(-, p_primitiveContent)}
+			};
     		
 			/**
 			 * @desc Reception template for CREATE ContentInstanceAnnc
@@ -1324,7 +1339,7 @@ module OneM2M_Templates {
 				primitiveContent := {groupAnnc := m_contentCreateGroupAnnc (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
 			};
         	
-        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
+			template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
 															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
 															in template (omit) AcpType p_accessControlPolicyIds,
 															in template (omit) MemberType p_memberType := omit,
@@ -1332,9 +1347,9 @@ module OneM2M_Templates {
 															in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
 															in template (omit) XSD.String p_name := "MyGroup") modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createGroup",
-        		resourceType := int9,
-        		primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
-        	};
+				resourceType := int9,
+				primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
+			};
         	
 			/**
 			 * @desc Reception template for CREATE Group
@@ -1422,13 +1437,13 @@ module OneM2M_Templates {
 				primitiveContent := {pollingChannel := m_contentCreatePollingChannel (-)}
 			};
         	
-        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
-        		to_ := p_parentResourceAddress,
-        		from_ := p_originatorId,
+			template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
+				to_ := p_parentResourceAddress,
+				from_ := p_originatorId,
 				requestIdentifier := testcasename() & "-m_createPollingChannel",
-        		resourceType := int15,
-        		primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()}
-        	};
+				resourceType := int15,
+				primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()}
+			};
         	
 			template RequestPrimitive mw_createPollingChannel(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				to_ := p_to,
@@ -1436,6 +1451,35 @@ module OneM2M_Templates {
 				primitiveContent := {pollingChannel := mw_contentCreatePollingChannel}
 			};
 			
+			/**
+			 * @desc Base CREATE request primitive for TransactionMgmt resource's requestPrimitives
+			 */
+			/*template (value) AggregatedRequest m_createAggrRequestPrimitives(in template (value) Operation p_operation) := {
+				// requestIdentifier := testcasename() & "-m_createRequuestPrimitives",
+				request_list[-].from_ := "S0"
+			}*/
+			
+			//const AggregatedRequest[-] c_AggregatedRequest := {request_list := {operation := int1; to_ := "resourceId"; from_ := "AeId"; }};
+			
+			/**
+			 * @desc Base CREATE request primitive for TransactionMgmt resource
+			 */
+			template (value) RequestPrimitive m_createTransactionMgmtBase(in template (value) AggregatedRequest p_aggregatedRequest) modifies m_create := {
+				requestIdentifier := testcasename() & "-m_createTransactionMgmt",
+				resourceType := int50,
+				primitiveContent := {transactionMgmt := m_contentCreateTransactionMgmt(p_aggregatedRequest, "MyTransactionMgmt", -) }
+			};
+			
+			
+			/**
+			 * @desc Base CREATE request primitive for Transaction resource
+			 */
+			template (value) RequestPrimitive m_createTransactionBase(in template (value) RequestPrimitive p_requestPrimitive) modifies m_create := {
+				requestIdentifier := testcasename() & "-m_createTransaction",
+				resourceType := int51,
+				primitiveContent := {transaction := m_contentCreateTransaction(p_requestPrimitive, "MyTransaction", -) }
+			};
+			
 			/**
 			 * @desc Base CREATE request primitive for PrimitveProfile resource
 			 */
@@ -1547,27 +1591,27 @@ module OneM2M_Templates {
 			/**
 			 * @desc Base CREATE request primitive for Schedule resource
 			 */
-        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
+			template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createSchedule",
-        		resourceType := int18,
+				resourceType := int18,
 				primitiveContent := {schedule := m_contentCreateSchedule ({{"* * * * * * *"}})}
-        	};
+			};
         	
 			/**
 			 * @desc Base CREATE request primitive for ScheduleAnnc resource
 			 */
-        	template (value) RequestPrimitive m_createScheduleAnncBase modifies m_create := {
+			template (value) RequestPrimitive m_createScheduleAnncBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createScheduleAnnc",
-        		resourceType := int10018,
+				resourceType := int10018,
 				primitiveContent := {scheduleAnnc := m_contentCreateScheduleAnnc (omit, {{"* * * * * * *"}})}
-        	};
+			};
 
-        	template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) modifies m_create := {
-        		to_ := p_parentResourceAddress,
+			template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) modifies m_create := {
+				to_ := p_parentResourceAddress,
 				requestIdentifier := testcasename() & "-m_createSchedule",
-        		resourceType := int18,
-        		primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)}
-        	};
+				resourceType := int18,
+				primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)}
+			};
         	
 			/**
 			 * @desc Reception template for CREATE ScheduleAnnc
@@ -1610,14 +1654,14 @@ module OneM2M_Templates {
 				primitiveContent := {subscription := m_contentCreateSubscription ({"NotInitialized"})}
 			};
         	
-        	template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ListOfURIs p_notificationURI := {"NotInitialized"}) modifies m_create := {
-        		to_ := p_parentResourceAddress,
+			template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ListOfURIs p_notificationURI := {"NotInitialized"}) modifies m_create := {
+				to_ := p_parentResourceAddress,
 				requestIdentifier := testcasename() & "-m_createSubscription",
-        		resourceType := int23,
-        		primitiveContent := {subscription := m_contentCreateSubscription (p_notificationURI, p_name)}
-        	};
+				resourceType := int23,
+				primitiveContent := {subscription := m_contentCreateSubscription (p_notificationURI, p_name)}
+			};
         	
-        	/**
+			/**
 			 * @desc Reception template for CREATE Subscription
 			 */
 			template RequestPrimitive mw_createSubscription(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
@@ -1635,7 +1679,7 @@ module OneM2M_Templates {
 				primitiveContent := {ontologyRepository := m_contentCreateOntologyRepository }
 			};
 			
-		    /**
+			/**
 			 * @desc Base CREATE request primitive for Ontology resource
 			 */        	
 			template (value) RequestPrimitive m_createOntologyBase modifies m_create := {
@@ -1657,20 +1701,20 @@ module OneM2M_Templates {
 			 * @desc Base CREATE request primitive for SemanticMashupJobProfile resource
 			 */        	
 			template (value) RequestPrimitive m_createSemanticMashupJobProfileBase (in template (value) Sparql p_memberFilter := c_defaultMmemberFilter,
-			                                                                        in template (value) XSD.Base64Binary p_outputDescriptor := int2oct(0,65537),
-			                                                                        in template (value) XSD.Base64Binary p_functionDescriptor := int2oct(0,65537) ) modifies m_create := {
+																					in template (value) XSD.Base64Binary p_outputDescriptor := int2oct(0,65537),
+																					in template (value) XSD.Base64Binary p_functionDescriptor := int2oct(0,65537) ) modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createSemanticMashupJobProfile",
 				resourceType := int40,
 				primitiveContent := {semanticMashupJobProfile := m_contentCreateSemanticMashupJobProfile (p_memberFilter, p_outputDescriptor, p_functionDescriptor) }
 			};
 
-        	/**
+			/**
 			 * @desc Base CREATE request primitive for SemanticMashupInstance resource
 			 */
 			template (value) RequestPrimitive m_createSemanticMashupInstanceBase (in XSD.AnyURI p_smjpID := "/AEID",
-			                                                                      in XSD.Base64Binary p_smjpInputParameter := '1234'O,
-			                                                                      in MashupMemberStoreType p_memberStoreType := int1,
-			                                                                      in MashupResultGenType p_mashupMember := int2) modifies m_create := {
+																				  in XSD.Base64Binary p_smjpInputParameter := '1234'O,
+																				  in MashupMemberStoreType p_memberStoreType := int1,
+																				  in MashupResultGenType p_mashupMember := int2) modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createSemanticMashupInstance",
 				resourceType := int41,
 				primitiveContent := {semanticMashupInstance := m_contentCreateSemanticMashupInstance (p_smjpID, p_smjpInputParameter, p_memberStoreType, p_mashupMember) }
@@ -1695,11 +1739,11 @@ module OneM2M_Templates {
 																		   in template (omit) XSD.Boolean p_latestNotify := omit,
 																		   in template (omit) XSD.AnyURI p_subscriberURI := omit,
 																		   in template (omit) NotificationContentType p_notificationContentType := int1,
-			                                                               in template (omit) PendingNotification p_pendingNotification) modifies m_createSubscription := {
+																		   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)}
 			};
         	
-        	/**
+			/**
 			 * @desc Base CREATE request primitive for Location Policy resource
 			 */
 			template (value) RequestPrimitive m_createLocationPolicyBase modifies m_create := {
@@ -1711,10 +1755,10 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) ListOfDuration p_locationUpdatePeriod, in template (omit) LocationTargetID 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,
-        	  	primitiveContent	:= {locationPolicy := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
-			  	resultContent := int1//default
-        	};
+				resourceType		:= int10,
+				primitiveContent	:= {locationPolicy := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
+				resultContent := int1//default
+			};
         	
 			/**
 			 * @desc Reception template for CREATE LocationPolicyAnnc
@@ -1724,12 +1768,12 @@ module OneM2M_Templates {
 				primitiveContent := {locationPolicyAnnc := mw_contentCreateLocationPolicyAnncBase}
 			}; 
 			
-        	template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := {
+			template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := {
 			  requestIdentifier	:= testcasename() & "-m_createNotification",
-        	  primitiveContent	:= {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)},
-        	  resultContent		:= int1 //default
+			  primitiveContent	:= {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)},
+			  resultContent		:= int1 //default
         	  
-        	};
+			};
         	
 			/**
 			 * @desc Reception template for SemanticDescriptor creation
@@ -1762,7 +1806,7 @@ module OneM2M_Templates {
 			 * @desc Base CREATE request primitive for TIMERBASED Event Config resource
 			 */
 			template (value) RequestPrimitive m_createEventConfigTimerBased (in template (omit) Timestamp p_eventStart := omit,
-																	         in template (omit) Timestamp p_eventEnd := omit) modifies m_createEventConfigBase := {
+																			 in template (omit) Timestamp p_eventEnd := omit) modifies m_createEventConfigBase := {
 				primitiveContent := {eventConfig := m_contentCreateEventConfigTimerBased(p_eventStart, p_eventEnd)}
 			};
 			
@@ -1884,7 +1928,7 @@ module OneM2M_Templates {
 				primitiveContent := {semanticMashupJobProfile := mw_contentCreateSemanticMashupJobProfileBase }
 			};
 
-        	/**
+			/**
 			 * @desc Base Reception template for CREATE SemanticMashupInstance resource
 			 */
 			template RequestPrimitive mw_createSemanticMashupInstance (template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
@@ -2353,17 +2397,17 @@ module OneM2M_Templates {
 				primitiveContent := {crossResourceSubscription := m_contentCreateCrossResourceSubscription (p_notificationURI, p_name, p_timeWindowType, p_timeWindowSize, p_creator)}
 			};
 			
-    	}//end group Create
+		}//end group Create
     	
-    	group Delete {
+		group Delete {
     	
 			template (value) RequestPrimitive m_delete(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_AE_ID) := {
-        		operation := int4,
-        		to_ := p_resourceAddress,
-        		from_ := p_originator,
+				operation := int4,
+				to_ := p_resourceAddress,
+				from_ := p_originator,
 				requestIdentifier := testcasename() & "-m_delete" & f_rnd(1, 1000000),
-        		resourceType := omit,
-        		primitiveContent := omit, 
+				resourceType := omit,
+				primitiveContent := omit, 
 				roleIDs := omit, 
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
@@ -2431,7 +2475,7 @@ module OneM2M_Templates {
 				vendorInformation := *,
 				primitiveProfileIdentifier := *,
 				m2mServiceUser := *
-        	};
+			};
         	
 			/**
 			  * @desc Base UPDATE request primitive for PollingChannel resource
@@ -2441,9 +2485,9 @@ module OneM2M_Templates {
 				primitiveContent:= {pollingChannel := m_contentDeletePollingChannel}
 			 };
         	
-    	}//end group Delete
+		}//end group Delete
     	
-    	group Notify {
+		group Notify {
     		
 			/**
 			 * @desc Base NOTIFY request primitive
@@ -2537,7 +2581,7 @@ module OneM2M_Templates {
 				m2mServiceUser := omit
 			};
     		
-    		/**
+			/**
 			* @desc Base NOTIFY request primitive
 			*/
 			template RequestPrimitive mw_notify := {
@@ -2600,7 +2644,7 @@ module OneM2M_Templates {
 
 			
     		
-    	}//end of group Notify
+		}//end of group Notify
 	}//end group RequestPrimitives
 	
 	group ContentCreate {
@@ -2618,7 +2662,7 @@ module OneM2M_Templates {
 			ontologyRepository := p_ontologyRepository
 		}
 		
-	    template (value) PrimitiveContent m_primitiveContentOntology(template (value) Ontology_optional p_ontology) := {
+		template (value) PrimitiveContent m_primitiveContentOntology(template (value) Ontology_optional p_ontology) := {
 			ontology := p_ontology
 		}
 				
@@ -2630,8 +2674,8 @@ module OneM2M_Templates {
 			contentInstance := p_contentInstance
 		}
 		            
-        template (value) PrimitiveContent m_primitiveContentCSEBase(template (value) CSEBase_optional p_cSEBase) := {
-	        cSEBase := p_cSEBase
+		template (value) PrimitiveContent m_primitiveContentCSEBase(template (value) CSEBase_optional p_cSEBase) := {
+			cSEBase := p_cSEBase
 		}
 
 		template (value) PrimitiveContent m_primitiveContentPollingChannel(template (value) PollingChannel_optional p_pollingChannel) := {
@@ -2734,17 +2778,17 @@ module OneM2M_Templates {
 		 * @param p_nodeLink Node link
 		 */
 		template AEAnnc_optional mw_contentCreateAEAnnc (in template  Labels p_labels := *, in template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) := {
-    		resourceName := omit,//NA M
-    		resourceType := omit,//NA M
-    		resourceID := omit,//NA M
-    		parentID := omit,//NA M
-    		creationTime := omit,//NA M
-    		lastModifiedTime := omit,//NA M
-    		labels := p_labels,//MA O
-    		accessControlPolicyIDs := p_accessControlPolicyIds,//MA O
-    		expirationTime := ?,//MA M
+			resourceName := omit,//NA M
+			resourceType := omit,//NA M
+			resourceID := omit,//NA M
+			parentID := omit,//NA M
+			creationTime := omit,//NA M
+			lastModifiedTime := omit,//NA M
+			labels := p_labels,//MA O
+			accessControlPolicyIDs := p_accessControlPolicyIds,//MA O
+			expirationTime := ?,//MA M
 			link := p_link,//M
-    		dynamicAuthorizationConsultationIDs := *, //OA O			
+			dynamicAuthorizationConsultationIDs := *, //OA O			
 			appName := *,//OA O
 			app_ID := *,//OA M
 			aE_ID := *,//OA M
@@ -2799,12 +2843,12 @@ module OneM2M_Templates {
 			choice := omit//NA
 		};
 		
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for AE resource
-    	 * @param p_name Resource name
-    	 * @param p_accessControlPolicyIds ACP IDs for the AE
-    	 */
-    	template (value) AE_optional m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIds, in template (omit)  XSD.String p_name := c_defaultAe1ResourceName, in XSD.ID p_appId := PX_TS_AE1.appId, in template (omit) PoaList p_poaList) := {
+		/**
+		 * @desc Base primitiveContent for CREATE operation for AE resource
+		 * @param p_name Resource name
+		 * @param p_accessControlPolicyIds ACP IDs for the AE
+		 */
+		template (value) AE_optional m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIds, in template (omit)  XSD.String p_name := c_defaultAe1ResourceName, in XSD.ID p_appId := PX_TS_AE1.appId, in template (omit) PoaList p_poaList) := {
 
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -2815,17 +2859,17 @@ 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
+			dynamicAuthorizationConsultationIDs := omit, //O
+			announceTo := omit,//O
+			announcedAttribute := omit,//O
+			appName := omit,//O
 			app_ID := p_appId,//M
-    		aE_ID := omit,//NP
-    		pointOfAccess := p_poaList, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"},
-    		ontologyRef := omit,//O
-    		nodeLink := omit,//NP
-    		requestReachability := false,//M
-    		contentSerialization := omit,//O
+			aE_ID := omit,//NP
+			pointOfAccess := p_poaList, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"},
+			ontologyRef := omit,//O
+			nodeLink := omit,//NP
+			requestReachability := false,//M
+			contentSerialization := omit,//O
 			e2eSecInfo := omit, //O
 			m2M_Ext_ID := omit, //O
 			supportedReleaseVersions := {"1", "2", "2a", "3"}, //M
@@ -2834,13 +2878,13 @@ module OneM2M_Templates {
 			sessionCapabilities := omit, //O
 			triggerEnable := omit, //O
 			activityPatternElements := omit, //O
-    		choice := omit//NP
-    	};	
+			choice := omit//NP
+		};	
     	
-    	/**
-    	 * @desc Base reception template of primitiveContent for CREATE operation for AE resource
-    	 */
-    	template AE_optional mw_contentCreateAeBase := {
+		/**
+		 * @desc Base reception template of primitiveContent for CREATE operation for AE resource
+		 */
+		template AE_optional mw_contentCreateAeBase := {
 
 			resourceName := *,//O
 			resourceType := omit,//NP
@@ -2851,17 +2895,17 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := *,//O
-    		dynamicAuthorizationConsultationIDs := *, //O
-    		announceTo := *,//O
-    		announcedAttribute := *,//O
-    		appName := *,//O
+			dynamicAuthorizationConsultationIDs := *, //O
+			announceTo := *,//O
+			announcedAttribute := *,//O
+			appName := *,//O
 			app_ID := ?,//M
-    		aE_ID := omit,//NP
-    		pointOfAccess := *, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"},
-    		ontologyRef := *,//O
-    		nodeLink := *,//NP
-    		requestReachability := ?,//M
-    		contentSerialization := *,//O
+			aE_ID := omit,//NP
+			pointOfAccess := *, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"},
+			ontologyRef := *,//O
+			nodeLink := *,//NP
+			requestReachability := ?,//M
+			contentSerialization := *,//O
 			e2eSecInfo := *, //O
 			m2M_Ext_ID := *, //O
 			supportedReleaseVersions := ?, //M
@@ -2871,15 +2915,15 @@ module OneM2M_Templates {
 			triggerEnable := *, //O
 			activityPatternElements := *, //O
 			choice := *//NP
-    	};	
+		};	
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for AccessControlPolicy resource
-    	 * @param p_name Resource name
-    	 * @param p_acor Allowed originators
-    	 * @param p_allowedOperations Allowed operations
-    	 */
-    	template (value) AccessControlPolicy_optional m_contentCreateAcp (in template (omit) XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) := {
+		/**
+		 * @desc Base primitiveContent for CREATE operation for AccessControlPolicy resource
+		 * @param p_name Resource name
+		 * @param p_acor Allowed originators
+		 * @param p_allowedOperations Allowed operations
+		 */
+		template (value) AccessControlPolicy_optional m_contentCreateAcp (in template (omit) XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -3065,7 +3109,7 @@ module OneM2M_Templates {
 			
 		};    
     	
-        /**
+		/**
 		 * @desc Base primitiveContent for CREATE operation for GenericInterworkingService resource
 		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
 		 * @param p_name Resource name
@@ -3097,19 +3141,19 @@ module OneM2M_Templates {
 			
 		};
 
-        /**
-    	 * @desc Base primitiveContent for CREATE operation for Group resource
-    	 * @param p_maxNrOfMembers Max number of members
-    	 * @param p_memberIds Member IDs
-    	 * @param p_accessControlPolicyIds ACP IDs for the Group
-    	 * @param p_name Resource name
-    	 */
-    	template (value) Group_optional m_contentCreateGroup (	in template (value) XSD.PositiveInteger p_maxNrOfMembers,
-    															in template (value) ListOfURIs p_memberIds,
-    															in template (omit) AcpType p_accessControlPolicyIds,
-    															in template (omit) MemberType p_memberType := omit,
-    															in template (omit) ConsistencyStrategy p_consistencyStrategy := omit,
-    															in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Group resource
+		 * @param p_maxNrOfMembers Max number of members
+		 * @param p_memberIds Member IDs
+		 * @param p_accessControlPolicyIds ACP IDs for the Group
+		 * @param p_name Resource name
+		 */
+		template (value) Group_optional m_contentCreateGroup (	in template (value) XSD.PositiveInteger p_maxNrOfMembers,
+																in template (value) ListOfURIs p_memberIds,
+																in template (omit) AcpType p_accessControlPolicyIds,
+																in template (omit) MemberType p_memberType := omit,
+																in template (omit) ConsistencyStrategy p_consistencyStrategy := omit,
+																in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
 																in template (omit) XSD.String p_name := c_defaultGroupResourceName,
 																in template (omit) XSD.Boolean p_semanticSupportIndicator := true) := {
 			resourceName := p_name,//O
@@ -3121,7 +3165,7 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := p_accessControlPolicyIds,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			creator := omit,//O
@@ -3137,7 +3181,7 @@ module OneM2M_Templates {
 			semanticSupportIndicator := omit,//O
 			notifyAggregation := omit,//O
 			choice := omit//NP
-    	};  
+		};  
     	
 
 		/**
@@ -3402,22 +3446,22 @@ module OneM2M_Templates {
 			choice := omit//NP
 		};	
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for PollingChannel resource
-    	 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
-    	 * @param p_name Resource name
-    	 */
-    	template (value) PollingChannel_optional m_contentCreatePollingChannel (in template (omit) XSD.String p_name := c_defaultPollingChannelResourceName) := {
+		/**
+		 * @desc Base primitiveContent for CREATE operation for PollingChannel resource
+		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
+		 * @param p_name Resource name
+		 */
+		template (value) PollingChannel_optional m_contentCreatePollingChannel (in template (omit) XSD.String p_name := c_defaultPollingChannelResourceName) := {
 			resourceName := p_name,//O
-            resourceType := omit,//NP
-            resourceID := omit,//NP
-            parentID := omit,//NP
-            creationTime := omit,//NP
-            lastModifiedTime := omit,//NP
-            labels := omit,//O
-            expirationTime := omit,//O
-            choice := omit//NP
-    	};   	   	
+			resourceType := omit,//NP
+			resourceID := omit,//NP
+			parentID := omit,//NP
+			creationTime := omit,//NP
+			lastModifiedTime := omit,//NP
+			labels := omit,//O
+			expirationTime := omit,//O
+			choice := omit//NP
+		};   	   	
     	
 		/**
 		 * @desc Base reception template of primitiveContent for CREATE operation for PollingChannel resource
@@ -3436,6 +3480,72 @@ module OneM2M_Templates {
 			choice := omit//NP
 		};
 		
+		/**
+		 * @desc Base primitiveContent for CREATE operation for TransactionMgmt resource
+		 * @param p_accessControlPolicyIds ACP IDs for the TransactionMgmt
+		 * @param p_name Resource name
+		 */
+		template (value) TransactionMgmt_optional m_contentCreateTransactionMgmt (	in template (omit) AggregatedRequest p_requestPrimitives,
+																					in template (omit) XSD.String p_name := c_defaultTransactionMgmtResourceName,
+																					in template (omit) TransactionState p_transactionState := int1) := {
+			resourceName := p_name,//O  p_name
+			resourceType := omit,//NP
+			resourceID := omit,//NP
+			parentID := omit,//NP
+			accessControlPolicyIDs := omit,//O
+			creationTime := omit,//NP
+			lastModifiedTime := omit,//NP
+			labels := omit,//O
+			expirationTime := omit,//O
+			dynamicAuthorizationConsultationIDs := omit, //O
+			creator := omit, //O
+			transactionLockTime := omit, //O
+			transactionExecuteTime := omit, //O
+			transactionCommitTime := omit, //O
+			transactionExpirationTime := omit, //O
+			transactionMode := omit, //O
+			transactionLockType := omit, //O
+			transactionControl := omit, //NP
+			transactionState := p_transactionState, //NP p_transactionState
+			transactionMaxRetries := omit, //O
+			transactionMgmtHandling := omit, //O
+			requestPrimitives := p_requestPrimitives, //M p_requestPrimitives
+			responsePrimitives := omit, //NP
+			choice := omit//NP
+		};   
+		
+		
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Transaction resource
+		 * @param p_accessControlPolicyIds ACP IDs for the Transaction
+		 * @param p_name Resource name
+		 */
+		template (value) Transaction_optional m_contentCreateTransaction (	in template (value) RequestPrimitive p_requestPrimitive ,
+																			in template (omit) XSD.String p_name := c_defaultTransactionMgmtResourceName,
+																			in template (omit) TransactionControl p_transactionControl := int2) := {
+			resourceName := p_name,//O  p_name
+			resourceType := omit,//NP
+			resourceID := omit,//NP
+			parentID := omit,//NP
+			accessControlPolicyIDs := omit,//O
+			creationTime := omit,//NP
+			lastModifiedTime := omit,//NP
+			labels := omit,//O
+			expirationTime := omit,//O
+			dynamicAuthorizationConsultationIDs := omit, //O
+			creator := omit, //O
+			transactionID := omit,
+			transactionControl := p_transactionControl,
+			transactionState := omit,
+			transactionLockTime := omit, //O
+			transactionExecuteTime := omit, //O
+			transactionCommitTime := omit, //O
+			transactionLockType := omit, //O
+			requestPrimitive := p_requestPrimitive, //M p_requestPrimitives
+			responsePrimitive := omit, //NP
+			choice := omit//NP
+		};   
+		
 		/**
 		 * @desc Base template primitiveContent for CREATE operation for PrimitveProfile resource
 		 */
@@ -3598,12 +3708,12 @@ module OneM2M_Templates {
 			applicability := RESPONSES_FROM_CSE
 		};
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for Schedule resource
-    	 * @param p_scheduleElement Schedule
-    	 * @param p_name Resource name
-    	 */
-    	template (value) Schedule_optional m_contentCreateSchedule (in template (value) ScheduleEntries p_scheduleElement := {{"* * * * * * *"}},
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Schedule resource
+		 * @param p_scheduleElement Schedule
+		 * @param p_name Resource name
+		 */
+		template (value) Schedule_optional m_contentCreateSchedule (in template (value) ScheduleEntries p_scheduleElement := {{"* * * * * * *"}},
 																	in template (omit) XSD.String p_name := c_defaultScheduleResourceName) := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -3620,7 +3730,7 @@ module OneM2M_Templates {
 			scheduleElement := p_scheduleElement,//M
 			networkCoordinated := omit,//O
 			choice := omit//NP
-    	};  
+		};  
     	
 		/**
 		 * @desc Base primitiveContent for CREATE operation for ScheduleAnnc resource
@@ -3663,7 +3773,7 @@ module OneM2M_Templates {
 		};  	
     	
 		template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs, in ListOfM2MID p_allowedUsers) := {
-		  	resourceName := omit,//TODO TS-0004 7.4.29.1 2 Missing attribute
+			resourceName := omit,//TODO TS-0004 7.4.29.1 2 Missing attribute
 			resourceType := omit,//NP
 			resourceID := omit,//NP
 			parentID := omit,//NP
@@ -3672,7 +3782,7 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
 			applicableCredIDs := p_applicableCredIDs,//O
 			allowedApp_IDs := p_allowedAppIDs,//O
 			allowedAEs := p_allowedAEs,//O
@@ -3702,12 +3812,12 @@ module OneM2M_Templates {
 		};  
     	
 
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for Subscription resource
-    	 * @param p_notificationURI Notification URI
-    	 * @param p_name Resource name
-    	 */
-    	template (value) Subscription_optional m_contentCreateSubscription (in template (value) ListOfURIs p_notificationURI,
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Subscription resource
+		 * @param p_notificationURI Notification URI
+		 * @param p_name Resource name
+		 */
+		template (value) Subscription_optional m_contentCreateSubscription (in template (value) ListOfURIs p_notificationURI,
 																			in template (omit) XSD.String p_name := c_defaultSubscriptionResourceName) := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -3718,7 +3828,7 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
 			creator := omit,//O
 			eventNotificationCriteria := omit,//O
 			expirationCounter := omit,//O
@@ -3736,7 +3846,7 @@ module OneM2M_Templates {
 			subscriberURI := omit,//O
 			associatedCrossResourceSub := omit,//O
 			choice := omit//NP
-    	};   	
+		};   	
     	
     			
 		template (value) OntologyRepository_optional m_contentCreateOntologyRepository := {
@@ -3758,8 +3868,8 @@ module OneM2M_Templates {
 		};
 		
 		template (value) Ontology_optional m_contentCreateOntology(SemanticFormat p_ontologyFormat := int1, 
-                                                           // TO DO: May have to URI encode it
-		                                                   XSD.AnySimpleType p_ontologyContent := "https://git.onem2m.org/MAS/BaseOntology/raw/3_6_0/base_ontology.owl") := {
+														   // TO DO: May have to URI encode it
+														   XSD.AnySimpleType p_ontologyContent := "https://git.onem2m.org/MAS/BaseOntology/raw/3_6_0/base_ontology.owl") := {
 			resourceName := omit, //O
 			resourceType := omit,	//NP
 			resourceID := omit,	//NP
@@ -3773,15 +3883,15 @@ module OneM2M_Templates {
 			announcedAttribute := omit,	//O
 			dynamicAuthorizationConsultationIDs := omit, //O
 			creator := omit,	//O
-            description := omit, //O
-            ontologyFormat := p_ontologyFormat, //M
-            ontologyContent := p_ontologyContent, //M
-            semanticOpExec := omit, //O
-            choice := omit//O
+			description := omit, //O
+			ontologyFormat := p_ontologyFormat, //M
+			ontologyContent := p_ontologyContent, //M
+			semanticOpExec := omit, //O
+			choice := omit//O
 		};
 
     			
-    	/**
+		/**
 		 * @desc 	Base primitiveContent for CREATE operation for SemanticDescriptor resource
 		 */
 		template (value) SemanticDescriptor_optional m_contentCreateSemanticDescriptor := {			
@@ -3836,14 +3946,14 @@ module OneM2M_Templates {
 			choice := *//O
 		} 		
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for SemanticMashupJobProfile resource
-    	 * @param TODO 
-    	 * @param TODO
-    	 */   	
+		/**
+		 * @desc Base primitiveContent for CREATE operation for SemanticMashupJobProfile resource
+		 * @param TODO 
+		 * @param TODO
+		 */   	
 		template SemanticMashupJobProfile_optional m_contentCreateSemanticMashupJobProfile (in template (value) Sparql p_memberFilter,
-		                                                                                    in template (value) XSD.Base64Binary p_outputDescriptor, 
-		                                                                                    in template (value) XSD.Base64Binary p_functionDescriptor)  := {		
+																							in template (value) XSD.Base64Binary p_outputDescriptor, 
+																							in template (value) XSD.Base64Binary p_functionDescriptor)  := {		
 			resourceName := omit,	//O
 			resourceType := omit,	//NP
 			resourceID := omit,	//NP
@@ -3891,14 +4001,14 @@ module OneM2M_Templates {
     	
     	
     	
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for SemanticMashupInstance resource
-    	 */    	
-  		template SemanticMashupInstance_optional m_contentCreateSemanticMashupInstance (in XSD.AnyURI p_smjpID,
-		                                                                                in XSD.Base64Binary p_smjpInputParameter,
-		                                                                                in MashupMemberStoreType p_memberStoreType,
-		                                                                                in MashupResultGenType p_mashupMember)  := {
-  			resourceName := omit,	//O
+		/**
+		 * @desc Base primitiveContent for CREATE operation for SemanticMashupInstance resource
+		 */    	
+		template SemanticMashupInstance_optional m_contentCreateSemanticMashupInstance (in XSD.AnyURI p_smjpID,
+																						in XSD.Base64Binary p_smjpInputParameter,
+																						in MashupMemberStoreType p_memberStoreType,
+																						in MashupResultGenType p_mashupMember)  := {
+			resourceName := omit,	//O
 			resourceType := omit,	//NP
 			resourceID := omit,	//NP
 			parentID := omit,	//NP
@@ -3923,8 +4033,8 @@ module OneM2M_Templates {
 		 * @desc Base reception template primitiveContent for CREATE operation for SemanticMashupInstance resource
 		 * @param NULL
 		 */    	
-  		template SemanticMashupInstance_optional mw_contentCreateSemanticMashupInstanceBase  := {
-  			resourceName := *,	//O
+		template SemanticMashupInstance_optional mw_contentCreateSemanticMashupInstanceBase  := {
+			resourceName := *,	//O
 			resourceType := omit,	//NP
 			resourceID := omit,	//NP
 			parentID := omit,	//NP
@@ -4008,7 +4118,7 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := *,//O
-    		dynamicAuthorizationConsultationIDs := *, //O
+			dynamicAuthorizationConsultationIDs := *, //O
 			creator := *,//O
 			eventNotificationCriteria := *,//O
 			expirationCounter := *,//O
@@ -4036,7 +4146,7 @@ module OneM2M_Templates {
 																					in template (omit) XSD.Boolean p_latestNotify,
 																					in template (omit) XSD.AnyURI p_subscriberURI,
 																					in template (omit) NotificationContentType p_notificationContentType,
-		                                                                            in template (omit) PendingNotification p_pendingNotification) modifies m_contentCreateSubscription := {
+																					in template (omit) PendingNotification p_pendingNotification) modifies m_contentCreateSubscription := {
 			eventNotificationCriteria := p_eventNotificationCriteria,//O
 			expirationCounter := p_expirationCounter,//O
 			batchNotify := p_batchNotify,//O
@@ -4074,11 +4184,11 @@ 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") := {
+		/**
+		 * @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") := {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -4199,13 +4309,13 @@ module OneM2M_Templates {
 		};
 		
 		
-    	/**
-    	 * @desc Base primitiveContent for CREATE operation for Container resource
-    	 * @param p_name Resource name
-    	 */
-    	template (value) Container_optional m_contentCreateContainer (in template (omit) XSD.String p_name := c_defaultContainerResourceName) modifies m_contentCreateContainerBase:= {
+		/**
+		 * @desc Base primitiveContent for CREATE operation for Container resource
+		 * @param p_name Resource name
+		 */
+		template (value) Container_optional m_contentCreateContainer (in template (omit) XSD.String p_name := c_defaultContainerResourceName) modifies m_contentCreateContainerBase:= {
 			resourceName := p_name//O
-    	};
+		};
     	
 		/**
 		 * @desc Base primitiveContent for CREATE operation for Container resource
@@ -4499,26 +4609,26 @@ module OneM2M_Templates {
 		};
     	
 		template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) ListOfDuration p_locationUpdatePeriod, in template (omit) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) := {
-    	  	resourceName 				:= c_defaultLocationPolicyResourceName, //O
-    	  	resourceType				:= omit, //NP
-    	    resourceID					:= omit, //NP
-    	    parentID					:= omit, //NP
-    	  	creationTime				:= omit, //NP
-    	  	lastModifiedTime			:= omit, //NP
-    	  	labels 						:= PX_LABELS,//O
-    	  	accessControlPolicyIDs 	:= p_accessControlPolicyIds, //O
- 	  	  	expirationTime 			:= omit, //O
-      		dynamicAuthorizationConsultationIDs := omit, //O
-    	  	announceTo 				:= omit, 				   //O
-    	  	announcedAttribute		:= omit, 			      //O
-    		locationSource 			:= p_locationSource, //M
-    		locationInformationType := omit,//O
-    		locationUpdatePeriod 		:= p_locationUpdatePeriod, //O
-    		locationTargetID 			:= p_locationTargetID, 	//O
-    		locationServer 			:= p_locationServerAddress,//O
-    		locationContainerID		:= omit,    		   //NP
-    		locationContainerName 	:= PX_LOCATION_CONTAINER_NAME,//O    		
-    	  	locationStatus				:= omit,              //NP
+			resourceName 				:= c_defaultLocationPolicyResourceName, //O
+			resourceType				:= omit, //NP
+			resourceID					:= omit, //NP
+			parentID					:= omit, //NP
+			creationTime				:= omit, //NP
+			lastModifiedTime			:= omit, //NP
+			labels 						:= PX_LABELS,//O
+			accessControlPolicyIDs 	:= p_accessControlPolicyIds, //O
+			expirationTime 			:= omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
+			announceTo 				:= omit, 				   //O
+			announcedAttribute		:= omit, 			      //O
+			locationSource 			:= p_locationSource, //M
+			locationInformationType := omit,//O
+			locationUpdatePeriod 		:= p_locationUpdatePeriod, //O
+			locationTargetID 			:= p_locationTargetID, 	//O
+			locationServer 			:= p_locationServerAddress,//O
+			locationContainerID		:= omit,    		   //NP
+			locationContainerName 	:= PX_LOCATION_CONTAINER_NAME,//O    		
+			locationStatus				:= omit,              //NP
 			geographicalTargetArea := omit, //O
 			geofenceEventCriteria := omit, //O
 			authID := omit, //O
@@ -4526,7 +4636,7 @@ module OneM2M_Templates {
 			locationUpdateEventCriteria := omit, //O
 			choice 					:= omit  	         //NP
     	   	  	
-    	};
+		};
     	
 		template (value) LocationPolicy_optional m_contentCreateLocationPolicyBase := {
 				resourceName 				:= c_defaultLocationPolicyResourceName, //O
@@ -4586,34 +4696,34 @@ module OneM2M_Templates {
 		  retrieveLastKnownLocation := omit, //O
 		  locationUpdateEventCriteria := omit, //O
 		  choice := omit//NP
-	    };
+		};
     	
-    	template (value) Notification m_contentCreateNotification (in template (value) Representation p_resourcePresentation, 
-    																in template (omit) NotificationEventType p_notifEventType, 
-    																in template (omit) XSD.AnyURI p_subReference, 
-    																in template (omit) XSD.AnyURI p_notifForwardingURI) := {
-    	  notificationEvent := {
-    	    representation := p_resourcePresentation,
-        	operationMonitor := {
-        		operation := omit,
-        	    originator := omit
-        	},
-        	notificationEventType := p_notifEventType    	    
-    	  },
-    	  verificationRequest := omit,
-    	  subscriptionDeletion := omit,
-    	  subscriptionReference := p_subReference,
-    	  creator := omit,
-    	  notificationForwardingURI := p_notifForwardingURI,
+		template (value) Notification m_contentCreateNotification (in template (value) Representation p_resourcePresentation, 
+																	in template (omit) NotificationEventType p_notifEventType, 
+																	in template (omit) XSD.AnyURI p_subReference, 
+																	in template (omit) XSD.AnyURI p_notifForwardingURI) := {
+		  notificationEvent := {
+			representation := p_resourcePresentation,
+			operationMonitor := {
+				operation := omit,
+				originator := omit
+			},
+			notificationEventType := p_notifEventType    	    
+		  },
+		  verificationRequest := omit,
+		  subscriptionDeletion := omit,
+		  subscriptionReference := p_subReference,
+		  creator := omit,
+		  notificationForwardingURI := p_notifForwardingURI,
 		  notificationTarget := omit,
 		  targetRemovalRequest := omit,
 		  targetRemovalAllowance := omit,
-    	  iPEDiscoveryRequest := omit,
+		  iPEDiscoveryRequest := omit,
 		  aERegistrationPointChange := omit,
 		  aEReferenceIDChange := omit,
 		  trackingID1 := omit,
 		  trackingID2 := omit
-    	};
+		};
     			
 		/**
 		 * @desc  primitiveContent for CREATE operation for SemanticDescriptor resource, with specific OntologyRef
@@ -4647,33 +4757,33 @@ module OneM2M_Templates {
 		* @desc Base primitiveContent for CREATE operation for EventConfig resource
 		*/
 		template (value) EventConfig_optional m_contentCreateEventConfigBase := {
-            resourceName                        := omit,  //O
-	        resourceType                        := omit, //NP
-	        resourceID                          := omit, //NP
-	        parentID                            := omit, //NP
+			resourceName                        := omit,  //O
+			resourceType                        := omit, //NP
+			resourceID                          := omit, //NP
+			parentID                            := omit, //NP
 			accessControlPolicyIDs              := omit, //O
-	        creationTime                        := omit, //NP
+			creationTime                        := omit, //NP
 			expirationTime                      := omit, //O
-	        lastModifiedTime                    := omit, //NP
-	        labels                              := omit, //O
-	        dynamicAuthorizationConsultationIDs := omit, //O
-	        creator                             := omit, //O
-	        eventID                             := omit, //NP
-	        eventType                           := omit, //M
-	        eventStart                          := omit, //O
-	        eventEnd                            := omit, //O
-	        operationType                       := omit, //O
-	        dataSize                            := omit, //O
-	        eventResourceTypes                  := omit, //O
-	        eventResourceIDs                    := omit, //O
-            choice                              := omit  //NP
-		};
-		
-		    /**
+			lastModifiedTime                    := omit, //NP
+			labels                              := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
+			creator                             := omit, //O
+			eventID                             := omit, //NP
+			eventType                           := omit, //M
+			eventStart                          := omit, //O
+			eventEnd                            := omit, //O
+			operationType                       := omit, //O
+			dataSize                            := omit, //O
+			eventResourceTypes                  := omit, //O
+			eventResourceIDs                    := omit, //O
+			choice                              := omit  //NP
+		};
+		
+			/**
 			 * @desc primitiveContent for CREATE operation for TIMERBASED EventConfig resource
 			 */
 		template (value) EventConfig_optional m_contentCreateEventConfigTimerBased (in template (omit) Timestamp p_eventStart,
-																			        in template (omit) Timestamp p_eventEnd) := {
+																					in template (omit) Timestamp p_eventEnd) := {
 			resourceName                        := c_defaultEventConfigResourceName,  //O
 			resourceType                        := omit, //NP
 			resourceID                          := omit, //NP
@@ -4776,7 +4886,7 @@ module OneM2M_Templates {
 			choice 					:= omit  	         //NP
 		};
 		
-		    /**
+			/**
 			 * @desc Base primitiveContent for CREATE operation for M2mServiceSubscriptionProfile resource
 			 * @param p_primitiveContent Content for the M2mServiceSubscriptionProfile
 			 */
@@ -4792,27 +4902,27 @@ module OneM2M_Templates {
 			expirationTime 			    := omit, //O
 			dynamicAuthorizationConsultationIDs := omit, //O
 			M2M_Sub_ID                          := PX_M2M_SUB_ID, //M
-		    M2M_SS_ID                           := PX_M2M_SS_ID, //O
-		    Status                              := omit,   //NP
-		    Activate                            := true,  //M
-		    activationTime                      := omit, //NP
-		    deactivationTime                    := omit,  //NP
-		    serviceSubscriptionDuration         := omit,  //O
-		    currentNumAEs                       := omit, //NP
-		    maxNumAEs                           := 1,  //O
-		    maxNumNodes                         := 1,  //O
-		    maxNumBytes                         := 1,  //O
-		    maxRequestRate                      := 1, //O
-		    maxNumContainers                    := 1, //O
-		    maxNumInstancesPerContainer         := 1, //O
-		    maxNumTimeSeries                    := 1, //O
-		    maxNumInstancesPerTimeSeries        := 1, //O
-		    maxMembersPerGroup                  := 1, //O
-		    maxNotificationRate                 := omit, //O
-		    maxNumFlexContainers                := omit, //O
-		    maxNumInstancesPerFlexContainer     := omit, //O
-		    defaultAccessControlPrivileges      := omit, //O
-		    choice 					            := omit  //NP
+			M2M_SS_ID                           := PX_M2M_SS_ID, //O
+			Status                              := omit,   //NP
+			Activate                            := true,  //M
+			activationTime                      := omit, //NP
+			deactivationTime                    := omit,  //NP
+			serviceSubscriptionDuration         := omit,  //O
+			currentNumAEs                       := omit, //NP
+			maxNumAEs                           := 1,  //O
+			maxNumNodes                         := 1,  //O
+			maxNumBytes                         := 1,  //O
+			maxRequestRate                      := 1, //O
+			maxNumContainers                    := 1, //O
+			maxNumInstancesPerContainer         := 1, //O
+			maxNumTimeSeries                    := 1, //O
+			maxNumInstancesPerTimeSeries        := 1, //O
+			maxMembersPerGroup                  := 1, //O
+			maxNotificationRate                 := omit, //O
+			maxNumFlexContainers                := omit, //O
+			maxNumInstancesPerFlexContainer     := omit, //O
+			defaultAccessControlPrivileges      := omit, //O
+			choice 					            := omit  //NP
 		};
 		
 			/**
@@ -4897,7 +5007,7 @@ module OneM2M_Templates {
 		};
 		
 		/**
-         * @desc Base primitiveContent for CREATE operation for M2mServiceSubscriptionProfile resource
+		 * @desc Base primitiveContent for CREATE operation for M2mServiceSubscriptionProfile resource
 		 * @param p_primitiveContent Content for the M2mServiceSubscriptionProfile
 		 */
 		template (value) ServiceSubscribedUserProfile_optional m_contentCreateServiceSubscribedUserProfileMaxValue1 := {
@@ -4911,39 +5021,39 @@ module OneM2M_Templates {
 			accessControlPolicyIDs  	:= omit, //O
 			expirationTime 			    := omit, //O
 			dynamicAuthorizationConsultationIDs := omit, //O
-		    M2M_User_ID                         := PX_M2M_USER_ID, // M
-		    maxNumAEs                           := 1, // O
-		    maxNumNodes                         := 1, // O
-		    maxNumBytes                         := 1, // O
-		    maxRequestRate                      := 1, // O
-		    maxNumContainers                    := 1, // O
-		    maxNumInstancesPerContainer         := 1, // O
-		    maxNumTimeSeries                    := 1, // O
-		    maxNumInstancesPerTimeSeries        := 1, // O
-		    maxMembersPerGroup                  := 1, // O
-		    maxNotificationRate                 := 1, // O
-		    maxNumFlexContainers                := 1, // O
-		    maxNumInstancesPerFlexContainer     := 1, // O
-		    defaultAccessControlPrivileges      := omit // O
-		};
-		
-		/**
-         * @desc  primitiveContent for CREATE operation for M2mServiceSubscriptionProfile resource with higher maxNumAEs
+			M2M_User_ID                         := PX_M2M_USER_ID, // M
+			maxNumAEs                           := 1, // O
+			maxNumNodes                         := 1, // O
+			maxNumBytes                         := 1, // O
+			maxRequestRate                      := 1, // O
+			maxNumContainers                    := 1, // O
+			maxNumInstancesPerContainer         := 1, // O
+			maxNumTimeSeries                    := 1, // O
+			maxNumInstancesPerTimeSeries        := 1, // O
+			maxMembersPerGroup                  := 1, // O
+			maxNotificationRate                 := 1, // O
+			maxNumFlexContainers                := 1, // O
+			maxNumInstancesPerFlexContainer     := 1, // O
+			defaultAccessControlPrivileges      := omit // O
+		};
+		
+		/**
+		 * @desc  primitiveContent for CREATE operation for M2mServiceSubscriptionProfile resource with higher maxNumAEs
 		 * @param p_primitiveContent Content for the M2mServiceSubscriptionProfile
 		 */
 		template (value) ServiceSubscribedUserProfile_optional m_contentCreateServiceSubscribedUserProfileMaxValue2 modifies m_contentCreateServiceSubscribedUserProfileMaxValue1 := {
-		    maxNumAEs                           := 2, // O
-		    maxNumNodes                         := 2, // O
-		    maxNumBytes                         := 2, // O
-		    maxRequestRate                      := 2, // O
-		    maxNumContainers                    := 2, // O
-		    maxNumInstancesPerContainer         := 2, // O
-		    maxNumTimeSeries                    := 2, // O
-		    maxNumInstancesPerTimeSeries        := 2, // O
-		    maxMembersPerGroup                  := 2, // O
-		    maxNotificationRate                 := 2, // O
-		    maxNumFlexContainers                := 2, // O
-		    maxNumInstancesPerFlexContainer     := 2 // O
+			maxNumAEs                           := 2, // O
+			maxNumNodes                         := 2, // O
+			maxNumBytes                         := 2, // O
+			maxRequestRate                      := 2, // O
+			maxNumContainers                    := 2, // O
+			maxNumInstancesPerContainer         := 2, // O
+			maxNumTimeSeries                    := 2, // O
+			maxNumInstancesPerTimeSeries        := 2, // O
+			maxMembersPerGroup                  := 2, // O
+			maxNotificationRate                 := 2, // O
+			maxNumFlexContainers                := 2, // O
+			maxNumInstancesPerFlexContainer     := 2 // O
 		};
 		
 
@@ -5407,9 +5517,9 @@ module OneM2M_Templates {
 			ontologyRef := *,//O
 			contentSize := omit,//NP
 			nodeLink := *,//O
- 			currentMachineState := ?,//M 
+			currentMachineState := ?,//M 
 			machineStates := ?,//M
-		    currentJobState := *,//O
+			currentJobState := *,//O
 			jobStates := *,//O
 			progressPercentage := *,//O
 			choice := omit//NP
@@ -5659,7 +5769,7 @@ module OneM2M_Templates {
 			ontologyRef := *,//O
 			contentSize := omit,//NP
 			nodeLink := *,//O
-		 	waterFlowStrength := ?,//M
+			waterFlowStrength := ?,//M
 			choice := omit//NP
 		};
 
@@ -6026,7 +6136,7 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			appName := omit,//O
@@ -6144,7 +6254,7 @@ module OneM2M_Templates {
 			choice := omit//NP
 		};
 
-        /**
+		/**
 		 * @desc Base primitiveContent for UPDATE operation for Group resource
 		 */
 		template (value) Group_optional m_contentUpdateGroup := {
@@ -6157,7 +6267,7 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-	    	dynamicAuthorizationConsultationIDs := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			creator := omit,//NP
@@ -6229,7 +6339,7 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-	    	dynamicAuthorizationConsultationIDs := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			scheduleElement := omit,//O
@@ -6250,7 +6360,7 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
 			creator := omit,//NP
 			eventNotificationCriteria := omit,//O
 			expirationCounter := omit,//O
@@ -6283,7 +6393,7 @@ module OneM2M_Templates {
 			labels := omit,//O
 			accessControlPolicyIDs := omit,//O
 			expirationTime := omit,//O
-    		dynamicAuthorizationConsultationIDs := omit, //O
+			dynamicAuthorizationConsultationIDs := omit, //O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			stateTag := omit,//NP
@@ -6296,7 +6406,7 @@ module OneM2M_Templates {
 			currentByteSize := omit,//NP
 			locationID := omit,//O
 			ontologyRef := omit,//O
-    		disableRetrieval := omit, //NP
+			disableRetrieval := omit, //NP
 			choice := omit//NP
 		};
 		
@@ -6333,35 +6443,35 @@ module OneM2M_Templates {
 		};
 		
 		template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) := {
-    	  	resourceName 			:= omit,//NP
-    	  	resourceType			:= omit,//NP
-    	    resourceID				:= omit,//NP
-    	    parentID				:= omit,//NP
-    	  	creationTime			:= omit,//NP
-    	  	lastModifiedTime		:= omit,//NP
-    	  	labels 					:= PX_LABELS,//O
-    	  	accessControlPolicyIDs 	:= p_accessControlPolicyIds,//O
-    	  	expirationTime 			:= omit,//O    	  	
-    		dynamicAuthorizationConsultationIDs := omit, //O
-    	  	announceTo 				:= omit,//O
-    	  	announcedAttribute		:= omit,//O
-    		locationSource 			:= omit,//NP
+			resourceName 			:= omit,//NP
+			resourceType			:= omit,//NP
+			resourceID				:= omit,//NP
+			parentID				:= omit,//NP
+			creationTime			:= omit,//NP
+			lastModifiedTime		:= omit,//NP
+			labels 					:= PX_LABELS,//O
+			accessControlPolicyIDs 	:= p_accessControlPolicyIds,//O
+			expirationTime 			:= omit,//O    	  	
+			dynamicAuthorizationConsultationIDs := omit, //O
+			announceTo 				:= omit,//O
+			announcedAttribute		:= omit,//O
+			locationSource 			:= omit,//NP
 			locationInformationType := omit,//O
 			locationUpdatePeriod 	:= {p_locationUpdatePeriod}, //O
-    		locationTargetID 		:= omit, //NP
-    		locationServer 			:= omit, //NP
-    		locationContainerID		:= omit, //NP  
-    		locationContainerName 	:= PX_LOCATION_CONTAINER_NAME, //O    		 		
-    	  	locationStatus			:= omit, //NP
+			locationTargetID 		:= omit, //NP
+			locationServer 			:= omit, //NP
+			locationContainerID		:= omit, //NP  
+			locationContainerName 	:= PX_LOCATION_CONTAINER_NAME, //O    		 		
+			locationStatus			:= omit, //NP
 			geographicalTargetArea := omit, //O
 			geofenceEventCriteria := omit, //O
 			authID := omit, //O
 			retrieveLastKnownLocation := omit, //O
 			locationUpdateEventCriteria := omit, //O
 			choice 					:= omit  //NP	   	  	
-    	};
+		};
     	
-    	template (value) Node_optional m_contentUpdateNode := {
+		template (value) Node_optional m_contentUpdateNode := {
 			resourceName := omit,//NP
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -6382,9 +6492,9 @@ module OneM2M_Templates {
 			roamingStatus := omit,//O
 			networkID := omit,//O
 			choice := omit
-    	}
+		}
     	
-    	template (value) RemoteCSE_optional m_contentUpdateRemoteCSE := {
+		template (value) RemoteCSE_optional m_contentUpdateRemoteCSE := {
 			resourceName := omit,//NP
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -6415,10 +6525,10 @@ module OneM2M_Templates {
 			triggerEnable := omit,//O
 			activityPatternElements := omit,//O
 			choice := omit
-    	}
+		}
     	
-    	template (value) PrimitveProfile_optional m_contentUpdatePrimitiveProfile := {
-    		resourceName := omit, //O
+		template (value) PrimitveProfile_optional m_contentUpdatePrimitiveProfile := {
+			resourceName := omit, //O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
 			parentID := omit,//NP
@@ -6441,7 +6551,7 @@ module OneM2M_Templates {
 			modifications := omit,//O
 			applicability := omit,//O
 			choice := omit//NP
-    	}
+		}
     	
 		template (value) PrimitveProfile_optional m_contentUpdatePrimitiveProfileNonMutuallyExclusive modifies m_contentUpdatePrimitiveProfile := {
 			additions := {{"maxByteSize", "100"}}, //O
@@ -6480,7 +6590,7 @@ module OneM2M_Templates {
 			triggerEnable := omit,//O
 			activityPatternElements := omit,//O
 			choice := omit
-    	}
+		}
     	
 		template (value) ContainerAnnc_optional m_contentUpdateContainerAnnc := {
 			resourceName := omit,
@@ -6508,28 +6618,28 @@ module OneM2M_Templates {
 		
 		template (value) GroupAnnc_optional m_contentUpdateGroupAnnc := {
 			resourceName := omit,
-		  	resourceType := omit,
-		  	resourceID := omit,
-		  	parentID := omit,
-		  	creationTime := omit,
-		  	lastModifiedTime := omit,
-		  	labels := omit,
-		  	accessControlPolicyIDs := omit,
-		  	expirationTime := omit,
-		  	link := omit,
-		  	dynamicAuthorizationConsultationIDs := omit,
-		  	memberType := omit,
+			resourceType := omit,
+			resourceID := omit,
+			parentID := omit,
+			creationTime := omit,
+			lastModifiedTime := omit,
+			labels := omit,
+			accessControlPolicyIDs := omit,
+			expirationTime := omit,
+			link := omit,
+			dynamicAuthorizationConsultationIDs := omit,
+			memberType := omit,
 			specializationType := omit,
 			currentNrOfMembers := omit, 
-		  	maxNrOfMembers := omit,
-		  	memberIDs := omit, 
-		  	membersAccessControlPolicyIDs := omit,
-		  	memberTypeValidated := omit,
-		  	consistencyStrategy := omit, 
-		  	groupName := omit, 
-		  	semanticSupportIndicator := omit,
-		  	notifyAggregation := omit,
-		  	choice := omit
+			maxNrOfMembers := omit,
+			memberIDs := omit, 
+			membersAccessControlPolicyIDs := omit,
+			memberTypeValidated := omit,
+			consistencyStrategy := omit, 
+			groupName := omit, 
+			semanticSupportIndicator := omit,
+			notifyAggregation := omit,
+			choice := omit
 		};	
 		
     			
@@ -6732,6 +6842,57 @@ module OneM2M_Templates {
 			maxNumAEs                           := 0 // O
 		};
 		
+		template (value) TransactionMgmt_optional m_contentUpdateTransactionMgmt := {
+			resourceName := omit, //NP
+			resourceType := omit, //NP
+			resourceID := omit, //NP
+			parentID := omit, //NP
+			creationTime := omit, //NP
+			lastModifiedTime := omit, //NP
+			labels := omit, //NP
+			accessControlPolicyIDs := omit, //NP
+			expirationTime := omit, //NP
+			dynamicAuthorizationConsultationIDs := omit, //NP
+			creator := omit, //NP
+			transactionExpirationTime := omit, //NP
+			transactionMode := omit, //NP
+			transactionMaxRetries := omit, //NP
+			transactionMgmtHandling := omit, //NP
+			transactionLockTime := omit, //NP
+			transactionExecuteTime := omit, //NP
+			transactionCommitTime := omit, //NP
+			transactionLockType := omit, //NP
+			transactionControl := omit, //NP
+			transactionState := omit, //NP
+			requestPrimitives := omit, //NP
+			responsePrimitives := omit, //NP
+			choice := omit //NP 
+		};
+		
+		
+		template (value) Transaction_optional m_contentUpdateTransaction := {
+			resourceName := omit, //NP
+			resourceType := omit, //NP
+			resourceID := omit, //NP
+			parentID := omit, //NP
+			creationTime := omit, //NP
+			lastModifiedTime := omit, //NP
+			labels := omit, //NP
+			accessControlPolicyIDs := omit, //NP
+			expirationTime := omit, //NP
+			dynamicAuthorizationConsultationIDs := omit, //NP
+			creator := omit, //NP
+			transactionID := omit, //NP
+			transactionLockTime := omit, //NP
+			transactionExecuteTime := omit, //NP
+			transactionCommitTime := omit, //NP
+			transactionLockType := omit, //NP
+			transactionControl := omit, //NP
+			transactionState := omit, //NP
+			requestPrimitive := omit, //NP
+			responsePrimitive := omit, //NP
+			choice := omit //NP 
+		};
 		
 	}//end group ContentUpdate
 	
@@ -6783,7 +6944,7 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-    		dynamicAuthorizationConsultationIDs := *, //O
+			dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			appName := *,//O
@@ -6900,7 +7061,7 @@ module OneM2M_Templates {
 		};
 		
 
-        template AEAnnc_optional mw_contentAeAnnc_any := {
+		template AEAnnc_optional mw_contentAeAnnc_any := {
 			resourceName := *,//M
 			resourceType := *,//M
 			resourceID := *,//M
@@ -6930,7 +7091,7 @@ module OneM2M_Templates {
 			choice := *//O
 		};
 
-        template AccessControlPolicy_optional mw_contentAcpBase := {
+		template AccessControlPolicy_optional mw_contentAcpBase := {
 			resourceName := ?,//M
 			resourceType := ?,//M
 			resourceID := ?,//M
@@ -7057,7 +7218,7 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-    		dynamicAuthorizationConsultationIDs := *, //O
+			dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			creator := *,//O
@@ -7481,7 +7642,7 @@ module OneM2M_Templates {
 																				  Timestamp p_creationTime := "21001231T012345",
 																				  Timestamp p_lastModifiedTime := "21001231T012345",
 																				  XSD.AnyURI p_smjpID := "NotInitialized",
-		                                                                          MashupMemberStoreType p_memberStoreType := int1,
+																				  MashupMemberStoreType p_memberStoreType := int1,
 																				  MashupResultGenType p_resultGenType := int1 ) := {  //when SMI is created
 
 			resourceType := int41, //M
@@ -7530,7 +7691,7 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-    		dynamicAuthorizationConsultationIDs := *, //O
+			dynamicAuthorizationConsultationIDs := *, //O
 			creator := *,//O
 			eventNotificationCriteria := *,//O
 			expirationCounter := *,//O
@@ -7559,7 +7720,7 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := *,//M
-		    dynamicAuthorizationConsultationIDs := *, //O
+			dynamicAuthorizationConsultationIDs := *, //O
 			creator := *,//O
 			eventNotificationCriteria := *,//O
 			expirationCounter := *,//O
@@ -7701,7 +7862,7 @@ module OneM2M_Templates {
 			labels := *,//O
 			accessControlPolicyIDs := *,//O
 			expirationTime := ?,//M
-    		dynamicAuthorizationConsultationIDs := *, //O
+			dynamicAuthorizationConsultationIDs := *, //O
 			announceTo := *,//O
 			announcedAttribute := *,//O
 			stateTag := ?,//M
@@ -8763,7 +8924,7 @@ module OneM2M_Templates {
 			releaseVersionIndicator := ?,
 			vendorInformation := *
 			
-    	};
+		};
     	
 		template ResponsePrimitive mw_responsePrimitiveInverse(ResponseStatusCode p_statusCode) := {
 			responseStatusCode := complement(p_statusCode),
@@ -8784,7 +8945,7 @@ module OneM2M_Templates {
 			
 		};
     	
-    	template ResponsePrimitive mw_responsePrimitiveOK(in template PrimitiveContent p_content := *) := {
+		template ResponsePrimitive mw_responsePrimitiveOK(in template PrimitiveContent p_content := *) := {
 			responseStatusCode := (int2000, int2001, int2002, int2004),
 			requestIdentifier := ?,
 			primitiveContent := p_content,
@@ -8800,10 +8961,10 @@ module OneM2M_Templates {
 			authorSignReqInfo := *,
 			releaseVersionIndicator := ?,
 			vendorInformation := *
-    	};
+		};
         		 
-    	template ResponsePrimitive mw_responsePrimitiveKO := {
- 			responseStatusCode := complement(int2000, int2001, int2002, int2004),
+		template ResponsePrimitive mw_responsePrimitiveKO := {
+			responseStatusCode := complement(int2000, int2001, int2002, int2004),
 			requestIdentifier := ?,
 			primitiveContent := *,
 			to_ := *,
@@ -8818,9 +8979,9 @@ module OneM2M_Templates {
 			authorSignReqInfo := *,
 			releaseVersionIndicator := ?,
 			vendorInformation := *
-    	};
+		};
     	
-    	template ResponsePrimitive mw_responsePollingResponse (template RequestPrimitive p_requestPrimitive := ?) := {
+		template ResponsePrimitive mw_responsePollingResponse (template RequestPrimitive p_requestPrimitive := ?) := {
 			responseStatusCode := int2000,
 			requestIdentifier := ?,
 			primitiveContent := {requestPrimitive := p_requestPrimitive},
@@ -9404,7 +9565,7 @@ module OneM2M_Templates {
 			}
 		}
 		
-	 	template (value) UtTriggerPrimitive m_utCreateDeviceThermostat modifies m_utCreate := {
+		template (value) UtTriggerPrimitive m_utCreateDeviceThermostat modifies m_utCreate := {
 			requestPrimitive := {
 				requestIdentifier := testcasename() & "-m_utCreateDeviceThermostat" & f_rnd(1, 1000000),
 				resourceType := int28,
diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index dbe01b90471c25b44e8eec3926c4d365f6f1615f..dd32ed5692fb554ea3cbbb820579ebfcb4584c64 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -16,7 +16,7 @@ module OneM2M_TypesAndValues {
 	import from OneM2M_Types_homeDevice all;
 
 	group ResourceNames {
-		/* Constants */	
+		/* Constants */
 		const XSD.String c_defaultResourceName := "MyResource";
 		const XSD.String c_defaultGroupResourceName := "MyGroupResource";
 		const XSD.String c_defaultGroupAnncResourceName := "MyGroupAnncResource";
@@ -53,9 +53,11 @@ module OneM2M_TypesAndValues {
 		const XSD.String c_defaultTokenResourceName := "MyTokenResource";
 		const XSD.String c_defaultGenericInterworkingServiceResourceName := "MyGenericInterworkingServiceResource"; //<genericInterworkingService>
 		const XSD.String c_defaultPrimitiveProfileceResourceName := "MyPrimitiveProfileResource";
-	const XSD.String c_defaultAe1ResourceName := "MyAe1";
-	const XSD.String c_defaultAe2ResourceName := "MyAe2";
-	const XSD.String c_defaultAcpResourceName := "MyAcp";
+		const XSD.String c_defaultTransactionMgmtResourceName := "MyTransactionMgmtResource";
+		const XSD.String c_defaultTransactionResourceName := "MyTransactionResource";
+		const XSD.String c_defaultAe1ResourceName := "MyAe1";
+		const XSD.String c_defaultAe2ResourceName := "MyAe2";
+		const XSD.String c_defaultAcpResourceName := "MyAcp";
 		const charstring c_invalid_location_update_period	:= "-PT30M10S" ;//duration set to invalid value  (minus value)
 		const XSD.ID c_resourceShortNameLatest := "la";		//<latest>
 		const XSD.ID c_resourceShortNameOldest := "ol";		//<oldest>
@@ -68,70 +70,70 @@ module OneM2M_TypesAndValues {
 	}
 	
 	group AccessControlOperations {
-	//AccessControlOperations
-	const XSD.Integer c_C   := 1;
-	const XSD.Integer c_R   := 2; 
-	const XSD.Integer c_CR   := 3; 
-	const XSD.Integer c_U   := 4; 
-	const XSD.Integer c_CU   := 5; 
-	const XSD.Integer c_RU   := 6; 
-	const XSD.Integer c_CRU   := 7; 
-	const XSD.Integer c_D   := 8;
-	const XSD.Integer c_CD   := 9; 
-	const XSD.Integer c_RD   := 10; 
-	const XSD.Integer c_CRD   := 11; 
-	const XSD.Integer c_UD   := 12; 
-	const XSD.Integer c_CUD   := 13; 
-	const XSD.Integer c_RUD   := 14; 
-	const XSD.Integer c_CRUD   := 15; 
-	const XSD.Integer c_N   := 16;
-	const XSD.Integer c_CN   := 17; 
-	const XSD.Integer c_RN   := 18; 
-	const XSD.Integer c_CRN   := 19; 
-	const XSD.Integer c_UN   := 20;
-	const XSD.Integer c_CUN   := 21; 
-	const XSD.Integer c_RUN   := 22; 
-	const XSD.Integer c_CRUN   := 23; 
-	const XSD.Integer c_DN   := 24;
-	const XSD.Integer c_CDN   := 25; 
-	const XSD.Integer c_RDN   := 26; 
-	const XSD.Integer c_CRDN   := 27; 
-	const XSD.Integer c_UDN   := 28;
-	const XSD.Integer c_CUDN   := 29; 
-	const XSD.Integer c_RUDN   := 30; 
-	const XSD.Integer c_CRUDN   := 31; 
-	const XSD.Integer c_Di   := 32;
-	const XSD.Integer c_CDi   := 33; 
-	const XSD.Integer c_RDi   := 34; 
-	const XSD.Integer c_CRDi   := 35; 
-	const XSD.Integer c_UDi   := 36;
-	const XSD.Integer c_CUDi   := 37; 
-	const XSD.Integer c_RUDi   := 38; 
-	const XSD.Integer c_CRUDi   := 39; 
-	const XSD.Integer c_DDi   := 40;
-	const XSD.Integer c_CDDi   := 41; 
-	const XSD.Integer c_RDDi   := 42; 
-	const XSD.Integer c_CRDDi   := 43; 
-	const XSD.Integer c_UDDi  := 44;
-	const XSD.Integer c_CUDDi   := 45; 
-	const XSD.Integer c_RUDDi   := 46; 
-	const XSD.Integer c_CRUDDi   := 47; 
-	const XSD.Integer c_NDi   := 48;
-	const XSD.Integer c_CNDi   := 49; 
-	const XSD.Integer c_RNDi   := 50; 
-	const XSD.Integer c_CRNDi   := 51; 
-	const XSD.Integer c_UNDi   := 52;
-	const XSD.Integer c_CUNDi   := 53; 
-	const XSD.Integer c_RUNDi   := 54; 
-	const XSD.Integer c_CRUNDi   := 55; 
-	const XSD.Integer c_DNDi   := 56;
-	const XSD.Integer c_CDNDi   := 57; 
-	const XSD.Integer c_RDNDi   := 58; 
-	const XSD.Integer c_CRDNDi   := 59; 
-	const XSD.Integer c_UDNDi   := 60;
-	const XSD.Integer c_CUDNDi   := 61; 
-	const XSD.Integer c_RUDNDi   := 62; 
-	const XSD.Integer c_CRUDNDi   := 63;	
+		//AccessControlOperations
+		const XSD.Integer c_C   := 1;
+		const XSD.Integer c_R   := 2;
+		const XSD.Integer c_CR   := 3;
+		const XSD.Integer c_U   := 4;
+		const XSD.Integer c_CU   := 5;
+		const XSD.Integer c_RU   := 6;
+		const XSD.Integer c_CRU   := 7;
+		const XSD.Integer c_D   := 8;
+		const XSD.Integer c_CD   := 9;
+		const XSD.Integer c_RD   := 10;
+		const XSD.Integer c_CRD   := 11;
+		const XSD.Integer c_UD   := 12;
+		const XSD.Integer c_CUD   := 13;
+		const XSD.Integer c_RUD   := 14;
+		const XSD.Integer c_CRUD   := 15;
+		const XSD.Integer c_N   := 16;
+		const XSD.Integer c_CN   := 17;
+		const XSD.Integer c_RN   := 18;
+		const XSD.Integer c_CRN   := 19;
+		const XSD.Integer c_UN   := 20;
+		const XSD.Integer c_CUN   := 21;
+		const XSD.Integer c_RUN   := 22;
+		const XSD.Integer c_CRUN   := 23;
+		const XSD.Integer c_DN   := 24;
+		const XSD.Integer c_CDN   := 25;
+		const XSD.Integer c_RDN   := 26;
+		const XSD.Integer c_CRDN   := 27;
+		const XSD.Integer c_UDN   := 28;
+		const XSD.Integer c_CUDN   := 29;
+		const XSD.Integer c_RUDN   := 30;
+		const XSD.Integer c_CRUDN   := 31;
+		const XSD.Integer c_Di   := 32;
+		const XSD.Integer c_CDi   := 33;
+		const XSD.Integer c_RDi   := 34;
+		const XSD.Integer c_CRDi   := 35;
+		const XSD.Integer c_UDi   := 36;
+		const XSD.Integer c_CUDi   := 37;
+		const XSD.Integer c_RUDi   := 38;
+		const XSD.Integer c_CRUDi   := 39;
+		const XSD.Integer c_DDi   := 40;
+		const XSD.Integer c_CDDi   := 41;
+		const XSD.Integer c_RDDi   := 42;
+		const XSD.Integer c_CRDDi   := 43;
+		const XSD.Integer c_UDDi  := 44;
+		const XSD.Integer c_CUDDi   := 45;
+		const XSD.Integer c_RUDDi   := 46;
+		const XSD.Integer c_CRUDDi   := 47;
+		const XSD.Integer c_NDi   := 48;
+		const XSD.Integer c_CNDi   := 49;
+		const XSD.Integer c_RNDi   := 50;
+		const XSD.Integer c_CRNDi   := 51;
+		const XSD.Integer c_UNDi   := 52;
+		const XSD.Integer c_CUNDi   := 53;
+		const XSD.Integer c_RUNDi   := 54;
+		const XSD.Integer c_CRUNDi   := 55;
+		const XSD.Integer c_DNDi   := 56;
+		const XSD.Integer c_CDNDi   := 57;
+		const XSD.Integer c_RDNDi   := 58;
+		const XSD.Integer c_CRDNDi   := 59;
+		const XSD.Integer c_UDNDi   := 60;
+		const XSD.Integer c_CUDNDi   := 61;
+		const XSD.Integer c_RUDNDi   := 62;
+		const XSD.Integer c_CRUDNDi   := 63;
 	}
 	
 /* ******************************************
@@ -153,13 +155,13 @@ module OneM2M_TypesAndValues {
 		union {
 			RequestPrimitive requestPrimitive,
 			ResponsePrimitive responsePrimitive
-		} primitive, 
+		} primitive,
 		charstring host optional,
-		charstring xmlNamespace optional, 
+		charstring xmlNamespace optional,
 		charstring protocolBinding optional,
 		charstring serialization optional,
 		AttributeAux_list forcedFields optional
-} 
+	}
 	
 	/**
 	 * @desc Type for the oneM2M primitives exchange
@@ -169,7 +171,7 @@ module OneM2M_TypesAndValues {
 		union {
 			RequestPrimitive requestPrimitive,
 			ResponsePrimitive responsePrimitive
-		} primitive, 
+		} primitive,
 		AttributeList_1 nullFields optional
 	}
 	
@@ -190,7 +192,7 @@ module OneM2M_TypesAndValues {
 	}
 	
 	type record UtTriggerPrimitive {
-		RequestPrimitive requestPrimitive, 
+		RequestPrimitive requestPrimitive,
 		AttributeAux_list forcedFields optional
 	}
 	with {
@@ -198,7 +200,7 @@ module OneM2M_TypesAndValues {
 	}
 		
 	type ResponsePrimitive UtTriggerAckPrimitive
-	with {			
+	with {
 		encode "UpperTester"
 	}
 	
@@ -212,7 +214,7 @@ module OneM2M_TypesAndValues {
 	group ESPrimConfiguration {
 	
 		/**
-		 * 
+		 *
 		 * @desc 8.4.2 Step E
 		 */
 		type enumerated PairwiseKeyMethod {
@@ -222,7 +224,7 @@ module OneM2M_TypesAndValues {
 		};
 		
 		/**
-		 * 
+		 *
 		 * @desc 8.4.2 Step E-A
 		 */
 		type enumerated Provisioned {
@@ -241,4443 +243,4529 @@ module OneM2M_TypesAndValues {
 
 /* Additional types */
 
-group OptionalResourceTypes {
+	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,
-		ListOfURIs authorizationDecisionResourceIDs optional,
-		ListOfURIs authorizationPolicyResourceIDs optional,
-		ListOfURIs authorizationInformationResourceIDs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 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,
+			ListOfURIs authorizationDecisionResourceIDs optional,
+			ListOfURIs authorizationPolicyResourceIDs optional,
+			ListOfURIs authorizationInformationResourceIDs optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 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,
-		ListOfURIs authorizationDecisionResourceIDs optional,
-		ListOfURIs authorizationPolicyResourceIDs optional,
-		ListOfURIs authorizationInformationResourceIDs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 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,
+			ListOfURIs authorizationDecisionResourceIDs optional,
+			ListOfURIs authorizationPolicyResourceIDs optional,
+			ListOfURIs authorizationInformationResourceIDs optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 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 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,
-		ExternalID m2M_Ext_ID optional,
-		SupportedReleaseVersions supportedReleaseVersions optional,
-		AERegistrationStatus registrationStatus optional,
-		XSD.Boolean trackRegistrationPoints optional,
-		SessionCapabilities sessionCapabilities optional,
-		XSD.Boolean triggerEnable optional,
-		ActivityPatternElements activityPatternElements 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,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				SemanticMashupInstance semanticMashupInstance,
-				MultimediaSession multimediaSession,
-				CrossResourceSubscription crossResourceSubscription,
-				TriggerRequest triggerRequest,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction,
-				PrimitveProfile primitiveProfile
-			} 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 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 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,
+			ExternalID m2M_Ext_ID optional,
+			SupportedReleaseVersions supportedReleaseVersions optional,
+			AERegistrationStatus registrationStatus optional,
+			XSD.Boolean trackRegistrationPoints optional,
+			SessionCapabilities sessionCapabilities optional,
+			XSD.Boolean triggerEnable optional,
+			ActivityPatternElements activityPatternElements 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,
+					SemanticDescriptor semanticDescriptor,
+					TimeSeries timeSeries,
+					Sg_flexContainerResource_group sg_flexContainerResource,
+					SemanticMashupInstance semanticMashupInstance,
+					MultimediaSession multimediaSession,
+					CrossResourceSubscription crossResourceSubscription,
+					TriggerRequest triggerRequest,
+					TransactionMgmt transactionMgmt,
+					Transaction transaction,
+					PrimitveProfile primitiveProfile
+				} 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,
-		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,
-		SupportedReleaseVersions supportedReleaseVersions optional,
-		AERegistrationStatus registrationStatus optional,
-		XSD.Boolean trackRegistrationPoints optional,
-		SessionCapabilities sessionCapabilities optional,
-		XSD.Boolean triggerEnable optional,
-		ActivityPatternElements activityPatternElements 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,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
-				SemanticMashupInstance semanticMashupInstance,
-				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
-				MultimediaSession multimediaSession,
-				MultimediaSessionAnnc multimediaSessionAnnc,
-				CrossResourceSubscription crossResourceSubscription,
-				TriggerRequest triggerRequest,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction
-			} 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 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,
+			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,
+			SupportedReleaseVersions supportedReleaseVersions optional,
+			AERegistrationStatus registrationStatus optional,
+			XSD.Boolean trackRegistrationPoints optional,
+			SessionCapabilities sessionCapabilities optional,
+			XSD.Boolean triggerEnable optional,
+			ActivityPatternElements activityPatternElements 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,
+					SemanticDescriptor semanticDescriptor,
+					TimeSeries timeSeries,
+					TimeSeriesAnnc timeSeriesAnnc,
+					Sg_flexContainerResource_group sg_flexContainerResource,
+					Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
+					SemanticMashupInstance semanticMashupInstance,
+					SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
+					MultimediaSession multimediaSession,
+					MultimediaSessionAnnc multimediaSessionAnnc,
+					CrossResourceSubscription crossResourceSubscription,
+					TriggerRequest triggerRequest,
+					TransactionMgmt transactionMgmt,
+					Transaction transaction
+				} 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 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,
-		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,
-				Transaction transaction
-			} 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 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,
+			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,
+					Transaction transaction
+				} 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 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 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,
-		XSD.AnyURI mgmtSchema 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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		MgmtDefinition mgmtDefinition optional,
-		ListOfURIs objectIDs optional,
-		ListOfURIs objectPaths optional,
-		XSD.String description optional,
-		XSD.AnyURI mgmtSchema optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
-	};
-
-	type record FlexContainerResource_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
-	};
-
-	type record AnnouncedFlexContainerResource_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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize,
-		XSD.AnyURI nodeLink optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
-	};
+		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 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,
+			XSD.AnyURI mgmtSchema optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant (resourceName) "attribute";
+			variant (announcedAttribute) "list";
+		};
 
-	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 dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		GeoCoordinates location optional,  //TODO Manually added until XSD files are updated
-		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,
-				TimeSeries timeSeries,
-				Transaction transaction
-			} 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 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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			MgmtDefinition mgmtDefinition optional,
+			ListOfURIs objectIDs optional,
+			ListOfURIs objectPaths optional,
+			XSD.String description optional,
+			XSD.AnyURI mgmtSchema optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant (resourceName) "attribute";
+		};
 
-	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,
-		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,
-		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,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				Transaction transaction
-			} 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 FlexContainerResource_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant (resourceName) "attribute";
+		};
 
-	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,
-		ContentRef contentRef optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnySimpleType content optional, 
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				SemanticDescriptor semanticDescriptor,
-				Transaction transaction
-			} 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 AnnouncedFlexContainerResource_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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize,
+			XSD.AnyURI nodeLink optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant (resourceName) "attribute";
+		};
 
-	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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				SemanticDescriptor semanticDescriptor,
-				Transaction transaction
-			} 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 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 dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			GeoCoordinates location optional,  //TODO Manually added until XSD files are updated
+			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,
+					TimeSeries timeSeries,
+					Transaction transaction
+				} 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 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,//TODO Remove inline type
-		PoaList pointOfAccess optional,
-		XSD.AnyURI nodeLink optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		SupportedReleaseVersions supportedReleaseVersions 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,
-				AuthorizationDecision_1 authorizationDecision,
-				AuthorizationPolicy authorizationPolicy,
-				AuthorizationInformation authorizationInformation,
-				OntologyRepository ontologyRepository,
-				SemanticMashupJobProfile semanticMashupJobProfile,
-				SemanticMashupInstance semanticMashupInstance,
-				AEContactList aEContactList,
-				LocalMulticastGroup localMulticastGroup,
-				CrossResourceSubscription crossResourceSubscription,
-				BackgroundDataTransfer backgroundDataTransfer,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction,
-				PrimitveProfile primitiveProfile
-			} 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 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,
+			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,
+			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,
+					TimeSeries timeSeries,
+					TimeSeriesAnnc timeSeriesAnnc,
+					Transaction transaction
+				} 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 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,
-		ListOfURIs dynamicAuthorizationConsultationIDs 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 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,
+			ContentRef contentRef optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnySimpleType content optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					SemanticDescriptor semanticDescriptor,
+					Transaction transaction
+				} 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 GenericInterworkingService_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.String serviceName optional,
-		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 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,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					SemanticDescriptor semanticDescriptor,
+					Transaction transaction
+				} 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 GenericInterworkingOperationInstance_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize 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,
-				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 dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		MemberType memberType optional,
-		SpecializationType specializationType optional,
-		XSD.NonNegativeInteger currentNrOfMembers optional,
-		XSD.PositiveInteger maxNrOfMembers optional,
-		record length(0 .. infinity) of XSD.AnyURI memberIDs optional,//TODO A list that can be empty
-		ListOfURIs membersAccessControlPolicyIDs optional,
-		XSD.Boolean memberTypeValidated optional,
-		ConsistencyStrategy consistencyStrategy optional,
-		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator optional,
-		BatchNotify notifyAggregation optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				Transaction transaction
-			} choice_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 (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_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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		MemberType memberType optional,
-		SpecializationType specializationType optional,
-		XSD.NonNegativeInteger currentNrOfMembers optional,
-		XSD.PositiveInteger maxNrOfMembers optional,
-		record of XSD.AnyURI memberIDs optional,
-		ListOfURIs membersAccessControlPolicyIDs optional,
-		XSD.Boolean memberTypeValidated optional,
-		ConsistencyStrategy consistencyStrategy optional,
-		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator optional,
-		BatchNotify notifyAggregation optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				SemanticDescriptorAnnc semanticDescriptorAnnc,
-				Transaction transaction
-			} 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_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		LocationSource locationSource optional,
-		LocationInformationType locationInformationType optional,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID locationTargetID optional,
-		XSD.AnyURI locationServer optional,
-		XSD.AnyURI locationContainerID optional,
-		XSD.String locationContainerName optional,
-		XSD.String locationStatus optional,
-		XSD.AnySimpleType geographicalTargetArea optional,//FIXME Use AnySimpleType instead
-		GeofenceEventCriteria geofenceEventCriteria optional,
-		ExternalID authID optional,
-		XSD.Boolean retrieveLastKnownLocation optional,
-		LocationUpdateEventCriteria locationUpdateEventCriteria optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 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,//TODO Remove inline type
+			PoaList pointOfAccess optional,
+			XSD.AnyURI nodeLink optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			Serializations contentSerialization optional,
+			E2eSecInfo e2eSecInfo optional,
+			SupportedReleaseVersions supportedReleaseVersions 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,
+					AuthorizationDecision_1 authorizationDecision,
+					AuthorizationPolicy authorizationPolicy,
+					AuthorizationInformation authorizationInformation,
+					OntologyRepository ontologyRepository,
+					SemanticMashupJobProfile semanticMashupJobProfile,
+					SemanticMashupInstance semanticMashupInstance,
+					AEContactList aEContactList,
+					LocalMulticastGroup localMulticastGroup,
+					CrossResourceSubscription crossResourceSubscription,
+					BackgroundDataTransfer backgroundDataTransfer,
+					TransactionMgmt transactionMgmt,
+					Transaction transaction,
+					PrimitveProfile primitiveProfile
+				} 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 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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		LocationSource locationSource optional,
-		LocationInformationType locationInformationType optional,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID locationTargetID optional,
-		XSD.AnyURI locationServer optional,
-		XSD.AnyURI locationContainerID optional,
-		XSD.String locationContainerName optional,
-		XSD.String locationStatus optional,
-		XSD.AnySimpleType geographicalTargetArea optional,//FIXME Use AnySimpleType instead
-		GeofenceEventCriteria geofenceEventCriteria optional,
-		ExternalID authID optional,
-		XSD.Boolean retrieveLastKnownLocation optional,
-		LocationUpdateEventCriteria locationUpdateEventCriteria optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
+		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,
+			ListOfURIs dynamicAuthorizationConsultationIDs 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 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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		//TODO To be removed/replaced by the type defined in XSDs
-		XSD.ID M2M_Sub_ID optional,
-		XSD.ID M2M_SS_ID optional,	
-		ServiceSubscriptionStatus Status optional ,
-		XSD.Boolean Activate optional,
-		Timestamp activationTime optional,
-		Timestamp deactivationTime optional,
-		XSD.Duration serviceSubscriptionDuration optional,
-		XSD.NonNegativeInteger currentNumAEs optional,
-		XSD.NonNegativeInteger maxNumAEs optional,
-		XSD.NonNegativeInteger maxNumNodes optional,
-		XSD.NonNegativeInteger maxNumBytes optional,
-		XSD.NonNegativeInteger maxRequestRate optional,
-		XSD.NonNegativeInteger maxNumContainers optional,
-		XSD.NonNegativeInteger maxNumInstancesPerContainer optional,
-		XSD.NonNegativeInteger maxNumTimeSeries optional,
-		XSD.NonNegativeInteger maxNumInstancesPerTimeSeries optional,
-		XSD.NonNegativeInteger maxMembersPerGroup optional,
-		XSD.NonNegativeInteger maxNotificationRate optional,
-		XSD.NonNegativeInteger maxNumFlexContainers optional,
-		XSD.NonNegativeInteger maxNumInstancesPerFlexContainer optional,
-		SetOfAcrs defaultAccessControlPrivileges optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ServiceSubscribedNode serviceSubscribedNode,
-				Subscription subscription,
-				Transaction transaction,
-				//TODO To be removed/replaced by the type defined in XSDs
-				ServiceSubscribedUserProfile_optional serviceSubscribedUserProfile
-			} 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_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.String serviceName optional,
+			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 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 dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		NodeID nodeID optional,
-		XSD.ID hostedCSELink optional,
-		ListOfM2MID hostedAELinks optional,
-		ListOfM2MID hostedServiceLinks optional,
-		XSD.String mgmtClientAddress optional,
-		XSD.Boolean roamingStatus optional,
-		XSD.String networkID 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,
-				Transaction transaction,
-				Schedule schedule
-			} 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 GenericInterworkingOperationInstance_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize 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,
+					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 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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		NodeID nodeID optional,
-		XSD.ID hostedCSELink optional,
-		ListOfM2MID hostedAELinks optional,
-		ListOfM2MID hostedServiceLinks optional,
-		XSD.String mgmtClientAddress optional,
-		XSD.Boolean roamingStatus optional,
-		XSD.String networkID 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,
-				Transaction transaction,
-				Schedule schedule
-			} 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 dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			MemberType memberType optional,
+			SpecializationType specializationType optional,
+			XSD.NonNegativeInteger currentNrOfMembers optional,
+			XSD.PositiveInteger maxNrOfMembers optional,
+			record length(0 .. infinity) of XSD.AnyURI memberIDs optional,//TODO A list that can be empty
+			ListOfURIs membersAccessControlPolicyIDs optional,
+			XSD.Boolean memberTypeValidated optional,
+			ConsistencyStrategy consistencyStrategy optional,
+			XSD.String groupName optional,
+			XSD.Boolean semanticSupportIndicator optional,
+			BatchNotify notifyAggregation optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					SemanticDescriptor semanticDescriptor,
+					Transaction transaction
+				} choice_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 (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 OntologyRepository_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Ontology ontology,
-				Transaction transaction
-			} 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 Ontology_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		XSD.String description optional,
-		SemanticFormat ontologyFormat optional,
-		XSD.AnySimpleType ontologyContent optional,//FIXME Use AnySimpleType instead
-		Sparql semanticOpExec optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			MemberType memberType optional,
+			SpecializationType specializationType optional,
+			XSD.NonNegativeInteger currentNrOfMembers optional,
+			XSD.PositiveInteger maxNrOfMembers optional,
+			record of XSD.AnyURI memberIDs optional,
+			ListOfURIs membersAccessControlPolicyIDs optional,
+			XSD.Boolean memberTypeValidated optional,
+			ConsistencyStrategy consistencyStrategy optional,
+			XSD.String groupName optional,
+			XSD.Boolean semanticSupportIndicator optional,
+			BatchNotify notifyAggregation optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					SemanticDescriptor semanticDescriptor,
+					SemanticDescriptorAnnc semanticDescriptorAnnc,
+					Transaction transaction
+				} 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 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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
+		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 dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			LocationSource locationSource optional,
+			LocationInformationType locationInformationType optional,
+			ListOfDuration locationUpdatePeriod optional,
+			LocationTargetID locationTargetID optional,
+			XSD.AnyURI locationServer optional,
+			XSD.AnyURI locationContainerID optional,
+			XSD.String locationContainerName optional,
+			XSD.String locationStatus optional,
+			XSD.AnySimpleType geographicalTargetArea optional,//FIXME Use AnySimpleType instead
+			GeofenceEventCriteria geofenceEventCriteria optional,
+			ExternalID authID optional,
+			XSD.Boolean retrieveLastKnownLocation optional,
+			LocationUpdateEventCriteria locationUpdateEventCriteria optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 PrimitveProfile_optional
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp creationTime optional,
-		Timestamp expirationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
-		ListOfM2MID IDList optional,
-		ResourceTypeList resourceTypes optional,
-		ListOfOperations operations optional,
-		ListOfURIs resourceIDs optional,
-		SupportedReleaseVersions releaseVersions optional,
-		ListOfAttributes additions optional,
-		AttributeList deletions optional,
-		ListOfAttributes modifications optional,
-		PrimitiveProfileApplicability applicability optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
+		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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			LocationSource locationSource optional,
+			LocationInformationType locationInformationType optional,
+			ListOfDuration locationUpdatePeriod optional,
+			LocationTargetID locationTargetID optional,
+			XSD.AnyURI locationServer optional,
+			XSD.AnyURI locationContainerID optional,
+			XSD.String locationContainerName optional,
+			XSD.String locationStatus optional,
+			XSD.AnySimpleType geographicalTargetArea optional,//FIXME Use AnySimpleType instead
+			GeofenceEventCriteria geofenceEventCriteria optional,
+			ExternalID authID optional,
+			XSD.Boolean retrieveLastKnownLocation optional,
+			LocationUpdateEventCriteria locationUpdateEventCriteria optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Transaction transaction
+				} choice_list
+			} choice 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 dynamicAuthorizationConsultationIDs 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,
-		XSD.UnsignedInt triggerReferenceNumber optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		ListOfM2MID descendantCSEs optional,
-		SupportedReleaseVersions supportedReleaseVersions optional,
-		MulticastCapability multicastCapability optional,
-		ExternalID externalGroupID optional,
-		XSD.Boolean triggerEnable optional,
-		ActivityPatternElements activityPatternElements 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,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				LocationPolicyAnnc locationPolicyAnnc,
-				AEAnnc aEAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
-				OntologyRepositoryAnnc ontologyRepositoryAnnc,
-				SemanticMashupJobProfile semanticMashupJobProfile,
-				SemanticMashupJobProfileAnnc semanticMashupJobProfileAnnc,
-				SemanticMashupInstance semanticMashupInstance,
-				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
-				CrossResourceSubscription crossResourceSubscription,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction,
-				PrimitveProfile primitiveProfile
-			} 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 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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			//TODO To be removed/replaced by the type defined in XSDs
+			XSD.ID M2M_Sub_ID optional,
+			XSD.ID M2M_SS_ID optional,
+			ServiceSubscriptionStatus Status optional ,
+			XSD.Boolean Activate optional,
+			Timestamp activationTime optional,
+			Timestamp deactivationTime optional,
+			XSD.Duration serviceSubscriptionDuration optional,
+			XSD.NonNegativeInteger currentNumAEs optional,
+			XSD.NonNegativeInteger maxNumAEs optional,
+			XSD.NonNegativeInteger maxNumNodes optional,
+			XSD.NonNegativeInteger maxNumBytes optional,
+			XSD.NonNegativeInteger maxRequestRate optional,
+			XSD.NonNegativeInteger maxNumContainers optional,
+			XSD.NonNegativeInteger maxNumInstancesPerContainer optional,
+			XSD.NonNegativeInteger maxNumTimeSeries optional,
+			XSD.NonNegativeInteger maxNumInstancesPerTimeSeries optional,
+			XSD.NonNegativeInteger maxMembersPerGroup optional,
+			XSD.NonNegativeInteger maxNotificationRate optional,
+			XSD.NonNegativeInteger maxNumFlexContainers optional,
+			XSD.NonNegativeInteger maxNumInstancesPerFlexContainer optional,
+			SetOfAcrs defaultAccessControlPrivileges optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					ServiceSubscribedNode serviceSubscribedNode,
+					Subscription subscription,
+					Transaction transaction,
+					//TODO To be removed/replaced by the type defined in XSDs
+					ServiceSubscribedUserProfile_optional serviceSubscribedUserProfile
+				} 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 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,
-		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,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		ListOfM2MID descendantCSEs optional,
-		SupportedReleaseVersions supportedReleaseVersions optional,
-		MulticastCapability multicastCapability optional,
-		ExternalID externalGroupID optional,
-		XSD.Boolean triggerEnable optional,
-		ActivityPatternElements activityPatternElements 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,
-				LocationPolicyAnnc locationPolicyAnnc,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				AEAnnc aEAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
-				OntologyRepositoryAnnc ontologyRepositoryAnnc,
-				SemanticMashupJobProfile semanticMashupJobProfile,
-				SemanticMashupJobProfileAnnc semanticMashupJobProfileAnnc,
-				SemanticMashupInstance semanticMashupInstance,
-				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
-				CrossResourceSubscription crossResourceSubscription,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction
-			} 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 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 dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			NodeID nodeID optional,
+			XSD.ID hostedCSELink optional,
+			ListOfM2MID hostedAELinks optional,
+			ListOfM2MID hostedServiceLinks optional,
+			XSD.String mgmtClientAddress optional,
+			XSD.Boolean roamingStatus optional,
+			XSD.String networkID 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,
+					Transaction transaction,
+					Schedule schedule
+				} 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 Schedule_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		ScheduleEntries scheduleElement optional,
-		XSD.Boolean networkCoordinated optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			NodeID nodeID optional,
+			XSD.ID hostedCSELink optional,
+			ListOfM2MID hostedAELinks optional,
+			ListOfM2MID hostedServiceLinks optional,
+			XSD.String mgmtClientAddress optional,
+			XSD.Boolean roamingStatus optional,
+			XSD.String networkID 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,
+					Transaction transaction,
+					Schedule schedule
+				} 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 ScheduleAnnc_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.AnyURI link optional,
-		ScheduleEntries scheduleElement optional,
-		XSD.Boolean networkCoordinated optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-
-	type record SemanticDescriptor_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		SemanticFormat descriptorRepresentation optional,
-		Sparql semanticOpExec optional,
-		XSD.Base64Binary descriptor optional,
-		XSD.AnyURI ontologyRef optional,
-		ListOfURIs relatedSemantics optional,
-		XSD.Boolean semanticValidated optional,
-		XSD.Boolean validationEnable optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 OntologyRepository_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,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Ontology ontology,
+					Transaction transaction
+				} 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 SemanticDescriptorAnnc_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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		SemanticFormat descriptorRepresentation optional,
-		Sparql semanticOpExec optional,
-		XSD.Base64Binary descriptor optional,
-		XSD.AnyURI ontologyRef optional,
-		ListOfURIs relatedSemantics optional,
-		XSD.Boolean semanticValidated optional,
-		XSD.Boolean validationEnable optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 SemanticMashupJobProfile_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		Sparql memberFilter optional,
-		ListOfURIs smiID optional,
-		XSD.Base64Binary inputDescriptor optional,
-		XSD.Base64Binary outputDescriptor optional,
-		XSD.Base64Binary functionDescriptor optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-
-	type record SemanticMashupInstance_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		XSD.AnyURI smjpID optional,
-		XSD.Base64Binary smjpInputParameter optional,
-		MashupMemberStoreType memberStoreType optional,
-		MashupMembers mashupMember optional,
-		MashupResultGenType resultGenType optional,
-		XSD.Duration periodForResultGen optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-
+		type record Ontology_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,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			XSD.String description optional,
+			SemanticFormat ontologyFormat optional,
+			XSD.AnySimpleType ontologyContent optional,//FIXME Use AnySimpleType instead
+			Sparql semanticOpExec optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 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,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Transaction transaction
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+		};
 
-	type record SemanticMashupResult_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,		
-		XSD.ID creator optional,
-		XSD.Base64Binary smjpInputParameter optional,
-		Serializations mashupResultFormat optional,
-		XSD.Base64Binary mashupResult optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
+		type record PrimitveProfile_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp creationTime optional,
+			Timestamp expirationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.ID creator optional,
+			ListOfM2MID IDList optional,
+			ResourceTypeList resourceTypes optional,
+			ListOfOperations operations optional,
+			ListOfURIs resourceIDs optional,
+			SupportedReleaseVersions releaseVersions optional,
+			ListOfAttributes additions optional,
+			AttributeList deletions optional,
+			ListOfAttributes modifications optional,
+			PrimitiveProfileApplicability applicability optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} choice_list
+			} choice 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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfM2MID applicableCredIDs optional,
-		ListOfM2MID allowedApp_IDs optional,
-		ListOfM2MID allowedAEs optional,
-		record length(1 .. infinity) of RoleID allowedRole_IDs optional,
-		// TODO: To update once oneM2MTypes is updated
-		ListOfM2MID allowedUsers optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} choice_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.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
+		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 dynamicAuthorizationConsultationIDs 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,
+			XSD.UnsignedInt triggerReferenceNumber optional,
+			Serializations contentSerialization optional,
+			E2eSecInfo e2eSecInfo optional,
+			ListOfM2MID descendantCSEs optional,
+			SupportedReleaseVersions supportedReleaseVersions optional,
+			MulticastCapability multicastCapability optional,
+			ExternalID externalGroupID optional,
+			XSD.Boolean triggerEnable optional,
+			ActivityPatternElements activityPatternElements 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,
+					TimeSeries timeSeries,
+					TimeSeriesAnnc timeSeriesAnnc,
+					LocationPolicyAnnc locationPolicyAnnc,
+					AEAnnc aEAnnc,
+					Sg_flexContainerResource_group sg_flexContainerResource,
+					Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
+					OntologyRepositoryAnnc ontologyRepositoryAnnc,
+					SemanticMashupJobProfile semanticMashupJobProfile,
+					SemanticMashupJobProfileAnnc semanticMashupJobProfileAnnc,
+					SemanticMashupInstance semanticMashupInstance,
+					SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
+					CrossResourceSubscription crossResourceSubscription,
+					TransactionMgmt transactionMgmt,
+					Transaction transaction,
+					PrimitveProfile primitiveProfile
+				} 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 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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		NodeID nodeID optional,
-		XSD.ID cSE_ID optional,
-		record of DeviceID deviceIdentifier optional,
-		ListOfURIs ruleLinks optional,
-		XSD.Boolean niddRequired optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} choice_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.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
+		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,
+			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,
+			Serializations contentSerialization optional,
+			E2eSecInfo e2eSecInfo optional,
+			ListOfM2MID descendantCSEs optional,
+			SupportedReleaseVersions supportedReleaseVersions optional,
+			MulticastCapability multicastCapability optional,
+			ExternalID externalGroupID optional,
+			XSD.Boolean triggerEnable optional,
+			ActivityPatternElements activityPatternElements 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,
+					LocationPolicyAnnc locationPolicyAnnc,
+					TimeSeries timeSeries,
+					TimeSeriesAnnc timeSeriesAnnc,
+					AEAnnc aEAnnc,
+					Sg_flexContainerResource_group sg_flexContainerResource,
+					Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
+					OntologyRepositoryAnnc ontologyRepositoryAnnc,
+					SemanticMashupJobProfile semanticMashupJobProfile,
+					SemanticMashupJobProfileAnnc semanticMashupJobProfileAnnc,
+					SemanticMashupInstance semanticMashupInstance,
+					SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
+					CrossResourceSubscription crossResourceSubscription,
+					TransactionMgmt transactionMgmt,
+					Transaction transaction
+				} 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";
+		};
 	
-    //TODO To be removed/replaced by the type defined in XSDs
-	type record ServiceSubscribedUserProfile_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.ID M2M_User_ID optional,
-		XSD.NonNegativeInteger maxNumAEs optional,
-		XSD.NonNegativeInteger maxNumNodes optional,
-		XSD.NonNegativeInteger maxNumBytes optional,
-		XSD.NonNegativeInteger maxRequestRate optional,
-		XSD.NonNegativeInteger maxNumContainers optional,
-		XSD.NonNegativeInteger maxNumInstancesPerContainer optional,
-		XSD.NonNegativeInteger maxNumTimeSeries optional,
-		XSD.NonNegativeInteger maxNumInstancesPerTimeSeries optional,
-		XSD.NonNegativeInteger maxMembersPerGroup optional,
-		XSD.NonNegativeInteger maxNotificationRate optional,
-		XSD.NonNegativeInteger maxNumFlexContainers optional,
-		XSD.NonNegativeInteger maxNumInstancesPerFlexContainer optional,
-		SetOfAcrs defaultAccessControlPrivileges optional
-	};
+		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 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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
-		XSD.String statsCollectID optional,
-		XSD.ID collectingEntityID optional,
-		ListOfM2MID 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 union {
-				Subscription subscription,
-				Transaction transaction
-			} 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,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			ScheduleEntries scheduleElement optional,
+			XSD.Boolean networkCoordinated optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 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,
-		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,
-				Transaction transaction
-			} 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 EventConfig_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.ID creator optional,
-		XSD.String eventID optional,
-		EventType eventType optional,
-		Timestamp eventStart optional,
-		Timestamp eventEnd optional,
-		record of Operation operationType optional,
-		XSD.NonNegativeInteger dataSize optional,
-		ResourceTypeList eventResourceTypes optional,
-		ListOfURIs eventResourceIDs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} choice_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.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,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.AnyURI link optional,
+			ScheduleEntries scheduleElement optional,
+			XSD.Boolean networkCoordinated optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Transaction transaction
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+		};
 
-	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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator 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.AnyURI subscriberURI optional,
-		ListOfURIs associatedCrossResourceSub optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Schedule schedule,
-				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
-				Transaction transaction
-			} 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 SemanticDescriptor_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,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			SemanticFormat descriptorRepresentation optional,
+			Sparql semanticOpExec optional,
+			XSD.Base64Binary descriptor optional,
+			XSD.AnyURI ontologyRef optional,
+			ListOfURIs relatedSemantics optional,
+			XSD.Boolean semanticValidated optional,
+			XSD.Boolean validationEnable optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 TimeSeries_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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute 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.PositiveInteger periodicInterval optional,
-		XSD.Boolean missingDataDetect optional,
-		XSD.PositiveInteger missingDataMaxNr optional,
-		MissingDataList missingDataList optional,
-		XSD.NonNegativeInteger missingDataCurrentNr optional,
-		XSD.PositiveInteger missingDataDetectTimer optional,
-		XSD.AnyURI ontologyRef optional,
-		ContentInfo contentInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				TimeSeriesInstance timeSeriesInstance,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				Transaction transaction
-			} 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 SemanticDescriptorAnnc_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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			SemanticFormat descriptorRepresentation optional,
+			Sparql semanticOpExec optional,
+			XSD.Base64Binary descriptor optional,
+			XSD.AnyURI ontologyRef optional,
+			ListOfURIs relatedSemantics optional,
+			XSD.Boolean semanticValidated optional,
+			XSD.Boolean validationEnable optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 SemanticMashupJobProfile_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,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			Sparql memberFilter optional,
+			ListOfURIs smiID optional,
+			XSD.Base64Binary inputDescriptor optional,
+			XSD.Base64Binary outputDescriptor optional,
+			XSD.Base64Binary functionDescriptor optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 
-	type record TimeSeriesAnnc_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,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.NonNegativeInteger currentNrOfInstances optional,
-		XSD.NonNegativeInteger currentByteSize optional,
-		XSD.PositiveInteger periodicInterval optional,
-		XSD.PositiveInteger missingDataMaxNr optional,
-		MissingDataList missingDataList optional,
-		XSD.NonNegativeInteger missingDataCurrentNr optional,
-		XSD.PositiveInteger missingDataDetectTimer optional,
-		XSD.AnyURI ontologyRef optional,
-		ContentInfo contentInfo 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,
-				Transaction transaction
-			} 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 TimeSeriesInstance_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,
-		AbsRelTimestamp dataGenerationTime optional,
-		XSD.AnySimpleType content optional,
-		XSD.NonNegativeInteger sequenceNr optional,
-		XSD.NonNegativeInteger contentSize  optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction,
-				SemanticDescriptor semanticDescriptor
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	};
+		type record SemanticMashupInstance_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,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			XSD.AnyURI smjpID optional,
+			XSD.Base64Binary smjpInputParameter optional,
+			MashupMemberStoreType memberStoreType optional,
+			MashupMembers mashupMember optional,
+			MashupResultGenType resultGenType optional,
+			XSD.Duration periodForResultGen optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 
 
-	type record TimeSeriesInstanceAnnc_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,
-		AbsRelTimestamp dataGenerationTime optional,
-		XSD.AnySimpleType content optional,
-		XSD.NonNegativeInteger sequenceNr optional,
-		XSD.NonNegativeInteger contentSize optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction,
-				SemanticDescriptor semanticDescriptor
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-		
-	type record DynamicAuthorizationConsultation_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.Boolean dynamicAuthorizationEnabled,
-		ListOfURIs dynamicAuthorizationPoA optional,
-		Timestamp dynamicAuthorizationLifetime optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  //variant (dynamicAuthorizationEnabled) "text 'true' as '1'";
-	  //variant (dynamicAuthorizationEnabled) "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 Role_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,
-		RoleID roleID optional,
-		XSD.ID issuer optional,
-		XSD.ID holder optional,
-		Timestamp notBefore optional,
-		Timestamp notAfter optional,
-		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,
-				Transaction transaction
-			} 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 SemanticMashupResult_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,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			XSD.Base64Binary smjpInputParameter optional,
+			Serializations mashupResultFormat optional,
+			XSD.Base64Binary mashupResult optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 
-	type record DeviceAirConditioner_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				RunState runState,
-				AirConJobMode airConJobMode,
-				AirConOperationMode airConOperationMode,
-				AirCleanOperationMode airCleanOperationMode,
-				Temperature temperature,
-				Timer timer_,
-				SleepTimer sleepTimer,
-				Turbo turbo,
-				AirFlow airFlow,
-				PowerSave powerSave,
-				AirQualitySensor airQualitySensor,
-				FilterInfo filterInfo,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
+		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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfM2MID applicableCredIDs optional,
+			ListOfM2MID allowedApp_IDs optional,
+			ListOfM2MID allowedAEs optional,
+			record length(1 .. infinity) of RoleID allowedRole_IDs optional,
+			// TODO: To update once oneM2MTypes is updated
+			ListOfM2MID allowedUsers optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} choice_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.choice_list) "untagged";
+			variant (choice.choice_list[-]) "untagged";
+		};
 
-	type record DeviceClothesWasherDryer_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				ClothesWasherDryerOperationMode clothesWasherDryerOperationMode,
-				RunState runState,
-				ClothesWasherDryerJobMode clothesWasherDryerJobMode,
-				ClothesWasherJobModeOption clothesWasherJobModeOption,
-				RemoteControlEnable remoteControlEnable,
-				Timer timer_,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
+		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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			NodeID nodeID optional,
+			XSD.ID cSE_ID optional,
+			record of DeviceID deviceIdentifier optional,
+			ListOfURIs ruleLinks optional,
+			XSD.Boolean niddRequired optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} choice_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.choice_list) "untagged";
+			variant (choice.choice_list[-]) "untagged";
+		};
 	
-	type record DeviceElectricVehicleCharger_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Battery battery,
-				ElectricVehicleConnector electricVehicleConnector,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}	
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
+		//TODO To be removed/replaced by the type defined in XSDs
+		type record ServiceSubscribedUserProfile_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.ID M2M_User_ID optional,
+			XSD.NonNegativeInteger maxNumAEs optional,
+			XSD.NonNegativeInteger maxNumNodes optional,
+			XSD.NonNegativeInteger maxNumBytes optional,
+			XSD.NonNegativeInteger maxRequestRate optional,
+			XSD.NonNegativeInteger maxNumContainers optional,
+			XSD.NonNegativeInteger maxNumInstancesPerContainer optional,
+			XSD.NonNegativeInteger maxNumTimeSeries optional,
+			XSD.NonNegativeInteger maxNumInstancesPerTimeSeries optional,
+			XSD.NonNegativeInteger maxMembersPerGroup optional,
+			XSD.NonNegativeInteger maxNotificationRate optional,
+			XSD.NonNegativeInteger maxNumFlexContainers optional,
+			XSD.NonNegativeInteger maxNumInstancesPerFlexContainer optional,
+			SetOfAcrs defaultAccessControlPrivileges optional
+		};
+
+		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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.ID creator optional,
+			XSD.String statsCollectID optional,
+			XSD.ID collectingEntityID optional,
+			ListOfM2MID 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 union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 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,
+			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,
+					Transaction transaction
+				} 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 DeviceLight_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Colour colour,
-				ColourSaturation colourSaturation,
-				Brightness brightness,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
+		type record EventConfig_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.ID creator optional,
+			XSD.String eventID optional,
+			EventType eventType optional,
+			Timestamp eventStart optional,
+			Timestamp eventEnd optional,
+			record of Operation operationType optional,
+			XSD.NonNegativeInteger dataSize optional,
+			ResourceTypeList eventResourceTypes optional,
+			ListOfURIs eventResourceIDs optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} choice_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.choice_list) "untagged";
+			variant (choice.choice_list[-]) "untagged";
+		};
 
-	type record DeviceMicrogeneration_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				EnergyGeneration energyGeneration,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
+		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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.ID creator 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.AnyURI subscriberURI optional,
+			ListOfURIs associatedCrossResourceSub optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Schedule schedule,
+					NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
+					Transaction transaction
+				} 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 DeviceOven_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Timer timer_,
-				Temperature temperature,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}	
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
+		type record TimeSeries_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,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute 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.PositiveInteger periodicInterval optional,
+			XSD.Boolean missingDataDetect optional,
+			XSD.PositiveInteger missingDataMaxNr optional,
+			MissingDataList missingDataList optional,
+			XSD.NonNegativeInteger missingDataCurrentNr optional,
+			XSD.PositiveInteger missingDataDetectTimer optional,
+			XSD.AnyURI ontologyRef optional,
+			ContentInfo contentInfo optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					TimeSeriesInstance timeSeriesInstance,
+					Subscription subscription,
+					SemanticDescriptor semanticDescriptor,
+					Transaction transaction
+				} 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 DeviceRefrigerator_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				PowerSave powerSave,
-				DoorStatus doorStatus,
-				FrozenTemperature frozenTemperature,
-				FridgeTemperature fridgeTemperature,
-				CustomTemperature customTemperature,
-				Refrigeration refrigeration,
-				ControlPanelLock controlPanelLock,
-				WaterFilterInfo waterFilterInfo,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}	
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
 
-	type record DeviceRobotCleaner_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				RunState runState,
-				RobotCleanerJobMode robotCleanerJobMode,
-				RobotCleanerOperationMode robotCleanerOperationMode,
-				Battery battery,
-				Timer timer_,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
+		type record TimeSeriesAnnc_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,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.NonNegativeInteger maxNrOfInstances optional,
+			XSD.NonNegativeInteger maxByteSize optional,
+			XSD.NonNegativeInteger maxInstanceAge optional,
+			XSD.NonNegativeInteger currentNrOfInstances optional,
+			XSD.NonNegativeInteger currentByteSize optional,
+			XSD.PositiveInteger periodicInterval optional,
+			XSD.PositiveInteger missingDataMaxNr optional,
+			MissingDataList missingDataList optional,
+			XSD.NonNegativeInteger missingDataCurrentNr optional,
+			XSD.PositiveInteger missingDataDetectTimer optional,
+			XSD.AnyURI ontologyRef optional,
+			ContentInfo contentInfo 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,
+					Transaction transaction
+				} 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 TimeSeriesInstance_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,
+			AbsRelTimestamp dataGenerationTime optional,
+			XSD.AnySimpleType content optional,
+			XSD.NonNegativeInteger sequenceNr optional,
+			XSD.NonNegativeInteger contentSize  optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Transaction transaction,
+					SemanticDescriptor semanticDescriptor
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+			variant (announcedAttribute) "list";
+		};
 
-	type record DeviceSmartElectricMeter_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Clock clock,
-				EnergyConsumption energyConsumption,
-				EnergyGeneration energyGeneration,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}	
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
 
-	type record DeviceStorageBattery_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Battery battery,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-	
-	type record DeviceTelevision_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				AudioVolume audioVolume,
-				TelevisionChannel televisionChannel,
-				PlayerControl playerControl,
-				MediaInput mediaInput,
-				MediaOutput mediaOutput,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-	
-	type record DeviceThermostat_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				RunState runState,
-				Timer timer_,
-				Temperature temperature,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};		
-	
-	type record DeviceWaterHeater_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Clock clock,
-				Boiler boiler,
-				HotWaterSupply hotWaterSupply,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
+		type record TimeSeriesInstanceAnnc_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,
+			AbsRelTimestamp dataGenerationTime optional,
+			XSD.AnySimpleType content optional,
+			XSD.NonNegativeInteger sequenceNr optional,
+			XSD.NonNegativeInteger contentSize optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Transaction transaction,
+					SemanticDescriptor semanticDescriptor
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+		};
+		
+		type record DynamicAuthorizationConsultation_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.Boolean dynamicAuthorizationEnabled,
+			ListOfURIs dynamicAuthorizationPoA optional,
+			Timestamp dynamicAuthorizationLifetime optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Subscription subscription,
+					Transaction transaction
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+			//variant (dynamicAuthorizationEnabled) "text 'true' as '1'";
+			//variant (dynamicAuthorizationEnabled) "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 Role_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,
+			RoleID roleID optional,
+			XSD.ID issuer optional,
+			XSD.ID holder optional,
+			Timestamp notBefore optional,
+			Timestamp notAfter optional,
+			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,
+					Transaction transaction
+				} 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 DeviceAirConditioner_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					BinarySwitch binarySwitch,
+					RunState runState,
+					AirConJobMode airConJobMode,
+					AirConOperationMode airConOperationMode,
+					AirCleanOperationMode airCleanOperationMode,
+					Temperature temperature,
+					Timer timer_,
+					SleepTimer sleepTimer,
+					Turbo turbo,
+					AirFlow airFlow,
+					PowerSave powerSave,
+					AirQualitySensor airQualitySensor,
+					FilterInfo filterInfo,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+
+		type record DeviceClothesWasherDryer_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					BinarySwitch binarySwitch,
+					ClothesWasherDryerOperationMode clothesWasherDryerOperationMode,
+					RunState runState,
+					ClothesWasherDryerJobMode clothesWasherDryerJobMode,
+					ClothesWasherJobModeOption clothesWasherJobModeOption,
+					RemoteControlEnable remoteControlEnable,
+					Timer timer_,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 	
-	type record BinarySwitch_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean powerState optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Toggle toggle,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
+		type record DeviceElectricVehicleCharger_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					FaultDetection faultDetection,
+					BinarySwitch binarySwitch,
+					RunState runState,
+					Battery battery,
+					ElectricVehicleConnector electricVehicleConnector,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+	
+		type record DeviceLight_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					FaultDetection faultDetection,
+					BinarySwitch binarySwitch,
+					RunState runState,
+					Colour colour,
+					ColourSaturation colourSaturation,
+					Brightness brightness,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 
-	type record FaultDetection_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean status optional,
-		XSD.Integer code optional,
-		XSD.String description 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";
-	};
+		type record DeviceMicrogeneration_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					FaultDetection faultDetection,
+					BinarySwitch binarySwitch,
+					RunState runState,
+					EnergyGeneration energyGeneration,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+	
+		type record DeviceOven_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					BinarySwitch binarySwitch,
+					RunState runState,
+					Timer timer_,
+					Temperature temperature,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 
-	type record RunState_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		EnumMachineState currentMachineState optional,
-		record of EnumMachineState machineStates optional,
-		EnumJobState currentJobState optional,
-		record of EnumJobState jobStates optional,
-		XSD.Float progressPercentage 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";
-	};
+		type record DeviceRefrigerator_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					BinarySwitch binarySwitch,
+					PowerSave powerSave,
+					DoorStatus doorStatus,
+					FrozenTemperature frozenTemperature,
+					FridgeTemperature fridgeTemperature,
+					CustomTemperature customTemperature,
+					Refrigeration refrigeration,
+					ControlPanelLock controlPanelLock,
+					WaterFilterInfo waterFilterInfo,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 
-	type record Battery_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Integer level optional,
-		XSD.Integer capacity optional,
-		XSD.Boolean charging optional,
-		XSD.Boolean discharging optional,
-		XSD.Boolean lowBattery optional,
-		XSD.Integer batteryThreshold optional,
-		XSD.Integer electricEnergy optional,
-		XSD.Integer voltage optional,
-		XSD.String material 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";
-	};
+		type record DeviceRobotCleaner_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					BinarySwitch binarySwitch,
+					RunState runState,
+					RobotCleanerJobMode robotCleanerJobMode,
+					RobotCleanerOperationMode robotCleanerOperationMode,
+					Battery battery,
+					Timer timer_,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 
-	type record ElectricVehicleConnector_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean status optional,
-		XSD.Integer chargingCapacity optional,
-		XSD.Integer dischargingCapacity 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";
-	};
+		type record DeviceSmartElectricMeter_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					FaultDetection faultDetection,
+					BinarySwitch binarySwitch,
+					RunState runState,
+					Clock clock,
+					EnergyConsumption energyConsumption,
+					EnergyGeneration energyGeneration,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+
+		type record DeviceStorageBattery_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					FaultDetection faultDetection,
+					BinarySwitch binarySwitch,
+					RunState runState,
+					Battery battery,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+	
+		type record DeviceTelevision_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					BinarySwitch binarySwitch,
+					AudioVolume audioVolume,
+					TelevisionChannel televisionChannel,
+					PlayerControl playerControl,
+					MediaInput mediaInput,
+					MediaOutput mediaOutput,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+	
+		type record DeviceThermostat_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					RunState runState,
+					Timer timer_,
+					Temperature temperature,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+	
+		type record DeviceWaterHeater_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					FaultDetection faultDetection,
+					BinarySwitch binarySwitch,
+					RunState runState,
+					Clock clock,
+					Boiler boiler,
+					HotWaterSupply hotWaterSupply,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+	
+		type record BinarySwitch_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean powerState optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Toggle toggle,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
+
+		type record FaultDetection_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean status optional,
+			XSD.Integer code optional,
+			XSD.String description 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";
+		};
+
+		type record RunState_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			EnumMachineState currentMachineState optional,
+			record of EnumMachineState machineStates optional,
+			EnumJobState currentJobState optional,
+			record of EnumJobState jobStates optional,
+			XSD.Float progressPercentage 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";
+		};
+
+		type record Battery_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Integer level optional,
+			XSD.Integer capacity optional,
+			XSD.Boolean charging optional,
+			XSD.Boolean discharging optional,
+			XSD.Boolean lowBattery optional,
+			XSD.Integer batteryThreshold optional,
+			XSD.Integer electricEnergy optional,
+			XSD.Integer voltage optional,
+			XSD.String material 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";
+		};
+
+		type record ElectricVehicleConnector_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean status optional,
+			XSD.Integer chargingCapacity optional,
+			XSD.Integer dischargingCapacity 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";
+		};
 
-	type record EnergyGeneration_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Float powerGenerationData optional,
-		XSD.Integer roundingEnergyGeneration optional,
-		XSD.Integer significantDigits optional,
-		XSD.Integer multiplyingFactors optional,
-		XSD.String generationSource 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";
-	};
+		type record EnergyGeneration_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Float powerGenerationData optional,
+			XSD.Integer roundingEnergyGeneration optional,
+			XSD.Integer significantDigits optional,
+			XSD.Integer multiplyingFactors optional,
+			XSD.String generationSource 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";
+		};
 
-	type record EnergyConsumption_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Float power optional,
-		XSD.Float absoluteEnergyConsumption optional,
-		XSD.Integer roundingEnergyConsumption optional,
-		XSD.Integer significantDigits optional,
-		XSD.Integer multiplyingFactors optional,
-		XSD.Float voltage optional,
-		XSD.Float current optional,
-		XSD.Float frequency optional,
-		XSD.String measuringScope 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";
-	};
+		type record EnergyConsumption_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Float power optional,
+			XSD.Float absoluteEnergyConsumption optional,
+			XSD.Integer roundingEnergyConsumption optional,
+			XSD.Integer significantDigits optional,
+			XSD.Integer multiplyingFactors optional,
+			XSD.Float voltage optional,
+			XSD.Float current optional,
+			XSD.Float frequency optional,
+			XSD.String measuringScope 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";
+		};
 
-	type record Temperature_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Float currentTemperature optional,
-		XSD.Float targetTemperature optional,
-		XSD.String unit optional,
-		XSD.Float minValue optional,
-		XSD.Float maxValue optional,
-		XSD.Float stepValue 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";
-	};
+		type record Temperature_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Float currentTemperature optional,
+			XSD.Float targetTemperature optional,
+			XSD.String unit optional,
+			XSD.Float minValue optional,
+			XSD.Float maxValue optional,
+			XSD.Float stepValue 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";
+		};
 
-	type record Turbo_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean turboEnabled 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";
-	};
+		type record Turbo_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean turboEnabled 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";
+		};
 
-	type record AirFlow_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Integer speed optional,
-		XSD.Integer minSpeed optional,
-		XSD.Integer maxSpeed optional,
-		EnumVerticalDirection verticalDirection optional,
-		record of EnumVerticalDirection supportedVerticalDirection optional,
-		EnumHorizontalDirection horizontalDirection optional,
-		record of EnumHorizontalDirection supportedHorizontalDirection optional,
-		XSD.Boolean automode 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";
-	};
+		type record AirFlow_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Integer speed optional,
+			XSD.Integer minSpeed optional,
+			XSD.Integer maxSpeed optional,
+			EnumVerticalDirection verticalDirection optional,
+			record of EnumVerticalDirection supportedVerticalDirection optional,
+			EnumHorizontalDirection horizontalDirection optional,
+			record of EnumHorizontalDirection supportedHorizontalDirection optional,
+			XSD.Boolean automode 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";
+		};
 
-	type record SpinLevel_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		EnumSpinLevelStrength spinLevelStrength 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";
-	};
+		type record SpinLevel_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			EnumSpinLevelStrength spinLevelStrength 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";
+		};
 	
-	type record WaterFlow_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		EnumWaterFlowStrength waterFlowStrength 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";
-	};
+		type record WaterFlow_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			EnumWaterFlowStrength waterFlowStrength 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";
+		};
 	
-	type record Brightness_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Integer brightness 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";
-	};
+		type record Brightness_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Integer brightness 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";
+		};
 	
-	type record Colour_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Integer red optional,
-		XSD.Integer green optional,
-		XSD.Integer blue 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";
-	};
+		type record Colour_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Integer red optional,
+			XSD.Integer green optional,
+			XSD.Integer blue 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";
+		};
 	
-	type record ColourSaturation_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Integer colourSaturation 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";
-	};
+		type record ColourSaturation_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Integer colourSaturation 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";
+		};
 	
-	type record DoorStatus_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		EnumDoorState doorState optional,
-		Timestamp openDuration optional,
-		XSD.Boolean openAlarm 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";
-	};
+		type record DoorStatus_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			EnumDoorState doorState optional,
+			Timestamp openDuration optional,
+			XSD.Boolean openAlarm 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";
+		};
 	
-	type record PowerSave_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean powerSaveEnabled 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";
-	};
+		type record PowerSave_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean powerSaveEnabled 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";
+		};
 	
-	type record MediaInput_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Integer mediaID optional,
-		record of EnumSupportedMediaSource supportedMediaSources optional,
-		XSD.String mediaName optional,
-		XSD.Boolean status optional,
-		EnumSupportedMediaSource mediaType 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";
-	};
+		type record MediaInput_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Integer mediaID optional,
+			record of EnumSupportedMediaSource supportedMediaSources optional,
+			XSD.String mediaName optional,
+			XSD.Boolean status optional,
+			EnumSupportedMediaSource mediaType 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";
+		};
 	
-	type record AudioVolume_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Integer volumePercentage optional,
-		XSD.Integer stepValue optional,
-		XSD.Integer maxValue optional,
-		XSD.Boolean muteEnabled optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				UpVolume upVolume,
-				DownVolume downVolume,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
+		type record AudioVolume_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Integer volumePercentage optional,
+			XSD.Integer stepValue optional,
+			XSD.Integer maxValue optional,
+			XSD.Boolean muteEnabled optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					UpVolume upVolume,
+					DownVolume downVolume,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 	
 	
-	type record TelevisionChannel_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Integer channelId optional,
-		record of XSD.Integer availableChannels optional,
-		XSD.Integer previousChannel optional,
-		XSD.String channelName optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				UpChannel upChannel,
-				DownChannel downChannel,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
+		type record TelevisionChannel_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Integer channelId optional,
+			record of XSD.Integer availableChannels optional,
+			XSD.Integer previousChannel optional,
+			XSD.String channelName optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					UpChannel upChannel,
+					DownChannel downChannel,
+					Subscription subscription
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+		};
 	
-	type record Boiler_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean status 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";
-	};
+		type record Boiler_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean status 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";
+		};
 	
-	type record Clock_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		Timestamp currentTime optional,
-		Timestamp currentDate optional,
-		XSD.String currentTimeZone 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";
-	};
+		type record Clock_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			Timestamp currentTime optional,
+			Timestamp currentDate optional,
+			XSD.String currentTimeZone 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";
+		};
 	
-	type record HotWaterSupply_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,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean bath 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";
-	};
+		type record HotWaterSupply_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,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean bath 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";
+		};
 
-	type record DeviceInfo_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,
-		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,
-		XSD.AnyURI mgmtSchema optional,
-		XSD.String deviceLabel optional,
-		XSD.String manufacturer optional,
-		XSD.String manufacturerDetailsLink optional,
-		Timestamp manufacturingDate optional,
-		XSD.String model optional,
-		XSD.String subModel optional,
-		XSD.String deviceType optional,
-		XSD.String deviceName optional,
-		XSD.String fwVersion optional,
-		XSD.String swVersion optional,
-		XSD.String hwVersion optional,
-		XSD.String osVersion optional,
-		XSD.String country optional,
-		XSD.String location optional,
-		Timestamp systemTime optional,
-		XSD.AnyURI supportURL optional,
-		XSD.AnyURI presentationURL optional,
-		ProtocolList protocol 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 DeviceInfo_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,
+			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,
+			XSD.AnyURI mgmtSchema optional,
+			XSD.String deviceLabel optional,
+			XSD.String manufacturer optional,
+			XSD.String manufacturerDetailsLink optional,
+			Timestamp manufacturingDate optional,
+			XSD.String model optional,
+			XSD.String subModel optional,
+			XSD.String deviceType optional,
+			XSD.String deviceName optional,
+			XSD.String fwVersion optional,
+			XSD.String swVersion optional,
+			XSD.String hwVersion optional,
+			XSD.String osVersion optional,
+			XSD.String country optional,
+			XSD.String location optional,
+			Timestamp systemTime optional,
+			XSD.AnyURI supportURL optional,
+			XSD.AnyURI presentationURL optional,
+			ProtocolList protocol 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 Token_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,
-		TokenID tokenID optional,
-		DynAuthJWT tokenObject optional,
-		XSD.String version optional,
-		XSD.ID issuer optional,
-		XSD.ID holder optional,
-		Timestamp notBefore optional,
-		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,
-				Transaction transaction
-			} 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 Token_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,
+			TokenID tokenID optional,
+			DynAuthJWT tokenObject optional,
+			XSD.String version optional,
+			XSD.ID issuer optional,
+			XSD.ID holder optional,
+			Timestamp notBefore optional,
+			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,
+					Transaction transaction
+				} 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 CrossResourceSubscription_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.ID creator optional,
+			ListOfURIs regularResourcesAsTarget optional,
+			ListOfURIs subscriptionResourcesAsTarget optional,
+			TimeWindowType timeWindowType optional,
+			AbsRelTimestamp timeWindowSize optional,
+			EventNotificationCriteriaSet eventNotificationCriteriaSet optional,
+			EventCat notificationEventCat optional,
+			XSD.PositiveInteger expirationCounter optional,
+			record of XSD.AnyURI notificationURI optional,
+			XSD.ID subscriberURI optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Schedule schedule,
+					NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
+					Transaction transaction
+				} choice_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+			variant (notificationURI) "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 TransactionMgmt_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.ID creator optional,
+			Timestamp transactionLockTime optional,
+			Timestamp transactionExecuteTime optional,
+			Timestamp transactionCommitTime optional,
+			Timestamp transactionExpirationTime optional,
+			TransactionMode transactionMode optional,
+			TransactionLockType transactionLockType optional,
+			TransactionControl transactionControl optional,
+			TransactionState transactionState optional,
+			XSD.NonNegativeInteger transactionMaxRetries optional,
+			TransactionMgmtHandling transactionMgmtHandling optional,
+			AggregatedRequest requestPrimitives optional,
+			AggregatedResponse responsePrimitives 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 Transaction_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.ID creator optional,
+	XSD.String transactionID optional,
+	TransactionControl transactionControl optional,
+	TransactionState transactionState optional,
+	Timestamp transactionLockTime optional,
+	Timestamp transactionExecuteTime optional,
+	Timestamp transactionCommitTime optional,
+	TransactionLockType transactionLockType optional,
+	RequestPrimitive requestPrimitive optional,
+	ResponsePrimitive responsePrimitive 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 CrossResourceSubscription_optional
-	{
+	}//end group OptionalResourceTypes
+	
+	
+	
+	group InvalidTypes {
+		
+		type record AE_invalid {
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for AE
+			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,
+					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 AccessControlPolicy_invalid {
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for ACP
+			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 union {
+					Subscription subscription,
+					Transaction transaction
+				} 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 Container_invalid {
 			ResourceName resourceName optional,
 			ResourceType resourceType optional,
 			XSD.ID resourceID optional,
 			NhURI parentID optional,
 			Timestamp creationTime optional,
 			Timestamp lastModifiedTime optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
 			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.Integer stateTag optional,
 			XSD.ID creator optional,
-			ListOfURIs regularResourcesAsTarget optional,
-			ListOfURIs subscriptionResourcesAsTarget optional,
-			TimeWindowType timeWindowType optional,
-			AbsRelTimestamp timeWindowSize optional,
-			EventNotificationCriteriaSet eventNotificationCriteriaSet optional,
-			EventCat notificationEventCat optional,
-			XSD.PositiveInteger expirationCounter optional,
-			record of XSD.AnyURI notificationURI optional,
-			XSD.ID subscriberURI optional,
+			XSD.Integer maxNrOfInstances optional,
+			XSD.Integer maxByteSize optional,
+			XSD.Integer maxInstanceAge optional,
+			XSD.Integer currentNrOfInstances optional,
+			XSD.Integer 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 {
-					Schedule schedule,
-					NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
-					Transaction transaction
+					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 (notificationURI) "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";
-	};
-
-}//end group OptionalResourceTypes
-	
-	
-	
-group InvalidTypes {
-		
-	type record AE_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for AE
-		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,
-				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 AccessControlPolicy_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for ACP
-		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 union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 Container_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
-		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.Integer stateTag optional,
-		XSD.ID creator optional,
-		XSD.Integer maxNrOfInstances optional,
-		XSD.Integer maxByteSize optional,
-		XSD.Integer maxInstanceAge optional,
-		XSD.Integer currentNrOfInstances optional,
-		XSD.Integer 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
-	}
-	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";
-	};
+		}
+		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 GenericInterworkingService_invalid
-	{
-		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,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.String serviceName optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
-		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 GenericInterworkingService_invalid
+		{
+			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,
+			XSD.NonNegativeInteger contentSize optional,
+			XSD.String serviceName optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
+			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 Group_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Group
-		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,
-		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,
-		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 Group_invalid {
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Group
+			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,
+			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,
+			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 PollingChannel_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for PollingChannel
-		Labels labels optional,
-		Timestamp expirationTime optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
+		type record PollingChannel_invalid {
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for PollingChannel
+			Labels labels optional,
+			Timestamp expirationTime optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+		};
        
-	type record Schedule_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Schedule
-		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 Schedule_invalid {
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Schedule
+			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 Subscription_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,//Invalid field, non existing for Subscription
-		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,
-		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.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 Subscription_invalid {
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			XSD.NonNegativeInteger maxNrOfInstances optional,//Invalid field, non existing for Subscription
+			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,
+			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.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 TimeSeries_invalid
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for TimeSeries
-		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.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,
-		ContentInfo contentInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				TimeSeriesInstance_optional timeSeriesInstance,
-				Subscription_optional subscription,
-				SemanticDescriptor_optional 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 TimeSeries_invalid
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for TimeSeries
+			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.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,
+			ContentInfo contentInfo optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					TimeSeriesInstance_optional timeSeriesInstance,
+					Subscription_optional subscription,
+					SemanticDescriptor_optional 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 LocationPolicy_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for LocationPolicy
-		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.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 LocationPolicy_invalid {
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for LocationPolicy
+			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.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";
+		};
        
-}//end group invalidTypes
+	}//end group invalidTypes
 
-group OtherTypes {
+	group OtherTypes {
 	
-	type set of charstring SetOfCharstring;
+		type set of charstring SetOfCharstring;
 
-	type enumerated PrimitiveProfileApplicability {
-		REQUESTS_TO_CSE (1),
-		RESPONSES_FROM_CSE (2),
-		REQUESTS_FROM_CSE (4),
-		RESPONSES_TO_CSE (8)
-	}
+		type enumerated PrimitiveProfileApplicability {
+			REQUESTS_TO_CSE (1),
+			RESPONSES_FROM_CSE (2),
+			REQUESTS_FROM_CSE (4),
+			RESPONSES_TO_CSE (8)
+		}
 
-	type enumerated SyncPoints {
-	   e_done  (0),
-	   e_error	(1)  
-	 }
+		type enumerated SyncPoints {
+			e_done  (0),
+			e_error	(1)
+		}
 
-	type enumerated Configurations {
-		e_cf01,
-		e_cf02,
-		e_cf02CseSimuMaster,
-		e_cf03,
-		e_cf04,
-		e_cf06,
-		e_cf06DasSimuMaster,
-		e_cf07,
-		e_cf07OSSimuMaster
-	};
+		type enumerated Configurations {
+			e_cf01,
+			e_cf02,
+			e_cf02CseSimuMaster,
+			e_cf03,
+			e_cf04,
+			e_cf06,
+			e_cf06DasSimuMaster,
+			e_cf07,
+			e_cf07OSSimuMaster
+		};
 	
-	type enumerated TestSystemRole {
-		e_cse,
-		e_ae,
-		e_ae_ipe,
-		e_das,
-		e_os
-	};
+		type enumerated TestSystemRole {
+			e_cse,
+			e_ae,
+			e_ae_ipe,
+			e_das,
+			e_os
+		};
 		
-	type NhURI ParentID;
+		type NhURI ParentID;
     	
-	type record MyResource {
-		integer parentIndex,
-		ResourceType resourceType,
-		PrimitiveContent resource
-	};
+		type record MyResource {
+			integer parentIndex,
+			ResourceType resourceType,
+			PrimitiveContent resource
+		};
 		
-	type record of MyResource MyResourcesList;
+		type record of MyResource MyResourcesList;
 		
-	type record of integer IntegerList;
+		type record of integer IntegerList;
 		
-	type enumerated PrimitiveScope {
-		e_cseRelative,
-		e_spRelative, 
-		e_absolute
-	}
+		type enumerated PrimitiveScope {
+			e_cseRelative,
+			e_spRelative,
+			e_absolute
+		}
 		
-	type enumerated AddressingMethod {
-		e_nonHierarchical,
-		e_hierarchical,
-		e_hybrid
-	}
+		type enumerated AddressingMethod {
+			e_nonHierarchical,
+			e_hierarchical,
+			e_hybrid
+		}
 		
-	type union Resource_2 {
-		//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,
-		CSEBase_optional cSEBase,
-		Group_optional group_,
-		GroupAnnc_optional groupAnnc,
-		LocationPolicy_optional locationPolicy,
-		LocationPolicyAnnc_optional locationPolicyAnnc,
-		MgmtResource_optional mgmtResource,//MgmtResource
-		AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
-		Node_optional node,
-		NodeAnnc_optional nodeAnnc,
-		PollingChannel_optional pollingChannel,
-		RemoteCSE_optional remoteCSE,
-		Schedule_optional schedule,
-		ScheduleAnnc_optional scheduleAnnc,
-		StatsConfig_optional statsConfig,
-		StatsCollect_optional statsCollect,
-		M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
-		ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
-		Subscription_optional subscription,
-		TimeSeries_optional timeSeries,
-		Token_optional token
-	}
-	with {
-		variant "untagged";
-	}		
+		type union Resource_2 {
+			//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,
+			CSEBase_optional cSEBase,
+			Group_optional group_,
+			GroupAnnc_optional groupAnnc,
+			LocationPolicy_optional locationPolicy,
+			LocationPolicyAnnc_optional locationPolicyAnnc,
+			MgmtResource_optional mgmtResource,//MgmtResource
+			AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
+			Node_optional node,
+			NodeAnnc_optional nodeAnnc,
+			PollingChannel_optional pollingChannel,
+			RemoteCSE_optional remoteCSE,
+			Schedule_optional schedule,
+			ScheduleAnnc_optional scheduleAnnc,
+			StatsConfig_optional statsConfig,
+			StatsCollect_optional statsCollect,
+			M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+			ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+			Subscription_optional subscription,
+			TimeSeries_optional timeSeries,
+			Token_optional token
+		}
+		with {
+			variant "untagged";
+		}
 		
-	type record of ResourceType ResourceTypeList_1
-	with {
-		variant "name as uncapitalized";
-		variant "list";
-	};
+		type record of ResourceType ResourceTypeList_1
+		with {
+			variant "name as uncapitalized";
+			variant "list";
+		};
 	
-	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,
-	OntologyRepository_optional ontologyRepository,
-	Ontology_optional ontology,
-	PollingChannel_optional pollingChannel,
-	PrimitveProfile_optional primitveProfile,
-	Request_optional request, 
-	RemoteCSE_optional remoteCSE,
-	RemoteCSEAnnc_optional remoteCSEAnnc,
-	Schedule_optional schedule,
-	ScheduleAnnc_optional scheduleAnnc,
-	StatsConfig_optional statsConfig,
-	StatsCollect_optional statsCollect,
-	EventConfig_optional eventConfig,
-	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
-	ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
-	ServiceSubscribedNode_optional serviceSubscribedNode,
-	ServiceSubscribedUserProfile_optional serviceSubscribedUserProfile,
-	Subscription_optional subscription,
-	SemanticDescriptor_optional semanticDescriptor,
-	SemanticMashupInstance_optional semanticMashupInstance,
-	SemanticMashupJobProfile_optional semanticMashupJobProfile,
-	SemanticMashupResult_optional semanticMashupResult,
-	TimeSeries_optional timeSeries,
-	TimeSeriesInstance_optional timeSeriesInstance,
-	TimeSeriesAnnc_optional timeSeriesAnnc,
-	TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
-	GenericInterworkingService_optional genericInterworkingService,
-	DynamicAuthorizationConsultation_optional dynamicAuthorizationConsultation,
-	GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance,
-	Role_optional role,
-	Token_optional token,
-	//HAIM 
-	DeviceAirConditioner_optional deviceAirConditioner,
-	DeviceClothesWasherDryer_optional deviceClothesWasherDryer,
-	DeviceElectricVehicleCharger_optional deviceElectricVehicleCharger,
-	DeviceLight_optional deviceLight,
-	DeviceMicrogeneration_optional deviceMicrogeneration,
-	DeviceOven_optional deviceOven,
-	DeviceRefrigerator_optional deviceRefrigerator,
-	DeviceRobotCleaner_optional deviceRobotCleaner,
-	DeviceSmartElectricMeter_optional deviceSmartElectricMeter,
-	DeviceStorageBattery_optional deviceStorageBattery,
-	DeviceTelevision_optional deviceTelevision,
-	DeviceThermostat_optional deviceThermostat,
-	DeviceWaterHeater_optional deviceWaterHeater,
-	BinarySwitch_optional binarySwitch,
-	FaultDetection_optional faultDetection,
-	RunState_optional runState,
-	Battery_optional battery,
-	ElectricVehicleConnector_optional electricVehicleConnector,
-	EnergyGeneration_optional energyGeneration,
-	EnergyConsumption_optional energyConsumption,
-	Temperature_optional temperature,
-	Turbo_optional turbo,
-	AirFlow_optional airFlow,
-	SpinLevel_optional spinLevel,
-	WaterFlow_optional waterFlow,
-	Timer timerAction,
-	TelevisionChannel_optional televisionChannel,
-	Brightness_optional brightness,
-	Colour_optional colour,
-	ColourSaturation_optional colourSaturation,
-	DoorStatus_optional doorStatus,
-	PowerSave_optional powerSave,
-	MediaInput_optional mediaInput,
-	AudioVolume_optional audioVolume,
-	Boiler_optional boiler,
-	Clock_optional clock,
-	HotWaterSupply_optional hotWaterSupply,
-	DeviceInfo_optional deviceInfo,
-	CrossResourceSubscription_optional crossResourceSubscription,
-	//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,
-	RequestPrimitive requestPrimitive,
-	DebugInfo debugInfo,
-	//Invalid types
-	AE_invalid aE_invalid,
-	AccessControlPolicy_invalid accessControlPolicy_invalid,
-	Container_invalid container_invalid,
-	GenericInterworkingService_invalid genericInterworkingService_invalid,
-	Group_invalid group_invalid,
-	PollingChannel_invalid pollingChannel_invalid,
-	Schedule_invalid schedule_invalid,
-	Subscription_invalid subscription_invalid,
-	LocationPolicy_invalid locationPolicy_invalid,
-	TimeSeries_invalid timeSeries_invalid 
-}
+		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,
+			OntologyRepository_optional ontologyRepository,
+			Ontology_optional ontology,
+			PollingChannel_optional pollingChannel,
+			PrimitveProfile_optional primitveProfile,
+			Request_optional request,
+			RemoteCSE_optional remoteCSE,
+			RemoteCSEAnnc_optional remoteCSEAnnc,
+			Schedule_optional schedule,
+			ScheduleAnnc_optional scheduleAnnc,
+			StatsConfig_optional statsConfig,
+			StatsCollect_optional statsCollect,
+			EventConfig_optional eventConfig,
+			M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+			ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+			ServiceSubscribedNode_optional serviceSubscribedNode,
+			ServiceSubscribedUserProfile_optional serviceSubscribedUserProfile,
+			Subscription_optional subscription,
+			SemanticDescriptor_optional semanticDescriptor,
+			SemanticMashupInstance_optional semanticMashupInstance,
+			SemanticMashupJobProfile_optional semanticMashupJobProfile,
+			SemanticMashupResult_optional semanticMashupResult,
+			TimeSeries_optional timeSeries,
+			TimeSeriesInstance_optional timeSeriesInstance,
+			TimeSeriesAnnc_optional timeSeriesAnnc,
+			TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
+			GenericInterworkingService_optional genericInterworkingService,
+			DynamicAuthorizationConsultation_optional dynamicAuthorizationConsultation,
+			GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance,
+			Role_optional role,
+			Token_optional token,
+			TransactionMgmt_optional transactionMgmt,
+			Transaction_optional transaction,
+			//HAIM
+			DeviceAirConditioner_optional deviceAirConditioner,
+			DeviceClothesWasherDryer_optional deviceClothesWasherDryer,
+			DeviceElectricVehicleCharger_optional deviceElectricVehicleCharger,
+			DeviceLight_optional deviceLight,
+			DeviceMicrogeneration_optional deviceMicrogeneration,
+			DeviceOven_optional deviceOven,
+			DeviceRefrigerator_optional deviceRefrigerator,
+			DeviceRobotCleaner_optional deviceRobotCleaner,
+			DeviceSmartElectricMeter_optional deviceSmartElectricMeter,
+			DeviceStorageBattery_optional deviceStorageBattery,
+			DeviceTelevision_optional deviceTelevision,
+			DeviceThermostat_optional deviceThermostat,
+			DeviceWaterHeater_optional deviceWaterHeater,
+			BinarySwitch_optional binarySwitch,
+			FaultDetection_optional faultDetection,
+			RunState_optional runState,
+			Battery_optional battery,
+			ElectricVehicleConnector_optional electricVehicleConnector,
+			EnergyGeneration_optional energyGeneration,
+			EnergyConsumption_optional energyConsumption,
+			Temperature_optional temperature,
+			Turbo_optional turbo,
+			AirFlow_optional airFlow,
+			SpinLevel_optional spinLevel,
+			WaterFlow_optional waterFlow,
+			Timer timerAction,
+			TelevisionChannel_optional televisionChannel,
+			Brightness_optional brightness,
+			Colour_optional colour,
+			ColourSaturation_optional colourSaturation,
+			DoorStatus_optional doorStatus,
+			PowerSave_optional powerSave,
+			MediaInput_optional mediaInput,
+			AudioVolume_optional audioVolume,
+			Boiler_optional boiler,
+			Clock_optional clock,
+			HotWaterSupply_optional hotWaterSupply,
+			DeviceInfo_optional deviceInfo,
+			CrossResourceSubscription_optional crossResourceSubscription,
+			//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,
+			RequestPrimitive requestPrimitive,
+			DebugInfo debugInfo,
+			//Invalid types
+			AE_invalid aE_invalid,
+			AccessControlPolicy_invalid accessControlPolicy_invalid,
+			Container_invalid container_invalid,
+			GenericInterworkingService_invalid genericInterworkingService_invalid,
+			Group_invalid group_invalid,
+			PollingChannel_invalid pollingChannel_invalid,
+			Schedule_invalid schedule_invalid,
+			Subscription_invalid subscription_invalid,
+			LocationPolicy_invalid locationPolicy_invalid,
+			TimeSeries_invalid timeSeries_invalid
+		}
 	
-}
+	}
 
 	group tsSettings {
 
-	/**
-	 * @desc Authorized protocol bindings
-	 * @member e_http HTTP protocol binding
-	 * @member e_coap CoAP protocol binding
-	 * @member e_mqtt MQTT protocol binding
-	 * @member e_ws   WebSocket protocol binding
-	 */
-	type enumerated ProtocolBindings {
-		e_http (0),
-		e_coap (1),
-		e_mqtt (2),
-		e_wsck (3)
-	}
-    
-	/**
-	 * @desc Authorized serialization representations
-	 * @member e_xml   Data serialization using XML
-	 * @member e_json Data serialization using JSON
-	 * @member e_cbor  Data serialization using CBOR
-	 */
-	type charstring SerializationRepresentations (pattern "(xml|json|cbor)");
-    
-	/**
-	 * @desc Basic description of a Protocol Binding settings
-	 * @member tsAddress  Test System IP address
-	 * @member remotePort Remote port (SUT listener port)
-	 * @member localPort  Test Adapter listener port (used by mcxPortIn) or,
-	 *                    The local client port. In this case, the value 'omit' is interpreted as random port number by the Test Adapter
-	 * @member sutAddress SUT IP address, optional.
-	 *                    If omitted, the SUT IP address defined in SutDesc data structure will be used by the Test Adapter
-	 */
-	type record BindingDesc {
-		charstring       tsAddress,
-		integer          remotePort optional,
-		integer          localPort optional,
-		charstring       sutAddress,
-		boolean          useTls
-	}
+		/**
+		 * @desc Authorized protocol bindings
+		 * @member e_http HTTP protocol binding
+		 * @member e_coap CoAP protocol binding
+		 * @member e_mqtt MQTT protocol binding
+		 * @member e_ws   WebSocket protocol binding
+		 */
+		type enumerated ProtocolBindings {
+			e_http (0),
+			e_coap (1),
+			e_mqtt (2),
+			e_wsck (3)
+		}
     
-	/**
-	 * @desc HTTP binding protocol settings
-	 */
-	type record HttpBindingDesc {
-		ProtocolBindings bindingProtocol (e_http),
-		BindingDesc      bindingDesc
-	}
+		/**
+		 * @desc Authorized serialization representations
+		 * @member e_xml   Data serialization using XML
+		 * @member e_json Data serialization using JSON
+		 * @member e_cbor  Data serialization using CBOR
+		 */
+		type charstring SerializationRepresentations (pattern "(xml|json|cbor)");
     
-	/**
-	 * @desc COAP binding protocol settings
-	 */
-	type record CoapBindingDesc {
-		ProtocolBindings bindingProtocol (e_coap),
-		BindingDesc      bindingDesc
-	}
+		/**
+		 * @desc Basic description of a Protocol Binding settings
+		 * @member tsAddress  Test System IP address
+		 * @member remotePort Remote port (SUT listener port)
+		 * @member localPort  Test Adapter listener port (used by mcxPortIn) or,
+		 *                    The local client port. In this case, the value 'omit' is interpreted as random port number by the Test Adapter
+		 * @member sutAddress SUT IP address, optional.
+		 *                    If omitted, the SUT IP address defined in SutDesc data structure will be used by the Test Adapter
+		 */
+		type record BindingDesc {
+			charstring       tsAddress,
+			integer          remotePort optional,
+			integer          localPort optional,
+			charstring       sutAddress,
+			boolean          useTls
+		}
     
-	/**
-	 * @desc MQTT binding protocol settings
-	 * @member bindingProtocol 
-	 * @member hostingCSE_ID   
-	 * @member credentialId    
-	 * @member bindingDesc     
-	 */
-	type record MqttBindingDesc {
-		ProtocolBindings bindingProtocol (e_mqtt),
-		BindingDesc      bindingDesc,
-		XSD.ID       	 originator optional,
-		XSD.ID		     receiver optional
-	}
+		/**
+		 * @desc HTTP binding protocol settings
+		 */
+		type record HttpBindingDesc {
+			ProtocolBindings bindingProtocol (e_http),
+			BindingDesc      bindingDesc
+		}
     
-	/**
-	 * @desc WebSocket binding protocol settings 
-	 */
-	type record WSBindingDesc {
-		ProtocolBindings bindingProtocol (e_wsck),
-		BindingDesc      bindingDesc,
-		charstring       requestUri 
-	}
+		/**
+		 * @desc COAP binding protocol settings
+		 */
+		type record CoapBindingDesc {
+			ProtocolBindings bindingProtocol (e_coap),
+			BindingDesc      bindingDesc
+		}
     
-	type union BindingProtocolsSelect {
-		HttpBindingDesc httpBindingDesc,
-		CoapBindingDesc coapBindingDesc,
-		MqttBindingDesc mqttBindingDesc,
-		WSBindingDesc   wsBindingDesc
-	}
+		/**
+		 * @desc MQTT binding protocol settings
+		 * @member bindingProtocol
+		 * @member hostingCSE_ID
+		 * @member credentialId
+		 * @member bindingDesc
+		 */
+		type record MqttBindingDesc {
+			ProtocolBindings bindingProtocol (e_mqtt),
+			BindingDesc      bindingDesc,
+			XSD.ID       	 originator optional,
+			XSD.ID		     receiver optional
+		}
     
-	/**
-	 * @desc 
-	 * @member binding
-	 * @member serialization
-	 */
-	type record PortDesc {
-		BindingProtocolsSelect binding,
-		TransportSecurity security optional,
-		SerializationRepresentations serialization
-	}
-	
-	/**
-	 * @desc Transport Layer security description
-	 *       Apply for both TSL and DTLS
-	 * @member rootCert Test System root ca or internmediate root CA
-	 * @member trustedCerts IUT cerver certificate, including IUT root ca or internmediate root CA
-	 * @member serverSign Signature Test System certificate for the server side
-	 * @member serverEnc Encryption Test System certificate for the server side
-	 * @member clientSign Signature Test System certificate for the client side
-	 * @member clientEnc Encryption Test System certificate for the client side
-	 * @member psk_identity TLS-PSK identity
-	 * @member psk_key TLS-PSK shared secret
-	 */
-	type record TransportSecurity {
-		charstring rootCert,
-		charstring trustedCerts,
-		charstring serverSign,
-		charstring serverEnc,
-		charstring clientSign,
-		charstring clientEnc,
-		octetstring psk_identity optional,
-		octetstring psk_key optional
-	}
+		/**
+		 * @desc WebSocket binding protocol settings
+		 */
+		type record WSBindingDesc {
+			ProtocolBindings bindingProtocol (e_wsck),
+			BindingDesc      bindingDesc,
+			charstring       requestUri
+		}
     
-	/**
-	 * @desc UpperTester component settings
-	 * @member requestId    
-	 * @member url     Test System IP address
-	 */
-	type record UrlDesc {
-		charstring url
-	}
+		type union BindingProtocolsSelect {
+			HttpBindingDesc httpBindingDesc,
+			CoapBindingDesc coapBindingDesc,
+			MqttBindingDesc mqttBindingDesc,
+			WSBindingDesc   wsBindingDesc
+		}
     
-	/**
-	 * @desc AeSimu component settings
-	 * @member mcaPort   TTCN-3 'mca' protocol for sending to the SUT
-	 * @member mcaPortIn TTCN-3 'mca' protocol for receiving from the SUT
-	 */
-	type record AeSimuComponentDesc {
 		/**
-		 * @desc Test System AE-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1
-		 */			
-		XSD.ID aeIdStem optional,
+		 * @desc
+		 * @member binding
+		 * @member serialization
+		 */
+		type record PortDesc {
+			BindingProtocolsSelect binding,
+			TransportSecurity security optional,
+			SerializationRepresentations serialization
+		}
+	
 		/**
-		 * @desc Test System APP-ID with App-ID format according to TS-0001-7.2-1
-		 */		
-		XSD.ID appId,
-		PortDesc mcaPort,
-		PortDesc mcaPortIn
-	}
+		 * @desc Transport Layer security description
+		 *       Apply for both TSL and DTLS
+		 * @member rootCert Test System root ca or internmediate root CA
+		 * @member trustedCerts IUT cerver certificate, including IUT root ca or internmediate root CA
+		 * @member serverSign Signature Test System certificate for the server side
+		 * @member serverEnc Encryption Test System certificate for the server side
+		 * @member clientSign Signature Test System certificate for the client side
+		 * @member clientEnc Encryption Test System certificate for the client side
+		 * @member psk_identity TLS-PSK identity
+		 * @member psk_key TLS-PSK shared secret
+		 */
+		type record TransportSecurity {
+			charstring rootCert,
+			charstring trustedCerts,
+			charstring serverSign,
+			charstring serverEnc,
+			charstring clientSign,
+			charstring clientEnc,
+			octetstring psk_identity optional,
+			octetstring psk_key optional
+		}
     
-	/**
-	 * @desc CseSimu component settings
-	 * @member mcaPort   TTCN-3 'mca' protocol for sending to the SUT
-	 * @member mcaPortIn TTCN-3 'mca' protocol for receiving from the SUT
-	 * @member mccPort   TTCN-3 'mcc' protocol for sending to the SUT
-	 * @member mccPortIn TTCN-3 'mcc' protocol for receiving from the SUT
-	 */
-	type record CseSimuComponentDesc {
 		/**
-		 * @desc Test System CSE Name
-		 */	
-		XSD.ID cseName, 
-		/**
-		 * @desc Test System CSE-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1
-		 */		
-		XSD.ID cseId,
-		/**
-		 * @desc Test System CSE resource ID with Unstructured-CSE-relative-Resource-ID (relative) format according to TS-0001-7.2-1
-		 */			
-		XSD.ID cseResourceId,
+		 * @desc UpperTester component settings
+		 * @member requestId
+		 * @member url     Test System IP address
+		 */
+		type record UrlDesc {
+			charstring url
+		}
+    
 		/**
-		 * @desc Test System M2M-SP-ID with M2M-SP-ID format (absolute) according to TS-0001-7.2-1 Unstructured-CSE-relative -Resource-ID
+		 * @desc AeSimu component settings
+		 * @member mcaPort   TTCN-3 'mca' protocol for sending to the SUT
+		 * @member mcaPortIn TTCN-3 'mca' protocol for receiving from the SUT
 		 */
-		XSD.ID spId,
+		type record AeSimuComponentDesc {
+			/**
+			 * @desc Test System AE-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1
+			 */
+			XSD.ID aeIdStem optional,
+			/**
+			 * @desc Test System APP-ID with App-ID format according to TS-0001-7.2-1
+			 */
+			XSD.ID appId,
+			PortDesc mcaPort,
+			PortDesc mcaPortIn
+		}
+    
 		/**
-		 * @desc Test System CSE Supported resource type
-		 */	
-		ResourceTypeList_1 supportedResourceType,
-		PortDesc mcaPort,
-		PortDesc mcaPortIn,
-		PortDesc mccPort,
-		PortDesc mccPortIn
-	}
+		 * @desc CseSimu component settings
+		 * @member mcaPort   TTCN-3 'mca' protocol for sending to the SUT
+		 * @member mcaPortIn TTCN-3 'mca' protocol for receiving from the SUT
+		 * @member mccPort   TTCN-3 'mcc' protocol for sending to the SUT
+		 * @member mccPortIn TTCN-3 'mcc' protocol for receiving from the SUT
+		 */
+		type record CseSimuComponentDesc {
+			/**
+			 * @desc Test System CSE Name
+			 */
+			XSD.ID cseName,
+			/**
+			 * @desc Test System CSE-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1
+			 */
+			XSD.ID cseId,
+			/**
+			 * @desc Test System CSE resource ID with Unstructured-CSE-relative-Resource-ID (relative) format according to TS-0001-7.2-1
+			 */
+			XSD.ID cseResourceId,
+			/**
+			 * @desc Test System M2M-SP-ID with M2M-SP-ID format (absolute) according to TS-0001-7.2-1 Unstructured-CSE-relative -Resource-ID
+			 */
+			XSD.ID spId,
+			/**
+			 * @desc Test System CSE Supported resource type
+			 */
+			ResourceTypeList_1 supportedResourceType,
+			PortDesc mcaPort,
+			PortDesc mcaPortIn,
+			PortDesc mccPort,
+			PortDesc mccPortIn
+		}
 
-} 
-with {
-  encode "adapter";
-} // End of group tsSettings
+	}
+	with {
+		encode "adapter";
+	} // End of group tsSettings
 	
 	
-} 
+}
 // end of module
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 284c99a499f700c94f3fead7a262a503e6a09cf5..f63e3b408e7457ff5e90619a63fe78bb37857ae6 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -844,11 +844,11 @@ module OneM2M_PermutationFunctions {
 			group Discovery {
 				
 				function f_await_ipe_registration(
-				                                  template UtTriggerPrimitive p_utRequest, 
-				                                  in universal charstring p_action,
-				                                  template RequestPrimitive p_request := mw_create, 
-				                                  in ResponseStatusCode p_responseStatusCode := int2001
-				                                  ) runs on CseSimu return integer {
+												  template UtTriggerPrimitive p_utRequest, 
+												  in universal charstring p_action,
+												  template RequestPrimitive p_request := mw_create, 
+												  in ResponseStatusCode p_responseStatusCode := int2001
+												  ) runs on CseSimu return integer {
 					var integer v_localResourceIndex := -1;
 					
 					//Send Trigger Message
@@ -11786,7 +11786,7 @@ module OneM2M_PermutationFunctions {
 							//Retrieve the parent resource index
 							v_parentIndex := f_getLatestLocalResourceIndex(vc_cse1);
 						} else {
-					  		v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
+							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
 						}
 						
 						v_responsePrimitive.responseStatusCode := int2001;
@@ -11834,7 +11834,7 @@ module OneM2M_PermutationFunctions {
 					//Test component configuration
 					f_cf02Up();
 
-				  	//Register the CSE
+					//Register the CSE
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 				  
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
@@ -12259,7 +12259,7 @@ module OneM2M_PermutationFunctions {
 					
 					//Register the CSE
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)}, -, -, -, {f_getLocalPoA()})));
-				    f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
 					
@@ -13313,8 +13313,8 @@ module OneM2M_PermutationFunctions {
 					//Test component configuration
 					f_cf02Up();
 
-				  	//Register the CSE
-				  	vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));	
+					//Register the CSE
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));	
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					//Preamble
@@ -14220,6 +14220,713 @@ module OneM2M_PermutationFunctions {
 			}//end group Non_Blocking_Requests
 	
 		}//end of group Response_Type
+		
+		group Transaction_Management{
+			
+			group Create {
+				
+				function f_CSE_TMG_CRE_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive {
+    				
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					const TransactionControl transactionControl := int1; //INITIAL
+										   
+					// Test control
+				
+					// Test component configuration
+					f_cf01Up();
+				
+					// Test adapter configuration
+				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+					// Test Body
+					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+					
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType)));
+							f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive);
+							v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex);
+							if(not match(transactionControl , v_response.primitive.responsePrimitive.primitiveContent.transactionMgmt.transactionControl)){
+								setverdict(fail, __SCOPE__ & ": Error, transactionControl is not set to INITIAL ");
+							}
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType)));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+								
+					f_checkAeSimuStatus();
+						
+					//Check to see if the resource is present or not
+					if(f_cse_isResourcePresent(v_resourceIndex)){
+						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+					}
+								
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+					
+					return vc_response.primitive.responsePrimitive;
+					    				
+				}//end f_CSE_TMG_CRE_001
+				
+				function f_CSE_TMG_CRE_002(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive {
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_resourceIndex := -1;
+					
+					// Test control
+				
+					// Test component configuration
+					f_cf01Up();
+				
+					// Test adapter configuration
+				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					v_ae2Index := f_cse_preamble_registerAe();  //other AE
+				
+					// Test Body
+					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+					v_request.primitiveContent.transactionMgmt.requestPrimitives.request_list[0].from_ := f_getResourceId(vc_resourcesList[v_ae2Index].resource)//f_getResourceAddress(v_ae2Index);
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Creation rejected for resource type " & int2str(enum2int(p_resourceType)));
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType)));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+								
+					f_checkAeSimuStatus();
+						
+					//Check to see if the resource is present or not
+					if(f_cse_isResourcePresent(v_resourceIndex)){
+						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+					}
+								
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+					
+					return vc_response.primitive.responsePrimitive;
+				}//end f_CSE_TMG_CRE_002
+				
+				
+				function f_CSE_TMG_CRE_003(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive {
+				// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_resourceIndex := -1;
+					const TransactionControl transactionControl := int2; //LOCK
+					
+					// Test control
+				
+					// Test component configuration
+					f_cf01Up();
+				
+					// Test adapter configuration
+				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+				
+					// Test Body
+					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+					
+					var RequestPrimitive v_createInnerRequestPrimitive := m_create;
+					v_createInnerRequestPrimitive.to_ := f_getResourceId(vc_resourcesList[v_aeIndex].resource);
+					v_createInnerRequestPrimitive.from_ := f_getResourceId(vc_resourcesList[v_aeIndex].resource);
+					
+					v_request.primitiveContent.transaction.requestPrimitive := v_createInnerRequestPrimitive;
+					
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType)));
+							f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive);
+							v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex);
+							if(not match(transactionControl , v_response.primitive.responsePrimitive.primitiveContent.transactionMgmt.transactionControl)){
+								setverdict(fail, __SCOPE__ & ": Error, transactionControl is not set to INITIAL ");
+							}
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType)));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+								
+					f_checkAeSimuStatus();
+						
+					//Check to see if the resource is present or not
+					if(f_cse_isResourcePresent(v_resourceIndex)){
+						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+					}
+								
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+					
+					return vc_response.primitive.responsePrimitive;
+					
+					
+				}//end f_CSE_TMG_CRE_003
+				
+				function f_CSE_TMG_CRE_004(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive {
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_resourceIndex := -1;
+					
+					// Test control
+				
+					// Test component configuration
+					f_cf01Up();
+				
+					// Test adapter configuration
+				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					v_ae2Index := f_cse_preamble_registerAe();  //other AE
+					
+				
+					// Test Body
+					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+					v_request.primitiveContent.transaction.requestPrimitive.from_ := f_getResourceId(vc_resourcesList[v_ae2Index].resource);
+//					{f_getResourceAddress(v_ae2Index)}
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Creation rejected for resource type " & int2str(enum2int(p_resourceType)));
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Accepted creation of resource type " & int2str(enum2int(p_resourceType)));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+								
+					f_checkAeSimuStatus();
+						
+					//Check to see if the resource is present or not
+					if(f_cse_isResourcePresent(v_resourceIndex)){
+						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+					}
+								
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+					
+					return vc_response.primitive.responsePrimitive;
+				} // end f_CSE_TMG_CRE_004
+				
+				function f_CSE_TMG_CRE_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on AeSimu system CseSystem return ResponsePrimitive {
+    				
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					const TransactionControl c_transactionControl := int1; //INITIAL
+										   
+					// Test control
+				
+					// Test component configuration
+					f_cf01Up();
+				
+					// Test adapter configuration
+				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+					// Test Body
+					v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+					
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value vc_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType)));
+							f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive);
+							v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_aeIndex);
+							if(not match(c_transactionControl , v_response.primitive.responsePrimitive.primitiveContent.transactionMgmt.transactionControl)){
+								setverdict(fail, __SCOPE__ & ": Error, transactionControl is not set to INITIAL ");
+							}
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType)));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+								
+					f_checkAeSimuStatus();
+						
+					//Check to see if the resource is present or not
+					if(f_cse_isResourcePresent(v_resourceIndex)){
+						setverdict(pass, __SCOPE__ & ":INFO: Resource created");
+					} else {
+						setverdict(fail, __SCOPE__ & ":ERROR: Resource not created");
+					}
+								
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+					
+					return vc_response.primitive.responsePrimitive;
+					    				
+				}//end f_CSE_TMG_CRE_005 //TODO
+			
+			}  // end group Create
+			
+			group Update{
+				
+				function f_CSE_TMG_UPD_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu system CseSystem {
+    				
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_parentIndex := -1;
+    										   
+					// Test control
+    				
+					// Test component configuration
+					f_cf01Up(true);
+    				
+					// Test adapter configuration
+    				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+					v_ae2Index := f_cse_preamble_registerAe();//c_CRUDNDi);
+					//f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						
+					if(p_resourceType != int18) {
+						v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+					}
+					
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex);
+																
+					// Test Body
+					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+					v_request.from_ := f_getResourceId(vc_resourcesList[v_ae2Index].resource);
+						
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Originator has no privilege. Creator is not same as originator of request " & int2str(enum2int(p_resourceType)) );
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Updating transactionControl when originator is not creator");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+    								
+					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+									
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+    					    				
+				}//end f_CSE_TMG_UPD_001
+				
+				
+				function f_CSE_TMG_UPD_002(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu system CseSystem {
+    				
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_parentIndex := -1;
+    										   
+					// Test control
+    				
+					// Test component configuration
+					f_cf01Up(true);
+    				
+					// Test adapter configuration
+    				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+							
+					if(p_resourceType != int18) {
+						v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+					}
+					
+					p_createRequestPrimitive.primitiveContent.transactionMgmt.transactionMode := int1;
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex);
+																
+					// Test Body
+					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+						
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": BAD_REQUEST. transactionMode is CSE_CONTROLLED " & int2str(enum2int(p_resourceType)) );
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Updating transactionControl when transactionMode is CSE_CONTROLLED");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+    								
+					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+									
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+    					    				
+				}//end f_CSE_TMG_UPD_002
+				
+				function f_CSE_TMG_UPD_003(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu system CseSystem {
+    				
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_parentIndex := -1;
+    										   
+					// Test control
+    				
+					// Test component configuration
+					f_cf01Up(true);
+    				
+					// Test adapter configuration
+    				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+							
+					if(p_resourceType != int18) {
+						v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+					}
+					
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex);
+																
+					// Test Body
+					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+						
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4123))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": ILLEGAL_TRANSACTION_STATE_TRANSITION_ATTEMPTED." & int2str(enum2int(p_resourceType)) );
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Updating Invalid transactionControl ");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+    								
+					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+									
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+    					    				
+				}//end f_CSE_TMG_UPD_003
+				
+				function f_CSE_TMG_UPD_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu system CseSystem {
+    				
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_parentIndex := -1;
+    										   
+					// Test control
+    				
+					// Test component configuration
+					f_cf01Up(true);
+    				
+					// Test adapter configuration
+    				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+							
+					if(p_resourceType != int18) {
+						v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+					}
+					
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex);
+																
+					// Test Body
+					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+						
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2004))) -> value vc_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Attribute of resource type " & int2str(enum2int(p_resourceType)) & " updated successfully");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Error while updating resource type " & int2str(enum2int(p_resourceType)));
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+    								
+					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+									
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+    					    				
+				}//end f_CSE_TMG_UPD_004
+				
+				function f_CSE_TMG_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu system CseSystem {
+    				
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_parentIndex := -1;
+    										   
+					// Test control
+    				
+					// Test component configuration
+					f_cf01Up(true);
+    				
+					// Test adapter configuration
+    				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+					v_ae2Index := f_cse_preamble_registerAe();//c_CRUDNDi);
+					//f_cse_preamble_subscriptionVerification(v_ae2Index, p_createRequestPrimitive, p_resourceType);
+						
+					if(p_resourceType != int18) {
+						v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+					}
+					
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex);
+																
+					// Test Body
+					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+					v_request.from_ := f_getResourceAddress(v_ae2Index);
+						
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": Originator has no privilege. Creator is not same as originator of request " & int2str(enum2int(p_resourceType)) );
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Updating transactionControl when originator is not creator");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+    								
+					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+									
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+    					    				
+				}//end f_CSE_TMG_UPD_005
+				
+				function f_CSE_TMG_UPD_006(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on AeSimu system CseSystem {
+    				
+					// Local variables
+					var MsgIn v_response;
+					var RequestPrimitive v_request;
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var integer v_ae2Index := -1;
+					var integer v_parentIndex := -1;
+    										   
+					// Test control
+    				
+					// Test component configuration
+					f_cf01Up(true);
+    				
+					// Test adapter configuration
+    				
+					// Preamble
+					v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+							
+					if(p_resourceType != int18) {
+						v_parentIndex := v_aeIndex;//For resources that can have AE resource as parent
+					}
+					
+					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_parentIndex);
+																
+					// Test Body
+					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+						
+					f_send(e_mcaPort, m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4123))) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, __SCOPE__ & ": ILLEGAL_TRANSACTION_STATE_TRANSITION_ATTEMPTED." & int2str(enum2int(p_resourceType)) );
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Wrong response status code");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, __SCOPE__ & ": Updating Invalid transactionControl ");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, __SCOPE__ & ": No answer while updating resource type " & int2str(enum2int(p_resourceType)));
+						}
+					}
+    								
+					vc_primitiveContentRetrievedResource := f_cse_retrieveResource(v_resourceIndex);
+									
+					// Postamble
+					f_cse_postamble_deleteResources();
+						
+					// Tear down
+					f_cf01Down();
+    					    				
+				}//end f_CSE_TMG_UPD_003
+			} // end of update
+			
+			
+		}// end group Transaction_Management
 	
 	}//end group CSE
 
diff --git a/OneM2M_Testcases_CSE_Release_4.ttcn b/OneM2M_Testcases_CSE_Release_4.ttcn
index a868407dc5d9796f4cc33a17ecb66a62fd934f98..245de822f175f5d9b5e657c5466453f6985ab41c 100644
--- a/OneM2M_Testcases_CSE_Release_4.ttcn
+++ b/OneM2M_Testcases_CSE_Release_4.ttcn
@@ -7695,6 +7695,1657 @@ module OneM2M_Testcases_CSE_Release_4 {
 			} // Basic_Operation
 		} // Service_Subscription_User_Profile
 		
+		group Transaction_Management {
+			
+			group Create{
+				
+				/**
+				 * @desc Check that the IUT sets transactionControl to INITIAL during creation of TransactionMgmt resource
+				 *
+				 */
+				testcase TC_CSE_TMG_CRE_001() runs on Tester system CseSystem { //Create
+					// Local variables
+
+					var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}};
+					
+					var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_TMG_CRE_001(int50, v_createRequest));//TransactionMgmt
+					v_ae1.done;
+				}//end TC_CSE_TMG_CRE_001
+					
+				/**
+				 * @desc Check that the IUT rejecet creation of <transactionMgmt> resource if from parameter of one of AggregatedRequest is not same as origitor			 *
+				 */
+				testcase TC_CSE_TMG_CRE_002() runs on Tester system CseSystem {
+					// Local variables
+					var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}};
+					var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					v_createRequest.primitiveContent.transactionMgmt.resourceName := omit;
+					v_ae1.start(f_CSE_TMG_CRE_002(int50, v_createRequest));//TransactionMgmt
+					v_ae1.done;
+				}//end TC_CSE_TMG_CRE_002
+				
+				/**
+				 * @desc Check that the IUT sets transactionControl to LOCK during creation of <transaction> resource
+				 *
+				 */
+				testcase TC_CSE_TMG_CRE_003() runs on Tester system CseSystem { //Create
+					// Local variables
+
+					var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+					var ResponsePrimitive v_responsePrimitive;
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						 
+					//v_createRequest.primitiveContent.transactionMgmt.resourceName := omit;
+					v_createRequest.primitiveContent.transaction.requestPrimitive := omit;
+
+
+					v_ae1.start(f_CSE_TMG_CRE_003(int51, v_createRequest));//Transaction
+					v_ae1.done;
+				}//end TC_CSE_TMG_CRE_003
+					
+				/**
+				 * @desc Check that the IUT rejecets creation of <transaction> resource if from parameter of requestPrimitive is not same as origitor			 *
+				 */
+				testcase TC_CSE_TMG_CRE_004() runs on Tester system CseSystem { //Create
+					// Local variables
+
+					var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+					var ResponsePrimitive v_responsePrimitive;
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_TMG_CRE_004(int51, v_createRequest));//Transaction
+					v_ae1.done;
+				}//end TC_CSE_TMG_CRE_004
+					
+				testcase TC_CSE_TMG_CRE_005() runs on Tester system CseSystem { //Create
+					// Local variables
+
+					var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}};
+					var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+					var ResponsePrimitive v_responsePrimitive;
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+
+					v_ae1.start(f_CSE_TMG_CRE_005(int50, v_createRequest));//TransactionMgmt
+					v_ae1.done;
+				}//end TC_CSE_TMG_CRE_005 //TODO
+				
+			} // end group Create
+			
+			group Update{
+				
+				/**
+				 * @desc Check that the IUT rejecet update of transactionControl attribute of <transactionMgmt> resource if from parameter is not same as origitor
+				 *
+				 *
+				 */
+				
+				testcase TC_CSE_TMG_UPD_001() runs on Tester system CseSystem {
+					// Local variables
+						
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+					var PrimitiveContent v_primitiveContentRetrieveResource;
+					v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2;
+					var AggregatedRequest v_aggregatedRequest;
+					    
+					v_ae1.start(f_CSE_TMG_UPD_001(int50, m_createTransactionMgmtBase(v_aggregatedRequest), v_updateRequest));//Container
+					v_ae1.done;
+						
+					if(getverdict == pass){
+						v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+						//Check that the resource has NOT been udpated
+						if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+							if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+								setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+							}
+						}
+					}
+					
+				} // TC_CSE_TMG_UPD_001
+				
+				/**
+				/**
+				 * @desc Check that the IUT rejecet update of transactionControl attribute of <transactionMgmt> resource if
+				 *
+				 *
+				 */
+				testcase TC_CSE_TMG_UPD_002() runs on Tester system CseSystem {
+					// Local variables
+						
+					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+					var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+					var PrimitiveContent v_primitiveContentRetrieveResource;
+					v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2;
+					var AggregatedRequest v_aggregatedRequest;
+					    
+					v_ae1.start(f_CSE_TMG_UPD_002(int50, m_createTransactionMgmtBase(v_aggregatedRequest), v_updateRequest));//Container
+					v_ae1.done;
+						
+					if(getverdict == pass){
+						v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+						//Check that the resource has NOT been udpated
+						if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+							if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+								setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+							}
+						}
+					}
+					
+				} // TC_CSE_TMG_UPD_002
+				
+				/**
+				/**
+				 * @desc Check that the IUT rejecets update of transactionControl attribute of <transactionMgmt> resource if it does not transition to valid value
+				 *
+				 *
+				 */
+				
+				group TC_CSE_TMG_UPD_003{
+					
+					group TC_CSE_TMG_UPD_003_INI{
+				
+						testcase TC_CSE_TMG_UPD_003_INI_EXE() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; //EXECUTE
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; //INITIAL
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_INI_EXE
+				
+						testcase TC_CSE_TMG_UPD_003_INI_ABT() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; //ABORT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; //INITIAL
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int5){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_INI_ABT
+				
+						testcase TC_CSE_TMG_UPD_003_INI_COM() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; //COMMIT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; //INITIAL
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_INI_COM
+				
+						testcase TC_CSE_TMG_UPD_003_INI_INI() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; //COMMIT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; //INITIAL
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int1){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_INI_INI
+				
+					} // end of TC_CSE_TMG_UPD_003_INI
+					
+					group TC_CSE_TMG_UPD_003_LOC{
+						testcase TC_CSE_TMG_UPD_003_LOC_INI() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; //INITIAL
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; //LOCKED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int1){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_LOC_INI
+				
+						testcase TC_CSE_TMG_UPD_003_LOC_LOC() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; //LOCK
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; //LOCKED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_LOC_LOC
+				
+						testcase TC_CSE_TMG_UPD_003_LOC_COM() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; //COMMIT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; //LOCKED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_LOC_COM
+				
+					} // end of TC_CSE_TMG_UPD_003_LOC
+					
+					group TC_CSE_TMG_UPD_003_EXE{
+				
+						testcase TC_CSE_TMG_UPD_003_EXE_INI() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; // INITIAL
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; //EXECUTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int1){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_EXE_INI
+				
+						testcase TC_CSE_TMG_UPD_003_EXE_LOC() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // LOC
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; //EXECUTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_EXE_LOC
+				
+						testcase TC_CSE_TMG_UPD_003_EXE_EXE() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; //EXECUTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_EXE_EXE
+				
+					} // end of TC_CSE_TMG_UPD_003_EXE
+					
+					group TC_CSE_TMG_UPD_003_COM {
+				
+						testcase TC_CSE_TMG_UPD_003_COM_LOC() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // LOC
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; //COMMITED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_COM_LOC
+				
+				
+						testcase TC_CSE_TMG_UPD_003_COM_EXE() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; //COMMITED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_COM_EXE
+				
+						testcase TC_CSE_TMG_UPD_003_COM_COM() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; // COMMIT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; //COMMITED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_COM_COM
+				
+						testcase TC_CSE_TMG_UPD_003_COM_ABT() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; //COMMITED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int5){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_COM_ABT
+				
+					} // end of TC_CSE_TMG_UPD_003_COM
+					
+					group TC_CSE_TMG_UPD_003_ERR{
+				
+						testcase TC_CSE_TMG_UPD_003_ERR_LOC() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // LOCK
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; //ERROR
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_ERR_LOC
+				
+						testcase TC_CSE_TMG_UPD_003_ERR_EXE() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; //ERROR
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_ERR_EXE
+				
+						testcase TC_CSE_TMG_UPD_003_ERR_COM() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; // COMMIT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; //ERROR
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_ERR_COM
+				
+					} // end of TC_CSE_TMG_UPD_003_ERR
+					
+					group TC_CSE_TMG_UPD_003_ABT {
+						testcase TC_CSE_TMG_UPD_003_ABT_LOC() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // LOCK
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; //ABORTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_ABT_LOC
+				
+						testcase TC_CSE_TMG_UPD_003_ABT_EXE() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; //ABORTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_ABT_EXE
+				
+						testcase TC_CSE_TMG_UPD_003_ABT_COM() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; // COMMIT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; //ABORTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_ABT_COM
+				
+						testcase TC_CSE_TMG_UPD_003_ABT_ABT() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; //ABORTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_003(int50, v_createRequest, v_updateRequest));//Container
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int5){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_003_ABT_ABT
+				
+					} // end of TC_CSE_TMG_UPD_003_ABT
+				}  // end of TC_CSE_TMG_UPD_003
+				
+				group TC_CSE_TMG_UPD_004{
+					testcase TC_CSE_TMG_UPD_004_INI() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int2; // ABORT
+						var AggregatedRequest v_aggregatedRequest;
+						var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+						v_createRequest.primitiveContent.transactionMgmt.transactionState := int1; // INITIAL
+						v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int2){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_004_INI
+						
+					group TC_CSE_TMG_UPD_004_LOC{
+						
+						testcase TC_CSE_TMG_UPD_004_LOC_EXE() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int3; // EXECUTE
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; // LOCKED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int3){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_004_LOC_EXE
+						
+						testcase TC_CSE_TMG_UPD_004_LOC_ABT() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int2; // LOCKED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int5){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_004_LOC_EXE
+						
+					} //end TC_CSE_TMG_UPD_004_LOC
+						
+					group TC_CSE_TMG_UPD_004_EXE{
+						testcase TC_CSE_TMG_UPD_004_EXE_COM() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int4; // COMMIT
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; // EXECUTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int4){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_004_EXE_COM
+						
+						testcase TC_CSE_TMG_UPD_004_EXE_ABT() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORTED
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int3; // EXECUTED
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int5){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_004_EXE_ABT
+						
+						
+					} // end TC_CSE_TMG_UPD_004_EXE
+						
+				
+					group TC_CSE_TMG_UPD_004_ERR{
+						testcase TC_CSE_TMG_UPD_004_ERR_ABT() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int5; // ABORTED
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; // ERROR
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int5){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_004_ERR_ABT
+						
+						testcase TC_CSE_TMG_UPD_004_ERR_INI() runs on Tester system CseSystem {
+							// Local variables
+						
+							var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+							var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+							var PrimitiveContent v_primitiveContentRetrieveResource;
+							v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; // INITIAL
+							var AggregatedRequest v_aggregatedRequest;
+							var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+							v_createRequest.primitiveContent.transactionMgmt.transactionState := int5; // ERROR
+							v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+							v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+							v_ae1.done;
+						
+							if(getverdict == pass){
+								v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+								//Check that the resource has NOT been udpated
+								if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+									if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int1){
+										setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+									}
+								}
+							}
+					
+						} // TC_CSE_TMG_UPD_004_ERR_INI
+					} // end TC_CSE_TMG_UPD_004_ERR
+						
+					testcase TC_CSE_TMG_UPD_004_COM() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; // INITIAL
+						var AggregatedRequest v_aggregatedRequest;
+						var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+						v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; // COMMITTED
+						v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int1){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_004_COM
+						
+					testcase TC_CSE_TMG_UPD_004_ABT() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionMgmtBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transactionMgmt.transactionControl := int1; // INITIAL
+						var AggregatedRequest v_aggregatedRequest;
+						var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+						v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; // ABORTED
+						v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int50, v_createRequest, v_updateRequest));//TransactionMgmt
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int1){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_004_ABT
+				} // end TC_CSE_TMG_UPD_004
+				
+				testcase TC_CSE_TMG_UPD_005() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int2; // LOCK
+						//var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						//v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; // ABORTED
+						//v_createRequest.primitiveContent.transactionMgmt.transactionMode := int2; //CREATOR_CONTROLLED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_005(int51, m_createTransactionBase(m_create), v_updateRequest));//TransactionMgmt
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_005
+					
+					group TC_CSE_TMG_UPD_006{
+						
+						group TC_CSE_TMG_UPD_006_LOC{
+							testcase TC_CSE_TMG_UPD_006_LOC_LOC() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int2; // LOCK
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int2; // LOCKED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_LOC_LOC
+							
+					testcase TC_CSE_TMG_UPD_006_LOC_COM() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int4; // COMMIT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int2; // LOCKED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_LOC_COM
+					
+					
+						} // end TC_CSE_TMG_UPD_006_LOC
+						
+						group TC_CSE_TMG_UPD_006_EXE{
+							testcase TC_CSE_TMG_UPD_006_EXE_INI() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int1; // INI
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int3; // LOCKED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int1){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_EXE_INI
+							
+					testcase TC_CSE_TMG_UPD_006_EXE_LOC() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int2; // LOCK
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int3; // LOCKED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int2){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_EXE_LOC
+					
+					testcase TC_CSE_TMG_UPD_006_EXE_EXE() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int3; // EXECUTE
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int3; // LOCKED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_EXE_EXE
+						
+						} // end TC_CSE_TMG_UPD_006_EXE
+						
+						group TC_CSE_TMG_UPD_006_ERR{
+							testcase TC_CSE_TMG_UPD_006_ERR_EXE() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int3; // EXECUTE
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int5; // ERROR
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_ERR_EXE
+					
+					testcase TC_CSE_TMG_UPD_006_ERR_COM() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int4; // COMMIT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int5; // ERROR
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_ERR_COM
+						
+						} // end TC_CSE_TMG_UPD_006_ERR
+						
+						group TC_CSE_TMG_UPD_006_COM{
+						
+							testcase TC_CSE_TMG_UPD_006_COM_EXE() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int3; // EXECUTE
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int4; // COMMIT
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_COM_EXE
+					
+					testcase TC_CSE_TMG_UPD_006_COM_ABT() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int5; // ABORT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int4; // COMMIT
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int5){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_COM_ABT
+					
+					testcase TC_CSE_TMG_UPD_006_COM_COM() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int4; // COMMIT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int4; // COMMIT
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_COM_COM
+						
+						} // end TC_CSE_TMG_UPD_006_COM
+						
+						group TC_CSE_TMG_UPD_006_ABT{
+						
+							testcase TC_CSE_TMG_UPD_006_ABT_EXE() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int3; // EXE
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int6; // ABORTED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int3){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_ABT_EXE
+					
+						testcase TC_CSE_TMG_UPD_006_ABT_COM() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int4; // COMMIT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int6; // ABORTED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int4){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_ABT_COM
+					
+					testcase TC_CSE_TMG_UPD_006_ABT_ABT() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int5; // ABORT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int6; // ABORTED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_006(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl == int5){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_006_ABT_ABT
+						
+						} // end TC_CSE_TMG_UPD_006_ABT
+					
+					}// end TC_CSE_TMG_UPD_006
+					
+					group TC_CSE_TMG_UPD_007{
+						
+						group TC_CSE_TMG_UPD_007_LOC{
+							testcase TC_CSE_TMG_UPD_007_LOC_EXE() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int3; // EXECUTE
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int2; // LOCKED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int3){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_007_LOC_EXE
+					
+					testcase TC_CSE_TMG_UPD_007_LOC_ABT() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int5; // ABORT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int2; // LOCKED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int5){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_007_LOC_ABT
+							
+						
+						
+						} // end TC_CSE_TMG_UPD_007_LOC
+					
+					group TC_CSE_TMG_UPD_007_EXE{
+						testcase TC_CSE_TMG_UPD_007_EXE_COM() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int4; // ABORT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int3; // LOCKED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int4){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_007_EXE_COM
+					
+					testcase TC_CSE_TMG_UPD_007_EXE_ABT() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int5; // ABORT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int3; // EXECUTE
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int5){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_007_EXE_COM
+					
+					} // end TC_CSE_TMG_UPD_007_EXE
+					
+					group TC_CSE_TMG_UPD_007_ERR{
+						testcase TC_CSE_TMG_UPD_007_ERR_ABT() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int5; // ABORT
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int5; // ERROR
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int5){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_007_ERR_ABT
+					
+					testcase TC_CSE_TMG_UPD_007_ERR_LOC() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int2; // LOC
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int5; // ERROR
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int2){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_007_ERR_LOC
+					
+					} // end TC_CSE_TMG_UPD_007_ERR
+					
+					testcase TC_CSE_TMG_UPD_007_COM() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int2; // LOC
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int4; // COMMITTED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int2){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_007_COM
+					
+					testcase TC_CSE_TMG_UPD_007_ABT() runs on Tester system CseSystem {
+						// Local variables
+						
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_updateRequest := m_updateTransactionBase;
+						var PrimitiveContent v_primitiveContentRetrieveResource;
+						v_updateRequest.primitiveContent.transaction.transactionControl := int2; // LOC
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int6; // ABORTED
+					    
+						v_ae1.start(f_CSE_TMG_UPD_004(int51, v_createRequest, v_updateRequest));//Transaction
+						v_ae1.done;
+						
+						if(getverdict == pass){
+							v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
+							//Check that the resource has NOT been udpated
+							if(ischosen(v_primitiveContentRetrieveResource.transactionMgmt)) {
+								if(v_primitiveContentRetrieveResource.transactionMgmt.transactionControl != int2){
+									setverdict(fail, __SCOPE__ & ": Error: transactionControl attribute not updated")
+								}
+							}
+						}
+					
+					} // TC_CSE_TMG_UPD_007_ABT
+					
+					} // end TC_CSE_TMG_UPD_007
+				
+			} // end of Update
+			
+			group delete {
+				testcase TC_CSE_TMG_DEL_001_TRAM_COM() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}};
+						var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+					    v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; // COMMITTED
+                		
+						v_ae1.start(f_CSE_DMR_DEL_001(int50, v_createRequest));//TransactionMgmt
+						v_ae1.done;
+                		
+						if(getverdict == pass){ 
+							//check if "MyRessource" container resource isn't present in the IUT (for exemple attempt to update the resource)
+						};
+					};
+					
+				testcase TC_CSE_TMG_DEL_001_TRAM_ABT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var AggregatedRequest v_aggregatedRequest; //:= {request_list := {operation := int1; to_ := ""; from_ := ""}};
+						var template RequestPrimitive v_createRequest := m_createTransactionMgmtBase(v_aggregatedRequest);
+						v_createRequest.primitiveContent.transactionMgmt.transactionState := int6; // ABORTED
+                		
+						v_ae1.start(f_CSE_DMR_DEL_001(int50, v_createRequest));//TransactionMgmt
+						v_ae1.done;
+                		
+						if(getverdict == pass){ 
+							//check if "MyRessource" container resource isn't present in the IUT (for exemple attempt to update the resource)
+						};
+					};
+					
+				testcase TC_CSE_TMG_DEL_001_TRAC_COM() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transactionMgmt.transactionState := int4; // COMMIT
+                		
+						v_ae1.start(f_CSE_DMR_DEL_001(int50, v_createRequest));//Transaction
+						v_ae1.done;
+                		
+						if(getverdict == pass){ 
+							//check if "MyRessource" container resource isn't present in the IUT (for exemple attempt to update the resource)
+						};
+					};
+					
+				testcase TC_CSE_TMG_DEL_001_TRAC_ABT() runs on Tester system CseSystem {
+						// Local variables
+						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+						var template RequestPrimitive v_createRequest := m_createTransactionBase(m_create);
+						v_createRequest.primitiveContent.transaction.transactionState := int6; // ABORTED
+                		
+						v_ae1.start(f_CSE_DMR_DEL_001(int50, v_createRequest));//Transaction
+						v_ae1.done;
+                		
+						if(getverdict == pass){ 
+							//check if "MyRessource" container resource isn't present in the IUT (for exemple attempt to update the resource)
+						};
+					};
+			
+			
+			} // end delete
+		} // end group Transaction_Management
+		
 	}//end group CSE
 
 }