diff --git a/OneM2M_Testcases_CSE.ttcn b/OneM2M_Testcases_CSE.ttcn
index cba322143689eb628255bed2bbb961663c488588..e8adcb87ade0da8ab0acfcd60780c776e4d6bdbf 100644
--- a/OneM2M_Testcases_CSE.ttcn
+++ b/OneM2M_Testcases_CSE.ttcn
@@ -1452,7 +1452,7 @@ module OneM2M_Testcases_CSE {
 					testcase TC_CSE_REG_CRE_013_LBL() runs on Tester system CseSystem {
 						// Local variables
 						var template RequestPrimitive v_createRequest := m_createRemoteCSEBase;	
-						const c_optionalAttribute := {"labels", omit};
+						const AttributeAux c_optionalAttribute := {"labels", omit};
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
                         						
 						v_createRequest.primitiveContent.remoteCSE.labels := {"MyLabel"};
@@ -5587,7 +5587,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs"};
+						const AttributeList c_optionalAttribute := {"accessControlPolicyIDs"};
 						
 						v_createRequest.primitiveContent.container.accessControlPolicyIDs := {"NotInitialized"};
 						
@@ -5599,7 +5599,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"expirationTime"};
+						const AttributeList c_optionalAttribute := {"expirationTime"};
 						
 						v_createRequest.primitiveContent.container.expirationTime := "20301231T012345";
 						
@@ -5612,7 +5612,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"labels"};
+						const AttributeList c_optionalAttribute := {"labels"};
 						
 						v_createRequest.primitiveContent.container.labels := {"MyLabel"};
 						
@@ -5625,7 +5625,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"maxNrOfInstances"};
+						const AttributeList c_optionalAttribute := {"maxNrOfInstances"};
 						
 						v_createRequest.primitiveContent.container.maxNrOfInstances := 0;
 						
@@ -5651,7 +5651,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						const AttributeAux c_optionalAttribute := {"maxInstanceAge"};
+						const AttributeList c_optionalAttribute := {"maxInstanceAge"};
 						
 						v_createRequest.primitiveContent.container.maxInstanceAge := 0;
 						
@@ -5664,7 +5664,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
-						var AttributeAux v_optionalAttribute := {"creator", omit};
+						var AttributeList v_optionalAttribute := {"creator"};
 						
 						v_createRequest.primitiveContent.container.creator := "NullValue";
 						
@@ -5677,7 +5677,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"expirationTime"};
+						const AttributeList c_optionalAttribute := {"expirationTime"};
 						
 						v_createRequest.primitiveContent.contentInstance.expirationTime := "20301231T012345";
 						
@@ -5689,7 +5689,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"labels"};
+						const AttributeList c_optionalAttribute := {"labels"};
 						
 						v_createRequest.primitiveContent.contentInstance.labels := {"MyLabel"};
 						
@@ -5702,7 +5702,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						var AttributeAux v_optionalAttribute := {"creator", omit};
+						var AttributeList v_optionalAttribute := {"creator"};
 						
 						v_createRequest.primitiveContent.contentInstance.creator := "NullValue";
 						
@@ -5715,7 +5715,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"contentInfo"};
+						const AttributeList c_optionalAttribute := {"contentInfo"};
 						
 						v_createRequest.primitiveContent.contentInstance.contentInfo := "MyContentInfo";
 						
@@ -5728,7 +5728,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
-						const AttributeAux c_optionalAttribute := {"ontologyRef"};
+						const AttributeList c_optionalAttribute := {"ontologyRef"};
 						
 						v_createRequest.primitiveContent.contentInstance.ontologyRef := "MyOntologyRef";
 						
@@ -5741,7 +5741,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
-						const AttributeAux c_optionalAttribute := {"expirationTime"};
+						const AttributeList c_optionalAttribute := {"expirationTime"};
 						
 						v_createRequest.primitiveContent.accessControlPolicy.expirationTime := "20301231T012345";
 						
@@ -5754,7 +5754,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
-						const AttributeAux c_optionalAttribute := {"labels"};
+						const AttributeList c_optionalAttribute := {"labels"};
 						
 						v_createRequest.primitiveContent.accessControlPolicy.labels := {"MyLabel"};
 						
@@ -5767,7 +5767,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs"};
+						const AttributeList c_optionalAttribute := {"accessControlPolicyIDs"};
 						
 						v_createRequest.primitiveContent.subscription.accessControlPolicyIDs := {"NotInitialized"};
 						
@@ -5779,7 +5779,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"expirationTime"};
+						const AttributeList c_optionalAttribute := {"expirationTime"};
 						
 						v_createRequest.primitiveContent.subscription.expirationTime := "20301231T012345";
 						
@@ -5792,7 +5792,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"labels"};
+						const AttributeList c_optionalAttribute := {"labels"};
 						
 						v_createRequest.primitiveContent.subscription.labels := {"MyLabel"};
 						
@@ -5805,7 +5805,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"eventNotificationCriteria"};
+						const AttributeList c_optionalAttribute := {"eventNotificationCriteria"};
 						
 						v_createRequest.primitiveContent.subscription.eventNotificationCriteria := valueof(m_eventNotificationCriteria({int1}, -));
 						
@@ -5818,7 +5818,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"expirationCounter"};
+						const AttributeList c_optionalAttribute := {"expirationCounter"};
 						
 						v_createRequest.primitiveContent.subscription.expirationCounter := 1;
 						
