diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 1aa7c6a3280499e143be730cada6da25cfdca48c..1ac77322c8a9bd760868867e9162ca7f0f60b28c 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -4108,14 +4108,14 @@ module OneM2M_Testcases {
                     var ResponsePrimitive v_responsePrimitive;
 
                     //v_createRequest.primitiveContent.any_1[0].Group_optional.currentNrOfMembers := 6;
-					const XSD.AnyURI c_memberRessourceAddress1 := "MEMBER_RESSOURCE_ADDRESS_1";
-					const XSD.AnyURI c_memberRessourceAddress2 := "MEMBER_RESSOURCE_ADDRESS_2";
-					const XSD.AnyURI c_memberRessourceAddress3 := "MEMBER_RESSOURCE_ADDRESS_3";
-					const XSD.AnyURI c_memberRessourceAddress4 := "MEMBER_RESSOURCE_ADDRESS_4";
-					const XSD.AnyURI c_memberRessourceAddress5 := "MEMBER_RESSOURCE_ADDRESS_5";
-					const XSD.AnyURI c_memberRessourceAddress6 := "MEMBER_RESSOURCE_ADDRESS_6";
-										
-					v_createRequest.primitiveContent.any_1[0].Group_optional.memberIDs := {c_memberRessourceAddress1, c_memberRessourceAddress2, c_memberRessourceAddress3, c_memberRessourceAddress4, c_memberRessourceAddress5, c_memberRessourceAddress6};
+					const XSD.AnyURI c_memberResourceAddress1 := "MEMBER_RESOURCE_ADDRESS_1";
+					const XSD.AnyURI c_memberResourceAddress2 := "MEMBER_RESOURCE_ADDRESS_2";
+					const XSD.AnyURI c_memberResourceAddress3 := "MEMBER_RESOURCE_ADDRESS_3";
+					const XSD.AnyURI c_memberResourceAddress4 := "MEMBER_RESOURCE_ADDRESS_4";
+					const XSD.AnyURI c_memberResourceAddress5 := "MEMBER_RESOURCE_ADDRESS_5";
+					const XSD.AnyURI c_memberResourceAddress6 := "MEMBER_RESOURCE_ADDRESS_6";
+					
+					v_createRequest.primitiveContent.any_1[0].Group_optional.memberIDs := {c_memberResourceAddress1, c_memberResourceAddress2, c_memberResourceAddress3, c_memberResourceAddress4, c_memberResourceAddress5, c_memberResourceAddress6};			
                     v_createRequest.primitiveContent.any_1[0].Group_optional.maxNrOfMembers := 5;
 
                                         
@@ -4167,9 +4167,64 @@ module OneM2M_Testcases {
             // be retrieved due to lack of privilege.
             group g_CSE_GMG_BV_002 {
                 
-                testcase TC_CSE_GMG_BV_002() runs on CseTester system CseSystem
+				testcase TC_CSE_GMG_BV_002() runs on CseTester system CseSystem
                 {
-            //TODO      
+                	// Local constants
+					const ResourceType c_ResourceTypeGroup := int9;  // <group> ?
+					const ResourceType c_ResourceTypeAcp := int1;		// <ACP>
+                	const XSD.String c_acpName := "ACP_NAME";
+                	const ListOfURIs c_acor := {"NA"};
+                	const AccessControlOperations c_allowedOperations := int63;
+                	
+                	// Local variables
+                	var MsgIn v_response;
+                	var RequestPrimitive v_request;
+                	var integer v_aeIndex := -1;
+                	var integer v_acpIndex := -1;
+                												
+                
+                	var template RequestPrimitive v_createRequest := m_createGroupBase;
+                	var template RequestPrimitive v_createAcp := m_createAcp(c_acpName, c_acpName, c_acor, c_allowedOperations);
+                
+                	
+                	// Test control
+                	
+                	// Test component configuration
+                	f_cf01Up();
+                	
+                	// Test adapter configuration
+                						
+                	// Preamble
+                	v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi
+                	v_request := f_getCreateRequestPrimitive(c_ResourceTypeGroup, v_createRequest, v_aeIndex);	// creating group
+                	
+                	v_acpIndex := f_cse_createResource(c_ResourceTypeAcp, v_createAcp, v_aeIndex);
+                	v_request.primitiveContent.any_1[0].Group_optional.accessControlPolicyIDs := {f_getResourceAddress(v_acpIndex)};
+                		   
+                	// Test Body
+                	
+                
+                	mcaPort.send(m_request(v_request));
+                	tc_ac.start;
+                	alt {
+                		[] mcaPort.receive(mw_response(mw_responsePrimitive(int5105))) -> value v_response {
+                			tc_ac.stop;
+                			setverdict(pass, testcasename() & ": creation failed due to lack of privilege");                            
+                		}
+                		[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                			tc_ac.stop;
+                			setverdict(fail, testcasename() & ": Error while retrieving resource");
+                		}
+                		[] tc_ac.timeout {
+                			setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+                		}
+                	}
+                					
+                	// Postamble
+                	f_cse_postamble_deleteResources();
+                	
+                	// Tear down
+                	f_cf01Down();        
                 }
                 
             } // end group g_CSE_GMG_BV_002
@@ -4182,8 +4237,67 @@ module OneM2M_Testcases {
             group g_CSE_GMG_BV_003 {
                 
                 testcase TC_CSE_GMG_BV_003() runs on CseTester system CseSystem
-                {
-            //TODO                          
+				{
+                	// Local constants
+                	const ResourceType c_ResourceTypeGroup := int9;  // <group> ?
+                	const ResourceType c_ResourceTypeAcp := int1;		// <ACP>
+                	const XSD.String c_acpName := "ACP_NAME";
+                	const ListOfURIs c_acor := {"NA"};
+                	const AccessControlOperations c_allowedOperations := int63;
+                                	
+                	// Local variables
+                	var MsgIn v_response;
+                	var RequestPrimitive v_request;
+                	var integer v_aeIndex := -1;
+                	var integer v_acpIndex := -1;
+                	var integer v_groupResourceIndex := -1;
+                                												
+                                
+                	var template RequestPrimitive v_createRequest := m_createGroupBase;
+                	var template RequestPrimitive v_updateRequest := m_updateGroupBase;
+                	var template RequestPrimitive v_createAcp := m_createAcp(c_acpName, c_acpName, c_acor, c_allowedOperations);
+                                
+                                	
+                	// Test control
+                                	
+                	// Test component configuration
+                	f_cf01Up();
+                                	
+                	// Test adapter configuration
+                                						
+                	// Preamble
+                	v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi
+					v_groupResourceIndex := f_cse_createResource(c_ResourceTypeGroup, v_createRequest, v_aeIndex); // create group resource
+                                	
+                	v_acpIndex := f_cse_createResource(c_ResourceTypeAcp, v_createAcp, v_groupResourceIndex);
+                	
+                                		   
+                	// Test Body
+					v_request := f_getUpdateRequestPrimitive(int9, v_groupResourceIndex, v_updateRequest);
+					v_request.primitiveContent.any_1[0].Group_optional.accessControlPolicyIDs := {f_getResourceAddress(v_acpIndex)};
+                                	
+                                
+                	mcaPort.send(m_request(v_request));
+                	tc_ac.start;
+                	alt {
+                		[] mcaPort.receive(mw_response(mw_responsePrimitive(int5105))) -> value v_response {
+                			tc_ac.stop;
+                			setverdict(pass, testcasename() & ": creation failed due to lack of privilege");                            
+                		}
+                		[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                			tc_ac.stop;
+                			setverdict(fail, testcasename() & ": Error while retrieving resource");
+                		}
+                		[] tc_ac.timeout {
+                			setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+                		}
+                	}
+                                					
+                	// Postamble
+                	f_cse_postamble_deleteResources();
+                                	
+                	// Tear down
+                	f_cf01Down();        
                 }
             
             } // end group g_CSE_GMG_BV_003
@@ -4205,14 +4319,14 @@ module OneM2M_Testcases {
                     var template RequestPrimitive v_updateRequest := m_updateGroupBase;
                             
                     //v_updateRequest.primitiveContent.any_1[0].Group_optional.currentNrOfMembers := 6;
-					const XSD.AnyURI c_memberRessourceAddress1 := "MEMBER_RESSOURCE_ADDRESS_1";
-					const XSD.AnyURI c_memberRessourceAddress2 := "MEMBER_RESSOURCE_ADDRESS_2";
-					const XSD.AnyURI c_memberRessourceAddress3 := "MEMBER_RESSOURCE_ADDRESS_3";
-					const XSD.AnyURI c_memberRessourceAddress4 := "MEMBER_RESSOURCE_ADDRESS_4";
-					const XSD.AnyURI c_memberRessourceAddress5 := "MEMBER_RESSOURCE_ADDRESS_5";
-					const XSD.AnyURI c_memberRessourceAddress6 := "MEMBER_RESSOURCE_ADDRESS_6";
-					
-					v_updateRequest.primitiveContent.any_1[0].Group_optional.memberIDs := {c_memberRessourceAddress1, c_memberRessourceAddress2, c_memberRessourceAddress3, c_memberRessourceAddress4, c_memberRessourceAddress5, c_memberRessourceAddress6};
+					const XSD.AnyURI c_memberResourceAddress1 := "MEMBER_RESOURCE_ADDRESS_1";
+					const XSD.AnyURI c_memberResourceAddress2 := "MEMBER_RESOURCE_ADDRESS_2";
+					const XSD.AnyURI c_memberResourceAddress3 := "MEMBER_RESOURCE_ADDRESS_3";
+					const XSD.AnyURI c_memberResourceAddress4 := "MEMBER_RESOURCE_ADDRESS_4";
+					const XSD.AnyURI c_memberResourceAddress5 := "MEMBER_RESOURCE_ADDRESS_5";
+					const XSD.AnyURI c_memberResourceAddress6 := "MEMBER_RESOURCE_ADDRESS_6";
+					
+					v_updateRequest.primitiveContent.any_1[0].Group_optional.memberIDs := {c_memberResourceAddress1, c_memberResourceAddress2, c_memberResourceAddress3, c_memberResourceAddress4, c_memberResourceAddress5, c_memberResourceAddress6};
                     v_updateRequest.primitiveContent.any_1[0].Group_optional.maxNrOfMembers := 5;
                 
                                     
@@ -4902,6 +5016,26 @@ module OneM2M_Testcases {
                 }
             
             } // end group g_CSE_GMG_BV_013
+
+            // Test objective:
+            // Check that the IUT detects the presence of duplicate member IDs during the creation of the
+            // group resource and removes the duplicate member IDs prior to updating of the group resource.
+            group g_CSE_GMG_BV_014 {
+                
+                testcase TC_CSE_GMG_BV_014() runs on CseTester system CseSystem
+                {
+                    
+                    // TODO                                    
+                    // Postamble
+                    f_cse_postamble_deleteResources();
+                    
+                    // Tear down
+                    f_cf01Down();
+                    
+                }
+            
+            } // end group g_CSE_GMG_BV_014
+
             
         } // end group Group_Managment