Merge "Bug 537335 - Improve API of papyrus Req"
diff --git a/ReqSpecification/ReqSpecification.uml b/ReqSpecification/ReqSpecification.uml
index 0bba022..286bc0f 100644
--- a/ReqSpecification/ReqSpecification.uml
+++ b/ReqSpecification/ReqSpecification.uml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ModelElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
   <uml:Model xmi:id="_FnJUsI4yEeeHHIaf5vdK1g" name="ReqSpecification">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_pq-DQIT-Eei2Vr7qEyml5Q" annotatedElement="_cIrn8I4yEeeHHIaf5vdK1g"/>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_F6P24I4yEeeHHIaf5vdK1g">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
@@ -77,4 +78,5 @@
   <Requirements:Requirement xmi:id="_cI_xAI4yEeeHHIaf5vdK1g" base_Class="_cIrn8I4yEeeHHIaf5vdK1g" id="R-001" text="Views of papyrus must be customized in order to manage requirements"/>
   <Requirements:Requirement xmi:id="_A6KWQI40EeeYpYlUdHhhKQ" base_Class="_A5bWcI40EeeYpYlUdHhhKQ" id="R-001-002" text="Papyrus should contains only one menu called Papyrus Req."/>
   <Requirements:Requirement xmi:id="_F3rmAI8tEeeSyOZlBmfUSA" base_Class="_FoGR4I8tEeeSyOZlBmfUSA" id="R-002" text="Papyrus should provide a set of metric to manage Requirements"/>
+  <ModelElements:ElementGroup xmi:id="_qbuKwIT-Eei2Vr7qEyml5Q" base_Comment="_pq-DQIT-Eei2Vr7qEyml5Q" name="GUI"/>
 </xmi:XMI>
diff --git a/plugins/proxy/org.eclipse.papyrus.proxy/resource/profil/Proxy.profile.uml b/plugins/proxy/org.eclipse.papyrus.proxy/resource/profil/Proxy.profile.uml
index a8cd637..37615f0 100644
--- a/plugins/proxy/org.eclipse.papyrus.proxy/resource/profil/Proxy.profile.uml
+++ b/plugins/proxy/org.eclipse.papyrus.proxy/resource/profil/Proxy.profile.uml
@@ -1,29 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
   <uml:Profile xmi:id="_yTEaoK9cEeeX4J2fh1dVPQ" name="Proxy" metaclassReference="_2NiFEK9cEeeX4J2fh1dVPQ">
-    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OZDN4K9dEeeX4J2fh1dVPQ" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
-    <elementImport xmi:type="uml:ElementImport" xmi:id="_2NiFEK9cEeeX4J2fh1dVPQ" alias="Element">
+    <eAnnotations xmi:id="_OZDN4K9dEeeX4J2fh1dVPQ" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+    <elementImport xmi:id="_2NiFEK9cEeeX4J2fh1dVPQ" alias="Element">
       <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
     </elementImport>
-    <elementImport xmi:type="uml:ElementImport" xmi:id="_5ceMkLKZEeeXdNpCuqJQzg" alias="EObject">
+    <elementImport xmi:id="_5ceMkLKZEeeXdNpCuqJQzg" alias="EObject">
       <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
     </elementImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_yjh4gK9cEeeX4J2fh1dVPQ">
+    <packageImport xmi:id="_yjh4gK9cEeeX4J2fh1dVPQ">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_yjk70K9cEeeX4J2fh1dVPQ">
+    <packageImport xmi:id="_yjk70K9cEeeX4J2fh1dVPQ">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
     </packageImport>
     <packagedElement xmi:type="uml:Stereotype" xmi:id="_3OjdMK9cEeeX4J2fh1dVPQ" name="EcoreReference">
