diff --git a/org.eclipse.papyrus.bpmn.architecture/model/bpmn.architecture b/org.eclipse.papyrus.bpmn.architecture/model/bpmn.architecture
index 11760d8..57652d5 100644
--- a/org.eclipse.papyrus.bpmn.architecture/model/bpmn.architecture
+++ b/org.eclipse.papyrus.bpmn.architecture/model/bpmn.architecture
@@ -2,8 +2,17 @@
 <architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmi:id="BPMN engineering" name="BPMN engineering" description="">
   <stakeholders xmi:id="org.eclipse.papyrus.bpmn.stakeholder" id="org.eclipse.papyrus.bpmn.stakeholder" name="BPMN modeler" concerns="org.eclipse.papyrus.bpmn.concern"/>
   <concerns xmi:id="org.eclipse.papyrus.bpmn.concern" id="org.eclipse.papyrus.bpmn.concern" name="Process modeling"/>
-  <contexts xsi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="org.eclipse.papyrus.bpmn.descriptionLanguage" id="org.eclipse.papyrus.bpmn.descriptionLanguage" name="BPMN" description="" icon="" extensionPrefix="" creationCommandClass="org.eclipse.papyrus.bpmn.diagram.common.commands.CreateBpmnModelCommand">
+  <contexts xsi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="org.eclipse.papyrus.bpmn.descriptionLanguage" id="org.eclipse.papyrus.bpmn.descriptionLanguage" name="BPMN" description="" icon="platform:/plugin/org.eclipse.papyrus.bpmn/icons/bpmn_64x64.png" extensionPrefix="" creationCommandClass="org.eclipse.papyrus.bpmn.diagram.common.commands.CreateBpmnModelCommand">
     <viewpoints xmi:id="org.eclipse.papyrus.bpmn.viewpoint" id="org.eclipse.papyrus.bpmn.viewpoint" name="BPMN" concerns="org.eclipse.papyrus.bpmn.concern" representationKinds="org.eclipse.papyrus.bpmn.diagram.process org.eclipse.papyrus.bpmn.diagram.collaboration"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.emf/model/infra-emf.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/notation.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/gmfdiag-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable/model/nattable-tablecontents.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable/model/nattable-tablecontext.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable.common/model/nattable-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.controlmode/model/controlmode.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.edit/model/marker.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.types.rulebased/model/rulebased.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
     <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
     <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml-containments.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
     <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/StandardProfile.elementtypesconfigurations#_jfoLkGT_EeSEqNuV3JpFCA"/>
@@ -32,8 +41,7 @@
         </newModelPath>
       </owningRules>
       <childRules xmi:id="_TAb3gCXbEeeyrfXuGghKkA"/>
-      <paletteRules xmi:id="_Vm3XYGJZEeeUTrvZuD2-tQ" permit="false" element="activity.*"/>
-      <paletteRules xmi:id="_YHFRYGJZEeeUTrvZuD2-tQ" permit="false" element="bpmn.collaboration.*"/>
+      <palettes href="platform:/plugin/org.eclipse.papyrus.bpmn.diagram.process/model/process.paletteConfiguration#/"/>
     </representationKinds>
     <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="org.eclipse.papyrus.bpmn.diagram.collaboration" id="org.eclipse.papyrus.bpmn.diagram.collaboration" name="Collaboration" icon="platform:/plugin/org.eclipse.papyrus.bpmn.diagram.common/icons/Collaborationdi.png" concerns="org.eclipse.papyrus.bpmn.concern" implementationID="PapyrusUMLActivityDiagram" customStyle="" creationCommandClass="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand">
       <modelRules xmi:id="_ehpQ4CXbEeeyrfXuGghKkA">
@@ -53,8 +61,7 @@
         </newModelPath>
       </owningRules>
       <childRules xmi:id="_0n9nwCXbEeeyrfXuGghKkA"/>
