diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 20b3e13192e37803e5a18f28de009dfe113e260f..61eb54f37897cbb6c07f25fce60d02485a959021 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -4695,6 +4695,9 @@ module OneM2M_Functions {
 		function f_getCreateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_request := m_create, integer p_parentIndex) runs on Tester return RequestPrimitive {
 			var template ListOfURIs v_defaultListOfURIs := {"NotInitialized"};
 			var template AcpType v_defaultAcpIDs := {"NotInitialized"};
+			var template Timestamp v_defaultTimestamp := "00000101T000000";
+			var template AbsRelTimestamp v_defaultAbsRelTimestamp := {alt_ := v_defaultTimestamp};
+			var template DynAuthJWT v_defaultDynAuthJWT := {alt_ := "oneM2M.oneM2M.oneM2M"};
 
 			p_request.requestIdentifier := valueof(p_request.requestIdentifier) & f_rnd(1, 1000000);
 			
@@ -4710,24 +4713,13 @@ module OneM2M_Functions {
 				p_request.to_ := f_getResourceAddress(p_parentIndex);
 			}
 
+			//Specific actions for eac reasoure type
 			if (p_resourceType == int1) {//AccessControlPolicy
 				
 			} else if (p_resourceType == int2) {//AE
 				if(ispresent(p_request.primitiveContent.aE.pointOfAccess)) {
 					p_request.primitiveContent.aE.requestReachability := true;
 				}
-			} else if (p_resourceType == int16) {//remoteCSE
-				if(ispresent(p_request.primitiveContent.remoteCSE.pointOfAccess)) {
-					p_request.primitiveContent.remoteCSE.requestReachability := true;
-				}
-			} else if (p_resourceType == int9) {//group
-				if(match(valueof(p_request.primitiveContent.group_.memberIDs), v_defaultListOfURIs )){
-					if (p_parentIndex == -1){
-						p_request.primitiveContent.group_.memberIDs := {};
-					}else{
-						p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[p_parentIndex].resource)};
-					}
-				}
 			} else if(p_resourceType == int3){//container
 				//when a container is created by hosting cse for storing location information, the container is seen as a location container
 				if(PX_IS_LOC_CONTAINER){
@@ -4738,10 +4730,27 @@ module OneM2M_Functions {
 						p_request.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)};
 					}	
 				}  
+			} else if (p_resourceType == int4) {//contentInstance
+				//creator attribute
+				if(ispresent(p_request.primitiveContent.contentInstance.creator)) {
+					p_request.primitiveContent.contentInstance.creator := f_getCreator(p_parentIndex);
+				}
+			} else if (p_resourceType == int9) {//group
+				if(match(valueof(p_request.primitiveContent.group_.memberIDs), v_defaultListOfURIs )){
+					if (p_parentIndex == -1){
+						p_request.primitiveContent.group_.memberIDs := {};
+					}else{
+						p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[p_parentIndex].resource)};
+					}
+				}
 			} else if (p_resourceType == int15) {//pollingChannel
 				if(ischosen(vc_resourcesList[p_parentIndex].resource.aE)) {	
 					p_request.from_ := vc_resourcesList[p_parentIndex].resource.aE.aE_ID;
 				}
+			} else if (p_resourceType == int16) {//remoteCSE
+				if(ispresent(p_request.primitiveContent.remoteCSE.pointOfAccess)) {
+					p_request.primitiveContent.remoteCSE.requestReachability := true;
+				}
 			} else if (p_resourceType == int18) {//schedule
 			} else if (p_resourceType == int23) {//subscription
 				//notificationURI
@@ -4760,18 +4769,36 @@ module OneM2M_Functions {
 						p_request.primitiveContent.subscription.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)};
 					}	
 				}  
-			} else if (p_resourceType == int4) {//contentInstance
-				//creator attribute
-				if(ispresent(p_request.primitiveContent.contentInstance.creator)) {
-					p_request.primitiveContent.contentInstance.creator := f_getCreator(p_parentIndex);
-				}
 			} else if(p_resourceType == int29){//timeSeries
 				if(ispresent(p_request.primitiveContent.timeSeries.accessControlPolicyIDs)) {
 					if((match(valueof(p_request.primitiveContent.timeSeries.accessControlPolicyIDs), v_defaultAcpIDs )) and (isbound(vc_acpAuxIndex))){
 						p_request.primitiveContent.timeSeries.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)};
-			}
+					}
 				} 