-      <generalization xmi:type="uml:Generalization" xmi:id="_ubieMLC2EeeytNa0G5wlRQ" general="_bk1d8LC2EeeytNa0G5wlRQ"/>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_gqTvYLIpEeeoUNX41D-9qA" name="ref" visibility="public">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+      <generalization xmi:id="_ubieMLC2EeeytNa0G5wlRQ" general="_bk1d8LC2EeeytNa0G5wlRQ"/>
+      <ownedAttribute xmi:id="_gqTvYLIpEeeoUNX41D-9qA" name="ref" visibility="public">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uQyMILIpEeeoUNX41D-9qA"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uQ6vALIpEeeoUNX41D-9qA" value="1"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Stereotype" xmi:id="_bk1d8LC2EeeytNa0G5wlRQ" name="Proxy" isAbstract="true">
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_fhTTgbC2EeeytNa0G5wlRQ" name="base_Element" association="_fhKJkLC2EeeytNa0G5wlRQ">
+      <ownedAttribute xmi:id="_fhTTgbC2EeeytNa0G5wlRQ" name="base_Element" association="_fhKJkLC2EeeytNa0G5wlRQ">
         <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
       </ownedAttribute>
     </packagedElement>
@@ -31,19 +31,19 @@
       <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_fhTTgLC2EeeytNa0G5wlRQ" name="extension_Proxy" type="_bk1d8LC2EeeytNa0G5wlRQ" aggregation="composite" association="_fhKJkLC2EeeytNa0G5wlRQ"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Stereotype" xmi:id="_-a8hMLC2EeeytNa0G5wlRQ" name="FileReference">
-      <generalization xmi:type="uml:Generalization" xmi:id="_Ia0qsLC3EeeytNa0G5wlRQ" general="_bk1d8LC2EeeytNa0G5wlRQ"/>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="__zn1kK9cEeeX4J2fh1dVPQ" name="ref" visibility="public">
+      <generalization xmi:id="_Ia0qsLC3EeeytNa0G5wlRQ" general="_bk1d8LC2EeeytNa0G5wlRQ"/>
+      <ownedAttribute xmi:id="__zn1kK9cEeeX4J2fh1dVPQ" name="ref" visibility="public">
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_H_tGMK9dEeeX4J2fh1dVPQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_H_5TcK9dEeeX4J2fh1dVPQ" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_U-8dkLA-Eee0iN1NNqo2iQ" name="defaultValue" value=" "/>
       </ownedAttribute>
     </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_3d2l8LA3Eee0iN1NNqo2iQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3d_v4LA3Eee0iN1NNqo2iQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:id="_3d2l8LA3Eee0iN1NNqo2iQ">
+      <eAnnotations xmi:id="_3d_v4LA3Eee0iN1NNqo2iQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
       </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
     </profileApplication>
   </uml:Profile>
   <Ecore:EPackage xmi:id="_4zZckLA3Eee0iN1NNqo2iQ" base_Package="_yTEaoK9cEeeX4J2fh1dVPQ" packageName="proxy" nsURI="http://org.eclipse.papyrus/proxy" basePackage="org.eclipse.papyrus.proxy" prefix="Proxy"/>
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/META-INF/MANIFEST.MF b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/META-INF/MANIFEST.MF
index e72994f..4c7f6e8 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/META-INF/MANIFEST.MF
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.papyrus.requirements.sysml14.assistant.commands;singleton:=true
-Bundle-Version: 0.7.0.qualifier
+Bundle-Version: 0.8.0.qualifier
 Bundle-Activator: org.eclipse.papyrus.requirements.sysml14.assistant.commands.Activator
 Bundle-Vendor: %Bundle-Vendor
 Require-Bundle: org.eclipse.gmf.runtime.diagram.ui,
@@ -12,5 +12,7 @@
  org.eclipse.papyrus.sysml14
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.papyrus.requirements.sysml14.assistant.commands
+Export-Package: org.eclipse.papyrus.requirements.sysml14.assistant.commands,
+ org.eclipse.papyrus.requirements.sysml14.assistant.commands.api,
+ org.eclipse.papyrus.requirements.sysml14.assistant.commands.internal;x-internal:=true
 Bundle-Localization: plugin
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/pom.xml b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/pom.xml
index 5b33973..18804ce 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/pom.xml
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/pom.xml
@@ -30,5 +30,5 @@
 	<!-- POM Description -->
 	<artifactId>org.eclipse.papyrus.requirements.sysml14.assistant.commands</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>0.7.0-SNAPSHOT</version>
+	<version>0.8.0-SNAPSHOT</version>
 </project>