-      <paletteRules xmi:id="_1anMsCXbEeeyrfXuGghKkA" permit="false" element="activity.*"/>
-      <paletteRules xmi:id="_17yAECXbEeeyrfXuGghKkA" permit="false" element="bpmn.process.*"/>
+      <palettes href="platform:/plugin/org.eclipse.papyrus.bpmn.diagram.collaboration/model/collaboration.paletteConfiguration#/"/>
     </representationKinds>
     <metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
     <profiles href="http://www.omg.org/spec/BPMNProfile/20121112/#/"/>
diff --git a/org.eclipse.papyrus.bpmn.diagram.collaboration/plugin.xml b/org.eclipse.papyrus.bpmn.diagram.collaboration/plugin.xml
index db9520f..d604fd6 100755
--- a/org.eclipse.papyrus.bpmn.diagram.collaboration/plugin.xml
+++ b/org.eclipse.papyrus.bpmn.diagram.collaboration/plugin.xml
@@ -2,23 +2,6 @@
 <?eclipse version="3.4"?>
 <plugin>
     <extension
-         point="org.eclipse.papyrus.infra.gmfdiag.common.paletteDefinition">
-      <paletteDefinition
-            ID="org.eclipse.papyrus.bpmn.collaboration.palette"
-            class="org.eclipse.papyrus.infra.gmfdiag.common.service.palette.ExtendedPluginPaletteProvider"
-            icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
-            name="org.eclipse.papyrus.bpmn.collaboration.palette"
-            path="model/collaboration.paletteConfiguration"
-            provider="CEA LIST">
-         <Priority
-               name="Lowest">
-         </Priority>
-         <editor
-               id="org.eclipse.papyrus.uml.diagram.activity">
-         </editor>
-      </paletteDefinition>
-   </extension>
-    <extension
           point="org.eclipse.papyrus.infra.gmfdiag.common.diagramExpansion">
        <diagramexpansion
              model="model/bpmnDiagramExpansion.xmi">
diff --git a/org.eclipse.papyrus.bpmn.diagram.common.tests/META-INF/MANIFEST.MF b/org.eclipse.papyrus.bpmn.diagram.common.tests/META-INF/MANIFEST.MF
index 10456d9..f3da926 100644
--- a/org.eclipse.papyrus.bpmn.diagram.common.tests/META-INF/MANIFEST.MF
+++ b/org.eclipse.papyrus.bpmn.diagram.common.tests/META-INF/MANIFEST.MF
@@ -8,5 +8,6 @@
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
  org.eclipse.papyrus.bpmn.diagram.process;bundle-version="0.9.0",
- org.eclipse.papyrus.bpmn.diagram.collaboration;bundle-version="0.9.0"
+ org.eclipse.papyrus.bpmn.diagram.collaboration;bundle-version="0.9.0",
+ org.apache.log4j;bundle-version="1.2.15"
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.papyrus.bpmn.diagram.common.tests/build.properties b/org.eclipse.papyrus.bpmn.diagram.common.tests/build.properties
index 56d7765..67e6565 100644
--- a/org.eclipse.papyrus.bpmn.diagram.common.tests/build.properties
+++ b/org.eclipse.papyrus.bpmn.diagram.common.tests/build.properties
@@ -1,4 +1,5 @@
 source.. = src/
 output.. = target/classes/
 bin.includes = META-INF/,\
-               .
+               .,\
+               OSGI-INF/
diff --git a/org.eclipse.papyrus.bpmn.diagram.common.tests/src/org/eclipse/papyrus/bpmn/diagram/common/PaletteTest.java b/org.eclipse.papyrus.bpmn.diagram.common.tests/src/org/eclipse/papyrus/bpmn/diagram/common/PaletteTest.java
index ee972a2..7d3ca3a 100644
--- a/org.eclipse.papyrus.bpmn.diagram.common.tests/src/org/eclipse/papyrus/bpmn/diagram/common/PaletteTest.java
+++ b/org.eclipse.papyrus.bpmn.diagram.common.tests/src/org/eclipse/papyrus/bpmn/diagram/common/PaletteTest.java
@@ -23,6 +23,7 @@
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
+import org.apache.log4j.Logger;
 import org.eclipse.core.runtime.FileLocator;
 import org.junit.Before;
 import org.junit.Test;