@@ -5831,7 +5831,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"groupID"};
+						const AttributeList c_optionalAttribute := {"groupID"};
 						
 						v_createRequest.primitiveContent.subscription.groupID := "MyGroupID";
 						
@@ -5844,7 +5844,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"notificationForwardingURI"};
+						const AttributeList c_optionalAttribute := {"notificationForwardingURI"};
 						
 						v_createRequest.primitiveContent.subscription.notificationForwardingURI := "MyForwardingURI";
 						
@@ -5857,7 +5857,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"batchNotify"};
+						const AttributeList c_optionalAttribute := {"batchNotify"};
 						
 						v_createRequest.primitiveContent.subscription.batchNotify := {0, "PT1S"};
 						
@@ -5869,7 +5869,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"rateLimit"};
+						const AttributeList c_optionalAttribute := {"rateLimit"};
 						
 						v_createRequest.primitiveContent.subscription.rateLimit := {0, omit};
 						
@@ -5882,7 +5882,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"preSubscriptionNotify"};
+						const AttributeList c_optionalAttribute := {"preSubscriptionNotify"};
 						
 						v_createRequest.primitiveContent.subscription.preSubscriptionNotify := 1;
 						
@@ -5895,7 +5895,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"pendingNotification"};
+						const AttributeList c_optionalAttribute := {"pendingNotification"};
 						
 						v_createRequest.primitiveContent.subscription.pendingNotification := int1;
 						
@@ -5907,7 +5907,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"notificationStoragePriority"};
+						const AttributeList c_optionalAttribute := {"notificationStoragePriority"};
 						
 						v_createRequest.primitiveContent.subscription.notificationStoragePriority := 1;
 						
@@ -5920,7 +5920,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"latestNotify"};
+						const AttributeList c_optionalAttribute := {"latestNotify"};
 						
 						v_createRequest.primitiveContent.subscription.latestNotify := true;
 						
@@ -5933,7 +5933,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"notificationContentType"};
+						const AttributeList c_optionalAttribute := {"notificationContentType"};
 						
 						v_createRequest.primitiveContent.subscription.notificationContentType := int1;
 						
@@ -5946,7 +5946,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"notificationEventCat"};
+						const AttributeList c_optionalAttribute := {"notificationEventCat"};
 						
 						v_createRequest.primitiveContent.subscription.notificationEventCat := {alt_1 := 100};
 						
@@ -5959,7 +5959,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						var AttributeAux v_optionalAttribute := {"creator", omit};
+						var AttributeList v_optionalAttribute := {"creator"};
 						
 						v_createRequest.primitiveContent.subscription.creator := "NullValue";
 						
@@ -5972,7 +5972,7 @@ module OneM2M_Testcases_CSE {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
-						const AttributeAux c_optionalAttribute := {"subscriberURI"};
+						const AttributeList c_optionalAttribute := {"subscriberURI"};
 						
 						v_createRequest.primitiveContent.subscription.subscriberURI := "MySubscriberURI";
 						
@@ -5981,7 +5981,7 @@ module OneM2M_Testcases_CSE {
 						
 					}
 				
-					function f_CSE_DMR_CRE_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on AeSimu {
+					function f_CSE_DMR_CRE_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeList p_optionalAttribute) runs on AeSimu {
     				
 							// Local variables
 							var MsgIn v_response;
@@ -5992,9 +5992,10 @@ module OneM2M_Testcases_CSE {
 							var integer v_ae2Index := -1;
 							const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs";
 							var integer v_resourceIndex := -1;
+							var XSD.NCName v_myOptionalAttribute := p_optionalAttribute[0];
 											   
 							// Test control
-							if(p_optionalAttribute.name == c_accessControlPolicyIDs) {
+							if(v_myOptionalAttribute == c_accessControlPolicyIDs) {
 								if(not(PICS_ACP_SUPPORT)) {
 									setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");
 									stop;
@@ -6007,7 +6008,7 @@ module OneM2M_Testcases_CSE {
 							// Test adapter configuration
 
 							// Preamble
-							if (p_optionalAttribute.name == c_accessControlPolicyIDs) {
+							if (v_myOptionalAttribute == c_accessControlPolicyIDs) {
 								v_acpAuxIndex := f_cse_preamble_createAcpAux();//c_CRUDNDi)
 							}     				
 							
@@ -6024,8 +6025,8 @@ module OneM2M_Testcases_CSE {
 							// Test Body
 							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
     					
-							if(p_optionalAttribute.name == "creator") {
-								mcaPort.send(m_request(v_request, {p_optionalAttribute}));
+							if(v_myOptionalAttribute == "creator") {
+								mcaPort.send(m_request(v_request, {{v_myOptionalAttribute, omit}}));
 							} else {
 								mcaPort.send(m_request(v_request));
 							}
@@ -6033,7 +6034,7 @@ module OneM2M_Testcases_CSE {
 							alt {
 								[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
 									tc_ac.stop;
-									setverdict(pass, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & p_optionalAttribute.name);
+									setverdict(pass, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & v_myOptionalAttribute);
 									f_checkAttributesToBeSaved(p_resourceType, v_request, v_response.primitive.responsePrimitive);
 									v_resourceIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, p_resourceType, v_parentIndex);
 								}