diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index b5d0cc3f1554f8eb0f5229405cb38f7864112044..7bd89e4b1ee692fae398866bf5e89ef1cd512152 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -5180,6 +5180,21 @@ module OneM2M_Functions {
 			if(ischosen(p_contentResource.timeSeriesInstance)) {
 				return p_contentResource.timeSeriesInstance.resourceID;
 			}
+			if(ischosen(p_contentResource.semanticDescriptor)) {
+				return p_contentResource.semanticDescriptor.resourceID;
+			}
+			if(ischosen(p_contentResource.ontologyRepository)) {
+				return p_contentResource.ontologyRepository.resourceID;
+			}
+			if(ischosen(p_contentResource.ontology)) {
+				return p_contentResource.ontology.resourceID;
+			}
+			if(ischosen(p_contentResource.semanticMashupInstance)) {
+				return p_contentResource.semanticMashupInstance.resourceID;
+			}
+			if(ischosen(p_contentResource.semanticMashupJobProfile)) {
+				return p_contentResource.semanticMashupJobProfile.resourceID;
+			}
 			//Announced resources
 			if(ischosen(p_contentResource.accessControlPolicyAnnc)) {
 				return f_resourceIdCleaner(p_contentResource.accessControlPolicyAnnc.resourceID);
@@ -5280,6 +5295,21 @@ module OneM2M_Functions {
 			if(ischosen(p_contentResource.timeSeriesInstance)) {
 				return p_contentResource.timeSeriesInstance.resourceName;
 			}
+			if(ischosen(p_contentResource.semanticDescriptor)) {
+				return p_contentResource.semanticDescriptor.resourceName;
+			}
+			if(ischosen(p_contentResource.ontologyRepository)) {
+				return p_contentResource.ontologyRepository.resourceName;
+			}
+			if(ischosen(p_contentResource.ontology)) {
+				return p_contentResource.ontology.resourceName;
+			}
+			if(ischosen(p_contentResource.semanticMashupInstance)) {
+				return p_contentResource.semanticMashupInstance.resourceName;
+			}
+			if(ischosen(p_contentResource.semanticMashupJobProfile)) {
+				return p_contentResource.semanticMashupJobProfile.resourceName;
+			}
 			//Announced resources
 			if(ischosen(p_contentResource.accessControlPolicyAnnc)) {
 				return p_contentResource.accessControlPolicyAnnc.resourceName;
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 01de67d7f01bcbf24be6ee128dc81bd188a0bcb7..d57807f7f5f89494986e5eb2381b57e651d12813 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -3303,8 +3303,9 @@ module OneM2M_Templates {
     	/**
 		 * @desc 	Base primitiveContent for CREATE operation for SemanticDescriptor resource
 		 */
-		template (value) SemanticDescriptor_optional m_contentCreateSemanticDescriptor := {			
-			resourceName := omit,                              //O
+		template (value) SemanticDescriptor_optional m_contentCreateSemanticDescriptor(in SemanticFormat p_descriptorRepresentation := int4,
+																						in XSD.Base64Binary p_descriptor := c_validDescriptor) := {			
+			resourceName := omit,                           //O
 			resourceType := omit,                           //NP
 			resourceID := omit,                             //NP
 			parentID := omit,                               //NP
@@ -3317,9 +3318,9 @@ module OneM2M_Templates {
 			announcedAttribute := omit,                     //O
 			dynamicAuthorizationConsultationIDs := omit,    //O
 			creator := omit,                                //O
-			descriptorRepresentation := omit,               //M
+			descriptorRepresentation := p_descriptorRepresentation,               //M
 			semanticOpExec := omit,                         //NP
-			descriptor := omit,                             //M
+			descriptor := p_descriptor,       //M
 			ontologyRef := omit,                            //O
 			relatedSemantics := omit,                       //O
 			semanticValidated := omit,                      //NP
diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index 3aa24eaebf17ea847c1e83e8d67c41cb80746714..2346c5fcdd6b888671a7af21af806e1f7d348e18 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -14,6 +14,7 @@ module OneM2M_TypesAndValues {
 	import from XSD all;
 	import from OneM2M_Types all;
 	import from OneM2M_Types_homeDevice all;
+	import from LibCommon_TextStrings all;
 
 	group ResourceNames {
 		/* Constants */	
@@ -49,9 +50,9 @@ module OneM2M_TypesAndValues {
 		const XSD.String c_defaultRoleResourceName := "MyRoleResource";
 		const XSD.String c_defaultTokenResourceName := "MyTokenResource";
 		const XSD.String c_defaultGenericInterworkingServiceResourceName := "MyGenericInterworkingServiceResource"; //<genericInterworkingService>
-	const XSD.String c_defaultAe1ResourceName := "MyAe1";
-	const XSD.String c_defaultAe2ResourceName := "MyAe2";
-	const XSD.String c_defaultAcpResourceName := "MyAcp";
+		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>
@@ -4461,5 +4462,40 @@ with {
 } // End of group tsSettings
 	
 	
+group Values {
+	 const XSD.Base64Binary c_validDescriptor := char2oct("<?xml version=""1.0""?>"&c_CRLF&
+						"<rdf:RDF xmlns=""http://www.onem2m.org/ontology/houses_temperature_example#"""&c_CRLF&
+	 c_TAB&c_TAB&"xml:base=""http://www.onem2m.org/ontology/houses_temperature_example"""&c_CRLF&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:temperature_example=""http://www.onem2m.org/ontology/temperature_example#"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:owl=""http://www.w3.org/2002/07/owl#"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:xml=""http://www.w3.org/XML/1998/namespace"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:xsd=""http://www.w3.org/2001/XMLSchema#"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:rdfs=""http://www.w3.org/2000/01/rdf-schema#"">"&c_CRLF&
+	 "<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#Fridge1"">"&c_CRLF&
+	 "<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#Fridge""/>"&c_CRLF&
+	 "<temperature_example:hasFridgeTemperature rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty""/>"&c_CRLF&
+	"</owl:NamedIndividual>"&c_CRLF&
+	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty"">"&c_CRLF&
+	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureProperty""/>"&c_CRLF&
+	"<temperature_example:hasDatatype>xsd:double</temperature_example:hasDatatype>"&c_CRLF&
+	"<temperature_example:hasUnit rdf:datatype=""http://www.w3.org/2001/XMLSchema#string"">Celsius</temperature_example:hasUnit>"&c_CRLF&
+	"<temperature_example:valueIsStoredIn>http://in.provider.com:7579/server/tempsensorae4/temperature/latest</temperature_example:valueIsStoredIn>"&c_CRLF&
+	"</owl:NamedIndividual>"&c_CRLF&
+	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempSensor"">"&c_CRLF&
+	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureSensor""/>"&c_CRLF&
+	"<temperature_example:hasTemperatureMeasuringFunction rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#TempFunction4""/>"&c_CRLF&
+	"</owl:NamedIndividual>"&c_CRLF&
+	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#TempFunction4"">"&c_CRLF&
+	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureMeasuringFunction""/>"&c_CRLF&
+	"<temperature_example:measuresTemperature rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty""/>"&c_CRLF&
+	"</owl:NamedIndividual>"&c_CRLF&
+	"</rdf:RDF>");
+	
+	const charstring  c_encodedValidDescriptor := "PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxyZGY6UkRGIHhtbG5zPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjIgogICAgIHhtbDpiYXNlPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUiCiAgICAgeG1sbnM6dGVtcGVyYXR1cmVfZXhhbXBsZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L3RlbXBlcmF0dXJlX2V4YW1wbGUjIgogICAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgICB4bWxuczpvd2w9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsIyIKICAgICB4bWxuczp4bWw9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIKICAgICB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyIKICAgICB4bWxuczpyZGZzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIj4KCiAgICA8b3dsOk5hbWVkSW5kaXZpZHVhbCByZGY6YWJvdXQ9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSNIb3VzZTEiPgogICAgICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS90ZW1wZXJhdHVyZV9leGFtcGxlI0hvdXNlIi8+CiAgICAgICAgPHRlbXBlcmF0dXJlX2V4YW1wbGU6aGFzSW5kb29yVGVtcGVyYXR1cmUgcmRmOnJlc291cmNlPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjSW5kb29yVGVtcFByb3BlcnR5MSIvPgogICAgPC9vd2w6TmFtZWRJbmRpdmlkdWFsPgoKICAgIDxvd2w6TmFtZWRJbmRpdmlkdWFsIHJkZjphYm91dD0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L2hvdXNlc190ZW1wZXJhdHVyZV9leGFtcGxlI0luZG9vclRlbXBQcm9wZXJ0eTEiPgogICAgICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS90ZW1wZXJhdHVyZV9leGFtcGxlI1RlbXBlcmF0dXJlUHJvcGVydHkiLz4KICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNEYXRhdHlwZT54c2Q6aW50PC90ZW1wZXJhdHVyZV9leGFtcGxlOmhhc0RhdGF0eXBlPgogICAgICAgIDx0ZW1wZXJhdHVyZV9leGFtcGxlOmhhc1VuaXQ+RmFocmVuaGVpdDwvdGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNVbml0PgogICAgICAgIDx0ZW1wZXJhdHVyZV9leGFtcGxlOnZhbHVlSXNTdG9yZWRJbj5odHRwOi8vaW4ucHJvdmlkZXIuY29tOjc1Nzkvc2VydmVyL3RlbXBzZW5zb3JhZTEvdGVtcGVyYXR1cmUvbGF0ZXN0PC90ZW1wZXJhdHVyZV9leGFtcGxlOnZhbHVlSXNTdG9yZWRJbj4KICAgIDwvb3dsOk5hbWVkSW5kaXZpZHVhbD4KCiAgICA8b3dsOk5hbWVkSW5kaXZpZHVhbCByZGY6YWJvdXQ9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSNJbmRvb3JUZW1wU2Vuc29yMSI+CiAgICAgICAgPHJkZjp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L3RlbXBlcmF0dXJlX2V4YW1wbGUjVGVtcGVyYXR1cmVTZW5zb3IiLz4KICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNUZW1wZXJhdHVyZU1lYXN1cmluZ0Z1bmN0aW9uIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L2hvdXNlc190ZW1wZXJhdHVyZV9leGFtcGxlI1RlbXBGdW5jdGlvbjEiLz4KICAgIDwvb3dsOk5hbWVkSW5kaXZpZHVhbD4KCjwvcmRmOlJERj4=";
+					
+	
+}//end of Values group
+	
 } 
 // end of module
diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn
index 12a7e215a580fc068068f0e58e7da242c346fa08..8b43aead780cce23d95ff31e1975790d309091fd 100644
--- a/OneM2M_Testcases_CSE_Release_3.ttcn
+++ b/OneM2M_Testcases_CSE_Release_3.ttcn
@@ -13612,9 +13612,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var template RequestPrimitive v_request;
 					var integer v_aeIndex := -1;
 					var ResourceType v_resourceType := int24;	//Semantic Descriptor
-					var template (omit) XSD.Base64Binary invalidDescriptor := '1234'O;
+					var template (omit) XSD.Base64Binary v_invalidDescriptor := char2oct("WrongDescriptor");
 					
-                    // Test control
+					// Test control
 		
 					// Test component configuration
 					f_cf01Up();
@@ -13626,12 +13626,12 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Test Body
 					v_request := f_getCreateRequestPrimitive(v_resourceType, m_createSemanticDescriptorBase, v_aeIndex); 
 					v_request.from_ := f_getOriginator(v_aeIndex);
-					v_request.primitiveContent.semanticDescriptor.descriptor := invalidDescriptor;
-							
+					v_request.primitiveContent.semanticDescriptor.descriptor := v_invalidDescriptor;
+					
 					f_send(e_mcaPort, m_request(valueof(v_request)));
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Semantic Descripter creation rejected with expected error code.");
 						}
@@ -13787,10 +13787,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var integer v_aeIndex := -1;
 					var integer v_ontologyRepResourceIndex := -1;
 					var integer v_remoteOntologyResourceIndex := -1;
-					var XSD.ID v_RemoteOntologyResourceAddress;
-					var template RequestPrimitive v_requestSd;
-					var MsgIn v_request;
-					var ResponsePrimitive v_response;
+					var XSD.ID v_remoteOntologyResourceAddress;
+					var template RequestPrimitive v_requestSemanticDescriptor;
 					
 					// Test control
 	
@@ -13802,37 +13800,40 @@ module OneM2M_Testcases_CSE_Release_3 {
                     //	Preamble 
                     // AE registration
 					vc_ae1.start(f_cse_preamble_registerAe());              
-					vc_ae1.done;
-					v_aeIndex := f_getLatestResource(vc_ae1);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
+					v_aeIndex := f_getLatestResource(vc_ae1);
+					
 					// CSE registraion
 					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					// Create ontology resource at CSE1
 					v_ontologyRepResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), vc_cSEBaseIndex, int38);
 					v_remoteOntologyResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentOntology(m_contentCreateOntology)), v_ontologyRepResourceIndex, int39);
-					v_RemoteOntologyResourceAddress := f_getResourceAddress(v_remoteOntologyResourceIndex);
+					v_remoteOntologyResourceAddress := f_getResourceAddress(v_remoteOntologyResourceIndex);
 					
-					v_requestSd := m_createSemanticDescriptorBase;
+					v_requestSemanticDescriptor := m_createSemanticDescriptorBase;
 					// ontologyRef points to ontology resource in another CSE
-					v_requestSd.primitiveContent.semanticDescriptor.ontologyRef := v_RemoteOntologyResourceAddress;
-					v_requestSd.primitiveContent.semanticDescriptor.validationEnable := true;
-					vc_ae1.start(f_cse_createResource(int24, v_requestSd, v_aeIndex));
+					v_requestSemanticDescriptor.primitiveContent.semanticDescriptor.ontologyRef := v_remoteOntologyResourceAddress;
+					v_requestSemanticDescriptor.primitiveContent.semanticDescriptor.validationEnable := true;
+					vc_ae1.start(f_cse_createResource(int24, v_requestSemanticDescriptor, v_aeIndex));
 
 					tc_ac.start;
 					alt {
-						[] mccPortIn.receive(mw_request(mw_retrieve(v_RemoteOntologyResourceAddress))) -> value v_request {
+						[] mccPortIn.receive(mw_request(mw_retrieve(v_remoteOntologyResourceAddress))) -> value vc_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Retrieve request for Reference Ontology received.");
-							v_response := valueof(m_responsePrimitive(int2000,v_request.primitive.requestPrimitive.requestIdentifier));
-							v_response.primitiveContent := vc_localResourcesList[v_remoteOntologyResourceIndex].resource;
-							v_response.from_ := vc_cseSimuDesc.cseId;
-							v_response.to_ := v_request.primitive.requestPrimitive.from_;
-							f_send(e_mccPortIn, m_response(v_response));
+							
+							f_processRetrieveRequestPrimitive(vc_request.primitive.requestPrimitive, -, v_remoteOntologyResourceIndex);
+							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
 						}
 						[] mccPortIn.receive(mw_request(mw_retrieve(?))) {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ": Wrong Retrieve request received");
+						
+							f_processRetrieveRequestPrimitive(vc_request.primitive.requestPrimitive, int4004, v_remoteOntologyResourceIndex);
+							f_send(e_mccPortIn, m_response(vc_response.primitive.responsePrimitive));
+						
 						}
 						[] tc_ac.timeout {
 							setverdict(fail, __SCOPE__ & ": No answer while retargeting request");
@@ -13841,13 +13842,12 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
                     
-					vc_ae1.done;
-					
 					// Postamble
 					f_cse_postamble_deleteResourcesCSE();
 	
 					// Tear down
 					f_cf02DownCseSimuMaster();
+				
 				}//end function f_CSE_SEM_CRE_004			
 				
 				/**
@@ -13858,8 +13858,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 					
 					v_ae1.start(f_CSE_SEM_CRE_005());
-                                                
-					v_ae1.done;
+                    v_ae1.done;
 				}
 				
 				function f_CSE_SEM_CRE_005() runs on AeSimu system CseSystem {
@@ -13869,7 +13868,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var integer v_remoteOntologyIndex := -1;
 					var XSD.ID v_remoteOntologyRepoAddress;
 					var XSD.ID v_remoteOntologyAddress;
-					var RequestPrimitive v_requestSd;
+					var RequestPrimitive v_requestSemanticDescriptor;
 					// Test control
         
 					// Test component configuration
@@ -13898,16 +13897,16 @@ module OneM2M_Testcases_CSE_Release_3 {
 					vc_cse1.start(f_cse_retrieveResourceHandler(v_remoteOntologyIndex));
 					
 					//Create Semeantic Descriptor
-					v_requestSd := f_getCreateRequestPrimitive(int24, m_createSemanticDescriptorBase, v_aeIndex);
-					v_requestSd.primitiveContent.semanticDescriptor.ontologyRef := v_remoteOntologyAddress;
-					v_requestSd.primitiveContent.semanticDescriptor.validationEnable := true;
-					f_send(e_mcaPort, m_request(v_requestSd));
+					v_requestSemanticDescriptor := f_getCreateRequestPrimitive(int24, m_createSemanticDescriptorBase, v_aeIndex);
+					v_requestSemanticDescriptor.primitiveContent.semanticDescriptor.ontologyRef := v_remoteOntologyAddress;
+					v_requestSemanticDescriptor.primitiveContent.semanticDescriptor.validationEnable := true;
+					f_send(e_mcaPort, m_request(v_requestSemanticDescriptor));
 					
 					tc_ac.start;
 					alt {
 						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": Rejected the creation request of Semantic Mashup Instance resource with expected status code BAD_REQUEST");
+							setverdict(pass, __SCOPE__ & ": Resource type 24 created successfully");
 						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
 							tc_ac.stop;
@@ -13946,9 +13945,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 				function f_CSE_SEM_CRE_006() runs on AeSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var XSD.AnyURI v_invalidSmjpID := "Invlid_AnyURI";
+					var XSD.AnyURI v_invalidSmjpID := "Invalid_AnyURI";
 					var RequestPrimitive v_request;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
 								
 	                // Test control	
 	                		   
@@ -13962,11 +13961,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// semanticMashupJobProfile
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
-	
-					v_request := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
-					v_request.primitiveContent.semanticMashupInstance.smjpID := v_invalidSmjpID;
+					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
 	
+					v_request := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(v_invalidSmjpID,-, -, - ), v_aeIndex);
+					
 					f_send(e_mcaPort, m_request(v_request));
 					tc_ac.start;
 					alt {
@@ -14009,7 +14007,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var MsgIn v_response;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
 					const octetstring v_invalidSmjpInputParameter := int2oct(0,65537);
 					var RequestPrimitive v_request;
 					
@@ -14025,15 +14023,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 	                // semanticMashupJobProfile
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
+					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
 	
 	                // semanticMashupInstance
-					v_request := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
-					v_request.to_ := f_getResourceAddress(v_resourceIndexJobProfile);
-					v_request.from_ := f_getOriginator(v_aeIndex);
-					v_request.primitiveContent.semanticMashupInstance.smjpID := f_getResourceAddress(v_resourceIndexJobProfile);
-					v_request.primitiveContent.semanticMashupInstance.smjpInputParameter := v_invalidSmjpInputParameter;
-	
+					v_request := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(f_getResourceAddress(v_resourceSemanticMashupJobProfileIndex), v_invalidSmjpInputParameter, -, -), v_aeIndex);
+					
 					f_send(e_mcaPort, m_request(v_request));
 					tc_ac.start;
 					alt {
@@ -14073,12 +14067,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 				function f_CSE_SEM_CRE_008() runs on AeSimu system CseSystem {
 					// Local variables
-					var MsgIn v_response;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
 					const octetstring v_invalidSmjpInputParameter := int2oct(0,76584);
-					var XSD.Base64Binary v_validInputDescriptor:= int2oct(0,65000); //TO DO
-					var RequestPrimitive v_MashupInstancerequest;
+					var RequestPrimitive v_requestMashupInstance;
 	
 	                // Test control
 	                
@@ -14092,17 +14084,13 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 	
 	                //Create JobProfile resource
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex);
+					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex);
 	
 	                //Create Mashup Instance
-					v_MashupInstancerequest := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
 					//smjpID set to reference to <semanticMashupJobProfile> resource 
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.smjpID := f_getOriginator(v_resourceIndexJobProfile);
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.smjpInputParameter := v_invalidSmjpInputParameter;						
-					v_MashupInstancerequest.to_ := f_getResourceAddress(v_resourceIndexJobProfile);
-					v_MashupInstancerequest.from_ := f_getOriginator(v_aeIndex);	
+					v_requestMashupInstance := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(f_getResourceAddress(v_resourceSemanticMashupJobProfileIndex), v_invalidSmjpInputParameter, -, -), v_aeIndex);
 					
-					f_send(e_mcaPort, m_request(v_MashupInstancerequest));
+					f_send(e_mcaPort, m_request(v_requestMashupInstance));
 					
 					tc_ac.start;
 					alt {
@@ -14142,10 +14130,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 				function f_CSE_SEM_CRE_009() runs on AeSimu system CseSystem {
 					// Local variables
 					// Local variables
-					var MsgIn v_response;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
-					var RequestPrimitive v_MashupInstancerequest;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
+					var RequestPrimitive v_requestMashupInstance;
 					//member filter query to identify a non existing member
 					var XSD.String v_memberFilter := "SELECT \?name WHERE { \?x foaf:name  \?name FILTER regex(\?name, \^mem\, \i\ }"; 
 					var template RequestPrimitive v_createRequestJobProfile := m_createSemanticMashupJobProfileBase;
@@ -14164,17 +14151,13 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Create JobProfile resource
 	                //	member filter query to identify a non existing member
 					v_createRequestJobProfile.primitiveContent.semanticMashupJobProfile.memberFilter := v_memberFilter;
-					v_resourceIndexJobProfile := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
+					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
 					
 					//Create Mashup Instance
-					v_MashupInstancerequest := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
 					//smjpID set to reference to <semanticMashupJobProfile> resource 
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.smjpID := f_getOriginator(v_resourceIndexJobProfile);
-					//v_MashupInstancerequest.primitiveContent.semanticMashupInstance.smjpInputParameter := v_smjpInputParameter;						
-					v_MashupInstancerequest.to_ := f_getResourceAddress(v_resourceIndexJobProfile);
-					v_MashupInstancerequest.from_ := f_getOriginator(v_aeIndex);	
+					v_requestMashupInstance := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(f_getResourceAddress(v_resourceSemanticMashupJobProfileIndex), -, -, -), v_resourceSemanticMashupJobProfileIndex);
 					
-					f_send(e_mcaPort, m_request(v_MashupInstancerequest));
+					f_send(e_mcaPort, m_request(v_requestMashupInstance));
 					
 					tc_ac.start;
 					alt {
@@ -14213,10 +14196,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 				function f_CSE_SEM_CRE_010() runs on AeSimu system CseSystem {
 					// Local variables
-					var MsgIn v_response;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
 					const octetstring v_invalidInputDescriptor := int2oct(0,65537);
 					var RequestPrimitive v_request;
 					
@@ -14274,10 +14256,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 				
 				function f_CSE_SEM_CRE_011() runs on AeSimu system CseSystem {
 					// Local variables
-					var MsgIn v_response;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
 					const octetstring v_invalidOutputDescriptor := int2oct(0,65537);
 					var RequestPrimitive v_request;
 					
@@ -14293,8 +14273,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// semanticMashupJobProfile
-					v_request := f_getCreateRequestPrimitive(int40, m_createSemanticMashupJobProfileBase, v_aeIndex);
-					v_request.primitiveContent.semanticMashupJobProfile.outputDescriptor := v_invalidOutputDescriptor;
+					v_request := f_getCreateRequestPrimitive(int40, m_createSemanticMashupJobProfileBase(-, v_invalidOutputDescriptor, -), v_aeIndex);
 					
 					f_send(e_mcaPort, m_request(v_request));
 					
@@ -14335,10 +14314,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 				
 			     function f_CSE_SEM_CRE_012() runs on AeSimu system CseSystem {
 					// Local variables
-					var MsgIn v_response;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
 					var ResourceType v_resourceTypeJobProfile := int40;
 					const octetstring v_invalidFunctionDescriptor := int2oct(0,65537);
 					var RequestPrimitive v_request;
@@ -14355,8 +14332,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// semanticMashupJobProfile
-					v_request := f_getCreateRequestPrimitive(int40, m_createSemanticMashupJobProfileBase, v_aeIndex);
-					v_request.primitiveContent.semanticMashupJobProfile.functionDescriptor := v_invalidFunctionDescriptor;
+					v_request := f_getCreateRequestPrimitive(int40, m_createSemanticMashupJobProfileBase(-, -, v_invalidFunctionDescriptor), v_aeIndex);
 					
 					f_send(e_mcaPort, m_request(v_request));
 					
@@ -14397,10 +14373,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 				 function f_CSE_SEM_CRE_013() runs on AeSimu system CseSystem {
 					// Local variables
-					var MsgIn v_response;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
 					var ResourceType v_resourceTypeJobProfile := int40;
 					var RequestPrimitive v_request;
 					var Sparql v_invalidMemberFilter := "PREFIX foaf:  <http://xmlns.com/foaf/0.1/> SELECTECTION ?name WHERE { ?person foaf:name ?name . }";
@@ -14417,7 +14391,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// semanticMashupJobProfile
-					v_request := f_getCreateRequestPrimitive(int40, m_createSemanticMashupJobProfileBase, v_aeIndex);
+					v_request := f_getCreateRequestPrimitive(int40, m_createSemanticMashupJobProfileBase(v_invalidMemberFilter, -, -), v_aeIndex);
 					v_request.primitiveContent.semanticMashupJobProfile.memberFilter := v_invalidMemberFilter;
 					
 					f_send(e_mcaPort, m_request(v_request));
@@ -14462,8 +14436,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Local variables
 					var MsgIn v_response;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
-					var RequestPrimitive v_MashupInstancerequest;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
+					var RequestPrimitive v_requestMashupInstance;
 					var template RequestPrimitive v_createRequestJobProfile := m_createSemanticMashupJobProfileBase;
 				   
 					// Test control
@@ -14478,16 +14452,13 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// Create JobProfile resource
-					v_resourceIndexJobProfile := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
+					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
 					
 					//Create Mashup Instance
-					v_MashupInstancerequest := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
 					//smjpID set to reference to <semanticMashupJobProfile> resource 
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.smjpID := f_getOriginator(v_resourceIndexJobProfile);						
-					v_MashupInstancerequest.to_ := f_getResourceAddress(v_resourceIndexJobProfile);
-					v_MashupInstancerequest.from_ := f_getOriginator(v_aeIndex);	
+					v_requestMashupInstance := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(f_getResourceAddress(v_resourceSemanticMashupJobProfileIndex), -, -, -), v_aeIndex);
 					
-					f_send(e_mcaPort, m_request(v_MashupInstancerequest));
+					f_send(e_mcaPort, m_request(v_requestMashupInstance));
 					
 					tc_ac.start;
 					alt {
@@ -14531,10 +14502,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 				 function f_CSE_SEM_CRE_015() runs on AeSimu system CseSystem {
 					// Local variables
 					// Local variables
-					var MsgIn v_response;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
-					var RequestPrimitive v_MashupInstancerequest;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
+					var RequestPrimitive v_requestMashupInstance;
 					var template RequestPrimitive v_createRequestJobProfile := m_createSemanticMashupJobProfileBase;
 		   
 					// Test control
@@ -14549,18 +14519,15 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 			
 					// Create JobProfile resource
-					v_resourceIndexJobProfile := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
+					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
 			
 					//Create Mashup Instance
-					v_MashupInstancerequest := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
 					//smjpID set to reference to <semanticMashupJobProfile> resource 
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.smjpID := f_getOriginator(v_resourceIndexJobProfile);
+					v_requestMashupInstance := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(f_getResourceAddress(v_resourceSemanticMashupJobProfileIndex), -, -, -), v_aeIndex);
 					// resultGenType is set to WHEN_SMI_IS_CREATED
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.resultGenType := int1;						
-					v_MashupInstancerequest.to_ := f_getResourceAddress(v_resourceIndexJobProfile);
-					v_MashupInstancerequest.from_ := f_getOriginator(v_aeIndex);	
-			
-					f_send(e_mcaPort, m_request(v_MashupInstancerequest));
+					v_requestMashupInstance.primitiveContent.semanticMashupInstance.resultGenType := int1;						
+					
+					f_send(e_mcaPort, m_request(v_requestMashupInstance));
 			
 					tc_ac.start;
 					alt {
@@ -14606,11 +14573,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Local variables
 					var MsgIn v_response;
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
-					var RequestPrimitive v_MashupInstancerequest;
+					var integer v_resourceSemanticMashupJobProfileIndex := -1;
+					var RequestPrimitive v_requestMashupInstance;
 					var template RequestPrimitive v_createRequestJobProfile := m_createSemanticMashupJobProfileBase;
 					// 5sec nw delay assumed.
-					timer t_resultPerdiod := 15.0;
+					timer t_resultPeriod := 15.0;
 					var integer v_reponseCount := 0;
 		   
 							// Test control
@@ -14625,22 +14592,19 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 		
 					// Create JobProfile resource
-					v_resourceIndexJobProfile := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
+					v_resourceSemanticMashupJobProfileIndex := f_cse_createResource(int40, v_createRequestJobProfile, v_aeIndex); 
 		
 					//Create Mashup Instance
-					v_MashupInstancerequest := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
 					//smjpID set to reference to <semanticMashupJobProfile> resource 
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.smjpID := f_getOriginator(v_resourceIndexJobProfile);
+					v_requestMashupInstance := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase(f_getResourceAddress(v_resourceSemanticMashupJobProfileIndex), -, -, -), v_aeIndex);
 					// resultGenType is set to PERIODICALLY 
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.resultGenType := int3;
+					v_requestMashupInstance.primitiveContent.semanticMashupInstance.resultGenType := int3;
 					// timer set to 5sec
-					v_MashupInstancerequest.primitiveContent.semanticMashupInstance.periodForResultGen := "PT10S";		
-					v_MashupInstancerequest.to_ := f_getResourceAddress(v_resourceIndexJobProfile);
-					v_MashupInstancerequest.from_ := f_getOriginator(v_aeIndex);	
-		
-					f_send(e_mcaPort, m_request(v_MashupInstancerequest));
+					v_requestMashupInstance.primitiveContent.semanticMashupInstance.periodForResultGen := "PT10S";		
+					
+					f_send(e_mcaPort, m_request(v_requestMashupInstance));
 		
-					// t_resultPerdiod.start;
+					t_resultPeriod.start;
 					
 					alt {
 						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) {
@@ -14658,14 +14622,14 @@ module OneM2M_Testcases_CSE_Release_3 {
 //							}
 						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
-							t_resultPerdiod.stop;
+							t_resultPeriod.stop;
 							setverdict(fail, __SCOPE__ & ": Wrong return code received.");
 						}
                         [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-                            t_resultPerdiod.stop;
+                            t_resultPeriod.stop;
                             setverdict(fail, __SCOPE__ & ": Unexpected message received.");
                         }
-						[] t_resultPerdiod.timeout {
+						[] t_resultPeriod.timeout {
 							setverdict(fail, __SCOPE__ & ": No response even after time out period of 15sec");
 						}
 					}
@@ -14702,11 +14666,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var template RequestPrimitive p_createRequestPrimitive := m_createSemanticDescriptorBase;
 					var template RequestPrimitive p_updateRequestPrimitive := m_updateSemanticDescriptorBase;				
 					var ResourceType p_resourceType := int24;	//Semantic Descriptor
-					const octetstring v_descriptor := int2oct(0,65000);
-					var XSD.String v_semanticOpExec := "SELECT \?name WHERE { \?x foaf:name  \?name FILTER regex(\?name, \^semD\, \i\ }";							
+					var XSD.String v_semanticOpExec := "DELETE { ?person <http://bigco.example/HR/Person/fname> 'Miguel' }";							
 								   
 					// Test control
-		
+					
 					// Test component configuration
 					f_cf01Up();
 		
@@ -14717,11 +14680,12 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					//Create Semantic Descritor 
+					p_createRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
 					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex);
 		
 					// Test Body
 					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.semanticOpExec := v_semanticOpExec;
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := v_descriptor;
+					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
                 							               											
 					
 					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
@@ -14747,6 +14711,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 		
 					// Tear down
 					f_cf01Down();
+				
 				}//end function f_CSE_SEM_UPD_001
 				
 								
@@ -14770,8 +14735,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var template RequestPrimitive p_createRequestPrimitive := m_createSemanticDescriptorBase;
 					var template RequestPrimitive p_updateRequestPrimitive := m_updateSemanticDescriptorBase;				
 					var ResourceType p_resourceType := int24;	//Semantic Descriptor
-					var XSD.String v_semanticOpExec := "SELECT WHERE FILTER name";
-
+					var XSD.String v_semanticOpExec := "SELECT WHERE FILTER name";//Invalid SPARQL query
+					
 					// Test control
 
 					// Test component configuration
@@ -14784,12 +14749,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 		
 					// Test Body
+					p_createRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
 					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex);
 
 					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.semanticOpExec := v_semanticOpExec;
                 							               												
-					p_updateRequestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					p_updateRequestPrimitive.from_ := f_getOriginator(v_aeIndex);	
 					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
 
 					f_send(e_mcaPort, m_request(v_request));
@@ -14814,6 +14778,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 		
 					// Tear down
 					f_cf01Down();
+				
 				}//end function f_CSE_SEM_UPD_002
 				
 				/**
@@ -14836,9 +14801,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var template RequestPrimitive p_createRequestPrimitive := m_createSemanticDescriptorBase;
 					var template RequestPrimitive p_updateRequestPrimitive := m_updateSemanticDescriptorBase;				
 					var ResourceType p_resourceType := int24;	//Semantic Descriptor
-					const octetstring v_descriptor := int2oct(0,870009); //Base64Binary
-					
-
+					var template (omit) XSD.Base64Binary v_invalidDescriptor := char2oct("WrongDescriptor");
+	
 					// Test control
 
 					// Test component configuration
@@ -14851,12 +14815,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 		
 					// Test Body
+					p_createRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := c_validDescriptor;
 					v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive, v_aeIndex);
 
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := v_descriptor;
+					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := v_invalidDescriptor;
 					                							               												
-					p_updateRequestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					p_updateRequestPrimitive.from_ := f_getOriginator(v_aeIndex);	
 					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
 
 					f_send(e_mcaPort, m_request(v_request));
@@ -14881,6 +14844,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 		
 					// Tear down
 					f_cf01Down();
+				
 				}//end function f_CSE_SEM_UPD_003
 								
 				/**
@@ -14900,13 +14864,9 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Local variables
 					var integer v_aeIndex, v_remoteCseIndex, v_targetResourceIndex := -1;
 					var integer v_resourceIndex := -1;					
-					var template RequestPrimitive p_updateRequestPrimitive := m_updateSemanticDescriptorBase;
-					var RequestPrimitive v_request;
-					var ResourceType p_resourceType := int24;	//Semantic Descriptor
+					var template RequestPrimitive v_updateRequestPrimitive := m_updateSemanticDescriptorBase;
 					var boolean v_validationEnable := true;
-					const octetstring v_descriptor := int2oct(0,65000); //Base64Binary
 					var XSD.AnyURI v_ontologyRef := "NotInitialized";
-					var XSD.ID v_targetResourceAddress := "NotInitialized";
 					
 					// Test control
 	
@@ -14917,29 +14877,31 @@ module OneM2M_Testcases_CSE_Release_3 {
 					
 					// Preamble
 					vc_ae1.start(f_cse_preamble_registerAe());				
-					vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
+					
 					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 										
 					// Test Body
 					v_aeIndex := f_getLatestResource(vc_ae1);
-					v_targetResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), v_aeIndex, int24);
-
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := v_validationEnable;
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := v_descriptor;
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_ontologyRef;
+					v_targetResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), vc_cSEBaseIndex, int38);
+					v_targetResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentOntology(m_contentCreateOntology)), v_targetResourceIndex, int39);
 
-									                							               												
-					p_updateRequestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					p_updateRequestPrimitive.from_ := f_getOriginator(v_aeIndex);	
+					vc_ae1.start(f_cse_createResource(int24, m_createSemanticDescriptorBase, v_aeIndex));				
+					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					
-					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_updateRequestPrimitive);
+					v_resourceIndex := f_getLatestResource(vc_ae1);
+					
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := v_validationEnable;
+					v_ontologyRef := f_getResourceAddress(v_targetResourceIndex);
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_ontologyRef;
 
-					vc_ae1.start(f_cse_operationResource(v_request));	
+					v_updateRequestPrimitive := f_getUpdateRequestPrimitive(int24, v_resourceIndex, v_updateRequestPrimitive);
+
+					vc_ae1.start(f_cse_operationResource(v_updateRequestPrimitive));	
 					
 					tc_ac.start;
 					alt {
-						[] mccPortIn.receive(mw_request(mw_retrieve(v_targetResourceAddress))) -> value vc_request {
+						[] mccPortIn.receive(mw_request(mw_retrieve(v_ontologyRef))) -> value vc_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Retrieved the referenced ontology successfully.");
 							f_processRetrieveRequestPrimitive(vc_request.primitive.requestPrimitive);
@@ -14979,14 +14941,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 				
 				function f_CSE_SEM_UPD_005() runs on AeSimu system CseSystem {
 					var integer v_aeIndex := -1;
-					var integer v_cseBaseIndex := -1;
 					var integer v_resourceIndexSd := -1;
-					var XSD.ID v_remoteOntologyRepoAddress;
 					var XSD.ID v_remoteOntologyAddress;
 					var integer v_remoteOntologyRepoIndex := -1;
 					var integer v_remoteOntologyIndex := -1;
-					var RequestPrimitive v_updateRequest;
-					var template RequestPrimitive p_updateSdRequestPrimitive := m_updateSemanticDescriptorBase;
+					var RequestPrimitive v_updateSdRequestPrimitive := m_updateSemanticDescriptorBase;
 					
 					// Test control
         
@@ -14997,14 +14956,12 @@ module OneM2M_Testcases_CSE_Release_3 {
         
 					// Preamble
 					v_aeIndex := f_cse_preamble_registerAe();
-					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
-                    
+					
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
-					vc_cse1.start(f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), v_cseBaseIndex, int38));
+					vc_cse1.start(f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), -, int38));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
-					v_remoteOntologyRepoAddress := f_getLatestLocalResourceAddress(vc_cse1, e_nonHierarchical, e_cseRelative);
 					v_remoteOntologyRepoIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
 					// Ontology resource in remote CSE
@@ -15021,10 +14978,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 					vc_cse1.start(f_cse_retrieveResourceHandler(v_remoteOntologyIndex));
 					
 					// Update the Semantic Descriptor including ontologyRef
-					p_updateSdRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_remoteOntologyAddress;
-					p_updateSdRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := true;
-					v_updateRequest := f_getUpdateRequestPrimitive(int24, v_resourceIndexSd, p_updateSdRequestPrimitive);
-					f_send(e_mcaPort, m_request(v_updateRequest));
+					v_updateSdRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_remoteOntologyAddress;
+					v_updateSdRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := true;
+					v_updateSdRequestPrimitive := f_getUpdateRequestPrimitive(int24, v_resourceIndexSd, v_updateSdRequestPrimitive);
+					f_send(e_mcaPort, m_request(v_updateSdRequestPrimitive));
 					
 					tc_ac.start;
 					alt {
@@ -15045,8 +15002,6 @@ module OneM2M_Testcases_CSE_Release_3 {
 						}
 					}
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
-					vc_cse1.done;
-					
 							
 					// Postamble
 					f_cse_postamble_deleteResources();
@@ -15073,9 +15028,8 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Local variables
 					var integer v_aeIndex, v_remoteCseIndex, v_targetResourceIndex := -1;
 					var integer v_resourceIndex := -1;					
-					var template RequestPrimitive p_updateRequestPrimitive := m_updateSemanticDescriptorBase;
+					var template RequestPrimitive v_updateRequestPrimitive := m_updateSemanticDescriptorBase;
 					var RequestPrimitive v_request;
-					var ResourceType p_resourceType := int24;	//Semantic Descriptor
 					var boolean v_validationEnable := true;
 					const octetstring v_descriptor := int2oct(0,65000); //Base64Binary
 					var XSD.AnyURI v_ontologyRef := "NotInitialized";
@@ -15097,20 +15051,20 @@ module OneM2M_Testcases_CSE_Release_3 {
 										
 					// Test Body
 					v_aeIndex := f_getLatestResource(vc_ae1);
-					v_targetResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentContainer(m_contentCreateContainer)), v_aeIndex, int24);
+					v_targetResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentSemanticDescriptor(m_contentCreateSemanticDescriptor)), -, int24);
 
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := v_validationEnable;
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := v_descriptor;
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_ontologyRef;
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.relatedSemantics := v_relatedSemantics; //linked semantic descriptor
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := v_validationEnable;
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.descriptor := v_descriptor;
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_ontologyRef;
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.relatedSemantics := v_relatedSemantics; //linked semantic descriptor
 
 									                							               												
-					p_updateRequestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
-					p_updateRequestPrimitive.from_ := f_getOriginator(v_aeIndex);	
+					v_updateRequestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
+					v_updateRequestPrimitive.from_ := f_getOriginator(v_aeIndex);	
 					
 					v_targetResourceAddress := f_getResourceAddress(v_resourceIndex) & "/" & c_resourceShortNameSemanticValidation;
 
-					v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceIndex, p_updateRequestPrimitive);
+					v_request := f_getUpdateRequestPrimitive(int24, v_targetResourceIndex, v_updateRequestPrimitive);
 					
 					vc_ae1.start(f_cse_operationResource(v_request));	
 					
@@ -15162,7 +15116,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					var XSD.AnyURI v_ontologyRef;
 					var XSD.AnyURI v_uriSemanticDescriptorCse1;
 					var XSD.AnyURI v_semanticValidationAddress;
-					var template RequestPrimitive p_updateRequestPrimitive := m_updateSemanticDescriptorBase;
+					var template RequestPrimitive v_updateRequestPrimitive := m_updateSemanticDescriptorBase;
 					var RequestPrimitive v_updateRequest;
 			
 					// Test control
@@ -15191,17 +15145,17 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_semanticDescriptorCse1Index := f_getLatestLocalResourceIndex(vc_cse1);
 					
 					//Compose Semantic Descriptor resource with link to Semantic Descriptor in remoteCSE
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := true;
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_ontologyRef; 
-					p_updateRequestPrimitive.primitiveContent.semanticDescriptor.relatedSemantics := {v_uriSemanticDescriptorCse1}; 
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.validationEnable := true;
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.ontologyRef := v_ontologyRef; 
+					v_updateRequestPrimitive.primitiveContent.semanticDescriptor.relatedSemantics := {v_uriSemanticDescriptorCse1}; 
 					
 					// Handle IUT retrive request of linked semantics from remoteCSE
 					vc_cse1.start(f_cse_retrieveResourceHandler(v_semanticDescriptorCse1Index));
 					
 					// Send UPDATE request to virtual resource <semanticValidation>
 					v_semanticValidationAddress := f_getResourceAddress(v_ontologyRepoIndex) & "/" & c_resourceShortNameSemanticValidation;
-					p_updateRequestPrimitive.to_ := v_semanticValidationAddress;
-					v_updateRequest := f_getUpdateRequestPrimitive(int24, v_ontologyRepoIndex, p_updateRequestPrimitive);
+					v_updateRequestPrimitive.to_ := v_semanticValidationAddress;
+					v_updateRequest := f_getUpdateRequestPrimitive(int24, v_ontologyRepoIndex, v_updateRequestPrimitive);
 					
 					f_send(e_mcaPort, m_request(v_updateRequest));
 					tc_ac.start;
@@ -15224,8 +15178,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					}
 
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
-					vc_cse1.done;
-
+					
 					// Postamble
 					f_cse_postamble_deleteResources();
 		
@@ -15247,7 +15200,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 				function f_CSE_SEM_UPD_008() runs on AeSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceIndexJobProfileIndex := -1;
 					var RequestPrimitive v_updateRequest;
 					var XSD.Base64Binary v_invalidInputDescriptor := int2oct(0,65537);
 											   
@@ -15263,10 +15216,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// Create JobProfile resource
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
+					v_resourceIndexJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
 					
 					// Update semanticMashupJobProfile
-					v_updateRequest := f_getCreateRequestPrimitive(int40, m_updateSemanticMashupJobProfileBase, v_resourceIndexJobProfile);
+					v_updateRequest := f_getCreateRequestPrimitive(int40, m_updateSemanticMashupJobProfileBase, v_resourceIndexJobProfileIndex);
 					v_updateRequest.primitiveContent.semanticMashupJobProfile.inputDescriptor := v_invalidInputDescriptor;
 					
 					f_send(e_mcaPort, m_request(v_updateRequest));
@@ -15307,7 +15260,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 				function f_CSE_SEM_UPD_009() runs on AeSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceIndexJobProfileIndex := -1;
 					var RequestPrimitive v_updateRequest;
 					var XSD.Base64Binary v_invalidOutputDescriptor := int2oct(0,65537);
 											   
@@ -15323,10 +15276,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// Create JobProfile resource
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
+					v_resourceIndexJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
 					
 					// Update semanticMashupJobProfile
-					v_updateRequest := f_getCreateRequestPrimitive(int40, m_updateSemanticMashupJobProfileBase, v_resourceIndexJobProfile);
+					v_updateRequest := f_getCreateRequestPrimitive(int40, m_updateSemanticMashupJobProfileBase, v_resourceIndexJobProfileIndex);
 					v_updateRequest.primitiveContent.semanticMashupJobProfile.outputDescriptor := v_invalidOutputDescriptor;
 					
 					f_send(e_mcaPort, m_request(v_updateRequest));
@@ -15367,7 +15320,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 				function f_CSE_SEM_UPD_010() runs on AeSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceIndexJobProfileIndex := -1;
 					var RequestPrimitive v_updateRequest;
 					var XSD.Base64Binary v_invalidFunctionDescriptor := int2oct(0,65537);
 											   
@@ -15383,10 +15336,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// Create JobProfile resource
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
+					v_resourceIndexJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
 					
 					// Update semanticMashupJobProfile
-					v_updateRequest := f_getCreateRequestPrimitive(int40, m_updateSemanticMashupJobProfileBase, v_resourceIndexJobProfile);
+					v_updateRequest := f_getCreateRequestPrimitive(int40, m_updateSemanticMashupJobProfileBase, v_resourceIndexJobProfileIndex);
 					v_updateRequest.primitiveContent.semanticMashupJobProfile.functionDescriptor := v_invalidFunctionDescriptor;
 					
 					f_send(e_mcaPort, m_request(v_updateRequest));
@@ -15427,7 +15380,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 				function f_CSE_SEM_UPD_011() runs on AeSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceIndexJobProfileIndex := -1;
 					var RequestPrimitive v_updateRequest;
 					var Sparql v_invalidMemberFilter := "{SELECT \?name WHERE { \?x foaf:name  \?name FILTER regex(\?name, \^mem\, \i\ }";
 											   
@@ -15443,10 +15396,10 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// Create JobProfile resource
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
+					v_resourceIndexJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
 					
 					// Update semanticMashupJobProfile
-					v_updateRequest := f_getCreateRequestPrimitive(int40, m_updateSemanticMashupJobProfileBase, v_resourceIndexJobProfile);
+					v_updateRequest := f_getCreateRequestPrimitive(int40, m_updateSemanticMashupJobProfileBase, v_resourceIndexJobProfileIndex);
 					v_updateRequest.primitiveContent.semanticMashupJobProfile.memberFilter := v_invalidMemberFilter;
 					
 					f_send(e_mcaPort, m_request(v_updateRequest));
@@ -15487,7 +15440,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 				function f_CSE_SEM_UPD_012() runs on AeSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceIndexJobProfileIndex := -1;
 					var RequestPrimitive v_createReqSmi;
 					var RequestPrimitive v_updateReqSmi;
 
@@ -15503,12 +15456,12 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// semanticMashupJobProfile
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
+					v_resourceIndexJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
 
 					// create semanticMashupInstance template with default mandatory values.
 					v_createReqSmi := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
 					// link semanticMashupInstance with semanticMashupJobProfile
-					v_createReqSmi.primitiveContent.semanticMashupInstance.smjpID := f_getResourceAddress(v_resourceIndexJobProfile);
+					v_createReqSmi.primitiveContent.semanticMashupInstance.smjpID := f_getResourceAddress(v_resourceIndexJobProfileIndex);
 					
 					// create semanticMashupInstance resource
 					f_cse_createResource(int41, v_createReqSmi, v_aeIndex);
@@ -15559,7 +15512,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 				function f_CSE_SEM_UPD_013() runs on AeSimu system CseSystem {
 					// Local variables
 					var integer v_aeIndex := -1;
-					var integer v_resourceIndexJobProfile := -1;
+					var integer v_resourceIndexJobProfileIndex := -1;
 					var RequestPrimitive v_createReqSmi;
 					var RequestPrimitive v_updateReqSmi;
 					
@@ -15576,12 +15529,12 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
 					
 					// semanticMashupJobProfile
-					v_resourceIndexJobProfile := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
+					v_resourceIndexJobProfileIndex := f_cse_createResource(int40, m_createSemanticMashupJobProfileBase, v_aeIndex); 
 
 					// create semanticMashupInstance template with default mandatory values.
 					v_createReqSmi := f_getCreateRequestPrimitive(int41, m_createSemanticMashupInstanceBase, v_aeIndex);
 					// link semanticMashupInstance with semanticMashupJobProfile
-					v_createReqSmi.primitiveContent.semanticMashupInstance.smjpID := f_getResourceAddress(v_resourceIndexJobProfile);
+					v_createReqSmi.primitiveContent.semanticMashupInstance.smjpID := f_getResourceAddress(v_resourceIndexJobProfileIndex);
 					
 					// create semanticMashupInstance resource
 					f_cse_createResource(int41, v_createReqSmi, v_aeIndex);