@@ -34,8 +35,9 @@
 
 public class PaletteTest {
 
-	Set<String> elementtypesSet;
-	
+	private static final Logger log = Logger.getLogger(PaletteTest.class);
+	private Set<String> elementtypesSet;
+
 	@Before
 	public void loadElementtypes() throws ParserConfigurationException, IOException, SAXException{
 		elementtypesSet = getGraphicalElementtypesSet("platform:/plugin/org.eclipse.papyrus.bpmn.diagram.common/model/bpmndi.elementtypesconfigurations");
@@ -57,9 +59,10 @@
 			Node node = nodeList.item(i);
 			if(node.getNodeType() == Node.ELEMENT_NODE){
 				Element element = (Element)node;
-				if(set.add(element.getAttribute("identifier")) == false){
-					System.err.println("duplicate "+ element.getAttribute("identifier"));
-					throw new UnsupportedOperationException("duplicate "+ element.getAttribute("identifier"));
+				String identifier = element.getAttribute("identifier");
+				if(!set.add(identifier)){
+					log.error("duplicate "+ identifier);
+					throw new UnsupportedOperationException("duplicate "+ identifier);
 				}
 			}
 		}
@@ -82,7 +85,7 @@
 			if(node.getNodeType() == Node.ELEMENT_NODE){
 				Element element = (Element)node;
 				String href = element.getAttribute("href");
-				String id = href.substring(href.indexOf("#") + 1);
+				String id = href.substring(href.indexOf('#') + 1);
 				set.add(id);
 			}
 		}
@@ -96,8 +99,8 @@
 		Set<String> paletteSet = getPaletteElementtypes("platform:/plugin/org.eclipse.papyrus.bpmn.diagram.collaboration/model/collaboration.paletteConfiguration");
 		
 		for(String id : paletteSet) {
-			if(elementtypesSet.contains(id) == false){
-				System.err.println("collaboration " + id + " is not graphical elementtype");
+			if(!elementtypesSet.contains(id)){
+				log.error("collaboration " + id + " is not graphical elementtype");
 				fail(id);
 			}
 		}
@@ -109,8 +112,8 @@
 		Set<String> paletteSet = getPaletteElementtypes("platform:/plugin/org.eclipse.papyrus.bpmn.diagram.process/model/process.paletteConfiguration");
 		
 		for(String id : paletteSet) {
-			if(elementtypesSet.contains(id) == false){
-				System.err.println("process " + id + " is not graphical elementtype");
+			if(!elementtypesSet.contains(id)){
+				log.error("process " + id + " is not graphical elementtype");
 				fail(id);
 			}
 		}
diff --git a/org.eclipse.papyrus.bpmn.diagram.process/plugin.xml b/org.eclipse.papyrus.bpmn.diagram.process/plugin.xml
index beec33e..d604fd6 100755
--- a/org.eclipse.papyrus.bpmn.diagram.process/plugin.xml
+++ b/org.eclipse.papyrus.bpmn.diagram.process/plugin.xml
@@ -2,23 +2,6 @@
 <?eclipse version="3.4"?>
 <plugin>
     <extension
-         point="org.eclipse.papyrus.infra.gmfdiag.common.paletteDefinition">
-      <paletteDefinition
-            ID="org.eclipse.papyrus.bpmn.process.palette"
-            class="org.eclipse.papyrus.infra.gmfdiag.common.service.palette.ExtendedPluginPaletteProvider"
-            icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
-            name="org.eclipse.papyrus.bpmn.process.palette"
-            path="model/process.paletteConfiguration"
-            provider="CEA LIST">
-         <Priority
-               name="Lowest">
-         </Priority>
-         <editor
-               id="org.eclipse.papyrus.uml.diagram.activity">
-         </editor>
-      </paletteDefinition>
-   </extension>
-    <extension
           point="org.eclipse.papyrus.infra.gmfdiag.common.diagramExpansion">
        <diagramexpansion
              model="model/bpmnDiagramExpansion.xmi">
diff --git a/org.eclipse.papyrus.bpmn.tests/build.properties b/org.eclipse.papyrus.bpmn.tests/build.properties
index 56d7765..67e6565 100755
--- a/org.eclipse.papyrus.bpmn.tests/build.properties
+++ b/org.eclipse.papyrus.bpmn.tests/build.properties
@@ -1,4 +1,5 @@
 source.. = src/
 output.. = target/classes/
 bin.includes = META-INF/,\
-               .
+               .,\
+               OSGI-INF/
diff --git a/org.eclipse.papyrus.bpmn.tests/pom.xml b/org.eclipse.papyrus.bpmn.tests/pom.xml
index a7cb9ec..52ecef1 100755
--- a/org.eclipse.papyrus.bpmn.tests/pom.xml
+++ b/org.eclipse.papyrus.bpmn.tests/pom.xml
@@ -10,4 +10,7 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.bpmn.tests</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
+	<build>
+		<testSourceDirectory>src</testSourceDirectory>
+	</build>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/bpmnprofiletest/BPMNProcessCustomTest.java b/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/bpmnprofiletest/BPMNProcessCustomTest.java
index df76d72..da68819 100755
--- a/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/bpmnprofiletest/BPMNProcessCustomTest.java
+++ b/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/bpmnprofiletest/BPMNProcessCustomTest.java
@@ -60,7 +60,7 @@
 			bpmnProcess.getFlowElements();
 		}
 		catch(UnsupportedOperationException e){
-			Assert.fail("missing custom code !");
+			Assert.fail("missing custom code for getFlowElements() !");
 		}
 	}
 	
@@ -93,7 +93,7 @@
 			bpmnProcess.getSupports();
 		}
 		catch(UnsupportedOperationException e){
-			Assert.fail("missing custom code !");
+			Assert.fail("missing custom code for basicGetSupports() !");
 		}
 	}
 
