Bug 539607 - [Papyrus Req] Downward and upward Tracability

Change-Id: I06e4e64da73bde7beb2e2f358c51a8dce7027401
(cherry picked from commit 776a307958419f56d60ac64918a1a7a40b78576e)
diff --git a/features/org.eclipse.papyrus.requirements.gui.feature/feature.xml b/features/org.eclipse.papyrus.requirements.gui.feature/feature.xml
index 08646b9..196dce4 100644
--- a/features/org.eclipse.papyrus.requirements.gui.feature/feature.xml
+++ b/features/org.eclipse.papyrus.requirements.gui.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.papyrus.requirements.gui.feature"
       label="Requirements GUI (Incubation)"
-      version="0.7.0.qualifier"
+      version="0.8.0.qualifier"
       provider-name="Eclipse Modeling Project">
 
    <copyright url="http://www.eclipse.org/legal/epl-v10.html">
diff --git a/features/org.eclipse.papyrus.requirements.gui.feature/pom.xml b/features/org.eclipse.papyrus.requirements.gui.feature/pom.xml
index ed82b8c..f3f00c9 100644
--- a/features/org.eclipse.papyrus.requirements.gui.feature/pom.xml
+++ b/features/org.eclipse.papyrus.requirements.gui.feature/pom.xml
@@ -33,5 +33,5 @@
 		</plugins>
 	</build>
 
-	<version>0.7.0-SNAPSHOT</version>
+	<version>0.8.0-SNAPSHOT</version>
 </project>
\ No newline at end of file
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/META-INF/MANIFEST.MF b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/META-INF/MANIFEST.MF
index a65f3ed..652af3d 100644
--- a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/META-INF/MANIFEST.MF
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/META-INF/MANIFEST.MF
@@ -3,13 +3,17 @@
  i;singleton:=true
 Export-Package: org.eclipse.papyrus.requirements.sysml14.common.ui
 Bundle-Name: %Bundle-Name
-Bundle-Version: 0.7.0.qualifier
+Bundle-Version: 0.8.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
+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,
+ org.eclipse.papyrus.sysml14,
+ org.eclipse.emf.ecore,
+ org.eclipse.papyrus.emf.facet.custom.metamodel
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.requirements.sysml14.common.ui.A
  ctivator
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/plugin.xml b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/plugin.xml
index 1e9ff7a..31d68e9 100644
--- a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/plugin.xml
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/plugin.xml
@@ -58,6 +58,15 @@
       <modeldeclaration
             file="resources/ReqDisplay.custom">
       </modeldeclaration>
+      <modeldeclaration
+            file="resources/DownwardTracability.custom">
+      </modeldeclaration>
+      <modeldeclaration
+            file="resources/UpwardTracability.custom">
+      </modeldeclaration>
+      <modeldeclaration
+            file="resources/DisplaySatisfiedReq.custom">
+      </modeldeclaration>
    </extension>
 
 </plugin>
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/pom.xml b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/pom.xml
index c37936e..7c53a4b 100644
--- a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/pom.xml
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/pom.xml
@@ -30,5 +30,5 @@
 	<!-- POM Description -->
 	<artifactId>org.eclipse.papyrus.requirements.sysml14.common.ui</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/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/DisplaySatisfiedReq.custom b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/DisplaySatisfiedReq.custom
new file mode 100644
index 0000000..54ece6b
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/DisplaySatisfiedReq.custom
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<custom:Customization xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:custom="http://www.eclipse.org/papyrus/emf/facet/custom/0.2.incubation/custom" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:efacet="http://www.eclipse.org/papyrus/emf/facet/efacet/0.2.incubation/efacet" xmlns:javaQuery="http://www.eclipse.org/papyrus/emf/facet/query/java/0.2.incubation/javaquery" name="DisplaySatisfiedReq" documentation="Used to Requirements" rank="1">
+  <eClassifiers xsi:type="custom:EClassCustomization" name="NamedElement">
+    <extendedMetaclass href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+    <facetOperations name="getForeground">
+      <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/papyrus/emf/facet/custom/0.2.incubation/custom_primitive_types#//Color"/>
+      <eParameters name="eObject">
+        <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.ReqSatisfied"/>
+      <override xsi:type="efacet:FacetOperation" href="platform:/plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject/foreground"/>
+    </facetOperations>
+    <extendedFacets href="platform:/plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject"/>
+  </eClassifiers>
+</custom:Customization>
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/DownwardTracability.custom b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/DownwardTracability.custom
new file mode 100644
index 0000000..7ad46b9
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/DownwardTracability.custom
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<custom:Customization xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:custom="http://www.eclipse.org/papyrus/emf/facet/custom/0.2.incubation/custom" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:efacet="http://www.eclipse.org/papyrus/emf/facet/efacet/0.2.incubation/efacet" xmlns:javaQuery="http://www.eclipse.org/papyrus/emf/facet/query/java/0.2.incubation/javaquery" name="DownwardTracability" documentation="Used to find element that trace from the current object" mustBeLoadedByDefault="true" rank="2">
+  <eClassifiers xsi:type="custom:EClassCustomization" name="NamedElement">
+    <extendedMetaclass href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+    <facetElements xsi:type="efacet:FacetReference" name="downwardTracability" upperBound="-1" volatile="true" transient="true" derived="true">
+      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+      <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.requirements.sysml14.common.ui.queries.DownwardTracabilityQuery"/>
+    </facetElements>
+    <extendedFacets href="platform:/plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject"/>
+  </eClassifiers>
+</custom:Customization>
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/ReqDisplay.custom b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/ReqDisplay.custom
index 47cfc23..0a6d54a 100644
--- a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/ReqDisplay.custom
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/ReqDisplay.custom
@@ -4,8 +4,8 @@
     <extendedMetaclass href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
     <facetOperations name="DisplayStereotype">
       <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      <eParameters name="eObject">