\ No newline at end of file
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/CommentReqCommand.java b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/CommentReqCommand.java
index 8228248..bd3278e 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/CommentReqCommand.java
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/CommentReqCommand.java
@@ -22,6 +22,8 @@
 /**
  * 
  * Parses the text of the requirement and move some parts as comment
+ *@deprecated see org.eclipse.papyrus.requirements.sysml14.assistant.commands.api.CommandAssistantFactory
+ *@since 0.8.0
  *
  */
 public class CommentReqCommand extends RecordingCommand {
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/api/RequirementCommandAssistantFactory.java b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/api/RequirementCommandAssistantFactory.java
new file mode 100644
index 0000000..dc3750e
--- /dev/null
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/api/RequirementCommandAssistantFactory.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.requirements.sysml14.assistant.commands.api;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.requirements.sysml14.assistant.commands.PapyrusReqSysMLRequirementCreateCommand;
+import org.eclipse.papyrus.requirements.sysml14.assistant.commands.internal.RequirementCreateCommand;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ *This Factory lists all possible command to create Requirements
+ *
+ */
+public class RequirementCommandAssistantFactory {
+
+	/**
+	 * 
+	 * @param domain
+	 * @param owner the owner of the requirement
+	 * @return a command to create a requirement
+	 */
+	public Command createRequirementCommand(TransactionalEditingDomain domain, Element owner, String id, String text) {
+		 return  new RequirementCreateCommand(domain, owner, id, text);
+	}
+}
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/internal/RequirementCreateCommand.java b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/internal/RequirementCreateCommand.java
new file mode 100644
index 0000000..34fa3e9
--- /dev/null
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.assistant.commands/src/org/eclipse/papyrus/requirements/sysml14/assistant/commands/internal/RequirementCreateCommand.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     CEA LIST. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.requirements.sysml14.assistant.commands.internal;
+
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.requirements.sysml14.common.I_SysMLStereotype;
+import org.eclipse.papyrus.requirements.sysml14.common.Utils;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * Creates a new based on the options chosen in the Papyrus Req preferences page.
+ *
+ */
+public class RequirementCreateCommand extends RecordingCommand {
+	protected Element owner;
+	private String id;
+	private String text;
+
+	/**
+	 * 
+	 * Constructor.
+	 *
+	 * @param domain
+	 * @param owner never null
+	 * @param id can be null, in this case it is generated
+	 * @param text can be null
+	 */
+	public RequirementCreateCommand(TransactionalEditingDomain domain, Element owner, String id,String text) {
+		super(domain, "PapyrusReqSysMLRequirementCreateCommand");
+		this.owner = owner;
+		this.id = id;
+		this.text = text;
+	}
+
+	protected static  void createRequirement(org.eclipse.uml2.uml.Package owner, String id,String text) {
+		org.eclipse.uml2.uml.Class requirement = owner.createOwnedClass("tmpName", false);
+		Stereotype reqStereotype = requirement.getApplicableStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE);
+		requirement.applyStereotype(reqStereotype);
+		if( id==null) {
+			id = Utils.getNewRequirementID(owner);
+		}
+		requirement.setName(id);
+		requirement.setValue(reqStereotype, I_SysMLStereotype.REQUIREMENT_ID_ATT, id);
+
+		if( text!=null) {
+			requirement.setValue(reqStereotype, I_SysMLStereotype.REQUIREMENT_TEXT_ATT, text);
+		}
+	}
+
+	@Override
+	protected void doExecute() {
+		if (owner instanceof Package) {
+			createRequirement((Package) owner, id, text);
+		} else if (owner.getNearestPackage() != null) {
+			createRequirement(owner.getNearestPackage(), id, text);
+		}
+	}
+}
\ No newline at end of file
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/META-INF/MANIFEST.MF b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/META-INF/MANIFEST.MF
index 5741119..a65f3ed 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/META-INF/MANIFEST.MF
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/META-INF/MANIFEST.MF
@@ -1,17 +1,19 @@
 Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.papyrus.requirements.sysml14.common.ui;singleton:=true