+			} else if(p_resourceType == int30){//timeSeriesInstance
+				if(ispresent(p_request.primitiveContent.timeSeriesInstance.dataGenerationTime)) {
+					if((match(valueof(p_request.primitiveContent.timeSeriesInstance.dataGenerationTime), v_defaultAbsRelTimestamp))){
+						p_request.primitiveContent.timeSeriesInstance.dataGenerationTime := {alt_ := fx_generateTimestamp()};
+					}
+				}
+			} else if(p_resourceType == int31){//role
+				if(ispresent(p_request.primitiveContent.role.notBefore)) {
+					if((match(valueof(p_request.primitiveContent.role.notBefore), v_defaultTimestamp))){
+						p_request.primitiveContent.role.notBefore := fx_generateTimestamp();
+					}
+				} else if(ispresent(p_request.primitiveContent.role.notAfter)) {
+					if((match(valueof(p_request.primitiveContent.role.notAfter), v_defaultTimestamp))){
+						p_request.primitiveContent.role.notAfter := fx_generateTimestamp();
+					}
+				}
+			} else if(p_resourceType == int32){//token
+				if(ispresent(p_request.primitiveContent.token.tokenObject)) {
+					if((match(valueof(p_request.primitiveContent.token.tokenObject), v_defaultDynAuthJWT))){
+						p_request.primitiveContent.token.tokenObject := fx_generateJWT();
+					}
+				}
 			} 
+			
 
 			return valueof(p_request);
 		}
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index c332349daa79eb5e09c505010ed344344f600fb0..6a12d1389fa58b287d657ebe09f0530bfc30c232 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -4464,7 +4464,7 @@ module OneM2M_Templates {
 			expirationTime := omit,//O
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
-			dataGenerationTime := {alt_ := fx_generateTimestamp()},//M
+			dataGenerationTime := {alt_ := "00000101T000000"},//M
 			content := "AnyValue",//M
 			sequenceNr := omit,//O
 			contentSize  := omit,//NP
@@ -4537,8 +4537,8 @@ module OneM2M_Templates {
 			roleID := "roleID@a.b", //M
 			issuer := "issuer", //M
 			holder := "holder", //M
-			notBefore := fx_generateTimestamp(),//M
-			notAfter := fx_generateTimestamp(),//M
+			notBefore := "00000101T000000",//M
+			notAfter := "00000101T000000",//M
 			roleName := omit, //O
 			tokenLink := omit, //O
 			choice := omit//O
@@ -4585,7 +4585,7 @@ module OneM2M_Templates {
 			expirationTime := omit,//O
 			dynamicAuthorizationConsultationIDs := omit, //O
 			tokenID := "roleID@a.b", //M
-			tokenObject := fx_generateJWT(), //M
+			tokenObject := {alt_ := "oneM2M.oneM2M.oneM2M"}, //M
 			version := omit, //O
 			issuer := omit, //O
 			holder := omit, //O
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 3c7cff7f7dfcd78609129a7864c8ebb4dc08d0e6..105580b59882a4aa3413cc292d7689b6c3f6a258 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -1877,13 +1877,13 @@ with {
 };
 
 
-type XSD.String E2eCompactJWS (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
+type XSD.String E2eCompactJWS (pattern "([a-zA-Z0-9\-_=]#(1,)).([a-zA-Z0-9\-_=]#(0,)).([A-Za-z0-9\-_=])#(1,)")
 with {
   variant "name as uncapitalized";
 };
 
 
-type XSD.String E2eCompactJWE (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([a-zA-Z0-9\-_=]*).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
+type XSD.String E2eCompactJWE (pattern "([a-zA-Z0-9\-_=]#(1,)).([a-zA-Z0-9\-_=]#(0,)).([a-zA-Z0-9\-_=]#(0,)).([a-zA-Z0-9\-_=]#(0,)).([A-Za-z0-9\-_=])#(1,)")
 with {
   variant "name as uncapitalized";
 };