-        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+      <eParameters name="eReference">
+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
       </eParameters>
       <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.requirements.sysml14.common.ui.queries.GetComplexName"/>
       <override xsi:type="efacet:FacetOperation" href="platform:/plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject/label"/>
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.di b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.di
new file mode 100644
index 0000000..f784d67
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.sysml.architecture.SysML14"/>
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.notation b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.notation
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.notation
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.uml b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.uml
new file mode 100644
index 0000000..d47d222
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/Requirements.uml
@@ -0,0 +1,98 @@
+<?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">
+  <uml:Model xmi:id="_HV_WQML7Eei2pNyaSCNcPA" name="org.eclipse.papyrus.requirements.sysml14.common.ui">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_HlKav8L7Eei2pNyaSCNcPA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_HlwQkML7Eei2pNyaSCNcPA">
+      <importedPackage xmi:type="uml:Package" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Class" xmi:id="_Pgc2QML7Eei2pNyaSCNcPA" name="Display Requirement in the model explorer"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_XtgXQML7Eei2pNyaSCNcPA" name="Upward Traceability"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_jbTbIML7Eei2pNyaSCNcPA" name="Downward Tracability"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_ABy6cML8Eei2pNyaSCNcPA" name="resources">
+      <packagedElement xmi:type="uml:Artifact" xmi:id="_PvOcoML8Eei2pNyaSCNcPA" name="ReqDisplay.custom" fileName="ReqDisplay.custom"/>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_Vt6ooML8Eei2pNyaSCNcPA" name="Satisfies_Display Requirement in the model explorer" client="_PvOcoML8Eei2pNyaSCNcPA" supplier="_Pgc2QML7Eei2pNyaSCNcPA"/>
+      <packagedElement xmi:type="uml:Artifact" xmi:id="_W8fUkML8Eei2pNyaSCNcPA" name="UpwardTacability.custom" fileName="UpwardTacability.custom"/>
+      <packagedElement xmi:type="uml:Artifact" xmi:id="_bsh8IML8Eei2pNyaSCNcPA" name="DownwardTacability.custom" fileName="DownwardTacability.custom"/>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_j3ytYML8Eei2pNyaSCNcPA" name="Satisfies_Upward Traceability" client="_W8fUkML8Eei2pNyaSCNcPA" supplier="_XtgXQML7Eei2pNyaSCNcPA"/>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_nA2wEML8Eei2pNyaSCNcPA" name="Satisfies_Downward Tracability" client="_bsh8IML8Eei2pNyaSCNcPA" supplier="_jbTbIML7Eei2pNyaSCNcPA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_DB5OYML8Eei2pNyaSCNcPA" name="src">
+      <packagedElement xmi:type="uml:Class" xmi:id="_EEabUML8Eei2pNyaSCNcPA" name="GetComplexName"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Artifact" xmi:id="_H11egML8Eei2pNyaSCNcPA" name="plugin.xml" fileName="plugin.xml"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_OYfTMML8Eei2pNyaSCNcPA" name="Satisfies_Display Requirement in the model explorer" client="_H11egML8Eei2pNyaSCNcPA" supplier="_Pgc2QML7Eei2pNyaSCNcPA"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_OYfTMsL8Eei2pNyaSCNcPA" name="Satisfies_Upward Traceability" client="_H11egML8Eei2pNyaSCNcPA" supplier="_XtgXQML7Eei2pNyaSCNcPA"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_OYodIcL8Eei2pNyaSCNcPA" name="Satisfies_Downward Tracability" client="_H11egML8Eei2pNyaSCNcPA" supplier="_jbTbIML7Eei2pNyaSCNcPA"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HktuwML7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Hk3fwML7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlBQwML7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlBQwcL7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlBQwsL7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlKasML7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlKascL7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlKassL7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlKas8L7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlKatML7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlKatcL7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlKatsL7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlKat8L7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlKauML7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlKaucL7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlKausL7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlKau8L7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlKavML7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_HlKavcL7Eei2pNyaSCNcPA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HlKavsL7Eei2pNyaSCNcPA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <Requirements:Requirement xmi:id="_PjbRwML7Eei2pNyaSCNcPA" base_Class="_Pgc2QML7Eei2pNyaSCNcPA" id="R-01" text="A requirement should be displayed as ID: text"/>
+  <Requirements:Requirement xmi:id="_Xt9DMML7Eei2pNyaSCNcPA" base_Class="_XtgXQML7Eei2pNyaSCNcPA" id="R-02" text="The model explorer should display upward tracability of an element"/>
+  <Requirements:Requirement xmi:id="_jbTbIcL7Eei2pNyaSCNcPA" base_Class="_jbTbIML7Eei2pNyaSCNcPA" id="R-03" text="The model explorer should display downward tracability of an element"/>
+  <Requirements:Satisfy xmi:id="_OYfTMcL8Eei2pNyaSCNcPA" base_DirectedRelationship="_OYfTMML8Eei2pNyaSCNcPA" base_Abstraction="_OYfTMML8Eei2pNyaSCNcPA"/>
+  <Requirements:Satisfy xmi:id="_OYodIML8Eei2pNyaSCNcPA" base_DirectedRelationship="_OYfTMsL8Eei2pNyaSCNcPA" base_Abstraction="_OYfTMsL8Eei2pNyaSCNcPA"/>
+  <Requirements:Satisfy xmi:id="_OYodIsL8Eei2pNyaSCNcPA" base_DirectedRelationship="_OYodIcL8Eei2pNyaSCNcPA" base_Abstraction="_OYodIcL8Eei2pNyaSCNcPA"/>
+  <Requirements:Satisfy xmi:id="_Vt6oocL8Eei2pNyaSCNcPA" base_DirectedRelationship="_Vt6ooML8Eei2pNyaSCNcPA" base_Abstraction="_Vt6ooML8Eei2pNyaSCNcPA"/>
+  <Requirements:Satisfy xmi:id="_j38eYML8Eei2pNyaSCNcPA" base_DirectedRelationship="_j3ytYML8Eei2pNyaSCNcPA" base_Abstraction="_j3ytYML8Eei2pNyaSCNcPA"/>
+  <Requirements:Satisfy xmi:id="_nBAhEML8Eei2pNyaSCNcPA" base_DirectedRelationship="_nA2wEML8Eei2pNyaSCNcPA" base_Abstraction="_nA2wEML8Eei2pNyaSCNcPA"/>
+</xmi:XMI>
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/UpwardTracability.custom b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/UpwardTracability.custom
new file mode 100644
index 0000000..de11c04
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/resources/UpwardTracability.custom
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<custom:Customization xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:custom="http://www.eclipse.org/papyrus/emf/facet/custom/0.2.incubation/custom" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:efacet="http://www.eclipse.org/papyrus/emf/facet/efacet/0.2.incubation/efacet" xmlns:javaQuery="http://www.eclipse.org/papyrus/emf/facet/query/java/0.2.incubation/javaquery" name="UpwardTracability" documentation="Used to find element that trace from the current object" mustBeLoadedByDefault="true" rank="2">
+  <eClassifiers xsi:type="custom:EClassCustomization" name="NamedElement">
+    <extendedMetaclass href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+    <facetElements xsi:type="efacet:FacetReference" name="upwardTracability" upperBound="-1" volatile="true" transient="true" derived="true">
+      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+      <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.requirements.sysml14.common.ui.queries.UpwardTracabilityQuery"/>
+    </facetElements>
+    <extendedFacets href="platform:/plugin/org.eclipse.papyrus.emf.facet.custom.ui/resources/customproperties.efacet#//CustomizedEObject"/>
+  </eClassifiers>
+</custom:Customization>
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/Activator.java b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/Activator.java
index f2e3900..513b2e2 100644
--- a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/Activator.java
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/Activator.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2016 CEA LIST.
+ * Copyright (c) 2016,2018 CEA LIST.
  *
  *
  * All rights reserved. This program and the accompanying materials