-Bundle-Version: 0.7.0.qualifier
-Bundle-Activator: org.eclipse.papyrus.requirements.sysml14.common.ui.Activator
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.6.0",
- org.eclipse.papyrus.emf.facet.efacet.core,
- org.eclipse.papyrus.emf.facet.query.java.core,
- org.eclipse.uml2.uml,
- org.eclipse.papyrus.uml.tools,
- org.eclipse.papyrus.requirements.sysml14.common
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-SymbolicName: org.eclipse.papyrus.requirements.sysml14.common.u
+ i;singleton:=true
 Export-Package: org.eclipse.papyrus.requirements.sysml14.common.ui
+Bundle-Name: %Bundle-Name
+Bundle-Version: 0.7.0.qualifier
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.6
+ .0",org.eclipse.papyrus.emf.facet.efacet.core,org.eclipse.papyrus.emf
+ .facet.query.java.core,org.eclipse.uml2.uml,org.eclipse.papyrus.uml.t
+ ools,org.eclipse.papyrus.requirements.sysml14.common,org.eclipse.papy
+ rus.sysml14,org.eclipse.emf.ecore
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.requirements.sysml14.common.ui.A
+ ctivator
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Vendor: %Bundle-Vendor
+
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/ReqDisplay.custom b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/ReqDisplay.custom
index a912337..47cfc23 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/ReqDisplay.custom
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/ReqDisplay.custom
@@ -8,8 +8,8 @@
         <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
       </eParameters>
       <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.requirements.sysml14.common.ui.queries.GetComplexName"/>
-      <override xsi:type="efacet:FacetOperation" href="../../../plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject/label"/>
+      <override xsi:type="efacet:FacetOperation" href="platform:/plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject/label"/>
     </facetOperations>
-    <extendedFacets href="../../../plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject"/>
+    <extendedFacets href="platform:/plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject"/>
   </eClassifiers>
 </custom:Customization>
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14_/common/ui/Activator.java b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14_/common/ui/Activator.java
new file mode 100644
index 0000000..1c8fff7
--- /dev/null
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14_/common/ui/Activator.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Mia-Software.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nicolas Bros (Mia-Software)
+ *******************************************************************************/
+package org.eclipse.papyrus.requirements.sysml14_.common.ui;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/** The activator class controls the plug-in life cycle */
+public class Activator extends Plugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.requirements.sysml14_.common.ui"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	@Override
+	public void start(final BundleContext context) throws Exception {
+		super.start(context);
+		Activator.plugin = this;
+	}
+
+	@Override
+	public void stop(final BundleContext context) throws Exception {
+		Activator.plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 * 
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return Activator.plugin;
+	}
+}
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/AllocationMatrix.nattableconfiguration b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/AllocationMatrix.nattableconfiguration
index 476c94b..1fd97e8 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/AllocationMatrix.nattableconfiguration
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/AllocationMatrix.nattableconfiguration
@@ -8,7 +8,7 @@
     <intListValue>1</intListValue>
   </styles>
   <styles xsi:type="nattablestyle:BooleanValueStyle" name="expandAll" booleanValue="true"/>
-  <rowHeaderAxisConfiguration indexStyle="NUMERIC">
+  <rowHeaderAxisConfiguration xsi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" indexStyle="NUMERIC">
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:ObjectLabelProviderConfiguration"/>
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" displayType="false" displayMultiplicity="false"/>
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:OperationLabelProviderConfiguration" displayType="false" displayMultiplicity="false"/>
@@ -17,9 +17,54 @@
         <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
       </axisUsedAsAxisProvider>
     </ownedAxisConfigurations>
-    <axisManagers axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="2" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="3" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="4" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="5" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="6" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="7" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="8" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="9" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="10" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.9 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.1 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.2 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.3 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.4 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.5 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.6 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.7 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.8"/>
   </rowHeaderAxisConfiguration>
-  <columnHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xsi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration">
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:ObjectLabelProviderConfiguration"/>
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" displayType="false" displayMultiplicity="false"/>
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:OperationLabelProviderConfiguration" displayType="false" displayMultiplicity="false"/>
@@ -27,13 +72,12 @@
       <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis">
         <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
       </axisUsedAsAxisProvider>
