/** * Copyright Notification * No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). * All rights reserved. * * @author ETSI * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Templates.ttcn $ * $Id: OneM2M_Templates.ttcn 101 2016-07-08 15:41:06Z reinaortega $ * @desc Module containing templates for oneM2M * */ module OneM2M_Templates { import from XSD all; import from OneM2M_Types all; import from OneM2M_TestSystem all; import from OneM2M_TypesAndValues all; //import from OneM2M_AdditionalTypes all; import from OneM2M_Pixits all; import from OneM2M_Functions all; /** * @desc Get a converted to string random number * @param p_lower Lower limit * @param p_upper Upper limit * @return Random number converted to string * @verdict */ function f_rnd(in integer p_lower, in integer p_upper) return charstring { return int2str(float2int(rnd() * int2float(p_upper - p_lower + 1)) + p_lower); } /* Templates */ /** * @desc Base template for request sending operations * @param p_requestPrimitive */ template (value) M2MRequestPrimitive m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeList_1 p_nullFields := omit ) := { requestPrimitive_ := p_requestPrimitive, host := PX_HOST_ADDRESS, xmlNamespace := PX_XML_NAMESPACE, protocolBinding := PX_PROTOCOL_BINDING, serialization := PX_SERIALIZATION, nullFields := p_nullFields }; //Added by @Naum template M2MRequestPrimitive mw_request(in template RequestPrimitive p_requestPrimitive, in template (omit) AttributeList_1 p_nullFields := omit ) := { requestPrimitive_ := p_requestPrimitive, host := omit, xmlNamespace := omit, protocolBinding := omit, serialization := omit, nullFields := omit }; group RequestPrimitives { group Retrieve { /** * @desc */ template (value) RequestPrimitive m_retrieveCseBase := { operation := int2, to_ := PX_URI_CSE,//c_uri_cse,//@Martin from_ := "admin:admin", requestIdentifier := "m_retrieveCseBase" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base RETRIEVE request primitive * @param p_targetResourceAddress Target resource address * @param p_originator Originator (from) */ template (value) RequestPrimitive m_retrieveResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator := PX_AE_ID_STEM) := { operation := int2, to_ := f_addPrefix(p_targetResourceAddress), from_ := p_originator, requestIdentifier := "m_retrieveResource" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc RETRIEVE request primitive for a single attribute in To field ("targetResourceAddress#AttributeName") * @param p_targetResourceAddress Target resource address (including "#AttributeName") * @param p_originator Originator (from) */ template (value) RequestPrimitive m_retrieveResourceAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator := PX_AE_ID_STEM) := { operation := int2, to_ := f_addPrefix(p_targetResourceAddress), from_ := p_originator, requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc RETRIEVE request primtive containing the target attributes in the primitiveContent field * @param p_targetResourceAddress Target resource address * @param p_attributeList Target attribute list * @param p_originator Originator (from) */ template (value) RequestPrimitive m_retrieveResourceAttributeContentOption(XSD.ID p_targetResourceAddress, in template (value) AttributeList_1 p_attributeList, in XSD.ID p_originator := PX_AE_ID_STEM ) := { operation := int2, to_ := f_addPrefix(p_targetResourceAddress), from_ := p_originator, requestIdentifier := "m_retrieveResourceAttributeContentOption" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := { any_1 := {{AttributeList := p_attributeList}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; }//end group Retrieve group Update { /** * @desc Base UPDATE request primitive for Container resource */ template (value) RequestPrimitive m_updateContainerBase := { operation := int3, to_ := "NotInitialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000), resourceType := omit, primitiveContent:= { any_1 := {{Container_optional := m_contentUpdateContainer}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base UPDATE request primitive for AccessControlPolicy resource */ template (value) RequestPrimitive m_updateAcpBase := { operation := int3, to_ := "NotInitialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000), resourceType := omit, primitiveContent:= { any_1 := {{AccessControlPolicy_optional := m_contentUpdateAcp}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base UPDATE request primitive for Group resource */ template (value) RequestPrimitive m_updateGroupBase := { operation := int3, to_ := "NotInitialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000), resourceType := omit, primitiveContent:= { any_1 := {{Group_optional := m_contentUpdateGroup}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base UPDATE request primitive for Schedule resource */ template (value) RequestPrimitive m_updateScheduleBase := { operation := int3, to_ := "NotInitialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000), resourceType := omit, primitiveContent:= { any_1 := {{Schedule_optional := m_contentUpdateSchedule}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base UPDATE request primitive for PollingChannel resource */ template (value) RequestPrimitive m_updatePollingChannelBase := { operation := int3, to_ := "NotInitialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000), resourceType := omit, primitiveContent:= { any_1 := {{PollingChannel_optional := m_contentUpdatePollingChannel}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base UPDATE request primitive for Subscription resource */ template (value) RequestPrimitive m_updateSubscriptionBase := { operation := int3, to_ := "NotInitialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000), resourceType := omit, primitiveContent:= { any_1 := {{Subscription_optional := m_contentUpdateSubscription}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; //@Martin template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.Duration locationUpdatePeriod) := { operation := int3, //create to_ := p_locResourceAddress, from_ := PX_AE_ID_STEM, //AE originator id e.g. requestIdentifier := "m_updateLocationPolicy", resourceType := omit,//NP primitiveContent := { any_1 := {{ LocationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIDs, locationUpdatePeriod) }} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := int1,//default eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; }//end group Update group Create { /** * @desc Base CREATE request primitive for AE resource (AUX) */ //Added by @Naum template RequestPrimitive mw_createAEannc(template (omit) AcpType p_accessControlPolicyIDs := omit,template (omit) XSD.ID p_from := omit, XSD.ID p_appId) := { operation := int1, to_ := ?, from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c" requestIdentifier := ?, resourceType := int10002, primitiveContent := { any_1 := {{AEAnnc_optional := mw_contentCreateAEannc(c_aeAuxName, p_accessControlPolicyIDs, p_appId)}} }, role := *, originatingTimestamp := *, requestExpirationTimestamp := *, resultExpirationTimestamp := *, operationExecutionTime := *, responseType := *, resultPersistence := *, resultContent := *, eventCategory := *, deliveryAggregation := *, groupRequestIdentifier := *, filterCriteria := *, discoveryResultType := * }; //Added by @Naum template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIDs := omit,template (omit) XSD.ID p_from := omit) := { operation := int1, to_ := "Not Initialized", from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c" requestIdentifier := "m_createAe" & f_rnd(1, 1000000), resourceType := int2, primitiveContent := { any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIDs, c_aeAuxName, p_appId)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIDs := omit ) := { operation := int1, to_ := "Not Initialized", from_ := PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"//@Martin requestIdentifier := "m_createAe" & f_rnd(1, 1000000), resourceType := int2, primitiveContent := { any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIDs, c_aeAuxName)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base CREATE request primitive for AccessControlPolicy resource */ template (value) RequestPrimitive m_createAcpBase := { operation := int1, to_ := "NotInitialized", from_ := "NotInitialized", requestIdentifier := "m_createAcp" & f_rnd(1, 1000000), resourceType := int1, primitiveContent := { any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp ()}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_createAcp(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name := c_defaultResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) := { operation := int1, to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createAcp" & f_rnd(1, 1000000), resourceType := int1, primitiveContent := { any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX) */ template (value) RequestPrimitive m_createAcpAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) := { operation := int1, to_ := "Not Initialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_createAcpAux" & f_rnd(1, 1000000), resourceType := int1, primitiveContent := { any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; //Added by @Naum template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) := { operation := int1, to_ := "NotInitialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_createCSE" & f_rnd(1, 1000000), resourceType := int1, primitiveContent := { any_1 := {{CSEBase_optional := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base CREATE request primitive for Container resource */ template (value) RequestPrimitive m_createContainerBase := { operation := int1, to_ := "NotInitialized", from_ := "NotInitialized", requestIdentifier := "m_createContainer" & f_rnd(1, 1000000), resourceType := int3, primitiveContent := { any_1 := {{Container_optional := m_contentCreateContainer}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName) := { operation := int1, to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createContainer" & f_rnd(1, 1000000), resourceType := int3, primitiveContent := { any_1 := {{Container_optional := m_contentCreateContainer}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) := { operation := int1, to_ := f_addPrefix(p_parentResourceAddress), from_ := "admin:admin", requestIdentifier := "m_createContentInstance" & f_rnd(1, 1000000), resourceType := int4, primitiveContent := { any_1 := {{ContentInstance_optional := m_contentCreateContentInstance(p_primitiveContent)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base CREATE request primitive for Group resource */ template (value) RequestPrimitive m_createGroupBase := { operation := int1, to_ := "NotInitialized", from_ := "NotInitialized", requestIdentifier := "m_createGroup" & f_rnd(1, 1000000), resourceType := int9, primitiveContent := { any_1 := {{Group_optional := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & "NotInitialized"}, omit)}} //TODO: p_resourceId }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_createGroup(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIDs, in template (value) XSD.AnyURI p_memberId ) := { operation := int1, to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createGroup" & f_rnd(1, 1000000), resourceType := int9, primitiveContent := { any_1 := {{Group_optional := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & valueof(p_memberId)}, p_accessControlPolicyIDs)}} //TODO: p_resourceId }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base CREATE request primitive for PollingChannel resource */ template (value) RequestPrimitive m_createPollingChannelBase := { operation := int1, to_ := "NotInitialized", from_ := "NotInitialized", requestIdentifier := "m_createPollingChannel" & f_rnd(1, 1000000), resourceType := int15, primitiveContent := { any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel (omit)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId, in template (omit) AcpType p_accessControlPolicyIDs ) := { operation := int1, to_ := f_addPrefix(p_parentResourceAddress), from_ := p_originatorId, requestIdentifier := "m_createPollingChannel" & f_rnd(1, 1000000), resourceType := int15, primitiveContent := { any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel (p_accessControlPolicyIDs)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base CREATE request primitive for Schedule resource */ template (value) RequestPrimitive m_createScheduleBase := { operation := int1, to_ := "NotInitialized", from_ := "NotInitialized", requestIdentifier := "m_createSchedule" & f_rnd(1, 1000000), resourceType := int18, primitiveContent := { any_1 := {{Schedule_optional := m_contentCreateSchedule ({{"0,0,0 1 2,1,1,*"}})}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) := { operation := int1, to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createSchedule" & f_rnd(1, 1000000), resourceType := int18, primitiveContent := { any_1 := {{Schedule_optional := m_contentCreateSchedule (p_scheduleElement)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; //Added by @Naum template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedApp_IDs, in ListOfM2MID p_allowedAEs) := { operation := int1, to_ := "NotInitialized", from_ := PX_AE_ID_STEM, requestIdentifier := "m_createCSE" & f_rnd(1, 1000000), resourceType := int1, primitiveContent := { any_1 := {{ServiceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedApp_IDs, p_allowedAEs)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; /** * @desc Base CREATE request primitive for Subscription resource */ template (value) RequestPrimitive m_createSubscriptionBase := { operation := int1, to_ := "NotInitialized", from_ := "NotInitialized", requestIdentifier := "m_createSubscription" & f_rnd(1, 1000000), resourceType := int23, primitiveContent := { any_1 := {{Subscription_optional := m_contentCreateSubscription ({"Not Initialized"})}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name, in template (value) ListOfURIs p_notificationURI ) := { operation := int1, to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createSubscription" & f_rnd(1, 1000000), resourceType := int23, primitiveContent := { any_1 := {{Subscription_optional := m_contentCreateSubscription (p_notificationURI)}} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; //@Martin template (value) RequestPrimitive m_createLocationPolicy(XSD.ID p_parentResourceAddress, in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.Duration locationUpdatePeriod, in template (omit) NodeID locationTargetID, in template (omit) XSD.AnyURI locationServerAddress) := { operation := int1, //create to_ := p_parentResourceAddress, from_ := PX_AE_ID_STEM, //AE originator id e.g. requestIdentifier := "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 := { any_1 := {{ LocationPolicy_optional := m_contentCreateLocationPolicy(p_accessControlPolicyIDs, locationUpdatePeriod, locationTargetID, locationServerAddress) }} }, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := int1,//default eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; }//end group Create group Delete { template (value) RequestPrimitive m_deleteRequest(XSD.ID p_resourceAddress) := { operation := int4, to_ := f_addPrefix(p_resourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_deleteAe" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; template (value) RequestPrimitive m_delete(XSD.ID p_resourceAddress) := { operation := int4, to_ := p_resourceAddress, from_ := PX_AE_ID_STEM, requestIdentifier := "m_deleteAe" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, role := omit, originatingTimestamp := omit, requestExpirationTimestamp := omit, resultExpirationTimestamp := omit, operationExecutionTime := omit, responseType := omit, resultPersistence := omit, resultContent := omit, eventCategory := omit, deliveryAggregation := omit, groupRequestIdentifier := omit, filterCriteria := omit, discoveryResultType := omit }; }//end group Delete }//end group RequestPrimitives group ContentCreate { template (value) AEAnnc_optional mw_contentCreateAEannc (in template (omit) XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIDs, XSD.ID p_appId := PX_APP_ID) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O link := omit,//O appName := omit,//O app_ID := p_appId,//M aE_ID := omit,//NP pointOfAccess := omit, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA ontologyRef := omit,//O nodeLink := omit,//NP requestReachability := true,//M contentSerialization := omit,//O choice := omit//NP }; /** * @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_defaultResourceName, in template (omit) XSD.ID p_appId := PX_APP_ID) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O appName := omit,//O app_ID := p_appId,//M aE_ID := omit,//NP pointOfAccess := omit, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA ontologyRef := omit,//O nodeLink := omit,//NP requestReachability := true,//M contentSerialization := omit,//O choice := omit//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_defaultResourceName, 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 parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O privileges := { accessControlRule_list := { { accessControlOriginators := p_acor,//{"*"},//{PX_AE_ID_STEM}, //{"admin:admin"}, accessControlOperations := p_allowedOperations, accessControlContexts_list := omit } } },//M selfPrivileges := { accessControlRule_list := { { accessControlOriginators := p_acor, //{"*"},//{PX_AE_ID_STEM}, //{"admin:admin"}, accessControlOperations := int63, accessControlContexts_list := omit } } },//M choice := omit //NP }; //added by @Naum template (value) CSEBase_optional m_contentCreateCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) := { resourceName := omit, resourceType := omit, resourceID := omit, parentID := omit, creationTime := omit, lastModifiedTime := omit, labels := omit, accessControlPolicyIDs := omit, cseType := omit, cSE_ID := omit, supportedResourceType := omit, pointOfAccess := omit, nodeLink := omit, choice := { choice_list := {{ serviceSubscribedAppRule := p_serviceSubscribedAppRule }} } } /** * @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.NonNegativeInteger p_maxNrOfMembers, in template (value) ListOfURIs p_memberIds, in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.String p_name := c_defaultResourceName) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O creator := omit,//O memberType := int2,//TODO: To be set to omit //O currentNrOfMembers := omit,//NP maxNrOfMembers := p_maxNrOfMembers,//M memberIDs := p_memberIds,//M membersAccessControlPolicyIDs := omit,//O memberTypeValidated := omit,//NP consistencyStrategy := omit,//O groupName := omit,//O fanOutPoint := omit,//NP 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) AcpType p_accessControlPolicyIDs, in template (omit) XSD.String p_name := c_defaultResourceName) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O pollingChannelURI := omit//NP }; /** * @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_defaultResourceName) := { 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 announceTo := omit,//O announcedAttribute := omit,//O scheduleElement := p_scheduleElement,//M choice := omit//NP }; template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedApp_IDs, in ListOfM2MID p_allowedAEs) := { resourceName := omit, resourceType := omit, resourceID := omit, parentID := omit, creationTime := omit, lastModifiedTime := omit, labels := omit, accessControlPolicyIDs := omit, expirationTime := omit, applicableCredIDs := p_applicableCredIDs, allowedApp_IDs := p_allowedApp_IDs, allowedAEs := p_allowedAEs, choice := omit } /** * @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_defaultResourceName) := { resourceName := c_defaultResourceName,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O eventNotificationCriteria := omit,//O expirationCounter := omit,//O notificationURI := p_notificationURI,//M groupID := omit,//O notificationForwardingURI := omit,//O batchNotify := omit,//O rateLimit := omit,//O preSubscriptionNotify := omit,//O pendingNotification := omit,//O notificationStoragePriority := omit,//O latestNotify := omit,//O notificationContentType := int1, //TODO Set to omit once xsd is fixed,//O notificationEventCat := omit,//O creator := omit,//O subscriberURI := omit,//O choice := omit//NP }; /** * @desc Base primitiveContent for CREATE operation for ContentInstance resource * @param p_primitiveContent Content for the ContentInstance */ template (value) ContentInstance_optional m_contentCreateContentInstance(XSD.String p_primitiveContent) := { resourceName := c_defaultResourceName,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//O contentInfo := "a",//O contentSize := omit,//NP ontologyRef := omit,//O content := { embed_values := {p_primitiveContent}, attr := omit, elem_list := {} }//M }; /** * @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_defaultResourceName):= { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//O maxNrOfInstances := omit,//O maxByteSize := omit,//O maxInstanceAge := omit,//O currentNrOfInstances := omit,//NP currentByteSize := omit,//NP locationID := omit,//O ontologyRef := omit,//O latest := omit,//NP oldest := omit,//NP choice := omit//NP }; //@Martin template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIDs, in template (value) XSD.Duration locationUpdatePeriod, in template (value) NodeID locationTargetID, in template (value) XSD.AnyURI locationServerAddress) := { resourceName := c_defaultResourceName, //O resourceType := omit, //NP resourceID := omit, //NP parentID := omit, //NP creationTime := omit, //NP lastModifiedTime := omit, //NP labels := LABELS,//O accessControlPolicyIDs := p_accessControlPolicyIDs, //O expirationTime := omit, //O announceTo := omit, //O announcedAttribute := omit, //O locationSource := PX_LOCATION_SOURCE, //M locationUpdatePeriod := locationUpdatePeriod, //O locationTargetID := locationTargetID, //O locationServer := locationServerAddress,//O locationContainerID := omit, //NP locationContainerName := PX_LOCATION_CONTAINER_NAME,//O locationStatus := omit, //NP choice := omit //NP }; }//end group ContentCreate group ContentUpdate { /** * @desc Base primitiveContent for UPDATE operation for AE resource */ template (value) AE_optional m_contentUpdateAe := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O appName := omit,//O app_ID := omit,//NP aE_ID := omit,//NP pointOfAccess := omit,//O ontologyRef := omit,//O nodeLink := omit,//NP requestReachability := omit,//O contentSerialization := omit,//O choice := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for AccessControlPolicy resource */ template (value) AccessControlPolicy_optional m_contentUpdateAcp := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O privileges := omit,//O selfPrivileges := omit,//O choice := omit //NP }; /** * @desc Base primitiveContent for UPDATE operation for Group resource */ template (value) Group_optional m_contentUpdateGroup := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O creator := omit,//NP memberType := omit,//NP currentNrOfMembers := omit,//NP maxNrOfMembers := omit,//O memberIDs := omit,//O membersAccessControlPolicyIDs := omit,//O memberTypeValidated := omit,//NP consistencyStrategy := omit,//NP groupName := omit,//O fanOutPoint := omit,//NP choice := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for PollingChannel resource */ template (value) PollingChannel_optional m_contentUpdatePollingChannel := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O pollingChannelURI := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for Schedule resource */ template (value) Schedule_optional m_contentUpdateSchedule := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O scheduleElement := omit,//O choice := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for Subscription resource */ template (value) Subscription_optional m_contentUpdateSubscription := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O eventNotificationCriteria := omit,//O expirationCounter := omit,//O notificationURI := omit,//O groupID := omit,//O notificationForwardingURI := omit,//O batchNotify := omit,//O rateLimit := omit,//O preSubscriptionNotify := omit,//NP pendingNotification := omit,//O notificationStoragePriority := omit,//O latestNotify := omit,//O notificationContentType := omit,//O notificationEventCat := omit,//O creator := omit,//NP subscriberURI := omit,//NP choice := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for AE resource */ template (value) ContentInstance_optional m_contentUpdateContentInstance(XSD.String p_primitiveContent) := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//O contentInfo := omit,//O contentSize := omit,//NP ontologyRef := omit,//O content := { embed_values := {p_primitiveContent}, attr := omit, elem_list := {} }//O }; /** * @desc Base primitiveContent for UPDATE operation for Container resource */ template (value) Container_optional m_contentUpdateContainer := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//NP maxNrOfInstances := omit,//O maxByteSize := omit,//O maxInstanceAge := omit,//O currentNrOfInstances := omit,//NP currentByteSize := omit,//NP locationID := omit,//O ontologyRef := omit,//O latest := omit,//NP oldest := omit,//NP choice := omit//NP }; //@Martin template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIDs, in template (value) XSD.Duration locationUpdatePeriod) := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := LABELS,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O locationSource := omit,//NP locationUpdatePeriod := locationUpdatePeriod, //O locationTargetID := omit, //NP locationServer := omit, //NP locationContainerID := omit, //NP locationContainerName := PX_LOCATION_CONTAINER_NAME, //O locationStatus := omit, //NP choice := omit //NP }; }//end group ContentUpdate group responseContent { template AE_optional mw_contentAeBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := ?,//M appName := *,//O app_ID := ?,//M aE_ID := ?,//M pointOfAccess := *,//O ontologyRef := *,//O nodeLink := *,//O requestReachability := ?,//M contentSerialization := *,//O choice := *//O }; template AccessControlPolicy_optional mw_contentAcpBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := *,//O privileges := ?,//M selfPrivileges := ?,//M choice := *//O }; template AccessControlPolicy_optional mw_contentAcp_allOmit modifies mw_contentAcpBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M privileges := omit,//M selfPrivileges := omit,//M choice := omit//O } template AccessControlPolicy_optional mw_contentAcp_rc1 modifies mw_contentAcpBase := { choice := omit //O } //TODO template XSD.AnyURI mw_contentAcp_rc2 := ?; template AccessControlPolicy_optional mw_contentAcp_rc3 modifies mw_contentAcpBase := { choice := omit //O } template AccessControlPolicy_optional mw_contentAcp_rc4 modifies mw_contentAcpBase := { choice := {subscription_list := ?} //O } template AccessControlPolicy_optional mw_contentAcp_rc5 modifies mw_contentAcpBase := { choice := {childResource_list := ?} //O } template AccessControlPolicy_optional mw_contentAcp_rc6 modifies mw_contentAcpBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M privileges := omit,//M selfPrivileges := omit,//M choice := {childResource_list := ?}//O } template AccessControlPolicy_optional mw_contentAcp_rc7 modifies mw_contentAcpBase := { } template Group_optional mw_contentGroupBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := *,//O creator := *,//O memberType := ?,//M currentNrOfMembers := ?,//M maxNrOfMembers := ?,//M memberIDs := ?,//M membersAccessControlPolicyIDs := *,//O memberTypeValidated := *,//O consistencyStrategy := *,//O groupName := *,//O fanOutPoint := omit,//M choice := *//O }; template Group_optional mw_contentGroup_allOmit modifies mw_contentGroupBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M creator := omit,//O memberType := omit,//M currentNrOfMembers := omit,//M maxNrOfMembers := omit,//M memberIDs := omit,//M membersAccessControlPolicyIDs := omit,//O memberTypeValidated := omit,//M consistencyStrategy := omit,//O groupName := omit,//O fanOutPoint := omit,//M choice := omit//O } template Group_optional mw_contentGroup_rc1 modifies mw_contentGroupBase := { choice := omit //O } template XSD.AnyURI mw_contentGroup_rc2 := ?; template Group_optional mw_contentGroup_rc3 modifies mw_contentGroupBase := { choice := omit //O } template Group_optional mw_contentGroup_rc4 modifies mw_contentGroupBase := { choice := {subscription_list := ?} //O } template Group_optional mw_contentGroup_rc5 modifies mw_contentGroupBase := { choice := {childResource_list := ?} //O } template Group_optional mw_contentGroup_rc6 modifies mw_contentGroupBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M creator := omit,//O memberType := omit,//M currentNrOfMembers := omit,//M maxNrOfMembers := omit,//M memberIDs := omit,//M membersAccessControlPolicyIDs := omit,//O memberTypeValidated := omit,//M consistencyStrategy := omit,//O groupName := omit,//O fanOutPoint := omit,//M choice := {childResource_list := ?}//O } template Group_optional mw_contentGroup_rc7 modifies mw_contentGroupBase := { } template PollingChannel_optional mw_contentPollingChannelBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M pollingChannelURI := ?//M }; template PollingChannel_optional mw_contentPollingChannel_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M pollingChannelURI := omit//M }; template Schedule_optional mw_contentScheduleBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := *,//O scheduleElement := ?,//M choice := *//O }; template Schedule_optional mw_contentSchedule_allOmit modifies mw_contentScheduleBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M scheduleElement := omit,//M choice := omit//O } template Schedule_optional mw_contentSchedule_rc1 modifies mw_contentScheduleBase := { choice := omit //O } template XSD.AnyURI mw_contentSchedule_rc2 := ?; template Schedule_optional mw_contentSchedule_rc3 modifies mw_contentScheduleBase := { choice := omit //O } template Schedule_optional mw_contentSchedule_rc4 modifies mw_contentScheduleBase := { choice := {choice_list := ?} //O } template Schedule_optional mw_contentSchedule_rc5 modifies mw_contentScheduleBase := { choice := {childResource_list := ?} //O } template Schedule_optional mw_contentSchedule_rc6 modifies mw_contentScheduleBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M scheduleElement := omit,//M choice := {childResource_list := ?}//O } template Schedule_optional mw_contentSchedule_rc7 modifies mw_contentScheduleBase := { } template Subscription_optional mw_contentSubscriptionBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M eventNotificationCriteria := *,//O expirationCounter := *,//O notificationURI := ?,//M groupID := *,//O notificationForwardingURI := *,//O batchNotify := *,//O rateLimit := *,//O preSubscriptionNotify := *,//O pendingNotification := *,//O notificationStoragePriority := *,//O latestNotify := *,//O notificationContentType := *,//O notificationEventCat := *,//O creator := *,//O subscriberURI := *,//O choice := *//O }; template Subscription_optional mw_contentSubscription_allOmit modifies mw_contentSubscriptionBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M eventNotificationCriteria := omit,//O expirationCounter := omit,//O notificationURI := omit,//M groupID := omit,//O notificationForwardingURI := omit,//O batchNotify := omit,//O rateLimit := omit,//O preSubscriptionNotify := omit,//O pendingNotification := omit,//O notificationStoragePriority := omit,//O latestNotify := omit,//O notificationContentType := omit,//M notificationEventCat := omit,//O creator := omit,//O subscriberURI := omit,//O choice := omit//O } template Subscription_optional mw_contentSubscription_rc1 modifies mw_contentSubscriptionBase := { choice := omit //O } template XSD.AnyURI mw_contentSubscription_rc2 := ?; template Subscription_optional mw_contentSubscription_rc3 modifies mw_contentSubscriptionBase := { choice := omit //O } template Subscription_optional mw_contentSubscription_rc4 modifies mw_contentSubscriptionBase := { choice := {schedule := ?} //O } template Subscription_optional mw_contentSubscription_rc5 modifies mw_contentSubscriptionBase := { choice := {childResource := ?} //O } template Subscription_optional mw_contentSubscription_rc6 modifies mw_contentSubscriptionBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M eventNotificationCriteria := omit,//O expirationCounter := omit,//O notificationURI := omit,//M groupID := omit,//O notificationForwardingURI := omit,//O batchNotify := omit,//O rateLimit := omit,//O preSubscriptionNotify := omit,//O pendingNotification := omit,//O notificationStoragePriority := omit,//O latestNotify := omit,//O notificationContentType := omit,//M notificationEventCat := omit,//O creator := omit,//O subscriberURI := omit,//O choice := {childResource := ?}//O } template Subscription_optional mw_contentSubscription_rc7 modifies mw_contentSubscriptionBase := { } template ContentInstance_optional mw_contentContentInstanceBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := *,//O stateTag := ?,//M creator := *,//O contentInfo := *,//O contentSize := ?,//M ontologyRef := *,//O content := ?//M }; template Container_optional mw_contentContainerBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := *,//O stateTag := ?,//M creator := *,//O maxNrOfInstances := *,//O maxByteSize := *,//O maxInstanceAge := *,//O currentNrOfInstances := ?,//M currentByteSize := ?,//M locationID := *,//O ontologyRef := *,//O latest := omit,//M oldest := omit,//M choice := *//O }; template Container_optional mw_contentContainer_allOmit modifies mw_contentContainerBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M stateTag := omit,//M creator := omit,//M maxNrOfInstances := omit,//O maxByteSize := omit,//O maxInstanceAge := omit,//O currentNrOfInstances := omit,//M currentByteSize := omit,//M locationID := omit,//O ontologyRef := omit,//O latest := omit,//M oldest := omit,//M choice := omit//O } template Container_optional mw_contentContainer_rc1 modifies mw_contentContainerBase := { choice := omit //O } template XSD.AnyURI mw_contentContainer_rc2 := ?; template Container_optional mw_contentContainer_rc3 modifies mw_contentContainerBase := { choice := omit //O } template Container_optional mw_contentContainer_rc4 modifies mw_contentContainerBase := { choice := {choice_list := ?} //O } template Container_optional mw_contentContainer_rc5 modifies mw_contentContainerBase := { choice := {childResource_list := ?} //O } template Container_optional mw_contentContainer_rc6 modifies mw_contentContainerBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M stateTag := omit,//M creator := omit,//M maxNrOfInstances := omit,//O maxByteSize := omit,//O maxInstanceAge := omit,//O currentNrOfInstances := omit,//M currentByteSize := omit,//M locationID := omit,//O ontologyRef := omit,//O latest := omit,//M oldest := omit,//M choice := {childResource_list := ?}//O } template Container_optional mw_contentContainer_rc7 modifies mw_contentContainerBase := { } }//end group responseContent group SpecialContents { template (value) AE_update_invalid m_contentUpdateAe_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, expirationTime := omit, announceTo := omit, announcedAttribute := omit, appName := omit, pointOfAccess := omit, ontologyRef := omit, requestReachability := omit }; template (value) ACP_update_invalid m_contentUpdateAcp_invalid := { labels := omit, expirationTime := omit, creationTime := omit, expirationCounter := omit, announceTo := omit, announcedAttribute := omit, privileges := omit, selfPrivileges := omit }; template (value) Group_update_invalid m_contentUpdateGroup_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, expirationCounter := omit, expirationTime := omit, announceTo := omit, announcedAttribute := omit, maxNrOfMembers := omit, memberIDs := omit, membersAccessControlPolicyIDs := omit, groupName := omit }; template (value) PollingChannel_update_invalid m_contentUpdatePollingChannel_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, expirationCounter := omit, expirationTime := omit, pollingChannelURI := omit }; template (value) Schedule_update_invalid m_contentUpdateSchedule_invalid := { labels := omit, creationTime := omit, expirationCounter := omit, expirationTime := omit, announceTo := omit, announcedAttribute := omit, scheduleElement := omit }; template (value) Subscription_update_invalid m_contentUpdateSubscription_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, maxNrOfInstances := omit, expirationTime := omit, eventNotificationCriteria := omit, expirationCounter := omit, notificationURI := omit, groupID := omit, notificationForwardingURI := omit, batchNotify := omit, rateLimit := omit, pendingNotification := omit, notificationStoragePriority := omit, latestNotify := omit, notificationContentType := omit, notificationEventCat := omit }; template (value) ContentInstance_update_invalid m_contentUpdateContentInstance_invalid(XSD.String p_primitiveContent) := { labels := omit, creationTime := omit, announceTo := omit, contentInfo := omit, contentSize := omit, ontologyRef := omit, content_ := { embed_values := {p_primitiveContent}, attr := omit, elem_list := {} } }; template (value) Container_update_invalid m_contentUpdateContainer_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, expirationCounter := omit, expirationTime := omit, announceTo := omit, announcedAttribute := omit, maxNrOfInstances := omit, maxByteSize := omit, maxInstanceAge := omit, locationID := omit, ontologyRef := omit }; }//end group SpecialContents group ResponsePrimitives { template M2MResponsePrimitive mw_response(ResponseStatusCode p_statusCode) := { responsePrimitive_ := { responseStatusCode := p_statusCode, requestIdentifier := ?, primitiveContent := *, to_ := *, from_ := *, originatingTimestamp := *, resultExpirationTimestamp := *, eventCategory := * } }; template M2MResponsePrimitive mw_responseInverse(ResponseStatusCode p_statusCode) := { responsePrimitive_ := { responseStatusCode := complement(p_statusCode), requestIdentifier := ?, primitiveContent := *, to_ := *, from_ := *, originatingTimestamp := *, resultExpirationTimestamp := *, eventCategory := * } }; template M2MResponsePrimitive mw_responseOK(in template PrimitiveContent p_content := *) := { responsePrimitive_ := { responseStatusCode := (int2000, int2001, int2002, int2004), requestIdentifier := ?, primitiveContent := p_content, to_ := *, from_ := *, originatingTimestamp := *, resultExpirationTimestamp := *, eventCategory := * } }; template M2MResponsePrimitive mw_responseKO := { responsePrimitive_ := { responseStatusCode := complement(int2000, int2001, int2002, int2004), requestIdentifier := ?, primitiveContent := *, to_ := *, from_ := *, originatingTimestamp := *, resultExpirationTimestamp := *, eventCategory := * } }; }//end group ResponsePrimitives /** * @desc Get the prefix depending on the addressing format and binding (Temporal funciton as this should be done by TA) * @param v_address Actual address * @return Address with prefix * @verdict */ function f_addPrefix(XSD.ID v_address) return XSD.ID { //TODO Test, to be removed if(PX_ADDRESSING_FORMAT == e_cseRelative) { v_address := "/" & v_address; } else if (PX_ADDRESSING_FORMAT == e_spRelative) { v_address := "/~" & v_address; } else { v_address := "/~" & v_address; } return v_address; } } // end of module