@@ -10,6 +10,7 @@
  * Contributors:
  * 
  * 		Mauricio Alferez (mauricio.alferez@cea.fr) CEA LIST - Initial API and implementation
+ * 		Patrick Tessier (Patrick.tessier@cea.fr) CEA LIST
  *
  *****************************************************************************/
 package org.eclipse.papyrus.requirements.sysml14.common.ui;
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/DownwardTracabilityQuery.java b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/DownwardTracabilityQuery.java
new file mode 100644
index 0000000..3709011
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/DownwardTracabilityQuery.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * Copyright (c) 2016,2018 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:
+ * 
+ * 		Patrick Tessier (Patrick.tessier@cea.fr) CEA LIST
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.requirements.sysml14.common.ui.queries;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager;
+import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException;
+import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
+import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * Req03: Papyrus Req  shall provides a means to display downward traceability in the model explorer
+ *
+ */
+public class DownwardTracabilityQuery implements IJavaQuery2<NamedElement,  Collection<EObject>> {
+	public Collection<EObject>  evaluate(final NamedElement context, 
+			final IParameterValueList2 parameterValues,
+			final IFacetManager facetManager)
+					throws DerivedTypedElementException {
+
+
+		ArrayList<EObject> result= new ArrayList<EObject>();
+		if( context  instanceof DirectedRelationship) {
+			result.addAll(((DirectedRelationship)context).getSources());
+		}
+		else {
+
+			ResourceSet resourceSet=context.eResource().getResourceSet();
+			for (Iterator<Resource> iteratorResource = resourceSet.getResources().iterator(); iteratorResource.hasNext();) {
+				Resource resource = (Resource) iteratorResource.next();
+				if( resource instanceof UMLResource) {
+
+					for (Iterator<EObject> iteratorObject = resource.getAllContents(); iteratorObject.hasNext();) {
+						EObject ownedElement = (EObject) iteratorObject.next();
+						if(ownedElement instanceof DirectedRelationship) {
+							if(((DirectedRelationship)ownedElement).getTargets().contains(context)) {
+								result.add(ownedElement);
+							}
+						}
+					}
+				}
+			}
+		}
+		return result;
+
+	}
+
+	/**
+	 * @param elem
+	 *            UML model element
+	 * @return the highest level Package of the element
+	 */
+	public static Package getToPackage(Element elememt) {
+		Package tmp = elememt.getNearestPackage();
+		while (tmp.getOwner() != null && (tmp.getOwner() instanceof Package)) {
+			tmp = (Package) tmp.getOwner();
+		}
+		return tmp;
+	}
+}
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/GetComplexName.java b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/GetComplexName.java
index 07a7e65..0e81660 100644
--- a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/GetComplexName.java
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/GetComplexName.java
@@ -25,7 +25,7 @@
 import org.eclipse.uml2.uml.NamedElement;
 import org.eclipse.uml2.uml.Stereotype;
 