-       <filterRule xmi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
     </ownedAxisConfigurations>
-    <axisManagers axisManagerId="org.eclipse.papyrus.infra.emf.nattable.axis.column.eobject.matrix.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@columnHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@columnHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.emf.nattable.axis.column.eobject.matrix.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@columnHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@columnHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
   </columnHeaderAxisConfiguration>
   <columnAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
   <rowAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the columns, according to the wanted hierarchy" name="HierarchicalColumnsAxisManager" disconnectSlave="true"/>
   <ownedCellEditorConfigurations xsi:type="nattablecelleditor:GenericRelationshipMatrixCellEditorConfiguration" cellEditorId="GenericRelationshipMatrixEditorConfiguration">
-    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.Allocate_Abstraction"/>
+    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.Allocate_Abstraction"/>
   </ownedCellEditorConfigurations>
 </nattableconfiguration:TableConfiguration>
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/DerivedMatrix.nattableconfiguration b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/DerivedMatrix.nattableconfiguration
index 2bec7c4..267ff51 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/DerivedMatrix.nattableconfiguration
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/DerivedMatrix.nattableconfiguration
@@ -20,7 +20,71 @@
         <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
       </filterRule>
     </ownedAxisConfigurations>
-    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="2" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="3" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="4" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="5" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="6" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="7" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="8" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="9" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.1 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.2 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.3 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.4 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.5 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.6 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.7 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.8"/>
   </rowHeaderAxisConfiguration>
   <columnHeaderAxisConfiguration xsi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration">
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:ObjectLabelProviderConfiguration"/>
@@ -30,13 +94,13 @@
       <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis">
         <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
       </axisUsedAsAxisProvider>
-      <filterRule xmi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
+      <filterRule xsi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
     </ownedAxisConfigurations>
     <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.emf.nattable.axis.column.eobject.matrix.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@columnHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@columnHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
   </columnHeaderAxisConfiguration>
   <columnAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
   <rowAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the columns, according to the wanted hierarchy" name="HierarchicalColumnsAxisManager" disconnectSlave="true"/>
   <ownedCellEditorConfigurations xsi:type="nattablecelleditor:GenericRelationshipMatrixCellEditorConfiguration" cellEditorId="GenericRelationshipMatrixEditorConfiguration">
-    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.DeriveReqt_Abstraction"/>
+    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.DeriveReqt_Abstraction"/>
   </ownedCellEditorConfigurations>
 </nattableconfiguration:TableConfiguration>
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/SatisfactionMatrix.nattableconfiguration b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/SatisfactionMatrix.nattableconfiguration
index 3b0c841..d06701d 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/SatisfactionMatrix.nattableconfiguration
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/SatisfactionMatrix.nattableconfiguration
@@ -20,7 +20,71 @@
         <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
       </filterRule>
     </ownedAxisConfigurations>
-    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="2" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="3" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="4" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="5" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="6" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="7" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="8" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="9" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.1 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.2 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.3 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.4 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.5 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.6 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.7 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.8"/>
   </rowHeaderAxisConfiguration>
   <columnHeaderAxisConfiguration xsi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration">
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:ObjectLabelProviderConfiguration"/>
@@ -30,13 +94,13 @@
       <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis">
         <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
       </axisUsedAsAxisProvider>
-     <filterRule xmi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
+      <filterRule xsi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
     </ownedAxisConfigurations>
     <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.emf.nattable.axis.column.eobject.matrix.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@columnHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@columnHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
   </columnHeaderAxisConfiguration>
   <columnAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
   <rowAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the columns, according to the wanted hierarchy" name="HierarchicalColumnsAxisManager" disconnectSlave="true"/>
   <ownedCellEditorConfigurations xsi:type="nattablecelleditor:GenericRelationshipMatrixCellEditorConfiguration" cellEditorId="GenericRelationshipMatrixEditorConfiguration">
-    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.Satisfy_Abstraction"/>
+    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.Satisfy_Abstraction"/>
   </ownedCellEditorConfigurations>
 </nattableconfiguration:TableConfiguration>
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/TraceMatrix.nattableconfiguration b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/TraceMatrix.nattableconfiguration
index 4f8ef02..7ea04c3 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/TraceMatrix.nattableconfiguration
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/TraceMatrix.nattableconfiguration
@@ -17,7 +17,47 @@
         <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
       </axisUsedAsAxisProvider>
     </ownedAxisConfigurations>