@@ -111,7 +111,7 @@
 			bpmnProcess.getLaneSets();
 		}
 		catch(UnsupportedOperationException e){
-			Assert.fail("missing custom code !");
+			Assert.fail("missing custom code for getLaneSets() !");
 		}
 	}
 	
diff --git a/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/bpmnprofiletest/CallActivityCustomTest.java b/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/bpmnprofiletest/CallActivityCustomTest.java
index 3f5a7ad..3ac1be0 100755
--- a/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/bpmnprofiletest/CallActivityCustomTest.java
+++ b/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/bpmnprofiletest/CallActivityCustomTest.java
@@ -36,7 +36,6 @@
 
 	private BPMNProcess bpmnSubProcess;
 	private CallActivity callActivity;
-	private Activity activity2;
 
 	@Before
 	public void setUp() {
@@ -54,7 +53,7 @@
 		activity.getOwnedNodes().add(callBehaviorAction);
 		callActivity = (CallActivity) StereotypeApplicationHelper.getInstance(null).applyStereotype(callBehaviorAction, BPMNProfilePackage.eINSTANCE.getCallActivity());
 
-		activity2 = UMLFactory.eINSTANCE.createActivity();
+		Activity activity2 = UMLFactory.eINSTANCE.createActivity();
 		model.getPackagedElements().add(activity2);
 		bpmnSubProcess = (BPMNProcess) StereotypeApplicationHelper.getInstance(null).applyStereotype(activity2, BPMNProfilePackage.eINSTANCE.getBPMNProcess());
 
diff --git a/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/test/BpmnElementTypesConfigurationsTest.java b/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/test/BpmnElementTypesConfigurationsTest.java
index 6cd82e8..e581c48 100644
--- a/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/test/BpmnElementTypesConfigurationsTest.java
+++ b/org.eclipse.papyrus.bpmn.tests/src/org/eclipse/papyrus/bpmn/test/BpmnElementTypesConfigurationsTest.java
@@ -29,9 +29,6 @@
 @SuppressWarnings("nls") 
 public class BpmnElementTypesConfigurationsTest {
 
-	private static final String elementTypesConfiguration = "../org.eclipse.papyrus.bpmn/model/bpmn.elementtypesconfigurations";
-	private static final String elementTypesCustomConfiguration = "../org.eclipse.papyrus.bpmn/model/customBpmn.elementtypesconfigurations";
-
 
 	private Document openDoc(String file) throws ParserConfigurationException, IOException, SAXException {
 		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
@@ -43,6 +40,7 @@
 
 	@Test
 	public void checkId() throws ParserConfigurationException, IOException, SAXException {
+		final String elementTypesConfiguration = "../org.eclipse.papyrus.bpmn/model/bpmn.elementtypesconfigurations";
 		Document doc = openDoc(elementTypesConfiguration);
 		NodeList nodeList = doc.getElementsByTagName("elementTypeConfigurations");
 
@@ -61,6 +59,7 @@
 
 	@Test
 	public void checkCustomId() throws ParserConfigurationException, IOException, SAXException {
+		final String elementTypesCustomConfiguration = "../org.eclipse.papyrus.bpmn/model/customBpmn.elementtypesconfigurations";
 		Document doc = openDoc(elementTypesCustomConfiguration);
 		NodeList nodeList = doc.getElementsByTagName("elementTypeConfigurations");
 
diff --git a/org.eclipse.papyrus.bpmn/model/bpmn.elementtypesconfigurations b/org.eclipse.papyrus.bpmn/model/bpmn.elementtypesconfigurations
index 5f66f8e..31ecff2 100755
--- a/org.eclipse.papyrus.bpmn/model/bpmn.elementtypesconfigurations
+++ b/org.eclipse.papyrus.bpmn/model/bpmn.elementtypesconfigurations
@@ -301,7 +301,7 @@
     </matcherConfiguration>
     <specializedTypes xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
   </elementTypeConfigurations>
-  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.Import_UML::PackageImport" identifier="org.eclipse.papyrus.bpmn.Import_UML::PackageImport" name="Import" hint="UML::PackageImport">
+  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.PackageImport" identifier="org.eclipse.papyrus.bpmn.PackageImport" name="Import" hint="UML::PackageImport">
     <iconEntry xmi:id="_ulgYEwkFEeWVleXnap4Kwg" iconPath="/icons/full/obj16/PackageImport.gif" bundleId="org.eclipse.uml2.uml.edit"/>
     <matcherConfiguration xsi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_ulgYFAkFEeWVleXnap4Kwg">
       <stereotypesQualifiedNames>BPMNProfile::Import</stereotypesQualifiedNames>
@@ -1946,7 +1946,7 @@
     </matcherConfiguration>
     <specializedTypes xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
   </elementTypeConfigurations>
-  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.MessageFlow_InformationFlow_UML::InformationFlow" identifier="org.eclipse.papyrus.bpmn.MessageFlow_InformationFlow_UML::InformationFlow" name="MessageFlow InformationFlow" hint="UML::InformationFlow">
+  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.MessageFlow_InformationFlow" identifier="org.eclipse.papyrus.bpmn.MessageFlow_InformationFlow" name="MessageFlow InformationFlow" hint="UML::InformationFlow">
     <iconEntry xmi:id="_ulhA3QkFEeWVleXnap4Kwg" iconPath="/icons/full/obj16/InformationFlow.gif" bundleId="org.eclipse.uml2.uml.edit"/>
     <matcherConfiguration xsi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_ulhA3gkFEeWVleXnap4Kwg">
       <stereotypesQualifiedNames>BPMNProfile::MessageFlow</stereotypesQualifiedNames>
@@ -2142,7 +2142,7 @@
     </matcherConfiguration>
     <specializedTypes xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
   </elementTypeConfigurations>
-  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.SubConversation_InformationFlow_UML::InformationFlow" identifier="org.eclipse.papyrus.bpmn.SubConversation_InformationFlow_UML::InformationFlow" name="SubConversation InformationFlow" hint="UML::InformationFlow">
+  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.SubConversation_InformationFlow" identifier="org.eclipse.papyrus.bpmn.SubConversation_InformationFlow" name="SubConversation InformationFlow" hint="UML::InformationFlow">
     <iconEntry xmi:id="_ulhBMQkFEeWVleXnap4Kwg" iconPath="/icons/full/obj16/InformationFlow.gif" bundleId="org.eclipse.uml2.uml.edit"/>
     <matcherConfiguration xsi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_ulhBMgkFEeWVleXnap4Kwg">
       <stereotypesQualifiedNames>BPMNProfile::SubConversation</stereotypesQualifiedNames>
@@ -2156,7 +2156,7 @@
     </matcherConfiguration>
     <specializedTypes xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
   </elementTypeConfigurations>
-  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.ConversationNode_InformationFlow_UML::InformationFlow" identifier="org.eclipse.papyrus.bpmn.ConversationNode_InformationFlow_UML::InformationFlow" name="ConversationNode InformationFlow" hint="UML::InformationFlow">
+  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.ConversationNode_InformationFlow" identifier="org.eclipse.papyrus.bpmn.ConversationNode_InformationFlow" name="ConversationNode InformationFlow" hint="UML::InformationFlow">
     <iconEntry xmi:id="_ulhBNwkFEeWVleXnap4Kwg" iconPath="/icons/full/obj16/InformationFlow.gif" bundleId="org.eclipse.uml2.uml.edit"/>
     <matcherConfiguration xsi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_ulhBOAkFEeWVleXnap4Kwg">
       <stereotypesQualifiedNames>BPMNProfile::ConversationNode</stereotypesQualifiedNames>
@@ -2191,7 +2191,7 @@
     </matcherConfiguration>
     <specializedTypes xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
   </elementTypeConfigurations>
-  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.CallConversation_InformationFlow_UML::InformationFlow" identifier="org.eclipse.papyrus.bpmn.CallConversation_InformationFlow_UML::InformationFlow" name="CallConversation InformationFlow" hint="UML::InformationFlow">
+  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.CallConversation_InformationFlow" identifier="org.eclipse.papyrus.bpmn.CallConversation_InformationFlow" name="CallConversation InformationFlow" hint="UML::InformationFlow">
     <iconEntry xmi:id="_ulhBRgkFEeWVleXnap4Kwg" iconPath="/icons/full/obj16/InformationFlow.gif" bundleId="org.eclipse.uml2.uml.edit"/>
     <matcherConfiguration xsi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_ulhBRwkFEeWVleXnap4Kwg">
       <stereotypesQualifiedNames>BPMNProfile::CallConversation</stereotypesQualifiedNames>
@@ -2205,7 +2205,7 @@
     </matcherConfiguration>
     <specializedTypes xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
   </elementTypeConfigurations>
-  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.Conversation_InformationFlow_UML::InformationFlow" identifier="org.eclipse.papyrus.bpmn.Conversation_InformationFlow_UML::InformationFlow" name="Conversation InformationFlow" hint="UML::InformationFlow">
+  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.bpmn.Conversation_InformationFlow" identifier="org.eclipse.papyrus.bpmn.Conversation_InformationFlow" name="Conversation InformationFlow" hint="UML::InformationFlow">
     <iconEntry xmi:id="_ulhBTAkFEeWVleXnap4Kwg" iconPath="/icons/full/obj16/InformationFlow.gif" bundleId="org.eclipse.uml2.uml.edit"/>
     <matcherConfiguration xsi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_ulhBTQkFEeWVleXnap4Kwg">
       <stereotypesQualifiedNames>BPMNProfile::Conversation</stereotypesQualifiedNames>
@@ -2868,7 +2868,7 @@
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
   </adviceBindingsConfigurations>
-  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhCYQkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.import_UML::PackageImport" target="org.eclipse.papyrus.bpmn.Import_UML::PackageImport">
+  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhCYQkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.import_UML::PackageImport" target="org.eclipse.papyrus.bpmn.PackageImport">
     <stereotypesToApply xmi:id="_ulhCYgkFEeWVleXnap4Kwg" stereotypeQualifiedName="BPMNProfile::Import" updateName="true">
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
@@ -4043,7 +4043,7 @@
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
   </adviceBindingsConfigurations>
-  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhmmgkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.messageFlow_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.MessageFlow_InformationFlow_UML::InformationFlow">
+  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhmmgkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.messageFlow_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.MessageFlow_InformationFlow">
     <stereotypesToApply xmi:id="_ulhmmwkFEeWVleXnap4Kwg" stereotypeQualifiedName="BPMNProfile::MessageFlow" updateName="true">
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
@@ -4183,7 +4183,7 @@
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
   </adviceBindingsConfigurations>
-  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhm0gkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.subConversation_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.SubConversation_InformationFlow_UML::InformationFlow">
+  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhm0gkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.subConversation_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.SubConversation_InformationFlow">
     <stereotypesToApply xmi:id="_ulhm0wkFEeWVleXnap4Kwg" stereotypeQualifiedName="BPMNProfile::SubConversation" updateName="true">
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
@@ -4193,7 +4193,7 @@
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
   </adviceBindingsConfigurations>
-  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhm1gkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.conversationNode_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.ConversationNode_InformationFlow_UML::InformationFlow">
+  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhm1gkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.conversationNode_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.ConversationNode_InformationFlow">
     <stereotypesToApply xmi:id="_ulhm1wkFEeWVleXnap4Kwg" stereotypeQualifiedName="BPMNProfile::ConversationNode" updateName="true">
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
@@ -4218,7 +4218,7 @@
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
   </adviceBindingsConfigurations>
-  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhm4AkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.callConversation_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.CallConversation_InformationFlow_UML::InformationFlow">
+  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhm4AkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.callConversation_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.CallConversation_InformationFlow">
     <stereotypesToApply xmi:id="_ulhm4QkFEeWVleXnap4Kwg" stereotypeQualifiedName="BPMNProfile::CallConversation" updateName="true">
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
@@ -4228,7 +4228,7 @@
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
   </adviceBindingsConfigurations>
-  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhm5AkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.conversation_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.Conversation_InformationFlow_UML::InformationFlow">
+  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_ulhm5AkFEeWVleXnap4Kwg" identifier="org.eclipse.papyrus.bpmn.conversation_UML::InformationFlow" target="org.eclipse.papyrus.bpmn.Conversation_InformationFlow">
     <stereotypesToApply xmi:id="_ulhm5QkFEeWVleXnap4Kwg" stereotypeQualifiedName="BPMNProfile::Conversation" updateName="true">
       <requiredProfiles>BPMNProfile</requiredProfiles>
     </stereotypesToApply>
diff --git a/org.eclipse.papyrus.bpmn/plugin.xml b/org.eclipse.papyrus.bpmn/plugin.xml
index 5716db5..4ff7ade 100755
--- a/org.eclipse.papyrus.bpmn/plugin.xml
+++ b/org.eclipse.papyrus.bpmn/plugin.xml
@@ -34,20 +34,6 @@
       </profile>
    </extension>
     <extension
-          point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
-       <elementTypeSet
-             clientContextID="org.eclipse.papyrus.bpmn.descriptionLanguage"
-             path="model/bpmn.elementtypesconfigurations">
-       </elementTypeSet>
-    </extension>
-    <extension
-          point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
-       <elementTypeSet
-             clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
-             path="model/customBpmn.elementtypesconfigurations">
-       </elementTypeSet>
-    </extension>
-    <extension
           point="org.eclipse.papyrus.infra.properties.contexts">
        <context
              contextModel="properties/bpmn.ctx"