-/** get the name + the list of applied stereotypes */
+/**Req01: A requirement should be displayed as ID: text */
 public class GetComplexName implements IJavaQuery2<NamedElement, String> {
 
 	/**
@@ -52,7 +52,7 @@
 	private static final IItemLabelProvider labelProvider = new DelegatingItemLabelProvider();
 
 	public String evaluate(NamedElement source, IParameterValueList2 parameterValues, IFacetManager facetManager) throws DerivedTypedElementException {
-		ParameterValue parameterValue = parameterValues.getParameterValueByName("eObject"); //$NON-NLS-1$
+		ParameterValue parameterValue = parameterValues.getParameterValueByName("eReference"); //$NON-NLS-1$
 		if (parameterValue.getValue() instanceof EStructuralFeature) {
 			return ((EStructuralFeature) parameterValue.getValue()).getName();
 		}
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/ReqSatisfied.java b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/ReqSatisfied.java
new file mode 100644
index 0000000..0d0eb5d
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/ReqSatisfied.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * 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.common.ui.queries;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.emf.facet.custom.metamodel.custompt.IColor;
+import org.eclipse.papyrus.emf.facet.custom.ui.internal.custompt.Color;
+import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager;
+import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException;
+import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
+import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;
+import org.eclipse.papyrus.requirements.sysml14.common.I_SysMLStereotype;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * @author PT202707
+ *
+ */
+public class ReqSatisfied implements  IJavaQuery2<NamedElement, IColor> {
+
+	/**
+	 * test if the stereotype is a SysML Requirement Stereotype
+	 * 
+	 * @param stereotype
+	 *            a given stereotype
+	 * @return return true if this is a SysML stereotype or inherits directly or indirectly from requirement
+	 */
+	protected boolean isRequirementStereotype(Stereotype stereotype) {
+		if (I_SysMLStereotype.REQUIREMENT_STEREOTYPE.equals(stereotype.getQualifiedName())) {
+			return true;
+		}
+		for (org.eclipse.uml2.uml.Class superStereotype : stereotype.getSuperClasses()) {
+			if (superStereotype instanceof Stereotype) {
+				if (isRequirementStereotype((Stereotype) superStereotype)) {
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	public IColor evaluate(final NamedElement context, final IParameterValueList2 parameterValues, final IFacetManager facetManager)
+			throws DerivedTypedElementException {
+
+
+
+		Stereotype appStereotype = null;
+		if (context.getAppliedStereotypes().size() > 0) {
+			appStereotype = context.getAppliedStereotypes().get(0);
+		}
+
+		if ((context instanceof org.eclipse.uml2.uml.Class) && (appStereotype != null) && (isRequirementStereotype(appStereotype))) {
+			Object value= context.getValue(appStereotype, I_SysMLStereotype.REQUIREMENT_SATISFIEDBY_ATT);
+			if (context.getValue(appStereotype, I_SysMLStereotype.REQUIREMENT_SATISFIEDBY_ATT)==null)	{
+				return new Color(255, 204, 0);
+			}
+			else if (((EList)(context.getValue(appStereotype, I_SysMLStereotype.REQUIREMENT_SATISFIEDBY_ATT))).size()==0)	{
+				return new Color(255, 204, 0);
+			}
+			else {
+				return new Color(0, 0, 0);
+			}
+		}
+		return new Color(0, 0, 0);
+	}
+}
+
diff --git a/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/UpwardTracabilityQuery.java b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/UpwardTracabilityQuery.java
new file mode 100644
index 0000000..ab7f2ae
--- /dev/null
+++ b/plugins/sysml14/gui/org.eclipse.papyrus.requirements.sysml14.common.ui/src/org/eclipse/papyrus/requirements/sysml14/common/ui/queries/UpwardTracabilityQuery.java
@@ -0,0 +1,86 @@
+/*****************************************************************************
+ * Copyright (c) 2016,2018 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:
+ * 
+ * 		Patrick Tessier (Patrick.tessier@cea.fr) CEA LIST
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.requirements.sysml14.common.ui.queries;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager;
+import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException;
+import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
+import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * Req02:Papyrus Req  shall provides a means to display upward traceability in the model explorer
+ *
+ */
+public class UpwardTracabilityQuery implements IJavaQuery2<NamedElement,  Collection<EObject>> {
+	
+	
+	
+	public Collection<EObject>  evaluate(final NamedElement context, 
+			final IParameterValueList2 parameterValues,
+			final IFacetManager facetManager)
+					throws DerivedTypedElementException {
+
+
+		ArrayList<EObject> result= new ArrayList<EObject>();
+		if( context  instanceof DirectedRelationship) {
+			result.addAll(((DirectedRelationship)context).getTargets());
+		}
+		else {
+
+			ResourceSet resourceSet=context.eResource().getResourceSet();
+			for (Iterator<Resource> iteratorResource = resourceSet.getResources().iterator(); iteratorResource.hasNext();) {
+				Resource resource = (Resource) iteratorResource.next();
+				if( resource instanceof UMLResource) {
+
+					for (Iterator<EObject> iteratorObject = resource.getAllContents(); iteratorObject.hasNext();) {
+						EObject ownedElement = (EObject) iteratorObject.next();
+						if(ownedElement instanceof DirectedRelationship) {
+							if(((DirectedRelationship)ownedElement).getSources().contains(context)) {
+								result.add(ownedElement);
+							}
+						}
+					}
+				}
+			}
+		}
+		return result;
+
+	}
+
+	/**
+	 * @param elem
+	 *            UML model element
+	 * @return the highest level Package of the element
+	 */
+	public static Package getToPackage(Element elememt) {
+		Package tmp = elememt.getNearestPackage();
+		while (tmp.getOwner() != null && (tmp.getOwner() instanceof Package)) {
+			tmp = (Package) tmp.getOwner();
+		}
+		return tmp;
+	}
+}
diff --git a/plugins/sysml14/viewpoint/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture b/plugins/sysml14/viewpoint/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture
index dac4c3f..6db9933 100644
--- a/plugins/sysml14/viewpoint/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture
+++ b/plugins/sysml14/viewpoint/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture
@@ -1,65 +1,65 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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" xmlns:nattablerepresentation="http://www.eclipse.org/papyrus/infra/nattable/representation" xmi:id="_UadTAIv4EeeNBcglvVZtOQ" id="org.eclipse.papyrus.sysml14.systemsEngineering" name="Systems Engineering" description="The domain of developing software systems" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/domain.gif">
-  <stakeholders xmi:id="_ACzA4Iv5EeeNBcglvVZtOQ" id="org.eclipse.papyrus.req.reqEngineer" name="Requirement Engineer" description="An engineer interested in Requirement Engineering" concerns="_hhXXgIv7EeeNBcglvVZtOQ"/>
-  <concerns xmi:id="_hhXXgIv7EeeNBcglvVZtOQ" id="org.eclipse.papyrus.req.concern" name="Requirement engineering concern" description="The concern of managing requirements"/>
-  <contexts xsi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_U9_ocIv5EeeNBcglvVZtOQ" id="org.eclipse.papyrus.sysml.architecture.SysML14" name="SysML 1.4" description="The Systems Modeling Language" icon="platform:/plugin/org.eclipse.papyrus.sysml14/resources/icons/SysML.gif" creationCommandClass="org.eclipse.papyrus.sysml14.architecture.CreateSysML14ModelCommand" conversionCommandClass="org.eclipse.papyrus.sysml14.architecture.internal.UMLtoSyML14ModelConversionCommand">
-    <viewpoints xmi:id="_c3giYIv5EeeNBcglvVZtOQ" id="org.eclipse.papyrus.requirement.viewpoint" name="Requirement Specification" description="Requirement Specification" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif">
-      <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml14.architecture/resources/sysml14.architecture#org.eclipse.papyrus.sysml14.diagram.requirement"/>
-      <representationKinds xsi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.sysml14.architecture/resources/sysml14.architecture#org.eclipse.papyrus.sysml14.table.requirement"/>
-      <representationKinds xsi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.sysml14.architecture/resources/sysml14.architecture#org.eclipse.papyrus.sysml14.table.requirementTree"/>
-      <representationKinds xsi:type="nattablerepresentation:PapyrusTable" href="#_zx3UEJI1EeeIi5L9EZAlzw"/>
-      <representationKinds xsi:type="nattablerepresentation:PapyrusTable" href="#_z_Hs8JI1EeeIi5L9EZAlzw"/>
-      <representationKinds xsi:type="nattablerepresentation:PapyrusTable" href="#_WdWhUI85EeeoX5z29mN4Kg"/>
-      <representationKinds xsi:type="nattablerepresentation:PapyrusTable" href="#_zDnG8JI1EeeIi5L9EZAlzw"/>
-      <representationKinds xsi:type="nattablerepresentation:PapyrusTable" href="#_Cfnr8LP2EeeLo8Gu4FwO3w"/>
+<architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablerepresentation="http://www.eclipse.org/papyrus/infra/nattable/representation" xmlns:representation="http://www.eclipse.org/papyrus/infra/core/architecture/representation" xmi:id="_UadTAIv4EeeNBcglvVZtOQ" id="org.eclipse.papyrus.sysml14.systemsEngineering" name="Systems Engineering" description="The domain of developing software systems" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/domain.gif">
+  <stakeholders xmi:type="architecture:Stakeholder" xmi:id="_ACzA4Iv5EeeNBcglvVZtOQ" id="org.eclipse.papyrus.req.reqEngineer" name="Requirement Engineer" description="An engineer interested in Requirement Engineering" concerns="_hhXXgIv7EeeNBcglvVZtOQ"/>
+  <concerns xmi:type="architecture:Concern" xmi:id="_hhXXgIv7EeeNBcglvVZtOQ" id="org.eclipse.papyrus.req.concern" name="Requirement engineering concern" description="The concern of managing requirements"/>
+  <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_U9_ocIv5EeeNBcglvVZtOQ" id="org.eclipse.papyrus.sysml.architecture.SysML14" name="SysML 1.4" description="The Systems Modeling Language" icon="platform:/plugin/org.eclipse.papyrus.sysml14/resources/icons/SysML.gif" creationCommandClass="org.eclipse.papyrus.sysml14.architecture.CreateSysML14ModelCommand" conversionCommandClass="org.eclipse.papyrus.sysml14.architecture.internal.UMLtoSyML14ModelConversionCommand">
+    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_c3giYIv5EeeNBcglvVZtOQ" id="org.eclipse.papyrus.requirement.viewpoint" name="Requirement Specification" description="Requirement Specification" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif">
+      <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml14.architecture/resources/sysml14.architecture#org.eclipse.papyrus.sysml14.diagram.requirement"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.sysml14.architecture/resources/sysml14.architecture#org.eclipse.papyrus.sysml14.table.requirement"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.sysml14.architecture/resources/sysml14.architecture#org.eclipse.papyrus.sysml14.table.requirementTree"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture#_zx3UEJI1EeeIi5L9EZAlzw"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture#_z_Hs8JI1EeeIi5L9EZAlzw"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture#_WdWhUI85EeeoX5z29mN4Kg"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture#_zDnG8JI1EeeIi5L9EZAlzw"/>
+      <representationKinds xmi:type="nattablerepresentation:PapyrusTable" href="platform:/plugin/org.eclipse.papyrus.requirement.architecture/resources/papyrusreq.architecture#_Cfnr8LP2EeeLo8Gu4FwO3w"/>
     </viewpoints>
-    <elementTypes href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.common/resource/Requirement.elementtypesconfigurations#org.eclipse.papyrus.requirements.sysml.common.elementTypeSet"/>
-    <representationKinds xsi:type="nattablerepresentation:PapyrusTable" xmi:id="_WdWhUI85EeeoX5z29mN4Kg" id="SysMLSatisfactionRequirementMatrix" name="Satisfaction Requirement Matrix" description="This table is a matrix that shows if the element satisfies a requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="SysMLSatisfactionRequirementMatrix">
-      <modelRules xmi:id="_-v9pgI85EeeoX5z29mN4Kg">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.common/resource/Requirement.elementtypesconfigurations#org.eclipse.papyrus.requirements.sysml.common.elementTypeSet"/>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="_WdWhUI85EeeoX5z29mN4Kg" id="SysMLSatisfactionRequirementMatrix" name="Satisfaction Requirement Matrix" description="This table is a matrix that shows if the element satisfies a requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="SysMLSatisfactionRequirementMatrix">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_-v9pgI85EeeoX5z29mN4Kg" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </modelRules>
-      <owningRules xmi:id="_BvCpwI86EeeoX5z29mN4Kg">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_BvCpwI86EeeoX5z29mN4Kg" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </owningRules>
-      <configuration href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/SatisfactionMatrix.nattableconfiguration#/"/>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/SatisfactionMatrix.nattableconfiguration#/"/>
     </representationKinds>
-    <representationKinds xsi:type="nattablerepresentation:PapyrusTable" xmi:id="_zDnG8JI1EeeIi5L9EZAlzw" id="SysMLVerifyRequirementMatrix" name="Verify Requirement Matrix" description="This table is a matrix that shows if the element verify a requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="SysMLVerifyRequirementMatrix">
-      <modelRules xmi:id="_zDnG8ZI1EeeIi5L9EZAlzw">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="_zDnG8JI1EeeIi5L9EZAlzw" id="SysMLVerifyRequirementMatrix" name="Verify Requirement Matrix" description="This table is a matrix that shows if the element verify a requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="SysMLVerifyRequirementMatrix">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_zDnG8ZI1EeeIi5L9EZAlzw" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </modelRules>
-      <owningRules xmi:id="_zDnG8pI1EeeIi5L9EZAlzw">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_zDnG8pI1EeeIi5L9EZAlzw" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </owningRules>
-      <configuration href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/VerifiedMatrix.nattableconfiguration#/"/>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/VerifiedMatrix.nattableconfiguration#/"/>
     </representationKinds>
-    <representationKinds xsi:type="nattablerepresentation:PapyrusTable" xmi:id="_zx3UEJI1EeeIi5L9EZAlzw" id="SysMLDerivedRequirementMatrix" name="Derived Requirement Matrix" description="This table is a matrix that shows if the element satisfies a requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="SysMLDerivedRequirementMatrix">
-      <modelRules xmi:id="_zx3UEZI1EeeIi5L9EZAlzw">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="_zx3UEJI1EeeIi5L9EZAlzw" id="SysMLDerivedRequirementMatrix" name="Derived Requirement Matrix" description="This table is a matrix that shows if the element satisfies a requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="SysMLDerivedRequirementMatrix">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_zx3UEZI1EeeIi5L9EZAlzw" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </modelRules>
-      <owningRules xmi:id="_zx3UEpI1EeeIi5L9EZAlzw">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_zx3UEpI1EeeIi5L9EZAlzw" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </owningRules>
-      <configuration href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/DerivedMatrix.nattableconfiguration#/"/>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/DerivedMatrix.nattableconfiguration#/"/>
     </representationKinds>
-    <representationKinds xsi:type="nattablerepresentation:PapyrusTable" xmi:id="_z_Hs8JI1EeeIi5L9EZAlzw" id="SysMLTraceRequirementMatrix" name="Related Element to Requirements Matrix" description="This table is a matrix that shows if the element satisfies a requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="SysMLTraceRequirementMatrix">
-      <modelRules xmi:id="_z_Hs8ZI1EeeIi5L9EZAlzw">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="_z_Hs8JI1EeeIi5L9EZAlzw" id="SysMLTraceRequirementMatrix" name="Related Element to Requirements Matrix" description="This table is a matrix that shows if the element satisfies a requirement" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="SysMLTraceRequirementMatrix">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_z_Hs8ZI1EeeIi5L9EZAlzw" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </modelRules>
-      <owningRules xmi:id="_z_Hs8pI1EeeIi5L9EZAlzw">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_z_Hs8pI1EeeIi5L9EZAlzw" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </owningRules>
-      <configuration href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/TraceMatrix.nattableconfiguration#/"/>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/TraceMatrix.nattableconfiguration#/"/>
     </representationKinds>
-    <representationKinds xsi:type="nattablerepresentation:PapyrusTable" xmi:id="_Cfnr8LP2EeeLo8Gu4FwO3w" id="AllocationRequirementMatrix" name="Allocation Requirment Matrix" description="This table allows to display SysML 1.4 allocate relationship between Classes and Requirements" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="AllocationRequirementMatrix">
-      <modelRules xmi:id="_z_Hs8ZI1EeeIi5L9EZAlzw">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="_Cfnr8LP2EeeLo8Gu4FwO3w" id="AllocationRequirementMatrix" name="Allocation Requirement Matrix" description="This table allows to display SysML 1.4 allocate relationship between Classes and Requirements" icon="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/icons/table_SysML_Requirement.png" concerns="_hhXXgIv7EeeNBcglvVZtOQ" implementationID="AllocationRequirementMatrix">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_z_Hs8ZI1EeeIi5L9EZAlzw" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </modelRules>
-      <owningRules xmi:id="_z_Hs8pI1EeeIi5L9EZAlzw">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_z_Hs8pI1EeeIi5L9EZAlzw" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
       </owningRules>
-      <configuration href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/AllocationMatrix.nattableconfiguration#/"/>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.requirements.sysml14.matrix.common/resource/AllocationMatrix.nattableconfiguration#_BwkZkMAAEei9C_cgsslY_w"/>
     </representationKinds>
-    <metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
-    <profiles href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#/"/>
+    <metamodel xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
+    <profiles xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#/"/>
   </contexts>
 </architecture:ArchitectureDomain>
diff --git a/releng/org.eclipse.papyrus.requirements.p2/category.xml b/releng/org.eclipse.papyrus.requirements.p2/category.xml
index 88929d5..7ecdabf 100755
--- a/releng/org.eclipse.papyrus.requirements.p2/category.xml
+++ b/releng/org.eclipse.papyrus.requirements.p2/category.xml
@@ -3,7 +3,7 @@
    <feature url="features/org.eclipse.papyrus.requirements.controler.feature_0.7.0.qualifier.jar" id="org.eclipse.papyrus.requirements.controler.feature" version="0.7.0.qualifier">
       <category name="org.eclipse.papyrus.requirements"/>
    </feature>
-   <feature url="features/org.eclipse.papyrus.requirements.gui.feature_0.7.0.qualifier.jar" id="org.eclipse.papyrus.requirements.gui.feature" version="0.7.0.qualifier">
+   <feature url="features/org.eclipse.papyrus.requirements.gui.feature_0.8.0.qualifier.jar" id="org.eclipse.papyrus.requirements.gui.feature" version="0.8.0.qualifier">
       <category name="org.eclipse.papyrus.requirements"/>
    </feature>
    <feature url="features/org.eclipse.papyrus.requirements.viewpoint.feature_0.7.0.qualifier.jar" id="org.eclipse.papyrus.requirements.viewpoint.feature" version="0.7.0.qualifier">
diff --git a/releng/targetplatforms/org.eclipse.papyrus.requirements.targetplatform/org.eclipse.papyrus.requirements.targetplatform.target b/releng/targetplatforms/org.eclipse.papyrus.requirements.targetplatform/org.eclipse.papyrus.requirements.targetplatform.target
index 8d5228f..20e1624 100755
--- a/releng/targetplatforms/org.eclipse.papyrus.requirements.targetplatform/org.eclipse.papyrus.requirements.targetplatform.target
+++ b/releng/targetplatforms/org.eclipse.papyrus.requirements.targetplatform/org.eclipse.papyrus.requirements.targetplatform.target
@@ -15,7 +15,7 @@
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
-      <repository location="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/photon/"/>
+      <repository location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/photon"/>
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.papyrus.sysml14" version="0.0.0"/>