-    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="2" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="3" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="4" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="5" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="6" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="7" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="8" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="9" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+    </ownedAxisConfigurations>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.1 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.2 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.3 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.4 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.5 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.6 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.7 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.8"/>
   </rowHeaderAxisConfiguration>
   <columnHeaderAxisConfiguration xsi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration">
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:ObjectLabelProviderConfiguration"/>
@@ -27,13 +67,13 @@
       <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis">
         <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
       </axisUsedAsAxisProvider>
-     <filterRule xmi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
+      <filterRule xsi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
     </ownedAxisConfigurations>
     <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.emf.nattable.axis.column.eobject.matrix.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@columnHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@columnHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
   </columnHeaderAxisConfiguration>
   <columnAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
   <rowAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the columns, according to the wanted hierarchy" name="HierarchicalColumnsAxisManager" disconnectSlave="true"/>
   <ownedCellEditorConfigurations xsi:type="nattablecelleditor:GenericRelationshipMatrixCellEditorConfiguration" cellEditorId="GenericRelationshipMatrixEditorConfiguration">
-    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.Verify_Abstraction"/>
+    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.Verify_Abstraction"/>
   </ownedCellEditorConfigurations>
 </nattableconfiguration:TableConfiguration>
diff --git a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/VerifiedMatrix.nattableconfiguration b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/VerifiedMatrix.nattableconfiguration
index bf76060..288d9b3 100644
--- a/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/VerifiedMatrix.nattableconfiguration
+++ b/plugins/sysml14/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/VerifiedMatrix.nattableconfiguration
@@ -20,7 +20,71 @@
         <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
       </filterRule>
     </ownedAxisConfigurations>
-    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="2" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="3" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="4" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="5" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="6" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="7" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="8" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:TreeFillingConfiguration" depth="9" labelProvider="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.1" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
+      <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis" alias="">
+        <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
+      </axisUsedAsAxisProvider>
+      <filterRule xsi:type="umlexpressions:IsTypeOfExpression" name="IsClassExpression" description="Return true if the element is an UML Class">
+        <umlEClass xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+      </filterRule>
+    </ownedAxisConfigurations>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.1 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.2 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.3 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.4 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.5 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.6 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.7 //@rowHeaderAxisConfiguration/@ownedAxisConfigurations.8"/>
   </rowHeaderAxisConfiguration>
   <columnHeaderAxisConfiguration xsi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration">
     <ownedLabelConfigurations xsi:type="nattablelabelprovider:ObjectLabelProviderConfiguration"/>
@@ -30,13 +94,13 @@
       <axisUsedAsAxisProvider xsi:type="nattableaxis:EStructuralFeatureAxis">
         <element xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/>
       </axisUsedAsAxisProvider>
-      <filterRule xmi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
+      <filterRule xsi:type="umlexpressions:IsKindOfStereotypeExpression" xmi:id="_-P3q0LPxEeenvaoBuNrG0w" name="IsKindOfRequirement" stereotypeQualifiedName="SysML::Requirements::Requirement"/>
     </ownedAxisConfigurations>
     <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.infra.emf.nattable.axis.column.eobject.matrix.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@columnHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@columnHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
   </columnHeaderAxisConfiguration>
   <columnAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
   <rowAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="This axis provider manages the columns, according to the wanted hierarchy" name="HierarchicalColumnsAxisManager" disconnectSlave="true"/>
   <ownedCellEditorConfigurations xsi:type="nattablecelleditor:GenericRelationshipMatrixCellEditorConfiguration" cellEditorId="GenericRelationshipMatrixEditorConfiguration">
-    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.Verify_Abstraction"/>
+    <editedElement xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="../../../plugin/org.eclipse.papyrus.sysml14.service.types/model/SysML14.elementtypesconfigurations#org.eclipse.papyrus.SysML14.Verify_Abstraction"/>
   </ownedCellEditorConfigurations>
 </nattableconfiguration:TableConfiguration>