Merge "Bug 574306 - [Robotics] Safety analysis does not allow to define detailed effects and different risk reduction measures for an identified hazard"
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/.classpath b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/.classpath
index 9404e3d..bb64293 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/.classpath
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/.classpath
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src-gen"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src-gen"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/.settings/org.eclipse.jdt.core.prefs b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/.settings/org.eclipse.jdt.core.prefs
index f4d933e..7adc0fb 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/.settings/org.eclipse.jdt.core.prefs
@@ -3,5 +3,8 @@
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
 org.eclipse.jdt.core.compiler.compliance=11
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
 org.eclipse.jdt.core.compiler.source=11
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/META-INF/MANIFEST.MF b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/META-INF/MANIFEST.MF
index b3af387..e906071 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/META-INF/MANIFEST.MF
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/META-INF/MANIFEST.MF
@@ -13,7 +13,8 @@
  org.eclipse.papyrus.robotics.profile;visibility:=reexport,
  org.eclipse.uml2.types;visibility:=reexport,
  org.eclipse.uml2.uml;visibility:=reexport,
- org.eclipse.papyrus.uml.extensionpoints;bundle-version="[1.3.0,3.0.0)"
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.3.0",
+ org.eclipse.papyrus.infra.properties
 Bundle-RequiredExecutionEnvironment: JavaSE-11
 Export-Package: org.eclipse.papyrus.robotics.safety.riskanalysis,
  org.eclipse.papyrus.robotics.safety.riskanalysis.custom,
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/build.properties b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/build.properties
index f7cd8a9..79e4c47 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/build.properties
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/build.properties
@@ -4,7 +4,8 @@
                model/,\
                META-INF/,\
                plugin.xml,\
-               plugin.properties
+               plugin.properties,\
+
 jars.compile.order = .
 source.. = src/,\
            src-gen/
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.notation b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.notation
index 88078ca..86ab19a 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.notation
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.notation
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
   <notation:Diagram xmi:id="_Vp5uUD9eEemSWsc0fABanw" type="PapyrusUMLProfileDiagram" name="hara" measurementUnit="Pixel">
     <children xmi:type="notation:Shape" xmi:id="_MnCOUEAcEemSWsc0fABanw" type="Stereotype_Shape">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EJcOcAxVEequit2oLqE3Og" source="PapyrusCSSForceValue">
@@ -64,13 +64,6 @@
           <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_2toOsETUEemur4Ohd3RSdg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_2txYoUTUEemur4Ohd3RSdg"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_AFANwETVEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MlVctAxVEequit2oLqE3Og" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MlVctQxVEequit2oLqE3Og" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_AEjh0ETVEemur4Ohd3RSdg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_AFANwUTVEemur4Ohd3RSdg"/>
-        </children>
         <children xmi:type="notation:Shape" xmi:id="_V9CewETaEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
           <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MlVcsgxVEequit2oLqE3Og" source="displayNameLabelIcon">
             <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MlVcswxVEequit2oLqE3Og" key="displayNameLabelIcon_value" value="false"/>
@@ -99,13 +92,6 @@
           <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_UxwwsETVEemur4Ohd3RSdg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_V972oUTaEemur4Ohd3RSdg"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_V-OxkETaEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MlU1oQxVEequit2oLqE3Og" source="displayNameLabelIcon">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MlU1ogxVEequit2oLqE3Og" key="displayNameLabelIcon_value" value="false"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_Uxwws0TVEemur4Ohd3RSdg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_V-OxkUTaEemur4Ohd3RSdg"/>
-        </children>
         <children xmi:type="notation:Shape" xmi:id="_1C1qkEUFEemrze-5W9aHHQ" type="Property_ClassAttributeLabel">
           <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MlUOlgxVEequit2oLqE3Og" source="displayNameLabelIcon">
             <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MlU1oAxVEequit2oLqE3Og" key="displayNameLabelIcon_value" value="false"/>
@@ -342,6 +328,184 @@
       <element xmi:type="uml:Stereotype" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_8MJ6AEyBEemO4axG7yzSjw"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Bkbj8Q7aEeqBheg216iMuA" x="120" y="401" width="209"/>
     </children>
+    <children xmi:type="notation:Shape" xmi:id="_kZA80A7pEeuTyOSxSW7NPg" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vijdEg7pEeuTyOSxSW7NPg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vijdEw7pEeuTyOSxSW7NPg" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kZHDcA7pEeuTyOSxSW7NPg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kZHDcQ7pEeuTyOSxSW7NPg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_l6rj4A7pEeuTyOSxSW7NPg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_hMyRYg7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_l6rj4Q7pEeuTyOSxSW7NPg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kZHDcg7pEeuTyOSxSW7NPg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kZHDcw7pEeuTyOSxSW7NPg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kZHDdA7pEeuTyOSxSW7NPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZHDdQ7pEeuTyOSxSW7NPg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kZHDdg7pEeuTyOSxSW7NPg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kZHDdw7pEeuTyOSxSW7NPg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kZHDeA7pEeuTyOSxSW7NPg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kZHDeQ7pEeuTyOSxSW7NPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZHDeg7pEeuTyOSxSW7NPg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="TaskBasedRiskAnalysis.profile.uml#_hMyRYA7pEeuTyOSxSW7NPg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZA80Q7pEeuTyOSxSW7NPg" x="440" y="560" width="321"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_pYUIYA7pEeuTyOSxSW7NPg" type="Enumeration_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vii2AA7pEeuTyOSxSW7NPg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vii2AQ7pEeuTyOSxSW7NPg" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_pYUvcA7pEeuTyOSxSW7NPg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_pYUvcQ7pEeuTyOSxSW7NPg" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_qiif0A7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT0Q7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qiif0Q7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qjFSYA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT0g7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qjFSYQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qjoE8A7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT0w7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qjoE8Q7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qkN60A7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT1A7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qkN60Q7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qk86oA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT1Q7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qk86oQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qlg7UA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT1g7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qlg7UQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qmS-cA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT1w7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qmS-cQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qmzUwA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT2A7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qmzUwQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qnobMA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT2Q7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qnobMQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qoL00A7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT2g7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qoL00Q7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qoxqsA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT2w7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qoxqsQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_qpifsA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNAT3A7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qpifsQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_pYUvcg7pEeuTyOSxSW7NPg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_pYUvcw7pEeuTyOSxSW7NPg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_pYUvdA7pEeuTyOSxSW7NPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pYUvdQ7pEeuTyOSxSW7NPg"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="TaskBasedRiskAnalysis.profile.uml#_hNAT0A7pEeuTyOSxSW7NPg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pYUIYQ7pEeuTyOSxSW7NPg" x="980" y="140"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_rmSb0A7pEeuTyOSxSW7NPg" type="Enumeration_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_viiO8A7pEeuTyOSxSW7NPg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_viiO8Q7pEeuTyOSxSW7NPg" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rmSb0g7pEeuTyOSxSW7NPg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_rmSb0w7pEeuTyOSxSW7NPg" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_snnV8A7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh8Q7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_snnV8Q7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_soFQAA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh8g7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_soFQAQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_spK1IA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh8w7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_spK1IQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_sp4m0A7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh9A7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sp4m0Q7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_sqayUA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh9Q7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sqayUQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_srAoMA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh9g7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_srAoMQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_srqIcA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh9w7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_srqIcQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ssICgA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh-A7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ssICgQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ss5ekA7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh-Q7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ss5ekQ7pEeuTyOSxSW7NPg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_stsv0A7pEeuTyOSxSW7NPg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_hNBh-g7pEeuTyOSxSW7NPg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_stsv0Q7pEeuTyOSxSW7NPg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rmSb1A7pEeuTyOSxSW7NPg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_rmSb1Q7pEeuTyOSxSW7NPg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_rmSb1g7pEeuTyOSxSW7NPg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rmSb1w7pEeuTyOSxSW7NPg"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="TaskBasedRiskAnalysis.profile.uml#_hNBh8A7pEeuTyOSxSW7NPg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rmSb0Q7pEeuTyOSxSW7NPg" x="980" y="420"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_YhHysA7yEeu0e5ao4oEuuQ" type="Enumeration_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dP41kA-7EeuU8sP9A8SBDA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dP6DsA-7EeuU8sP9A8SBDA" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YhJn4A7yEeu0e5ao4oEuuQ" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_YhKO8A7yEeu0e5ao4oEuuQ" type="Enumeration_LiteralCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_aO9NgA7yEeu0e5ao4oEuuQ" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_aOJ8QA7yEeu0e5ao4oEuuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_aO9NgQ7yEeu0e5ao4oEuuQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_bDoLsA7yEeu0e5ao4oEuuQ" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_bDIccA7yEeu0e5ao4oEuuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bDoywA7yEeu0e5ao4oEuuQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_bgHTYA7yEeu0e5ao4oEuuQ" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_bfiEkA7yEeu0e5ao4oEuuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bgHTYQ7yEeu0e5ao4oEuuQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_b9TlsA7yEeu0e5ao4oEuuQ" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_b8yoUA7yEeu0e5ao4oEuuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_b9TlsQ7yEeu0e5ao4oEuuQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_cimrIA7yEeu0e5ao4oEuuQ" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_ciKmQA7yEeu0e5ao4oEuuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cimrIQ7yEeu0e5ao4oEuuQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_og1-wA7yEeu0e5ao4oEuuQ" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="TaskBasedRiskAnalysis.profile.uml#_ogCtgA7yEeu0e5ao4oEuuQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_og1-wQ7yEeu0e5ao4oEuuQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_YhKO8Q7yEeu0e5ao4oEuuQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_YhKO8g7yEeu0e5ao4oEuuQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_YhKO8w7yEeu0e5ao4oEuuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YhKO9A7yEeu0e5ao4oEuuQ"/>
+      </children>
+      <element xmi:type="uml:Enumeration" href="TaskBasedRiskAnalysis.profile.uml#_Yg-owA7yEeu0e5ao4oEuuQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YhHysQ7yEeu0e5ao4oEuuQ" x="800" y="540" width="141"/>
+    </children>
     <styles xmi:type="notation:StringValueStyle" xmi:id="_Vp5uUT9eEemSWsc0fABanw" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_Vp5uUj9eEemSWsc0fABanw"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_Vp5uUz9eEemSWsc0fABanw" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
@@ -471,8 +635,8 @@
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CTSm4AzeEeqPdaXK7OaeGg" source="PapyrusCSSForceValue">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CTTN8AzeEeqPdaXK7OaeGg" key="gradient" value="true"/>
       </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F2rOEAzeEeqPdaXK7OaeGg" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F2rOEQzeEeqPdaXK7OaeGg" key="QualifiedNameDepth" value="0"/>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SibeQA_EEeuU8sP9A8SBDA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SibeQQ_EEeuU8sP9A8SBDA" key="QualifiedNameDepth" value="0"/>
       </eAnnotations>
       <children xmi:type="notation:DecorationNode" xmi:id="_9-S8kAzdEeqPdaXK7OaeGg" type="Class_MetaclassNameLabel"/>
       <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
@@ -496,21 +660,64 @@
       <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_K1-ZoQzeEeqPdaXK7OaeGg" x="158" y="40" width="203" height="52"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_ddWPwA7TEeqBheg216iMuA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_ddWPwQ7TEeqBheg216iMuA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ddW20A7TEeqBheg216iMuA" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_lovW4A-7EeuU8sP9A8SBDA" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BZtRgA--EeuU8sP9A8SBDA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BZtRgQ--EeuU8sP9A8SBDA" key="fillColor" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_lovW4g-7EeuU8sP9A8SBDA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lovW4w-7EeuU8sP9A8SBDA" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lovW5A-7EeuU8sP9A8SBDA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lovW5Q-7EeuU8sP9A8SBDA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lovW5g-7EeuU8sP9A8SBDA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lovW5w-7EeuU8sP9A8SBDA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lovW6A-7EeuU8sP9A8SBDA" visible="false" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lovW6Q-7EeuU8sP9A8SBDA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lovW6g-7EeuU8sP9A8SBDA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lovW6w-7EeuU8sP9A8SBDA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lovW7A-7EeuU8sP9A8SBDA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="TaskBasedRiskAnalysis.profile.uml#_hMyRYA7pEeuTyOSxSW7NPg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lovW4Q-7EeuU8sP9A8SBDA" x="680" y="140" width="202" height="80"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_I-j7UA_EEeuU8sP9A8SBDA" type="Class_MetaclassShape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I-lwgA_EEeuU8sP9A8SBDA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I-lwgQ_EEeuU8sP9A8SBDA" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I-lwgg_EEeuU8sP9A8SBDA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I-lwgw_EEeuU8sP9A8SBDA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I-lwhA_EEeuU8sP9A8SBDA" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I-lwhQ_EEeuU8sP9A8SBDA" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q7R6QA_EEeuU8sP9A8SBDA" source="QualifiedName">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q7ShUA_EEeuU8sP9A8SBDA" key="QualifiedNameDepth" value="0"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_I-kiYA_EEeuU8sP9A8SBDA" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I-kiYQ_EEeuU8sP9A8SBDA" x="680" y="40" width="201"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ujscIBRPEeu0R6u-xFcX1w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ujscIRRPEeu0R6u-xFcX1w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ujscIxRPEeu0R6u-xFcX1w" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ddWPwg7TEeqBheg216iMuA" x="626" y="40"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ujscIhRPEeu0R6u-xFcX1w" x="626" y="40"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_ddfZsA7TEeqBheg216iMuA" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_ddfZsQ7TEeqBheg216iMuA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ddfZsw7TEeqBheg216iMuA" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_uj3bQBRPEeu0R6u-xFcX1w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_uj3bQRRPEeu0R6u-xFcX1w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_uj3bQxRPEeu0R6u-xFcX1w" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ddfZsg7TEeqBheg216iMuA" x="358" y="40"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uj3bQhRPEeu0R6u-xFcX1w" x="358" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ukEPkhRPEeu0R6u-xFcX1w" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ukEPkxRPEeu0R6u-xFcX1w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ukEPlRRPEeu0R6u-xFcX1w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ukEPlBRPEeu0R6u-xFcX1w" x="880" y="40"/>
     </children>
     <styles xmi:type="notation:StringValueStyle" xmi:id="_21qtAQzdEeqPdaXK7OaeGg" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_21qtAgzdEeqPdaXK7OaeGg"/>
@@ -532,25 +739,49 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ns3HMAzeEeqPdaXK7OaeGg" id="(0.5024630541871922,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ns3HMQzeEeqPdaXK7OaeGg" id="(0.49261083743842365,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ddW20Q7TEeqBheg216iMuA" type="StereotypeCommentLink" source="_9-SVgAzdEeqPdaXK7OaeGg" target="_ddWPwA7TEeqBheg216iMuA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ddW20g7TEeqBheg216iMuA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ddXd4Q7TEeqBheg216iMuA" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_MYzNkA_EEeuU8sP9A8SBDA" type="Extension_Edge" source="_lovW4A-7EeuU8sP9A8SBDA" target="_I-j7UA_EEeuU8sP9A8SBDA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_MYzNkQ_EEeuU8sP9A8SBDA"/>
+      <element xmi:type="uml:Extension" href="TaskBasedRiskAnalysis.profile.uml#_MX1kQA_EEeuU8sP9A8SBDA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MYzNkg_EEeuU8sP9A8SBDA" points="[780, 140, -643984, -643984]$[780, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MZIkwA_EEeuU8sP9A8SBDA" id="(0.49504950495049505,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MZIkwQ_EEeuU8sP9A8SBDA" id="(0.4975124378109453,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ujscJBRPEeu0R6u-xFcX1w" type="StereotypeCommentLink" source="_9-SVgAzdEeqPdaXK7OaeGg" target="_ujscIBRPEeu0R6u-xFcX1w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ujscJRRPEeu0R6u-xFcX1w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ujtDMhRPEeu0R6u-xFcX1w" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ddW20w7TEeqBheg216iMuA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ddW21A7TEeqBheg216iMuA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ddXd4A7TEeqBheg216iMuA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ujscJhRPEeu0R6u-xFcX1w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ujtDMBRPEeu0R6u-xFcX1w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ujtDMRRPEeu0R6u-xFcX1w"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ddfZtA7TEeqBheg216iMuA" type="StereotypeCommentLink" source="_K19ykAzeEeqPdaXK7OaeGg" target="_ddfZsA7TEeqBheg216iMuA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_ddfZtQ7TEeqBheg216iMuA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ddfZuQ7TEeqBheg216iMuA" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_uj3bRBRPEeu0R6u-xFcX1w" type="StereotypeCommentLink" source="_K19ykAzeEeqPdaXK7OaeGg" target="_uj3bQBRPEeu0R6u-xFcX1w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_uj3bRRRPEeu0R6u-xFcX1w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_uj4CUhRPEeu0R6u-xFcX1w" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ddfZtg7TEeqBheg216iMuA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ddfZtw7TEeqBheg216iMuA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ddfZuA7TEeqBheg216iMuA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uj3bRhRPEeu0R6u-xFcX1w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uj4CUBRPEeu0R6u-xFcX1w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uj4CURRPEeu0R6u-xFcX1w"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ukEPlhRPEeu0R6u-xFcX1w" type="StereotypeCommentLink" source="_I-j7UA_EEeuU8sP9A8SBDA" target="_ukEPkhRPEeu0R6u-xFcX1w">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ukEPlxRPEeu0R6u-xFcX1w"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ukE2ohRPEeu0R6u-xFcX1w" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ukEPmBRPEeu0R6u-xFcX1w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ukE2oBRPEeu0R6u-xFcX1w"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ukE2oRRPEeu0R6u-xFcX1w"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wJswoBRPEeu0R6u-xFcX1w" type="Extension_Edge" source="_lovW4A-7EeuU8sP9A8SBDA" target="_9-SVgAzdEeqPdaXK7OaeGg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_wJswoRRPEeu0R6u-xFcX1w"/>
+      <element xmi:type="uml:Extension" href="TaskBasedRiskAnalysis.profile.uml#_wJJ-EBRPEeu0R6u-xFcX1w"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wJswohRPEeu0R6u-xFcX1w" points="[720, 140, -643984, -643984]$[720, 120, -643984, -643984]$[600, 120, -643984, -643984]$[600, 92, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wKA5sBRPEeu0R6u-xFcX1w" id="(0.19801980198019803,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wKA5sRRPEeu0R6u-xFcX1w" id="(0.8571428571428571,1.0)"/>
     </edges>
   </notation:Diagram>
 </xmi:XMI>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.uml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.uml
index 2a15e68..b1f9b21 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.uml
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.uml
@@ -1,12 +1,15 @@
 <?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="_VoagkD9eEemSWsc0fABanw" name="TaskBasedRiskAnalysis" metaclassReference="_bOLZsEUFEemrze-5W9aHHQ _K18kcAzeEeqPdaXK7OaeGg">
+  <uml:Profile xmi:id="_VoagkD9eEemSWsc0fABanw" name="TaskBasedRiskAnalysis" metaclassReference="_bOLZsEUFEemrze-5W9aHHQ _K18kcAzeEeqPdaXK7OaeGg _I-iGIA_EEeuU8sP9A8SBDA">
     <elementImport xmi:type="uml:ElementImport" xmi:id="_bOLZsEUFEemrze-5W9aHHQ" alias="Property">
       <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
     </elementImport>
     <elementImport xmi:type="uml:ElementImport" xmi:id="_K18kcAzeEeqPdaXK7OaeGg" alias="Interface">
       <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
     </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_I-iGIA_EEeuU8sP9A8SBDA" alias="Class">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </elementImport>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_VughgD9eEemSWsc0fABanw">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
@@ -50,21 +53,43 @@
       <ownedAttribute xmi:type="uml:Property" xmi:id="_uVbNoETUEemur4Ohd3RSdg" name="Initial_Frequency" type="_xGXJIEy0Eem4rIik91-giQ"/>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_xqxY0ETUEemur4Ohd3RSdg" name="Initial_Severity" type="_xGXJIEy0Eem4rIik91-giQ"/>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_2toOsETUEemur4Ohd3RSdg" name="Initial_Criticality" type="_88xy8EyzEem4rIik91-giQ" isReadOnly="true" isDerived="true"/>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_AEjh0ETVEemur4Ohd3RSdg" name="Initial_RiskReduction">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-      </ownedAttribute>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_yPvs4EV-Eemrze-5W9aHHQ" name="Final_Occurence" type="_6TPvcEy0Eem4rIik91-giQ"/>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_UxwwskTVEemur4Ohd3RSdg" name="Final_Avoidance" type="_xGXJIEy0Eem4rIik91-giQ"/>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_UxwwtETVEemur4Ohd3RSdg" name="Final_Frequency" type="_xGXJIEy0Eem4rIik91-giQ"/>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_UxwwsUTVEemur4Ohd3RSdg" name="Final_Severity" type="_xGXJIEy0Eem4rIik91-giQ"/>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_UxwwsETVEemur4Ohd3RSdg" name="Final_Criticality" type="_88xy8EyzEem4rIik91-giQ" isReadOnly="true" isDerived="true"/>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_Uxwws0TVEemur4Ohd3RSdg" name="Final_RiskReduction">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-      </ownedAttribute>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_ccu3gEUFEemrze-5W9aHHQ" name="base_Property" association="_ccb8kEUFEemrze-5W9aHHQ">
         <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ccu3gUUFEemrze-5W9aHHQ"/>
       </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_TDj3cA7qEeuTyOSxSW7NPg" name="Hazard" type="_hNBh8A7pEeuTyOSxSW7NPg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rbz0sA7qEeuTyOSxSW7NPg" name="Initial_RiskLevel" type="_Yg-owA7yEeu0e5ao4oEuuQ" isDerived="true"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rb-z0A7qEeuTyOSxSW7NPg" name="Final_RiskLevel" type="_Yg-owA7yEeu0e5ao4oEuuQ" isDerived="true"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uToWYA7qEeuTyOSxSW7NPg" name="ContactAera" type="_hNAT0A7pEeuTyOSxSW7NPg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2EKTcA7qEeuTyOSxSW7NPg" name="Initial_DesignRiskReduction" type="_hMyRYA7pEeuTyOSxSW7NPg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X7IHEBQ_Eeu0R6u-xFcX1w"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_X7TGMBQ_Eeu0R6u-xFcX1w" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="__CWWcg7qEeuTyOSxSW7NPg" name="Final_DesignRiskReduction" type="_hMyRYA7pEeuTyOSxSW7NPg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZXpvcBQ_Eeu0R6u-xFcX1w"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZX18sBQ_Eeu0R6u-xFcX1w" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_bCb2QBQ_Eeu0R6u-xFcX1w" name="Initial_TechnicalRiskReduction" type="_hMyRYA7pEeuTyOSxSW7NPg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCb2QRQ_Eeu0R6u-xFcX1w"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCb2QhQ_Eeu0R6u-xFcX1w" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_bCmOUBQ_Eeu0R6u-xFcX1w" name="Final_TechnicalRiskReduction" type="_hMyRYA7pEeuTyOSxSW7NPg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCmOURQ_Eeu0R6u-xFcX1w"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCmOUhQ_Eeu0R6u-xFcX1w" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_gmYnABQ_Eeu0R6u-xFcX1w" name="Initial_OrganizationalRiskReduction" type="_hMyRYA7pEeuTyOSxSW7NPg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gmYnARQ_Eeu0R6u-xFcX1w"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gmYnAhQ_Eeu0R6u-xFcX1w" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_gmhJ4BQ_Eeu0R6u-xFcX1w" name="Final_OrganizationalRiskReduction" type="_hMyRYA7pEeuTyOSxSW7NPg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gmhJ4RQ_Eeu0R6u-xFcX1w"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gmhJ4hQ_Eeu0R6u-xFcX1w" value="*"/>
+      </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Extension" xmi:id="_7OomoETSEemur4Ohd3RSdg" name="E_RiskAnalysis_Operation9" memberEnd="_7OxwkETSEemur4Ohd3RSdg _7OxwkUTSEemur4Ohd3RSdg">
       <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_7OxwkETSEemur4Ohd3RSdg" name="extension_RiskAnalysis" type="_Mm4dUEAcEemSWsc0fABanw" aggregation="composite" association="_7OomoETSEemur4Ohd3RSdg"/>
@@ -122,6 +147,65 @@
       </eAnnotations>
       <ownedEnd xmi:type="uml:Property" xmi:id="_iOk7Yw7ZEeqBheg216iMuA" name="hazardanalysiscontext" type="_D5xucAzcEeqoEL9x5-sRWQ" association="_iOk7YA7ZEeqBheg216iMuA"/>
     </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_hMyRYA7pEeuTyOSxSW7NPg" name="RiskReduction">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_hMyRYQ7pEeuTyOSxSW7NPg">
+        <body>RiskReduction defines the possible safety measures to implement to avoid an unacceptable level of risk. The saty measures may be design based, technical or organizational as referenced in standards.</body>
+      </ownedComment>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_hMyRYg7pEeuTyOSxSW7NPg" name="Description">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_hMyRYw7pEeuTyOSxSW7NPg">
+          <body>inherently safe design measure</body>
+        </ownedComment>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MX2yYA_EEeuU8sP9A8SBDA" name="base_Class" association="_MX1kQA_EEeuU8sP9A8SBDA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MX2yYQ_EEeuU8sP9A8SBDA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wJNocRRPEeu0R6u-xFcX1w" name="base_Property" association="_wJJ-EBRPEeu0R6u-xFcX1w">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wJNochRPEeu0R6u-xFcX1w"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_hNAT0A7pEeuTyOSxSW7NPg" name="BodyRegion">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT0Q7pEeuTyOSxSW7NPg" name="Skull_Forehead"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT0g7pEeuTyOSxSW7NPg" name="Face"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT0w7pEeuTyOSxSW7NPg" name="Neck"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT1A7pEeuTyOSxSW7NPg" name="BacK_Shoulders"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT1Q7pEeuTyOSxSW7NPg" name="Chest"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT1g7pEeuTyOSxSW7NPg" name="Abdomen"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT1w7pEeuTyOSxSW7NPg" name="Pelvis"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT2A7pEeuTyOSxSW7NPg" name="UpperArms_ElbowJoints"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT2Q7pEeuTyOSxSW7NPg" name="LowerArms_WristJoints"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT2g7pEeuTyOSxSW7NPg" name="Hands_Fingers"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT2w7pEeuTyOSxSW7NPg" name="Thighs_Knees"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNAT3A7pEeuTyOSxSW7NPg" name="LowerLegs"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_hNBh8A7pEeuTyOSxSW7NPg" name="HazardType">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh8Q7pEeuTyOSxSW7NPg" name="Mechanical"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh8g7pEeuTyOSxSW7NPg" name="Electrical"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh8w7pEeuTyOSxSW7NPg" name="Noise"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh9A7pEeuTyOSxSW7NPg" name="Vibration"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh9Q7pEeuTyOSxSW7NPg" name="Radiation"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh9g7pEeuTyOSxSW7NPg" name="Material/Substance"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh9w7pEeuTyOSxSW7NPg" name="Ergonomic"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh-A7pEeuTyOSxSW7NPg" name="Environment/Workspace"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh-Q7pEeuTyOSxSW7NPg" name="Combination"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_hNBh-g7pEeuTyOSxSW7NPg" name="Other"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_Yg-owA7yEeu0e5ao4oEuuQ" name="RiskLevel">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_aOJ8QA7yEeu0e5ao4oEuuQ" name="NegligibleRisk"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_bDIccA7yEeu0e5ao4oEuuQ" name="VeryLowRisk"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_bfiEkA7yEeu0e5ao4oEuuQ" name="LowRisk"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_b8yoUA7yEeu0e5ao4oEuuQ" name="SignificantRisk"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ciKmQA7yEeu0e5ao4oEuuQ" name="HighRisk"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ogCtgA7yEeu0e5ao4oEuuQ" name="VeryHighRisk"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_MX1kQA_EEeuU8sP9A8SBDA" name="E_RiskReduction_Class1" memberEnd="_MX2LUA_EEeuU8sP9A8SBDA _MX2yYA_EEeuU8sP9A8SBDA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_MX2LUA_EEeuU8sP9A8SBDA" name="extension_RiskReduction" type="_hMyRYA7pEeuTyOSxSW7NPg" aggregation="composite" association="_MX1kQA_EEeuU8sP9A8SBDA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_wJJ-EBRPEeu0R6u-xFcX1w" name="E_RiskReduction_Property24" memberEnd="_wJNocBRPEeu0R6u-xFcX1w _wJNocRRPEeu0R6u-xFcX1w">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_wJNocBRPEeu0R6u-xFcX1w" name="extension_RiskReduction" type="_hMyRYA7pEeuTyOSxSW7NPg" aggregation="composite" association="_wJJ-EBRPEeu0R6u-xFcX1w"/>
+    </packagedElement>
     <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_l99ksETaEemur4Ohd3RSdg">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l99ksUTaEemur4Ohd3RSdg" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/riskanalysis.ecore b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/riskanalysis.ecore
index 787c9ab..20f10cf 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/riskanalysis.ecore
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/riskanalysis.ecore
@@ -7,7 +7,7 @@
   </eAnnotations>
   <eClassifiers xsi:type="ecore:EClass" name="HazardAnalysis" eSuperTypes="../../org.eclipse.papyrus.robotics.bpc.profile/model/bpc.ecore#//Property">
     <eStructuralFeatures xsi:type="ecore:EReference" name="Skill" ordered="false"
-        lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.robotics.profile/model/robmosys.ecore#//skills/SkillDefinition"/>
+        lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.robotics.profile/model/robotics.ecore#//skills/SkillDefinition"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="Origin" ordered="false"
         lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="HazardousSituation" ordered="false"
@@ -31,8 +31,6 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="Initial_Criticality" ordered="false"
         lowerBound="1" eType="#//RiskIndex" changeable="false" volatile="true" transient="true"
         derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Initial_RiskReduction"
-        ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_Occurence" ordered="false"
         lowerBound="1" eType="#//OccurenceEstimation"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_Avoidance" ordered="false"
@@ -44,10 +42,28 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_Criticality" ordered="false"
         lowerBound="1" eType="#//RiskIndex" changeable="false" volatile="true" transient="true"
         derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_RiskReduction" ordered="false"
-        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
         eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Hazard" ordered="false"
+        lowerBound="1" eType="#//HazardType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Initial_RiskLevel" ordered="false"
+        lowerBound="1" eType="#//RiskLevel" volatile="true" transient="true" derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_RiskLevel" ordered="false"
+        lowerBound="1" eType="#//RiskLevel" volatile="true" transient="true" derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ContactAera" ordered="false"
+        lowerBound="1" eType="#//BodyRegion"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="Initial_DesignRiskReduction"
+        ordered="false" upperBound="-1" eType="#//RiskReduction"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="Final_DesignRiskReduction"
+        ordered="false" upperBound="-1" eType="#//RiskReduction"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="Initial_TechnicalRiskReduction"
+        ordered="false" upperBound="-1" eType="#//RiskReduction"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="Final_TechnicalRiskReduction"
+        ordered="false" upperBound="-1" eType="#//RiskReduction"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="Initial_OrganizationalRiskReduction"
+        ordered="false" upperBound="-1" eType="#//RiskReduction"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="Final_OrganizationalRiskReduction"
+        ordered="false" upperBound="-1" eType="#//RiskReduction"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="OccurenceEstimation">
     <eLiterals name="_1">
@@ -110,11 +126,61 @@
       </eAnnotations>
     </eLiterals>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="HazardType">
+    <eLiterals name="Mechanical"/>
+    <eLiterals name="Electrical" value="1"/>
+    <eLiterals name="Noise" value="2"/>
+    <eLiterals name="Vibration" value="3"/>
+    <eLiterals name="Radiation" value="4"/>
+    <eLiterals name="MaterialSubstance" value="5">
+      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <details key="originalName" value="Material/Substance"/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="Ergonomic" value="6"/>
+    <eLiterals name="EnvironmentWorkspace" value="7">
+      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <details key="originalName" value="Environment/Workspace"/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="Combination" value="8"/>
+    <eLiterals name="Other" value="9"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="RiskLevel">
+    <eLiterals name="NegligibleRisk"/>
+    <eLiterals name="VeryLowRisk" value="1"/>
+    <eLiterals name="LowRisk" value="2"/>
+    <eLiterals name="SignificantRisk" value="3"/>
+    <eLiterals name="HighRisk" value="4"/>
+    <eLiterals name="VeryHighRisk" value="5"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="BodyRegion">
+    <eLiterals name="Skull_Forehead"/>
+    <eLiterals name="Face" value="1"/>
+    <eLiterals name="Neck" value="2"/>
+    <eLiterals name="BacK_Shoulders" value="3"/>
+    <eLiterals name="Chest" value="4"/>
+    <eLiterals name="Abdomen" value="5"/>
+    <eLiterals name="Pelvis" value="6"/>
+    <eLiterals name="UpperArms_ElbowJoints" value="7"/>
+    <eLiterals name="LowerArms_WristJoints" value="8"/>
+    <eLiterals name="Hands_Fingers" value="9"/>
+    <eLiterals name="Thighs_Knees" value="10"/>
+    <eLiterals name="LowerLegs" value="11"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="RiskReduction">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Description" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="HazardAnalysisContext" eSuperTypes="../../org.eclipse.papyrus.robotics.bpc.profile/model/bpc.ecore#//Entity">
     <eStructuralFeatures xsi:type="ecore:EReference" name="hazardanalysis" ordered="false"
         upperBound="-1" eType="#//HazardAnalysis" volatile="true" transient="true"
         derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="task" ordered="false" eType="ecore:EClass ../../org.eclipse.papyrus.robotics.profile/model/robmosys.ecore#//behavior/Task"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="task" ordered="false" eType="ecore:EClass ../../org.eclipse.papyrus.robotics.profile/model/robotics.ecore#//behavior/Task"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
         eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
   </eClassifiers>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/riskanalysis.profile.genmodel b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/riskanalysis.profile.genmodel
index 7a23721..78b4ed5 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/riskanalysis.profile.genmodel
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/model/riskanalysis.profile.genmodel
@@ -13,7 +13,7 @@
     importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
     editPluginID="org.eclipse.papyrus.robotics.safety.riskanalysis.profile.edit" editorPluginID="org.eclipse.papyrus.robotics.safety.riskanalysis.profile.editor"
     testsPluginID="org.eclipse.papyrus.robotics.safety.riskanalysis.profile.tests"
-    usedGenPackages="../../org.eclipse.papyrus.robotics.bpc.profile/model/bpc.profile.genmodel#//bpc ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.robotics.profile/model/robmosys.profile.genmodel#//robmosys ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+    usedGenPackages="../../org.eclipse.papyrus.robotics.bpc.profile/model/bpc.profile.genmodel#//bpc ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.robotics.profile/model/robotics.profile.genmodel#//robotics ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
     operationReflection="true" importOrganizing="true">
   <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
     <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
@@ -59,6 +59,40 @@
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//RiskIndex/_5"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//RiskIndex/_6"/>
     </genEnums>
+    <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="riskanalysis.ecore#//HazardType">
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/Mechanical"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/Electrical"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/Noise"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/Vibration"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/Radiation"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/MaterialSubstance"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/Ergonomic"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/EnvironmentWorkspace"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/Combination"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//HazardType/Other"/>
+    </genEnums>
+    <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="riskanalysis.ecore#//RiskLevel">
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//RiskLevel/NegligibleRisk"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//RiskLevel/VeryLowRisk"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//RiskLevel/LowRisk"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//RiskLevel/SignificantRisk"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//RiskLevel/HighRisk"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//RiskLevel/VeryHighRisk"/>
+    </genEnums>
+    <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="riskanalysis.ecore#//BodyRegion">
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/Skull_Forehead"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/Face"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/Neck"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/BacK_Shoulders"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/Chest"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/Abdomen"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/Pelvis"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/UpperArms_ElbowJoints"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/LowerArms_WristJoints"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/Hands_Fingers"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/Thighs_Knees"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="riskanalysis.ecore#//BodyRegion/LowerLegs"/>
+    </genEnums>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="riskanalysis.ecore#//HazardAnalysis">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/Skill"/>
@@ -75,16 +109,37 @@
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Initial_Severity"/>
       <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
           ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Initial_Criticality"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Initial_RiskReduction"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Final_Occurence"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Final_Avoidance"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Final_Frequency"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Final_Severity"/>
       <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
           ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Final_Criticality"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Final_RiskReduction"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/base_Property"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Hazard"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Initial_RiskLevel"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Final_RiskLevel"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/ContactAera"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/Initial_DesignRiskReduction"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/Final_DesignRiskReduction"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/Initial_TechnicalRiskReduction"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/Final_TechnicalRiskReduction"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/Initial_OrganizationalRiskReduction"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/Final_OrganizationalRiskReduction"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="riskanalysis.ecore#//RiskReduction">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//RiskReduction/Description"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//RiskReduction/base_Class"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//RiskReduction/base_Property"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="riskanalysis.ecore#//HazardAnalysisContext">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/plugin.properties b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/plugin.properties
index 30392dc..5516f8e 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/plugin.properties
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/plugin.properties
@@ -1,13 +1,4 @@
-#################################################################################
-# Copyright (c) 2020 CEA LIST.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
 #
-# SPDX-License-Identifier: EPL-2.0
-#
-##################################################################################
 
-providerName = Eclipse Modeling Project
-pluginName = Papyrus Robotics profile for Task-Based Risk Analysis (Incubation)
+pluginName = Papyrus Robotics profile for Task-Based Risk Analysis
+providerName = CEA LIST
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/pom.xml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/pom.xml
index 9491b31..36619f5 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/pom.xml
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
-    <groupId>org.eclipse.papyrus.robotics</groupId>
-    <version>0.8.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.profile</artifactId>
-  <packaging>eclipse-plugin</packaging>
-  <description>This module contains the profile description for Task-Based Risk Analysis in Papyrus Robotics.</description>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
+		<groupId>org.eclipse.papyrus.robotics</groupId>
+		<version>0.8.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.profile</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the profile description for Task-Based Risk Analysis in Papyrus Robotics.</description>
 </project>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/BodyRegion.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/BodyRegion.java
new file mode 100644
index 0000000..06e3386
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/BodyRegion.java
@@ -0,0 +1,448 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ */
+package org.eclipse.papyrus.robotics.safety.riskanalysis;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Body Region</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getBodyRegion()
+ * @model
+ * @generated
+ */
+public enum BodyRegion implements Enumerator {
+	/**
+	 * The '<em><b>Skull Forehead</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SKULL_FOREHEAD_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	SKULL_FOREHEAD(0, "Skull_Forehead", "Skull_Forehead"),
+
+	/**
+	 * The '<em><b>Face</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #FACE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	FACE(1, "Face", "Face"),
+
+	/**
+	 * The '<em><b>Neck</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NECK_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NECK(2, "Neck", "Neck"),
+
+	/**
+	 * The '<em><b>Bac KShoulders</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #BAC_KSHOULDERS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	BAC_KSHOULDERS(3, "BacK_Shoulders", "BacK_Shoulders"),
+
+	/**
+	 * The '<em><b>Chest</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #CHEST_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	CHEST(4, "Chest", "Chest"),
+
+	/**
+	 * The '<em><b>Abdomen</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ABDOMEN_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ABDOMEN(5, "Abdomen", "Abdomen"),
+
+	/**
+	 * The '<em><b>Pelvis</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PELVIS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PELVIS(6, "Pelvis", "Pelvis"),
+
+	/**
+	 * The '<em><b>Upper Arms Elbow Joints</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UPPER_ARMS_ELBOW_JOINTS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UPPER_ARMS_ELBOW_JOINTS(7, "UpperArms_ElbowJoints", "UpperArms_ElbowJoints"),
+
+	/**
+	 * The '<em><b>Lower Arms Wrist Joints</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LOWER_ARMS_WRIST_JOINTS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	LOWER_ARMS_WRIST_JOINTS(8, "LowerArms_WristJoints", "LowerArms_WristJoints"),
+
+	/**
+	 * The '<em><b>Hands Fingers</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #HANDS_FINGERS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	HANDS_FINGERS(9, "Hands_Fingers", "Hands_Fingers"),
+
+	/**
+	 * The '<em><b>Thighs Knees</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #THIGHS_KNEES_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	THIGHS_KNEES(10, "Thighs_Knees", "Thighs_Knees"),
+
+	/**
+	 * The '<em><b>Lower Legs</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LOWER_LEGS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	LOWER_LEGS(11, "LowerLegs", "LowerLegs");
+
+	/**
+	 * The '<em><b>Skull Forehead</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SKULL_FOREHEAD
+	 * @model name="Skull_Forehead"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int SKULL_FOREHEAD_VALUE = 0;
+
+	/**
+	 * The '<em><b>Face</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #FACE
+	 * @model name="Face"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int FACE_VALUE = 1;
+
+	/**
+	 * The '<em><b>Neck</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NECK
+	 * @model name="Neck"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NECK_VALUE = 2;
+
+	/**
+	 * The '<em><b>Bac KShoulders</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #BAC_KSHOULDERS
+	 * @model name="BacK_Shoulders"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int BAC_KSHOULDERS_VALUE = 3;
+
+	/**
+	 * The '<em><b>Chest</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #CHEST
+	 * @model name="Chest"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int CHEST_VALUE = 4;
+
+	/**
+	 * The '<em><b>Abdomen</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ABDOMEN
+	 * @model name="Abdomen"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ABDOMEN_VALUE = 5;
+
+	/**
+	 * The '<em><b>Pelvis</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PELVIS
+	 * @model name="Pelvis"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PELVIS_VALUE = 6;
+
+	/**
+	 * The '<em><b>Upper Arms Elbow Joints</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UPPER_ARMS_ELBOW_JOINTS
+	 * @model name="UpperArms_ElbowJoints"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UPPER_ARMS_ELBOW_JOINTS_VALUE = 7;
+
+	/**
+	 * The '<em><b>Lower Arms Wrist Joints</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LOWER_ARMS_WRIST_JOINTS
+	 * @model name="LowerArms_WristJoints"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int LOWER_ARMS_WRIST_JOINTS_VALUE = 8;
+
+	/**
+	 * The '<em><b>Hands Fingers</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #HANDS_FINGERS
+	 * @model name="Hands_Fingers"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int HANDS_FINGERS_VALUE = 9;
+
+	/**
+	 * The '<em><b>Thighs Knees</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #THIGHS_KNEES
+	 * @model name="Thighs_Knees"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int THIGHS_KNEES_VALUE = 10;
+
+	/**
+	 * The '<em><b>Lower Legs</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LOWER_LEGS
+	 * @model name="LowerLegs"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int LOWER_LEGS_VALUE = 11;
+
+	/**
+	 * An array of all the '<em><b>Body Region</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final BodyRegion[] VALUES_ARRAY =
+		new BodyRegion[] {
+			SKULL_FOREHEAD,
+			FACE,
+			NECK,
+			BAC_KSHOULDERS,
+			CHEST,
+			ABDOMEN,
+			PELVIS,
+			UPPER_ARMS_ELBOW_JOINTS,
+			LOWER_ARMS_WRIST_JOINTS,
+			HANDS_FINGERS,
+			THIGHS_KNEES,
+			LOWER_LEGS,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Body Region</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<BodyRegion> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Body Region</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static BodyRegion get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			BodyRegion result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Body Region</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static BodyRegion getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			BodyRegion result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Body Region</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static BodyRegion get(int value) {
+		switch (value) {
+			case SKULL_FOREHEAD_VALUE: return SKULL_FOREHEAD;
+			case FACE_VALUE: return FACE;
+			case NECK_VALUE: return NECK;
+			case BAC_KSHOULDERS_VALUE: return BAC_KSHOULDERS;
+			case CHEST_VALUE: return CHEST;
+			case ABDOMEN_VALUE: return ABDOMEN;
+			case PELVIS_VALUE: return PELVIS;
+			case UPPER_ARMS_ELBOW_JOINTS_VALUE: return UPPER_ARMS_ELBOW_JOINTS;
+			case LOWER_ARMS_WRIST_JOINTS_VALUE: return LOWER_ARMS_WRIST_JOINTS;
+			case HANDS_FINGERS_VALUE: return HANDS_FINGERS;
+			case THIGHS_KNEES_VALUE: return THIGHS_KNEES;
+			case LOWER_LEGS_VALUE: return LOWER_LEGS;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private BodyRegion(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //BodyRegion
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/HazardAnalysis.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/HazardAnalysis.java
index ead6919..a6d9839 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/HazardAnalysis.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/HazardAnalysis.java
@@ -11,6 +11,7 @@
  */
 package org.eclipse.papyrus.robotics.safety.riskanalysis;
 
+import org.eclipse.emf.common.util.EList;
 import org.eclipse.papyrus.robotics.profile.robotics.skills.SkillDefinition;
 import org.eclipse.uml2.uml.Operation;
 import org.eclipse.uml2.uml.Property;
@@ -36,14 +37,22 @@
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_Frequency <em>Initial Frequency</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_Severity <em>Initial Severity</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_Criticality <em>Initial Criticality</em>}</li>
- *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_RiskReduction <em>Initial Risk Reduction</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_Occurence <em>Final Occurence</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_Avoidance <em>Final Avoidance</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_Frequency <em>Final Frequency</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_Severity <em>Final Severity</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_Criticality <em>Final Criticality</em>}</li>
- *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_RiskReduction <em>Final Risk Reduction</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getHazard <em>Hazard</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_RiskLevel <em>Initial Risk Level</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_RiskLevel <em>Final Risk Level</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getContactAera <em>Contact Aera</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_DesignRiskReduction <em>Initial Design Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_DesignRiskReduction <em>Final Design Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_TechnicalRiskReduction <em>Initial Technical Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_TechnicalRiskReduction <em>Final Technical Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_OrganizationalRiskReduction <em>Initial Organizational Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_OrganizationalRiskReduction <em>Final Organizational Risk Reduction</em>}</li>
  * </ul>
  *
  * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis()
@@ -367,32 +376,6 @@
 	RiskIndex getInitial_Criticality();
 
 	/**
-	 * Returns the value of the '<em><b>Initial Risk Reduction</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Initial Risk Reduction</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Initial Risk Reduction</em>' attribute.
-	 * @see #setInitial_RiskReduction(String)
-	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_RiskReduction()
-	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getInitial_RiskReduction();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_RiskReduction <em>Initial Risk Reduction</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Initial Risk Reduction</em>' attribute.
-	 * @see #getInitial_RiskReduction()
-	 * @generated
-	 */
-	void setInitial_RiskReduction(String value);
-
-	/**
 	 * Returns the value of the '<em><b>Final Occurence</b></em>' attribute.
 	 * The literals are from the enumeration {@link org.eclipse.papyrus.robotics.safety.riskanalysis.OccurenceEstimation}.
 	 * <!-- begin-user-doc -->
@@ -526,32 +509,6 @@
 	RiskIndex getFinal_Criticality();
 
 	/**
-	 * Returns the value of the '<em><b>Final Risk Reduction</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Final Risk Reduction</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Final Risk Reduction</em>' attribute.
-	 * @see #setFinal_RiskReduction(String)
-	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_RiskReduction()
-	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getFinal_RiskReduction();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_RiskReduction <em>Final Risk Reduction</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Final Risk Reduction</em>' attribute.
-	 * @see #getFinal_RiskReduction()
-	 * @generated
-	 */
-	void setFinal_RiskReduction(String value);
-
-	/**
 	 * Returns the value of the '<em><b>Base Property</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -577,4 +534,216 @@
 	 */
 	void setBase_Property(Property value);
 
+	/**
+	 * Returns the value of the '<em><b>Hazard</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Hazard</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Hazard</em>' attribute.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType
+	 * @see #setHazard(HazardType)
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Hazard()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	HazardType getHazard();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getHazard <em>Hazard</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Hazard</em>' attribute.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType
+	 * @see #getHazard()
+	 * @generated
+	 */
+	void setHazard(HazardType value);
+
+	/**
+	 * Returns the value of the '<em><b>Initial Risk Level</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Risk Level</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Initial Risk Level</em>' attribute.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel
+	 * @see #setInitial_RiskLevel(RiskLevel)
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_RiskLevel()
+	 * @model required="true" transient="true" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	RiskLevel getInitial_RiskLevel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_RiskLevel <em>Initial Risk Level</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Initial Risk Level</em>' attribute.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel
+	 * @see #getInitial_RiskLevel()
+	 * @generated
+	 */
+	void setInitial_RiskLevel(RiskLevel value);
+
+	/**
+	 * Returns the value of the '<em><b>Final Risk Level</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Risk Level</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Final Risk Level</em>' attribute.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel
+	 * @see #setFinal_RiskLevel(RiskLevel)
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_RiskLevel()
+	 * @model required="true" transient="true" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	RiskLevel getFinal_RiskLevel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_RiskLevel <em>Final Risk Level</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Final Risk Level</em>' attribute.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel
+	 * @see #getFinal_RiskLevel()
+	 * @generated
+	 */
+	void setFinal_RiskLevel(RiskLevel value);
+
+	/**
+	 * Returns the value of the '<em><b>Contact Aera</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Contact Aera</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Contact Aera</em>' attribute.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion
+	 * @see #setContactAera(BodyRegion)
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_ContactAera()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	BodyRegion getContactAera();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getContactAera <em>Contact Aera</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Contact Aera</em>' attribute.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion
+	 * @see #getContactAera()
+	 * @generated
+	 */
+	void setContactAera(BodyRegion value);
+
+	/**
+	 * Returns the value of the '<em><b>Initial Design Risk Reduction</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Design Risk Reduction</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Initial Design Risk Reduction</em>' reference list.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_DesignRiskReduction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<RiskReduction> getInitial_DesignRiskReduction();
+
+	/**
+	 * Returns the value of the '<em><b>Final Design Risk Reduction</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Design Risk Reduction</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Final Design Risk Reduction</em>' reference list.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_DesignRiskReduction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<RiskReduction> getFinal_DesignRiskReduction();
+
+	/**
+	 * Returns the value of the '<em><b>Initial Technical Risk Reduction</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Technical Risk Reduction</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Initial Technical Risk Reduction</em>' reference list.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_TechnicalRiskReduction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<RiskReduction> getInitial_TechnicalRiskReduction();
+
+	/**
+	 * Returns the value of the '<em><b>Final Technical Risk Reduction</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Technical Risk Reduction</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Final Technical Risk Reduction</em>' reference list.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_TechnicalRiskReduction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<RiskReduction> getFinal_TechnicalRiskReduction();
+
+	/**
+	 * Returns the value of the '<em><b>Initial Organizational Risk Reduction</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Organizational Risk Reduction</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Initial Organizational Risk Reduction</em>' reference list.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_OrganizationalRiskReduction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<RiskReduction> getInitial_OrganizationalRiskReduction();
+
+	/**
+	 * Returns the value of the '<em><b>Final Organizational Risk Reduction</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Organizational Risk Reduction</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Final Organizational Risk Reduction</em>' reference list.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_OrganizationalRiskReduction()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<RiskReduction> getFinal_OrganizationalRiskReduction();
+
 } // HazardAnalysis
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/HazardType.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/HazardType.java
new file mode 100644
index 0000000..bc66fe7
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/HazardType.java
@@ -0,0 +1,404 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ */
+package org.eclipse.papyrus.robotics.safety.riskanalysis;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Hazard Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getHazardType()
+ * @model
+ * @generated
+ */
+public enum HazardType implements Enumerator {
+	/**
+	 * The '<em><b>Mechanical</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MECHANICAL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MECHANICAL(0, "Mechanical", "Mechanical"),
+
+	/**
+	 * The '<em><b>Electrical</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ELECTRICAL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ELECTRICAL(1, "Electrical", "Electrical"),
+
+	/**
+	 * The '<em><b>Noise</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NOISE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NOISE(2, "Noise", "Noise"),
+
+	/**
+	 * The '<em><b>Vibration</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VIBRATION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	VIBRATION(3, "Vibration", "Vibration"),
+
+	/**
+	 * The '<em><b>Radiation</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RADIATION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RADIATION(4, "Radiation", "Radiation"),
+
+	/**
+	 * The '<em><b>Material Substance</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MATERIAL_SUBSTANCE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MATERIAL_SUBSTANCE(5, "MaterialSubstance", "MaterialSubstance"),
+
+	/**
+	 * The '<em><b>Ergonomic</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ERGONOMIC_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ERGONOMIC(6, "Ergonomic", "Ergonomic"),
+
+	/**
+	 * The '<em><b>Environment Workspace</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ENVIRONMENT_WORKSPACE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ENVIRONMENT_WORKSPACE(7, "EnvironmentWorkspace", "EnvironmentWorkspace"),
+
+	/**
+	 * The '<em><b>Combination</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #COMBINATION_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	COMBINATION(8, "Combination", "Combination"),
+
+	/**
+	 * The '<em><b>Other</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #OTHER_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	OTHER(9, "Other", "Other");
+
+	/**
+	 * The '<em><b>Mechanical</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MECHANICAL
+	 * @model name="Mechanical"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MECHANICAL_VALUE = 0;
+
+	/**
+	 * The '<em><b>Electrical</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ELECTRICAL
+	 * @model name="Electrical"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ELECTRICAL_VALUE = 1;
+
+	/**
+	 * The '<em><b>Noise</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NOISE
+	 * @model name="Noise"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NOISE_VALUE = 2;
+
+	/**
+	 * The '<em><b>Vibration</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VIBRATION
+	 * @model name="Vibration"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int VIBRATION_VALUE = 3;
+
+	/**
+	 * The '<em><b>Radiation</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RADIATION
+	 * @model name="Radiation"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RADIATION_VALUE = 4;
+
+	/**
+	 * The '<em><b>Material Substance</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MATERIAL_SUBSTANCE
+	 * @model name="MaterialSubstance"
+	 *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Material/Substance'"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MATERIAL_SUBSTANCE_VALUE = 5;
+
+	/**
+	 * The '<em><b>Ergonomic</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ERGONOMIC
+	 * @model name="Ergonomic"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ERGONOMIC_VALUE = 6;
+
+	/**
+	 * The '<em><b>Environment Workspace</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ENVIRONMENT_WORKSPACE
+	 * @model name="EnvironmentWorkspace"
+	 *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Environment/Workspace'"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ENVIRONMENT_WORKSPACE_VALUE = 7;
+
+	/**
+	 * The '<em><b>Combination</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #COMBINATION
+	 * @model name="Combination"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int COMBINATION_VALUE = 8;
+
+	/**
+	 * The '<em><b>Other</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #OTHER
+	 * @model name="Other"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int OTHER_VALUE = 9;
+
+	/**
+	 * An array of all the '<em><b>Hazard Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final HazardType[] VALUES_ARRAY =
+		new HazardType[] {
+			MECHANICAL,
+			ELECTRICAL,
+			NOISE,
+			VIBRATION,
+			RADIATION,
+			MATERIAL_SUBSTANCE,
+			ERGONOMIC,
+			ENVIRONMENT_WORKSPACE,
+			COMBINATION,
+			OTHER,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Hazard Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<HazardType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Hazard Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static HazardType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			HazardType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Hazard Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static HazardType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			HazardType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Hazard Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static HazardType get(int value) {
+		switch (value) {
+			case MECHANICAL_VALUE: return MECHANICAL;
+			case ELECTRICAL_VALUE: return ELECTRICAL;
+			case NOISE_VALUE: return NOISE;
+			case VIBRATION_VALUE: return VIBRATION;
+			case RADIATION_VALUE: return RADIATION;
+			case MATERIAL_SUBSTANCE_VALUE: return MATERIAL_SUBSTANCE;
+			case ERGONOMIC_VALUE: return ERGONOMIC;
+			case ENVIRONMENT_WORKSPACE_VALUE: return ENVIRONMENT_WORKSPACE;
+			case COMBINATION_VALUE: return COMBINATION;
+			case OTHER_VALUE: return OTHER;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private HazardType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //HazardType
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskLevel.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskLevel.java
new file mode 100644
index 0000000..af63181
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskLevel.java
@@ -0,0 +1,310 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ */
+package org.eclipse.papyrus.robotics.safety.riskanalysis;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Risk Level</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getRiskLevel()
+ * @model
+ * @generated
+ */
+public enum RiskLevel implements Enumerator {
+	/**
+	 * The '<em><b>Negligible Risk</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NEGLIGIBLE_RISK_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NEGLIGIBLE_RISK(0, "NegligibleRisk", "NegligibleRisk"),
+
+	/**
+	 * The '<em><b>Very Low Risk</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VERY_LOW_RISK_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	VERY_LOW_RISK(1, "VeryLowRisk", "VeryLowRisk"),
+
+	/**
+	 * The '<em><b>Low Risk</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LOW_RISK_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	LOW_RISK(2, "LowRisk", "LowRisk"),
+
+	/**
+	 * The '<em><b>Significant Risk</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SIGNIFICANT_RISK_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	SIGNIFICANT_RISK(3, "SignificantRisk", "SignificantRisk"),
+
+	/**
+	 * The '<em><b>High Risk</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #HIGH_RISK_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	HIGH_RISK(4, "HighRisk", "HighRisk"),
+
+	/**
+	 * The '<em><b>Very High Risk</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VERY_HIGH_RISK_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	VERY_HIGH_RISK(5, "VeryHighRisk", "VeryHighRisk");
+
+	/**
+	 * The '<em><b>Negligible Risk</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NEGLIGIBLE_RISK
+	 * @model name="NegligibleRisk"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NEGLIGIBLE_RISK_VALUE = 0;
+
+	/**
+	 * The '<em><b>Very Low Risk</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VERY_LOW_RISK
+	 * @model name="VeryLowRisk"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int VERY_LOW_RISK_VALUE = 1;
+
+	/**
+	 * The '<em><b>Low Risk</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LOW_RISK
+	 * @model name="LowRisk"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int LOW_RISK_VALUE = 2;
+
+	/**
+	 * The '<em><b>Significant Risk</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SIGNIFICANT_RISK
+	 * @model name="SignificantRisk"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int SIGNIFICANT_RISK_VALUE = 3;
+
+	/**
+	 * The '<em><b>High Risk</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #HIGH_RISK
+	 * @model name="HighRisk"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int HIGH_RISK_VALUE = 4;
+
+	/**
+	 * The '<em><b>Very High Risk</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #VERY_HIGH_RISK
+	 * @model name="VeryHighRisk"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int VERY_HIGH_RISK_VALUE = 5;
+
+	/**
+	 * An array of all the '<em><b>Risk Level</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final RiskLevel[] VALUES_ARRAY =
+		new RiskLevel[] {
+			NEGLIGIBLE_RISK,
+			VERY_LOW_RISK,
+			LOW_RISK,
+			SIGNIFICANT_RISK,
+			HIGH_RISK,
+			VERY_HIGH_RISK,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Risk Level</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<RiskLevel> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Risk Level</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RiskLevel get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RiskLevel result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Risk Level</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RiskLevel getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RiskLevel result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Risk Level</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RiskLevel get(int value) {
+		switch (value) {
+			case NEGLIGIBLE_RISK_VALUE: return NEGLIGIBLE_RISK;
+			case VERY_LOW_RISK_VALUE: return VERY_LOW_RISK;
+			case LOW_RISK_VALUE: return LOW_RISK;
+			case SIGNIFICANT_RISK_VALUE: return SIGNIFICANT_RISK;
+			case HIGH_RISK_VALUE: return HIGH_RISK;
+			case VERY_HIGH_RISK_VALUE: return VERY_HIGH_RISK;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private RiskLevel(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //RiskLevel
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskReduction.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskReduction.java
new file mode 100644
index 0000000..fd5269a
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskReduction.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ */
+package org.eclipse.papyrus.robotics.safety.riskanalysis;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Risk Reduction</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getRiskReduction()
+ * @model
+ * @generated
+ */
+public interface RiskReduction extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Description</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Description</em>' attribute.
+	 * @see #setDescription(String)
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getRiskReduction_Description()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDescription();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getDescription <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Description</em>' attribute.
+	 * @see #getDescription()
+	 * @generated
+	 */
+	void setDescription(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getRiskReduction_Base_Class()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage#getRiskReduction_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+} // RiskReduction
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskanalysisFactory.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskanalysisFactory.java
index 2a2b0db..cc45999 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskanalysisFactory.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskanalysisFactory.java
@@ -40,6 +40,15 @@
 	HazardAnalysis createHazardAnalysis();
 
 	/**
+	 * Returns a new object of class '<em>Risk Reduction</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Risk Reduction</em>'.
+	 * @generated
+	 */
+	RiskReduction createRiskReduction();
+
+	/**
 	 * Returns a new object of class '<em>Hazard Analysis Context</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskanalysisPackage.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskanalysisPackage.java
index 0161be2..81d88f5 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskanalysisPackage.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/RiskanalysisPackage.java
@@ -250,22 +250,13 @@
 	int HAZARD_ANALYSIS__INITIAL_CRITICALITY = BPCPackage.PROPERTY_FEATURE_COUNT + 11;
 
 	/**
-	 * The feature id for the '<em><b>Initial Risk Reduction</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION = BPCPackage.PROPERTY_FEATURE_COUNT + 12;
-
-	/**
 	 * The feature id for the '<em><b>Final Occurence</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int HAZARD_ANALYSIS__FINAL_OCCURENCE = BPCPackage.PROPERTY_FEATURE_COUNT + 13;
+	int HAZARD_ANALYSIS__FINAL_OCCURENCE = BPCPackage.PROPERTY_FEATURE_COUNT + 12;
 
 	/**
 	 * The feature id for the '<em><b>Final Avoidance</b></em>' attribute.
@@ -274,7 +265,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HAZARD_ANALYSIS__FINAL_AVOIDANCE = BPCPackage.PROPERTY_FEATURE_COUNT + 14;
+	int HAZARD_ANALYSIS__FINAL_AVOIDANCE = BPCPackage.PROPERTY_FEATURE_COUNT + 13;
 
 	/**
 	 * The feature id for the '<em><b>Final Frequency</b></em>' attribute.
@@ -283,7 +274,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HAZARD_ANALYSIS__FINAL_FREQUENCY = BPCPackage.PROPERTY_FEATURE_COUNT + 15;
+	int HAZARD_ANALYSIS__FINAL_FREQUENCY = BPCPackage.PROPERTY_FEATURE_COUNT + 14;
 
 	/**
 	 * The feature id for the '<em><b>Final Severity</b></em>' attribute.
@@ -292,7 +283,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HAZARD_ANALYSIS__FINAL_SEVERITY = BPCPackage.PROPERTY_FEATURE_COUNT + 16;
+	int HAZARD_ANALYSIS__FINAL_SEVERITY = BPCPackage.PROPERTY_FEATURE_COUNT + 15;
 
 	/**
 	 * The feature id for the '<em><b>Final Criticality</b></em>' attribute.
@@ -301,16 +292,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HAZARD_ANALYSIS__FINAL_CRITICALITY = BPCPackage.PROPERTY_FEATURE_COUNT + 17;
-
-	/**
-	 * The feature id for the '<em><b>Final Risk Reduction</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HAZARD_ANALYSIS__FINAL_RISK_REDUCTION = BPCPackage.PROPERTY_FEATURE_COUNT + 18;
+	int HAZARD_ANALYSIS__FINAL_CRITICALITY = BPCPackage.PROPERTY_FEATURE_COUNT + 16;
 
 	/**
 	 * The feature id for the '<em><b>Base Property</b></em>' reference.
@@ -319,7 +301,97 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HAZARD_ANALYSIS__BASE_PROPERTY = BPCPackage.PROPERTY_FEATURE_COUNT + 19;
+	int HAZARD_ANALYSIS__BASE_PROPERTY = BPCPackage.PROPERTY_FEATURE_COUNT + 17;
+
+	/**
+	 * The feature id for the '<em><b>Hazard</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__HAZARD = BPCPackage.PROPERTY_FEATURE_COUNT + 18;
+
+	/**
+	 * The feature id for the '<em><b>Initial Risk Level</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_RISK_LEVEL = BPCPackage.PROPERTY_FEATURE_COUNT + 19;
+
+	/**
+	 * The feature id for the '<em><b>Final Risk Level</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__FINAL_RISK_LEVEL = BPCPackage.PROPERTY_FEATURE_COUNT + 20;
+
+	/**
+	 * The feature id for the '<em><b>Contact Aera</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__CONTACT_AERA = BPCPackage.PROPERTY_FEATURE_COUNT + 21;
+
+	/**
+	 * The feature id for the '<em><b>Initial Design Risk Reduction</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_DESIGN_RISK_REDUCTION = BPCPackage.PROPERTY_FEATURE_COUNT + 22;
+
+	/**
+	 * The feature id for the '<em><b>Final Design Risk Reduction</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__FINAL_DESIGN_RISK_REDUCTION = BPCPackage.PROPERTY_FEATURE_COUNT + 23;
+
+	/**
+	 * The feature id for the '<em><b>Initial Technical Risk Reduction</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_TECHNICAL_RISK_REDUCTION = BPCPackage.PROPERTY_FEATURE_COUNT + 24;
+
+	/**
+	 * The feature id for the '<em><b>Final Technical Risk Reduction</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__FINAL_TECHNICAL_RISK_REDUCTION = BPCPackage.PROPERTY_FEATURE_COUNT + 25;
+
+	/**
+	 * The feature id for the '<em><b>Initial Organizational Risk Reduction</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_ORGANIZATIONAL_RISK_REDUCTION = BPCPackage.PROPERTY_FEATURE_COUNT + 26;
+
+	/**
+	 * The feature id for the '<em><b>Final Organizational Risk Reduction</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__FINAL_ORGANIZATIONAL_RISK_REDUCTION = BPCPackage.PROPERTY_FEATURE_COUNT + 27;
 
 	/**
 	 * The number of structural features of the '<em>Hazard Analysis</em>' class.
@@ -328,7 +400,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int HAZARD_ANALYSIS_FEATURE_COUNT = BPCPackage.PROPERTY_FEATURE_COUNT + 20;
+	int HAZARD_ANALYSIS_FEATURE_COUNT = BPCPackage.PROPERTY_FEATURE_COUNT + 28;
 
 	/**
 	 * The number of operations of the '<em>Hazard Analysis</em>' class.
@@ -340,6 +412,61 @@
 	int HAZARD_ANALYSIS_OPERATION_COUNT = BPCPackage.PROPERTY_OPERATION_COUNT + 0;
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskReductionImpl <em>Risk Reduction</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskReductionImpl
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getRiskReduction()
+	 * @generated
+	 */
+	int RISK_REDUCTION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RISK_REDUCTION__DESCRIPTION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RISK_REDUCTION__BASE_CLASS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RISK_REDUCTION__BASE_PROPERTY = 2;
+
+	/**
+	 * The number of structural features of the '<em>Risk Reduction</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RISK_REDUCTION_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Risk Reduction</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RISK_REDUCTION_OPERATION_COUNT = 0;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisContextImpl <em>Hazard Analysis Context</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -347,7 +474,7 @@
 	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getHazardAnalysisContext()
 	 * @generated
 	 */
-	int HAZARD_ANALYSIS_CONTEXT = 1;
+	int HAZARD_ANALYSIS_CONTEXT = 2;
 
 	/**
 	 * The feature id for the '<em><b>Property</b></em>' reference list.
@@ -465,7 +592,7 @@
 	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getOccurenceEstimation()
 	 * @generated
 	 */
-	int OCCURENCE_ESTIMATION = 2;
+	int OCCURENCE_ESTIMATION = 3;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskEstimation <em>Risk Estimation</em>}' enum.
@@ -475,7 +602,7 @@
 	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getRiskEstimation()
 	 * @generated
 	 */
-	int RISK_ESTIMATION = 3;
+	int RISK_ESTIMATION = 4;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskIndex <em>Risk Index</em>}' enum.
@@ -485,7 +612,38 @@
 	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getRiskIndex()
 	 * @generated
 	 */
-	int RISK_INDEX = 4;
+	int RISK_INDEX = 5;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType <em>Hazard Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getHazardType()
+	 * @generated
+	 */
+	int HAZARD_TYPE = 6;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel <em>Risk Level</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getRiskLevel()
+	 * @generated
+	 */
+	int RISK_LEVEL = 7;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion <em>Body Region</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getBodyRegion()
+	 * @generated
+	 */
+	int BODY_REGION = 8;
 
 
 	/**
@@ -631,17 +789,6 @@
 	EAttribute getHazardAnalysis_Initial_Criticality();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_RiskReduction <em>Initial Risk Reduction</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Initial Risk Reduction</em>'.
-	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_RiskReduction()
-	 * @see #getHazardAnalysis()
-	 * @generated
-	 */
-	EAttribute getHazardAnalysis_Initial_RiskReduction();
-
-	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_Occurence <em>Final Occurence</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -697,15 +844,47 @@
 	EAttribute getHazardAnalysis_Final_Criticality();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_RiskReduction <em>Final Risk Reduction</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction <em>Risk Reduction</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Final Risk Reduction</em>'.
-	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_RiskReduction()
-	 * @see #getHazardAnalysis()
+	 * @return the meta object for class '<em>Risk Reduction</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction
 	 * @generated
 	 */
-	EAttribute getHazardAnalysis_Final_RiskReduction();
+	EClass getRiskReduction();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getDescription <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Description</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getDescription()
+	 * @see #getRiskReduction()
+	 * @generated
+	 */
+	EAttribute getRiskReduction_Description();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getBase_Class()
+	 * @see #getRiskReduction()
+	 * @generated
+	 */
+	EReference getRiskReduction_Base_Class();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getBase_Property <em>Base Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction#getBase_Property()
+	 * @see #getRiskReduction()
+	 * @generated
+	 */
+	EReference getRiskReduction_Base_Property();
 
 	/**
 	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getBase_Property <em>Base Property</em>}'.
@@ -719,6 +898,116 @@
 	EReference getHazardAnalysis_Base_Property();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getHazard <em>Hazard</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Hazard</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getHazard()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Hazard();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_RiskLevel <em>Initial Risk Level</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Initial Risk Level</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_RiskLevel()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Initial_RiskLevel();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_RiskLevel <em>Final Risk Level</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Final Risk Level</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_RiskLevel()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Final_RiskLevel();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getContactAera <em>Contact Aera</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Contact Aera</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getContactAera()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_ContactAera();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_DesignRiskReduction <em>Initial Design Risk Reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Initial Design Risk Reduction</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_DesignRiskReduction()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Initial_DesignRiskReduction();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_DesignRiskReduction <em>Final Design Risk Reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Final Design Risk Reduction</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_DesignRiskReduction()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Final_DesignRiskReduction();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_TechnicalRiskReduction <em>Initial Technical Risk Reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Initial Technical Risk Reduction</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_TechnicalRiskReduction()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Initial_TechnicalRiskReduction();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_TechnicalRiskReduction <em>Final Technical Risk Reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Final Technical Risk Reduction</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_TechnicalRiskReduction()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Final_TechnicalRiskReduction();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_OrganizationalRiskReduction <em>Initial Organizational Risk Reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Initial Organizational Risk Reduction</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getInitial_OrganizationalRiskReduction()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Initial_OrganizationalRiskReduction();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_OrganizationalRiskReduction <em>Final Organizational Risk Reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Final Organizational Risk Reduction</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis#getFinal_OrganizationalRiskReduction()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Final_OrganizationalRiskReduction();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysisContext <em>Hazard Analysis Context</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -792,6 +1081,36 @@
 	EEnum getRiskIndex();
 
 	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType <em>Hazard Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Hazard Type</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType
+	 * @generated
+	 */
+	EEnum getHazardType();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel <em>Risk Level</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Risk Level</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel
+	 * @generated
+	 */
+	EEnum getRiskLevel();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion <em>Body Region</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Body Region</em>'.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion
+	 * @generated
+	 */
+	EEnum getBodyRegion();
+
+	/**
 	 * Returns the factory that creates the instances of the model.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -921,14 +1240,6 @@
 		EAttribute HAZARD_ANALYSIS__INITIAL_CRITICALITY = eINSTANCE.getHazardAnalysis_Initial_Criticality();
 
 		/**
-		 * The meta object literal for the '<em><b>Initial Risk Reduction</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Initial_RiskReduction();
-
-		/**
 		 * The meta object literal for the '<em><b>Final Occurence</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -969,12 +1280,38 @@
 		EAttribute HAZARD_ANALYSIS__FINAL_CRITICALITY = eINSTANCE.getHazardAnalysis_Final_Criticality();
 
 		/**
-		 * The meta object literal for the '<em><b>Final Risk Reduction</b></em>' attribute feature.
+		 * The meta object literal for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskReductionImpl <em>Risk Reduction</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskReductionImpl
+		 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getRiskReduction()
+		 * @generated
+		 */
+		EClass RISK_REDUCTION = eINSTANCE.getRiskReduction();
+
+		/**
+		 * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute HAZARD_ANALYSIS__FINAL_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Final_RiskReduction();
+		EAttribute RISK_REDUCTION__DESCRIPTION = eINSTANCE.getRiskReduction_Description();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RISK_REDUCTION__BASE_CLASS = eINSTANCE.getRiskReduction_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RISK_REDUCTION__BASE_PROPERTY = eINSTANCE.getRiskReduction_Base_Property();
 
 		/**
 		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
@@ -985,6 +1322,86 @@
 		EReference HAZARD_ANALYSIS__BASE_PROPERTY = eINSTANCE.getHazardAnalysis_Base_Property();
 
 		/**
+		 * The meta object literal for the '<em><b>Hazard</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__HAZARD = eINSTANCE.getHazardAnalysis_Hazard();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Risk Level</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__INITIAL_RISK_LEVEL = eINSTANCE.getHazardAnalysis_Initial_RiskLevel();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Risk Level</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__FINAL_RISK_LEVEL = eINSTANCE.getHazardAnalysis_Final_RiskLevel();
+
+		/**
+		 * The meta object literal for the '<em><b>Contact Aera</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__CONTACT_AERA = eINSTANCE.getHazardAnalysis_ContactAera();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Design Risk Reduction</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__INITIAL_DESIGN_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Initial_DesignRiskReduction();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Design Risk Reduction</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__FINAL_DESIGN_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Final_DesignRiskReduction();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Technical Risk Reduction</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__INITIAL_TECHNICAL_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Initial_TechnicalRiskReduction();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Technical Risk Reduction</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__FINAL_TECHNICAL_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Final_TechnicalRiskReduction();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Organizational Risk Reduction</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__INITIAL_ORGANIZATIONAL_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Initial_OrganizationalRiskReduction();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Organizational Risk Reduction</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__FINAL_ORGANIZATIONAL_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Final_OrganizationalRiskReduction();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisContextImpl <em>Hazard Analysis Context</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -1048,6 +1465,36 @@
 		 */
 		EEnum RISK_INDEX = eINSTANCE.getRiskIndex();
 
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType <em>Hazard Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType
+		 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getHazardType()
+		 * @generated
+		 */
+		EEnum HAZARD_TYPE = eINSTANCE.getHazardType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel <em>Risk Level</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel
+		 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getRiskLevel()
+		 * @generated
+		 */
+		EEnum RISK_LEVEL = eINSTANCE.getRiskLevel();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion <em>Body Region</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion
+		 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskanalysisPackageImpl#getBodyRegion()
+		 * @generated
+		 */
+		EEnum BODY_REGION = eINSTANCE.getBodyRegion();
+
 	}
 
 } //RiskanalysisPackage
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/HazardAnalysisImpl.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/HazardAnalysisImpl.java
index 3723add..b4d4cc2 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/HazardAnalysisImpl.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/HazardAnalysisImpl.java
@@ -11,18 +11,25 @@
  */
 package org.eclipse.papyrus.robotics.safety.riskanalysis.impl;
 
+import java.util.Collection;
 import org.eclipse.emf.common.notify.Notification;
 
+import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
 import org.eclipse.papyrus.robotics.bpc.profile.bpc.impl.PropertyImpl;
 import org.eclipse.papyrus.robotics.profile.robotics.skills.SkillDefinition;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.OccurenceEstimation;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskEstimation;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskIndex;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage;
 
 import org.eclipse.uml2.uml.Operation;
@@ -48,14 +55,22 @@
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getInitial_Frequency <em>Initial Frequency</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getInitial_Severity <em>Initial Severity</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getInitial_Criticality <em>Initial Criticality</em>}</li>
- *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getInitial_RiskReduction <em>Initial Risk Reduction</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_Occurence <em>Final Occurence</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_Avoidance <em>Final Avoidance</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_Frequency <em>Final Frequency</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_Severity <em>Final Severity</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_Criticality <em>Final Criticality</em>}</li>
- *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_RiskReduction <em>Final Risk Reduction</em>}</li>
  *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getBase_Property <em>Base Property</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getHazard <em>Hazard</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getInitial_RiskLevel <em>Initial Risk Level</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_RiskLevel <em>Final Risk Level</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getContactAera <em>Contact Aera</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getInitial_DesignRiskReduction <em>Initial Design Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_DesignRiskReduction <em>Final Design Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getInitial_TechnicalRiskReduction <em>Initial Technical Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_TechnicalRiskReduction <em>Final Technical Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getInitial_OrganizationalRiskReduction <em>Initial Organizational Risk Reduction</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl#getFinal_OrganizationalRiskReduction <em>Final Organizational Risk Reduction</em>}</li>
  * </ul>
  *
  * @generated
@@ -273,26 +288,6 @@
 	protected static final RiskIndex INITIAL_CRITICALITY_EDEFAULT = RiskIndex._1;
 
 	/**
-	 * The default value of the '{@link #getInitial_RiskReduction() <em>Initial Risk Reduction</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getInitial_RiskReduction()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String INITIAL_RISK_REDUCTION_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getInitial_RiskReduction() <em>Initial Risk Reduction</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getInitial_RiskReduction()
-	 * @generated
-	 * @ordered
-	 */
-	protected String initial_RiskReduction = INITIAL_RISK_REDUCTION_EDEFAULT;
-
-	/**
 	 * The default value of the '{@link #getFinal_Occurence() <em>Final Occurence</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -383,26 +378,6 @@
 	protected static final RiskIndex FINAL_CRITICALITY_EDEFAULT = RiskIndex._1;
 
 	/**
-	 * The default value of the '{@link #getFinal_RiskReduction() <em>Final Risk Reduction</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFinal_RiskReduction()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String FINAL_RISK_REDUCTION_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getFinal_RiskReduction() <em>Final Risk Reduction</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFinal_RiskReduction()
-	 * @generated
-	 * @ordered
-	 */
-	protected String final_RiskReduction = FINAL_RISK_REDUCTION_EDEFAULT;
-
-	/**
 	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -413,6 +388,126 @@
 	protected Property base_Property;
 
 	/**
+	 * The default value of the '{@link #getHazard() <em>Hazard</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHazard()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final HazardType HAZARD_EDEFAULT = HazardType.MECHANICAL;
+
+	/**
+	 * The cached value of the '{@link #getHazard() <em>Hazard</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHazard()
+	 * @generated
+	 * @ordered
+	 */
+	protected HazardType hazard = HAZARD_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getInitial_RiskLevel() <em>Initial Risk Level</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_RiskLevel()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final RiskLevel INITIAL_RISK_LEVEL_EDEFAULT = RiskLevel.NEGLIGIBLE_RISK;
+
+	/**
+	 * The default value of the '{@link #getFinal_RiskLevel() <em>Final Risk Level</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_RiskLevel()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final RiskLevel FINAL_RISK_LEVEL_EDEFAULT = RiskLevel.NEGLIGIBLE_RISK;
+
+	/**
+	 * The default value of the '{@link #getContactAera() <em>Contact Aera</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContactAera()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final BodyRegion CONTACT_AERA_EDEFAULT = BodyRegion.SKULL_FOREHEAD;
+
+	/**
+	 * The cached value of the '{@link #getContactAera() <em>Contact Aera</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContactAera()
+	 * @generated
+	 * @ordered
+	 */
+	protected BodyRegion contactAera = CONTACT_AERA_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getInitial_DesignRiskReduction() <em>Initial Design Risk Reduction</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_DesignRiskReduction()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<RiskReduction> initial_DesignRiskReduction;
+
+	/**
+	 * The cached value of the '{@link #getFinal_DesignRiskReduction() <em>Final Design Risk Reduction</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_DesignRiskReduction()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<RiskReduction> final_DesignRiskReduction;
+
+	/**
+	 * The cached value of the '{@link #getInitial_TechnicalRiskReduction() <em>Initial Technical Risk Reduction</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_TechnicalRiskReduction()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<RiskReduction> initial_TechnicalRiskReduction;
+
+	/**
+	 * The cached value of the '{@link #getFinal_TechnicalRiskReduction() <em>Final Technical Risk Reduction</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_TechnicalRiskReduction()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<RiskReduction> final_TechnicalRiskReduction;
+
+	/**
+	 * The cached value of the '{@link #getInitial_OrganizationalRiskReduction() <em>Initial Organizational Risk Reduction</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_OrganizationalRiskReduction()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<RiskReduction> initial_OrganizationalRiskReduction;
+
+	/**
+	 * The cached value of the '{@link #getFinal_OrganizationalRiskReduction() <em>Final Organizational Risk Reduction</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_OrganizationalRiskReduction()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<RiskReduction> final_OrganizationalRiskReduction;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -736,29 +831,6 @@
 	 * @generated
 	 */
 	@Override
-	public String getInitial_RiskReduction() {
-		return initial_RiskReduction;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setInitial_RiskReduction(String newInitial_RiskReduction) {
-		String oldInitial_RiskReduction = initial_RiskReduction;
-		initial_RiskReduction = newInitial_RiskReduction;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION, oldInitial_RiskReduction, initial_RiskReduction));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public OccurenceEstimation getFinal_Occurence() {
 		return final_Occurence;
 	}
@@ -863,29 +935,6 @@
 	 * @generated
 	 */
 	@Override
-	public String getFinal_RiskReduction() {
-		return final_RiskReduction;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setFinal_RiskReduction(String newFinal_RiskReduction) {
-		String oldFinal_RiskReduction = final_RiskReduction;
-		final_RiskReduction = newFinal_RiskReduction;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_REDUCTION, oldFinal_RiskReduction, final_RiskReduction));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Property getBase_Property() {
 		if (base_Property != null && base_Property.eIsProxy()) {
 			InternalEObject oldBase_Property = (InternalEObject)base_Property;
@@ -926,6 +975,178 @@
 	 * @generated
 	 */
 	@Override
+	public HazardType getHazard() {
+		return hazard;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setHazard(HazardType newHazard) {
+		HazardType oldHazard = hazard;
+		hazard = newHazard == null ? HAZARD_EDEFAULT : newHazard;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__HAZARD, oldHazard, hazard));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RiskLevel getInitial_RiskLevel() {
+		// TODO: implement this method to return the 'Initial Risk Level' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setInitial_RiskLevel(RiskLevel newInitial_RiskLevel) {
+		// TODO: implement this method to set the 'Initial Risk Level' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RiskLevel getFinal_RiskLevel() {
+		// TODO: implement this method to return the 'Final Risk Level' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFinal_RiskLevel(RiskLevel newFinal_RiskLevel) {
+		// TODO: implement this method to set the 'Final Risk Level' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public BodyRegion getContactAera() {
+		return contactAera;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setContactAera(BodyRegion newContactAera) {
+		BodyRegion oldContactAera = contactAera;
+		contactAera = newContactAera == null ? CONTACT_AERA_EDEFAULT : newContactAera;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__CONTACT_AERA, oldContactAera, contactAera));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<RiskReduction> getInitial_DesignRiskReduction() {
+		if (initial_DesignRiskReduction == null) {
+			initial_DesignRiskReduction = new EObjectResolvingEList<RiskReduction>(RiskReduction.class, this, RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_DESIGN_RISK_REDUCTION);
+		}
+		return initial_DesignRiskReduction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<RiskReduction> getFinal_DesignRiskReduction() {
+		if (final_DesignRiskReduction == null) {
+			final_DesignRiskReduction = new EObjectResolvingEList<RiskReduction>(RiskReduction.class, this, RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_DESIGN_RISK_REDUCTION);
+		}
+		return final_DesignRiskReduction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<RiskReduction> getInitial_TechnicalRiskReduction() {
+		if (initial_TechnicalRiskReduction == null) {
+			initial_TechnicalRiskReduction = new EObjectResolvingEList<RiskReduction>(RiskReduction.class, this, RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_TECHNICAL_RISK_REDUCTION);
+		}
+		return initial_TechnicalRiskReduction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<RiskReduction> getFinal_TechnicalRiskReduction() {
+		if (final_TechnicalRiskReduction == null) {
+			final_TechnicalRiskReduction = new EObjectResolvingEList<RiskReduction>(RiskReduction.class, this, RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_TECHNICAL_RISK_REDUCTION);
+		}
+		return final_TechnicalRiskReduction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<RiskReduction> getInitial_OrganizationalRiskReduction() {
+		if (initial_OrganizationalRiskReduction == null) {
+			initial_OrganizationalRiskReduction = new EObjectResolvingEList<RiskReduction>(RiskReduction.class, this, RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_ORGANIZATIONAL_RISK_REDUCTION);
+		}
+		return initial_OrganizationalRiskReduction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<RiskReduction> getFinal_OrganizationalRiskReduction() {
+		if (final_OrganizationalRiskReduction == null) {
+			final_OrganizationalRiskReduction = new EObjectResolvingEList<RiskReduction>(RiskReduction.class, this, RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_ORGANIZATIONAL_RISK_REDUCTION);
+		}
+		return final_OrganizationalRiskReduction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 			case RiskanalysisPackage.HAZARD_ANALYSIS__SKILL:
@@ -954,8 +1175,6 @@
 				return getInitial_Severity();
 			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_CRITICALITY:
 				return getInitial_Criticality();
-			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION:
-				return getInitial_RiskReduction();
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_OCCURENCE:
 				return getFinal_Occurence();
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_AVOIDANCE:
@@ -966,11 +1185,29 @@
 				return getFinal_Severity();
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_CRITICALITY:
 				return getFinal_Criticality();
-			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_REDUCTION:
-				return getFinal_RiskReduction();
 			case RiskanalysisPackage.HAZARD_ANALYSIS__BASE_PROPERTY:
 				if (resolve) return getBase_Property();
 				return basicGetBase_Property();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARD:
+				return getHazard();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_LEVEL:
+				return getInitial_RiskLevel();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_LEVEL:
+				return getFinal_RiskLevel();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__CONTACT_AERA:
+				return getContactAera();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_DESIGN_RISK_REDUCTION:
+				return getInitial_DesignRiskReduction();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_DESIGN_RISK_REDUCTION:
+				return getFinal_DesignRiskReduction();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_TECHNICAL_RISK_REDUCTION:
+				return getInitial_TechnicalRiskReduction();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_TECHNICAL_RISK_REDUCTION:
+				return getFinal_TechnicalRiskReduction();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_ORGANIZATIONAL_RISK_REDUCTION:
+				return getInitial_OrganizationalRiskReduction();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_ORGANIZATIONAL_RISK_REDUCTION:
+				return getFinal_OrganizationalRiskReduction();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -980,6 +1217,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@SuppressWarnings("unchecked")
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
@@ -1016,9 +1254,6 @@
 			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_SEVERITY:
 				setInitial_Severity((RiskEstimation)newValue);
 				return;
-			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION:
-				setInitial_RiskReduction((String)newValue);
-				return;
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_OCCURENCE:
 				setFinal_Occurence((OccurenceEstimation)newValue);
 				return;
@@ -1031,12 +1266,45 @@
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_SEVERITY:
 				setFinal_Severity((RiskEstimation)newValue);
 				return;
-			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_REDUCTION:
-				setFinal_RiskReduction((String)newValue);
-				return;
 			case RiskanalysisPackage.HAZARD_ANALYSIS__BASE_PROPERTY:
 				setBase_Property((Property)newValue);
 				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARD:
+				setHazard((HazardType)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_LEVEL:
+				setInitial_RiskLevel((RiskLevel)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_LEVEL:
+				setFinal_RiskLevel((RiskLevel)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__CONTACT_AERA:
+				setContactAera((BodyRegion)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_DESIGN_RISK_REDUCTION:
+				getInitial_DesignRiskReduction().clear();
+				getInitial_DesignRiskReduction().addAll((Collection<? extends RiskReduction>)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_DESIGN_RISK_REDUCTION:
+				getFinal_DesignRiskReduction().clear();
+				getFinal_DesignRiskReduction().addAll((Collection<? extends RiskReduction>)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_TECHNICAL_RISK_REDUCTION:
+				getInitial_TechnicalRiskReduction().clear();
+				getInitial_TechnicalRiskReduction().addAll((Collection<? extends RiskReduction>)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_TECHNICAL_RISK_REDUCTION:
+				getFinal_TechnicalRiskReduction().clear();
+				getFinal_TechnicalRiskReduction().addAll((Collection<? extends RiskReduction>)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_ORGANIZATIONAL_RISK_REDUCTION:
+				getInitial_OrganizationalRiskReduction().clear();
+				getInitial_OrganizationalRiskReduction().addAll((Collection<? extends RiskReduction>)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_ORGANIZATIONAL_RISK_REDUCTION:
+				getFinal_OrganizationalRiskReduction().clear();
+				getFinal_OrganizationalRiskReduction().addAll((Collection<? extends RiskReduction>)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -1082,9 +1350,6 @@
 			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_SEVERITY:
 				setInitial_Severity(INITIAL_SEVERITY_EDEFAULT);
 				return;
-			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION:
-				setInitial_RiskReduction(INITIAL_RISK_REDUCTION_EDEFAULT);
-				return;
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_OCCURENCE:
 				setFinal_Occurence(FINAL_OCCURENCE_EDEFAULT);
 				return;
@@ -1097,12 +1362,39 @@
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_SEVERITY:
 				setFinal_Severity(FINAL_SEVERITY_EDEFAULT);
 				return;
-			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_REDUCTION:
-				setFinal_RiskReduction(FINAL_RISK_REDUCTION_EDEFAULT);
-				return;
 			case RiskanalysisPackage.HAZARD_ANALYSIS__BASE_PROPERTY:
 				setBase_Property((Property)null);
 				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARD:
+				setHazard(HAZARD_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_LEVEL:
+				setInitial_RiskLevel(INITIAL_RISK_LEVEL_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_LEVEL:
+				setFinal_RiskLevel(FINAL_RISK_LEVEL_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__CONTACT_AERA:
+				setContactAera(CONTACT_AERA_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_DESIGN_RISK_REDUCTION:
+				getInitial_DesignRiskReduction().clear();
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_DESIGN_RISK_REDUCTION:
+				getFinal_DesignRiskReduction().clear();
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_TECHNICAL_RISK_REDUCTION:
+				getInitial_TechnicalRiskReduction().clear();
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_TECHNICAL_RISK_REDUCTION:
+				getFinal_TechnicalRiskReduction().clear();
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_ORGANIZATIONAL_RISK_REDUCTION:
+				getInitial_OrganizationalRiskReduction().clear();
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_ORGANIZATIONAL_RISK_REDUCTION:
+				getFinal_OrganizationalRiskReduction().clear();
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -1139,8 +1431,6 @@
 				return initial_Severity != INITIAL_SEVERITY_EDEFAULT;
 			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_CRITICALITY:
 				return getInitial_Criticality() != INITIAL_CRITICALITY_EDEFAULT;
-			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION:
-				return INITIAL_RISK_REDUCTION_EDEFAULT == null ? initial_RiskReduction != null : !INITIAL_RISK_REDUCTION_EDEFAULT.equals(initial_RiskReduction);
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_OCCURENCE:
 				return final_Occurence != FINAL_OCCURENCE_EDEFAULT;
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_AVOIDANCE:
@@ -1151,10 +1441,28 @@
 				return final_Severity != FINAL_SEVERITY_EDEFAULT;
 			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_CRITICALITY:
 				return getFinal_Criticality() != FINAL_CRITICALITY_EDEFAULT;
-			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_REDUCTION:
-				return FINAL_RISK_REDUCTION_EDEFAULT == null ? final_RiskReduction != null : !FINAL_RISK_REDUCTION_EDEFAULT.equals(final_RiskReduction);
 			case RiskanalysisPackage.HAZARD_ANALYSIS__BASE_PROPERTY:
 				return base_Property != null;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARD:
+				return hazard != HAZARD_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_LEVEL:
+				return getInitial_RiskLevel() != INITIAL_RISK_LEVEL_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_RISK_LEVEL:
+				return getFinal_RiskLevel() != FINAL_RISK_LEVEL_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__CONTACT_AERA:
+				return contactAera != CONTACT_AERA_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_DESIGN_RISK_REDUCTION:
+				return initial_DesignRiskReduction != null && !initial_DesignRiskReduction.isEmpty();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_DESIGN_RISK_REDUCTION:
+				return final_DesignRiskReduction != null && !final_DesignRiskReduction.isEmpty();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_TECHNICAL_RISK_REDUCTION:
+				return initial_TechnicalRiskReduction != null && !initial_TechnicalRiskReduction.isEmpty();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_TECHNICAL_RISK_REDUCTION:
+				return final_TechnicalRiskReduction != null && !final_TechnicalRiskReduction.isEmpty();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_ORGANIZATIONAL_RISK_REDUCTION:
+				return initial_OrganizationalRiskReduction != null && !initial_OrganizationalRiskReduction.isEmpty();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_ORGANIZATIONAL_RISK_REDUCTION:
+				return final_OrganizationalRiskReduction != null && !final_OrganizationalRiskReduction.isEmpty();
 		}
 		return super.eIsSet(featureID);
 	}
@@ -1187,8 +1495,6 @@
 		result.append(initial_Frequency);
 		result.append(", Initial_Severity: ");
 		result.append(initial_Severity);
-		result.append(", Initial_RiskReduction: ");
-		result.append(initial_RiskReduction);
 		result.append(", Final_Occurence: ");
 		result.append(final_Occurence);
 		result.append(", Final_Avoidance: ");
@@ -1197,8 +1503,10 @@
 		result.append(final_Frequency);
 		result.append(", Final_Severity: ");
 		result.append(final_Severity);
-		result.append(", Final_RiskReduction: ");
-		result.append(final_RiskReduction);
+		result.append(", Hazard: ");
+		result.append(hazard);
+		result.append(", ContactAera: ");
+		result.append(contactAera);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskReductionImpl.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskReductionImpl.java
new file mode 100644
index 0000000..8024a59
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskReductionImpl.java
@@ -0,0 +1,299 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ */
+package org.eclipse.papyrus.robotics.safety.riskanalysis.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Risk Reduction</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskReductionImpl#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskReductionImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.robotics.safety.riskanalysis.impl.RiskReductionImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RiskReductionImpl extends MinimalEObjectImpl.Container implements RiskReduction {
+	/**
+	 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DESCRIPTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected String description = DESCRIPTION_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RiskReductionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RiskanalysisPackage.Literals.RISK_REDUCTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDescription(String newDescription) {
+		String oldDescription = description;
+		description = newDescription;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.RISK_REDUCTION__DESCRIPTION, oldDescription, description));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject)base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RiskanalysisPackage.RISK_REDUCTION__BASE_CLASS, oldBase_Class, base_Class));
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.RISK_REDUCTION__BASE_CLASS, oldBase_Class, base_Class));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject)base_Property;
+			base_Property = (Property)eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RiskanalysisPackage.RISK_REDUCTION__BASE_PROPERTY, oldBase_Property, base_Property));
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.RISK_REDUCTION__BASE_PROPERTY, oldBase_Property, base_Property));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RiskanalysisPackage.RISK_REDUCTION__DESCRIPTION:
+				return getDescription();
+			case RiskanalysisPackage.RISK_REDUCTION__BASE_CLASS:
+				if (resolve) return getBase_Class();
+				return basicGetBase_Class();
+			case RiskanalysisPackage.RISK_REDUCTION__BASE_PROPERTY:
+				if (resolve) return getBase_Property();
+				return basicGetBase_Property();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RiskanalysisPackage.RISK_REDUCTION__DESCRIPTION:
+				setDescription((String)newValue);
+				return;
+			case RiskanalysisPackage.RISK_REDUCTION__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+				return;
+			case RiskanalysisPackage.RISK_REDUCTION__BASE_PROPERTY:
+				setBase_Property((Property)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RiskanalysisPackage.RISK_REDUCTION__DESCRIPTION:
+				setDescription(DESCRIPTION_EDEFAULT);
+				return;
+			case RiskanalysisPackage.RISK_REDUCTION__BASE_CLASS:
+				setBase_Class((org.eclipse.uml2.uml.Class)null);
+				return;
+			case RiskanalysisPackage.RISK_REDUCTION__BASE_PROPERTY:
+				setBase_Property((Property)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RiskanalysisPackage.RISK_REDUCTION__DESCRIPTION:
+				return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+			case RiskanalysisPackage.RISK_REDUCTION__BASE_CLASS:
+				return base_Class != null;
+			case RiskanalysisPackage.RISK_REDUCTION__BASE_PROPERTY:
+				return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (Description: ");
+		result.append(description);
+		result.append(')');
+		return result.toString();
+	}
+
+} //RiskReductionImpl
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskanalysisFactoryImpl.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskanalysisFactoryImpl.java
index c8c0ec8..fbb2325 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskanalysisFactoryImpl.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskanalysisFactoryImpl.java
@@ -67,6 +67,7 @@
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
 			case RiskanalysisPackage.HAZARD_ANALYSIS: return createHazardAnalysis();
+			case RiskanalysisPackage.RISK_REDUCTION: return createRiskReduction();
 			case RiskanalysisPackage.HAZARD_ANALYSIS_CONTEXT: return createHazardAnalysisContext();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
@@ -87,6 +88,12 @@
 				return createRiskEstimationFromString(eDataType, initialValue);
 			case RiskanalysisPackage.RISK_INDEX:
 				return createRiskIndexFromString(eDataType, initialValue);
+			case RiskanalysisPackage.HAZARD_TYPE:
+				return createHazardTypeFromString(eDataType, initialValue);
+			case RiskanalysisPackage.RISK_LEVEL:
+				return createRiskLevelFromString(eDataType, initialValue);
+			case RiskanalysisPackage.BODY_REGION:
+				return createBodyRegionFromString(eDataType, initialValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
 		}
@@ -106,6 +113,12 @@
 				return convertRiskEstimationToString(eDataType, instanceValue);
 			case RiskanalysisPackage.RISK_INDEX:
 				return convertRiskIndexToString(eDataType, instanceValue);
+			case RiskanalysisPackage.HAZARD_TYPE:
+				return convertHazardTypeToString(eDataType, instanceValue);
+			case RiskanalysisPackage.RISK_LEVEL:
+				return convertRiskLevelToString(eDataType, instanceValue);
+			case RiskanalysisPackage.BODY_REGION:
+				return convertBodyRegionToString(eDataType, instanceValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
 		}
@@ -128,6 +141,17 @@
 	 * @generated
 	 */
 	@Override
+	public RiskReduction createRiskReduction() {
+		RiskReductionImpl riskReduction = new RiskReductionImpl();
+		return riskReduction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public HazardAnalysisContext createHazardAnalysisContext() {
 		HazardAnalysisContextImpl hazardAnalysisContext = new HazardAnalysisContextImpl();
 		return hazardAnalysisContext;
@@ -198,6 +222,66 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public HazardType createHazardTypeFromString(EDataType eDataType, String initialValue) {
+		HazardType result = HazardType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertHazardTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RiskLevel createRiskLevelFromString(EDataType eDataType, String initialValue) {
+		RiskLevel result = RiskLevel.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertRiskLevelToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BodyRegion createBodyRegionFromString(EDataType eDataType, String initialValue) {
+		BodyRegion result = BodyRegion.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertBodyRegionToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	@Override
 	public RiskanalysisPackage getRiskanalysisPackage() {
 		return (RiskanalysisPackage)getEPackage();
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskanalysisPackageImpl.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskanalysisPackageImpl.java
index 6f96ada..ed535b5 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskanalysisPackageImpl.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/impl/RiskanalysisPackageImpl.java
@@ -24,11 +24,15 @@
 import org.eclipse.papyrus.robotics.profile.robotics.behavior.BehaviorPackage;
 import org.eclipse.papyrus.robotics.profile.robotics.roboticsPackage;
 import org.eclipse.papyrus.robotics.profile.robotics.skills.SkillsPackage;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.BodyRegion;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysisContext;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.HazardType;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.OccurenceEstimation;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskEstimation;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskIndex;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisFactory;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage;
 
@@ -55,6 +59,13 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass riskReductionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass hazardAnalysisContextEClass = null;
 
 	/**
@@ -79,6 +90,27 @@
 	private EEnum riskIndexEEnum = null;
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum hazardTypeEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum riskLevelEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum bodyRegionEEnum = null;
+
+	/**
 	 * Creates an instance of the model <b>Package</b>, registered with
 	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
 	 * package URI value.
@@ -282,7 +314,7 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHazardAnalysis_Initial_RiskReduction() {
+	public EAttribute getHazardAnalysis_Final_Occurence() {
 		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(12);
 	}
 
@@ -292,7 +324,7 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHazardAnalysis_Final_Occurence() {
+	public EAttribute getHazardAnalysis_Final_Avoidance() {
 		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(13);
 	}
 
@@ -302,7 +334,7 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHazardAnalysis_Final_Avoidance() {
+	public EAttribute getHazardAnalysis_Final_Frequency() {
 		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(14);
 	}
 
@@ -312,7 +344,7 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHazardAnalysis_Final_Frequency() {
+	public EAttribute getHazardAnalysis_Final_Severity() {
 		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(15);
 	}
 
@@ -322,7 +354,7 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHazardAnalysis_Final_Severity() {
+	public EAttribute getHazardAnalysis_Final_Criticality() {
 		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(16);
 	}
 
@@ -332,8 +364,8 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHazardAnalysis_Final_Criticality() {
-		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(17);
+	public EClass getRiskReduction() {
+		return riskReductionEClass;
 	}
 
 	/**
@@ -342,8 +374,28 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getHazardAnalysis_Final_RiskReduction() {
-		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(18);
+	public EAttribute getRiskReduction_Description() {
+		return (EAttribute)riskReductionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getRiskReduction_Base_Class() {
+		return (EReference)riskReductionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getRiskReduction_Base_Property() {
+		return (EReference)riskReductionEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -353,7 +405,107 @@
 	 */
 	@Override
 	public EReference getHazardAnalysis_Base_Property() {
-		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(19);
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(17);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Hazard() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(18);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Initial_RiskLevel() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(19);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Final_RiskLevel() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(20);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_ContactAera() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(21);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Initial_DesignRiskReduction() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(22);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Final_DesignRiskReduction() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(23);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Initial_TechnicalRiskReduction() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(24);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Final_TechnicalRiskReduction() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(25);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Initial_OrganizationalRiskReduction() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(26);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Final_OrganizationalRiskReduction() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(27);
 	}
 
 	/**
@@ -432,6 +584,36 @@
 	 * @generated
 	 */
 	@Override
+	public EEnum getHazardType() {
+		return hazardTypeEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EEnum getRiskLevel() {
+		return riskLevelEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EEnum getBodyRegion() {
+		return bodyRegionEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public RiskanalysisFactory getRiskanalysisFactory() {
 		return (RiskanalysisFactory)getEFactoryInstance();
 	}
@@ -468,14 +650,27 @@
 		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_FREQUENCY);
 		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_SEVERITY);
 		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_CRITICALITY);
-		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION);
 		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_OCCURENCE);
 		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_AVOIDANCE);
 		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_FREQUENCY);
 		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_SEVERITY);
 		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_CRITICALITY);
-		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_RISK_REDUCTION);
 		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__BASE_PROPERTY);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__HAZARD);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_RISK_LEVEL);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_RISK_LEVEL);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__CONTACT_AERA);
+		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_DESIGN_RISK_REDUCTION);
+		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_DESIGN_RISK_REDUCTION);
+		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_TECHNICAL_RISK_REDUCTION);
+		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_TECHNICAL_RISK_REDUCTION);
+		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_ORGANIZATIONAL_RISK_REDUCTION);
+		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__FINAL_ORGANIZATIONAL_RISK_REDUCTION);
+
+		riskReductionEClass = createEClass(RISK_REDUCTION);
+		createEAttribute(riskReductionEClass, RISK_REDUCTION__DESCRIPTION);
+		createEReference(riskReductionEClass, RISK_REDUCTION__BASE_CLASS);
+		createEReference(riskReductionEClass, RISK_REDUCTION__BASE_PROPERTY);
 
 		hazardAnalysisContextEClass = createEClass(HAZARD_ANALYSIS_CONTEXT);
 		createEReference(hazardAnalysisContextEClass, HAZARD_ANALYSIS_CONTEXT__HAZARDANALYSIS);
@@ -486,6 +681,9 @@
 		occurenceEstimationEEnum = createEEnum(OCCURENCE_ESTIMATION);
 		riskEstimationEEnum = createEEnum(RISK_ESTIMATION);
 		riskIndexEEnum = createEEnum(RISK_INDEX);
+		hazardTypeEEnum = createEEnum(HAZARD_TYPE);
+		riskLevelEEnum = createEEnum(RISK_LEVEL);
+		bodyRegionEEnum = createEEnum(BODY_REGION);
 	}
 
 	/**
@@ -540,14 +738,27 @@
 		initEAttribute(getHazardAnalysis_Initial_Frequency(), this.getRiskEstimation(), "Initial_Frequency", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getHazardAnalysis_Initial_Severity(), this.getRiskEstimation(), "Initial_Severity", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getHazardAnalysis_Initial_Criticality(), this.getRiskIndex(), "Initial_Criticality", null, 1, 1, HazardAnalysis.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
-		initEAttribute(getHazardAnalysis_Initial_RiskReduction(), theTypesPackage.getString(), "Initial_RiskReduction", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getHazardAnalysis_Final_Occurence(), this.getOccurenceEstimation(), "Final_Occurence", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getHazardAnalysis_Final_Avoidance(), this.getRiskEstimation(), "Final_Avoidance", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getHazardAnalysis_Final_Frequency(), this.getRiskEstimation(), "Final_Frequency", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getHazardAnalysis_Final_Severity(), this.getRiskEstimation(), "Final_Severity", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getHazardAnalysis_Final_Criticality(), this.getRiskIndex(), "Final_Criticality", null, 1, 1, HazardAnalysis.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
-		initEAttribute(getHazardAnalysis_Final_RiskReduction(), theTypesPackage.getString(), "Final_RiskReduction", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getHazardAnalysis_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_Hazard(), this.getHazardType(), "Hazard", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_Initial_RiskLevel(), this.getRiskLevel(), "Initial_RiskLevel", null, 1, 1, HazardAnalysis.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_Final_RiskLevel(), this.getRiskLevel(), "Final_RiskLevel", null, 1, 1, HazardAnalysis.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_ContactAera(), this.getBodyRegion(), "ContactAera", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getHazardAnalysis_Initial_DesignRiskReduction(), this.getRiskReduction(), null, "Initial_DesignRiskReduction", null, 0, -1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getHazardAnalysis_Final_DesignRiskReduction(), this.getRiskReduction(), null, "Final_DesignRiskReduction", null, 0, -1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getHazardAnalysis_Initial_TechnicalRiskReduction(), this.getRiskReduction(), null, "Initial_TechnicalRiskReduction", null, 0, -1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getHazardAnalysis_Final_TechnicalRiskReduction(), this.getRiskReduction(), null, "Final_TechnicalRiskReduction", null, 0, -1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getHazardAnalysis_Initial_OrganizationalRiskReduction(), this.getRiskReduction(), null, "Initial_OrganizationalRiskReduction", null, 0, -1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getHazardAnalysis_Final_OrganizationalRiskReduction(), this.getRiskReduction(), null, "Final_OrganizationalRiskReduction", null, 0, -1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(riskReductionEClass, RiskReduction.class, "RiskReduction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getRiskReduction_Description(), theTypesPackage.getString(), "Description", null, 1, 1, RiskReduction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getRiskReduction_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, RiskReduction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getRiskReduction_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, RiskReduction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
 		initEClass(hazardAnalysisContextEClass, HazardAnalysisContext.class, "HazardAnalysisContext", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getHazardAnalysisContext_Hazardanalysis(), this.getHazardAnalysis(), null, "hazardanalysis", null, 0, -1, HazardAnalysisContext.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
@@ -572,6 +783,40 @@
 		addEEnumLiteral(riskIndexEEnum, RiskIndex._5);
 		addEEnumLiteral(riskIndexEEnum, RiskIndex._6);
 
+		initEEnum(hazardTypeEEnum, HazardType.class, "HazardType");
+		addEEnumLiteral(hazardTypeEEnum, HazardType.MECHANICAL);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.ELECTRICAL);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.NOISE);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.VIBRATION);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.RADIATION);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.MATERIAL_SUBSTANCE);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.ERGONOMIC);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.ENVIRONMENT_WORKSPACE);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.COMBINATION);
+		addEEnumLiteral(hazardTypeEEnum, HazardType.OTHER);
+
+		initEEnum(riskLevelEEnum, RiskLevel.class, "RiskLevel");
+		addEEnumLiteral(riskLevelEEnum, RiskLevel.NEGLIGIBLE_RISK);
+		addEEnumLiteral(riskLevelEEnum, RiskLevel.VERY_LOW_RISK);
+		addEEnumLiteral(riskLevelEEnum, RiskLevel.LOW_RISK);
+		addEEnumLiteral(riskLevelEEnum, RiskLevel.SIGNIFICANT_RISK);
+		addEEnumLiteral(riskLevelEEnum, RiskLevel.HIGH_RISK);
+		addEEnumLiteral(riskLevelEEnum, RiskLevel.VERY_HIGH_RISK);
+
+		initEEnum(bodyRegionEEnum, BodyRegion.class, "BodyRegion");
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.SKULL_FOREHEAD);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.FACE);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.NECK);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.BAC_KSHOULDERS);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.CHEST);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.ABDOMEN);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.PELVIS);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.UPPER_ARMS_ELBOW_JOINTS);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.LOWER_ARMS_WRIST_JOINTS);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.HANDS_FINGERS);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.THIGHS_KNEES);
+		addEEnumLiteral(bodyRegionEEnum, BodyRegion.LOWER_LEGS);
+
 		// Create resource
 		createResource(eNS_URI);
 
@@ -660,6 +905,18 @@
 		   new String[] {
 			   "originalName", "6"
 		   });
+		addAnnotation
+		  (hazardTypeEEnum.getELiterals().get(5),
+		   source,
+		   new String[] {
+			   "originalName", "Material/Substance"
+		   });
+		addAnnotation
+		  (hazardTypeEEnum.getELiterals().get(7),
+		   source,
+		   new String[] {
+			   "originalName", "Environment/Workspace"
+		   });
 	}
 
 } //RiskanalysisPackageImpl
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/util/RiskanalysisAdapterFactory.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/util/RiskanalysisAdapterFactory.java
index 643a14e..664f388 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/util/RiskanalysisAdapterFactory.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/util/RiskanalysisAdapterFactory.java
@@ -83,6 +83,10 @@
 				return createHazardAnalysisAdapter();
 			}
 			@Override
+			public Adapter caseRiskReduction(RiskReduction object) {
+				return createRiskReductionAdapter();
+			}
+			@Override
 			public Adapter caseHazardAnalysisContext(HazardAnalysisContext object) {
 				return createHazardAnalysisContextAdapter();
 			}
@@ -129,6 +133,20 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction <em>Risk Reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction
+	 * @generated
+	 */
+	public Adapter createRiskReductionAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysisContext <em>Hazard Analysis Context</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/util/RiskanalysisSwitch.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/util/RiskanalysisSwitch.java
index c69bb37..c7208cb 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/util/RiskanalysisSwitch.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src-gen/org/eclipse/papyrus/robotics/safety/riskanalysis/util/RiskanalysisSwitch.java
@@ -85,6 +85,12 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
+			case RiskanalysisPackage.RISK_REDUCTION: {
+				RiskReduction riskReduction = (RiskReduction)theEObject;
+				T result = caseRiskReduction(riskReduction);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
 			case RiskanalysisPackage.HAZARD_ANALYSIS_CONTEXT: {
 				HazardAnalysisContext hazardAnalysisContext = (HazardAnalysisContext)theEObject;
 				T result = caseHazardAnalysisContext(hazardAnalysisContext);
@@ -112,6 +118,21 @@
 	}
 
 	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Risk Reduction</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Risk Reduction</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRiskReduction(RiskReduction object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Hazard Analysis Context</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src/org/eclipse/papyrus/robotics/safety/riskanalysis/custom/CustomHazardAnalysis.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src/org/eclipse/papyrus/robotics/safety/riskanalysis/custom/CustomHazardAnalysis.java
index 4c73593..5d4b169 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src/org/eclipse/papyrus/robotics/safety/riskanalysis/custom/CustomHazardAnalysis.java
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.profile/src/org/eclipse/papyrus/robotics/safety/riskanalysis/custom/CustomHazardAnalysis.java
@@ -13,6 +13,7 @@
 
 
 import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskIndex;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskLevel;
 import org.eclipse.papyrus.robotics.safety.riskanalysis.impl.HazardAnalysisImpl;
 
 public class CustomHazardAnalysis extends HazardAnalysisImpl {
@@ -96,5 +97,37 @@
 		return null;
 	}
 	
-
+	/*
+	 
+	 * 
+	 * (non-Javadoc)
+	 */	
+	@Override
+	public RiskLevel getInitial_RiskLevel() {
+		Integer riskIndex= getInitial_Criticality().getValue();
+		if(riskIndex.intValue()==1) {return RiskLevel.NEGLIGIBLE_RISK;}
+		else if (riskIndex.intValue()==2) {return RiskLevel.VERY_LOW_RISK;}
+		else if (riskIndex.intValue()==3) {return RiskLevel.LOW_RISK;}
+		else if (riskIndex.intValue()==4) {return RiskLevel.SIGNIFICANT_RISK;}
+		else if (riskIndex.intValue()==5) {return RiskLevel.HIGH_RISK;}
+		else if (riskIndex.intValue()==6) {return RiskLevel.VERY_HIGH_RISK;}
+		return RiskLevel.NEGLIGIBLE_RISK;
+	}
+	
+	/*
+	 
+	 * 
+	 * (non-Javadoc)
+	 */	
+	@Override
+	public RiskLevel getFinal_RiskLevel() {
+		Integer riskIndex= getFinal_Criticality().getValue();
+		if(riskIndex.intValue()==1) {return RiskLevel.NEGLIGIBLE_RISK;}
+		else if (riskIndex.intValue()==2) {return RiskLevel.VERY_LOW_RISK;}
+		else if (riskIndex.intValue()==3) {return RiskLevel.LOW_RISK;}
+		else if (riskIndex.intValue()==4) {return RiskLevel.SIGNIFICANT_RISK;}
+		else if (riskIndex.intValue()==5) {return RiskLevel.HIGH_RISK;}
+		else if (riskIndex.intValue()==6) {return RiskLevel.VERY_HIGH_RISK;}
+		return RiskLevel.NEGLIGIBLE_RISK;
+	}
 }
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.classpath b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.classpath
new file mode 100644
index 0000000..e801ebf
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.project b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.project
new file mode 100644
index 0000000..93fcb05
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.robotics.safety.riskanalysis.property</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.settings/org.eclipse.jdt.core.prefs b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c9545f0
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/META-INF/MANIFEST.MF b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e5cc343
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.robotics.safety.riskanalysis.property;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.robotics.safety.riskanalysis.property.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.papyrus.infra.properties,
+ org.eclipse.papyrus.views.properties;bundle-version="4.0.0",
+ org.eclipse.papyrus.robotics.safety.riskanalysis.profile;bundle-version="0.8.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-11
+Automatic-Module-Name: org.eclipse.papyrus.robotics.safety.riskanalysis.property
+Bundle-Localization: plugin
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %providerName
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/build.properties b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/build.properties
new file mode 100644
index 0000000..ab573a2
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               properties/,\
+               plugin.properties
+
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/plugin.properties b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/plugin.properties
new file mode 100644
index 0000000..53d95ff
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = Papyrus Robotics property for Task-Based Risk Analysis
+providerName = CEA LIST
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/plugin.xml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/plugin.xml
new file mode 100644
index 0000000..3bed98b
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.properties.contexts">
+      <context
+            contextModel="properties/TaskBasedRiskAnalysis.ctx"
+            isCustomizable="true">
+      </context>
+   </extension>
+
+</plugin>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/pom.xml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/pom.xml
new file mode 100644
index 0000000..83024b8
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
+		<groupId>org.eclipse.papyrus.robotics</groupId>
+		<version>0.8.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.property</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the property description for Task-Based Risk Analysis in Papyrus Robotics.</description>
+</project>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/TaskBasedRiskAnalysis.ctx b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/TaskBasedRiskAnalysis.ctx
new file mode 100644
index 0000000..bb2d223
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/TaskBasedRiskAnalysis.ctx
@@ -0,0 +1,488 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9" xmlns:contexts="http://www.eclipse.org/papyrus/properties/contexts/0.9">
+  <contexts:Context xmi:id="_C4V0UBRAEeu0R6u-xFcX1w" name="TaskBasedRiskAnalysis">
+    <dependencies href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_69QJkKDJEeSZxfCXzZz3-w"/>
+    <tabs xmi:id="_LpikMBRAEeu0R6u-xFcX1w" label="TaskBasedRiskAnalysis" id="taskbasedriskanalysis" priority="100">
+      <sections xmi:id="_Lpp48BRAEeu0R6u-xFcX1w" name="Single HazardAnalysis" sectionFile="ui/SingleHazardAnalysis.xwt">
+        <widget href="ui/SingleHazardAnalysis.xwt#/"/>
+      </sections>
+      <sections xmi:id="_LprHEBRAEeu0R6u-xFcX1w" name="Multiple HazardAnalysis" sectionFile="ui/MultipleHazardAnalysis.xwt">
+        <widget href="ui/MultipleHazardAnalysis.xwt#/"/>
+      </sections>
+      <sections xmi:id="_LprHERRAEeu0R6u-xFcX1w" name="Single HazardAnalysisContext" sectionFile="ui/SingleHazardAnalysisContext.xwt">
+        <widget href="ui/SingleHazardAnalysisContext.xwt#/"/>
+      </sections>
+      <sections xmi:id="_LpruIBRAEeu0R6u-xFcX1w" name="Multiple HazardAnalysisContext" sectionFile="ui/MultipleHazardAnalysisContext.xwt">
+        <widget href="ui/MultipleHazardAnalysisContext.xwt#/"/>
+      </sections>
+      <sections xmi:id="_LpruIRRAEeu0R6u-xFcX1w" name="Single RiskReduction" sectionFile="ui/SingleRiskReduction.xwt">
+        <widget href="ui/SingleRiskReduction.xwt#/"/>
+      </sections>
+      <sections xmi:id="_LpruIhRAEeu0R6u-xFcX1w" name="Multiple RiskReduction" sectionFile="ui/MultipleRiskReduction.xwt">
+        <widget href="ui/MultipleRiskReduction.xwt#/"/>
+      </sections>
+    </tabs>
+    <views xmi:id="_C4V0URRAEeu0R6u-xFcX1w" name="Single HazardAnalysis" sections="_Lpp48BRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V0ZxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0UhRAEeu0R6u-xFcX1w" name="isSingleHazardAnalysis">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0UxRAEeu0R6u-xFcX1w" name="stereotypeName" value="TaskBasedRiskAnalysis::HazardAnalysis"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0VBRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple HazardAnalysis" sections="_LprHEBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V0ZxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0VRRAEeu0R6u-xFcX1w" name="isMultipleHazardAnalysis">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0VhRAEeu0R6u-xFcX1w" name="stereotypeName" value="TaskBasedRiskAnalysis::HazardAnalysis"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0VxRAEeu0R6u-xFcX1w" name="Single HazardAnalysisContext" sections="_LprHERRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V0ZBRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0WBRAEeu0R6u-xFcX1w" name="isSingleHazardAnalysisContext">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0WRRAEeu0R6u-xFcX1w" name="stereotypeName" value="TaskBasedRiskAnalysis::HazardAnalysisContext"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0WhRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple HazardAnalysisContext" sections="_LpruIBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V0ZBRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0WxRAEeu0R6u-xFcX1w" name="isMultipleHazardAnalysisContext">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0XBRAEeu0R6u-xFcX1w" name="stereotypeName" value="TaskBasedRiskAnalysis::HazardAnalysisContext"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0XRRAEeu0R6u-xFcX1w" name="Single RiskReduction" sections="_LpruIRRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V0ghRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0XhRAEeu0R6u-xFcX1w" name="isSingleRiskReduction">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0XxRAEeu0R6u-xFcX1w" name="stereotypeName" value="TaskBasedRiskAnalysis::RiskReduction"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0YBRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple RiskReduction" sections="_LpruIhRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V0ghRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0YRRAEeu0R6u-xFcX1w" name="isMultipleRiskReduction">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0YhRAEeu0R6u-xFcX1w" name="stereotypeName" value="TaskBasedRiskAnalysis::RiskReduction"/>
+      </constraints>
+    </views>
+    <dataContexts xmi:id="_C4V0YxRAEeu0R6u-xFcX1w" name="TaskBasedRiskAnalysis">
+      <elements xmi:id="_C4V0ZBRAEeu0R6u-xFcX1w" name="HazardAnalysisContext">
+        <properties xmi:id="_C4V0ZRRAEeu0R6u-xFcX1w" name="hazardanalysis" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V0ZhRAEeu0R6u-xFcX1w" name="task" type="Reference"/>
+        <supertypes href="#_C4V09RRAEeu0R6u-xFcX1w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690ybKDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <elements xmi:id="_C4V0ZxRAEeu0R6u-xFcX1w" name="HazardAnalysis">
+        <properties xmi:id="_C4V0aBRAEeu0R6u-xFcX1w" name="Skill" type="Reference"/>
+        <properties xmi:id="_C4V0aRRAEeu0R6u-xFcX1w" name="Origin"/>
+        <properties xmi:id="_C4V0ahRAEeu0R6u-xFcX1w" name="HazardousSituation"/>
+        <properties xmi:id="_C4V0axRAEeu0R6u-xFcX1w" name="HazardousEvent"/>
+        <properties xmi:id="_C4V0bBRAEeu0R6u-xFcX1w" name="PossibleHarm"/>
+        <properties xmi:id="_C4V0bRRAEeu0R6u-xFcX1w" name="Comment"/>
+        <properties xmi:id="_C4V0bhRAEeu0R6u-xFcX1w" name="Initial_Occurence" type="Enumeration"/>
+        <properties xmi:id="_C4V0bxRAEeu0R6u-xFcX1w" name="Initial_Avoidance" type="Enumeration"/>
+        <properties xmi:id="_C4V0cBRAEeu0R6u-xFcX1w" name="Initial_Frequency" type="Enumeration"/>
+        <properties xmi:id="_C4V0cRRAEeu0R6u-xFcX1w" name="Initial_Severity" type="Enumeration"/>
+        <properties xmi:id="_C4V0chRAEeu0R6u-xFcX1w" name="Initial_Criticality" type="Enumeration"/>
+        <properties xmi:id="_C4V0cxRAEeu0R6u-xFcX1w" name="Final_Occurence" type="Enumeration"/>
+        <properties xmi:id="_C4V0dBRAEeu0R6u-xFcX1w" name="Final_Avoidance" type="Enumeration"/>
+        <properties xmi:id="_C4V0dRRAEeu0R6u-xFcX1w" name="Final_Frequency" type="Enumeration"/>
+        <properties xmi:id="_C4V0dhRAEeu0R6u-xFcX1w" name="Final_Severity" type="Enumeration"/>
+        <properties xmi:id="_C4V0dxRAEeu0R6u-xFcX1w" name="Final_Criticality" type="Enumeration"/>
+        <properties xmi:id="_C4V0eBRAEeu0R6u-xFcX1w" name="Hazard" type="Enumeration"/>
+        <properties xmi:id="_C4V0eRRAEeu0R6u-xFcX1w" name="Initial_RiskLevel" type="Enumeration"/>
+        <properties xmi:id="_C4V0ehRAEeu0R6u-xFcX1w" name="Final_RiskLevel" type="Enumeration"/>
+        <properties xmi:id="_C4V0exRAEeu0R6u-xFcX1w" name="ContactAera" type="Enumeration"/>
+        <properties xmi:id="_C4V0fBRAEeu0R6u-xFcX1w" name="Initial_DesignRiskReduction" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V0fRRAEeu0R6u-xFcX1w" name="Final_DesignRiskReduction" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V0fhRAEeu0R6u-xFcX1w" name="Initial_TechnicalRiskReduction" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V0fxRAEeu0R6u-xFcX1w" name="Final_TechnicalRiskReduction" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V0gBRAEeu0R6u-xFcX1w" name="Initial_OrganizationalRiskReduction" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V0gRRAEeu0R6u-xFcX1w" name="Final_OrganizationalRiskReduction" type="Reference" multiplicity="-1"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yQKDJEeSZxfCXzZz3-w"/>
+        <supertypes href="#_C4V1AhRAEeu0R6u-xFcX1w"/>
+      </elements>
+      <elements xmi:id="_C4V0ghRAEeu0R6u-xFcX1w" name="RiskReduction">
+        <properties xmi:id="_C4V0gxRAEeu0R6u-xFcX1w" name="Description"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
+      </elements>
+      <modelElementFactory href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@modelElementFactories.2"/>
+    </dataContexts>
+  </contexts:Context>
+  <contexts:Context xmi:id="_C4V0hBRAEeu0R6u-xFcX1w" name="bpc">
+    <dependencies href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_69QJkKDJEeSZxfCXzZz3-w"/>
+    <tabs xmi:id="_L42ykBRAEeu0R6u-xFcX1w" label="bpc" id="bpc" priority="100">
+      <sections xmi:id="_L42ykRRAEeu0R6u-xFcX1w" name="Single Connector" sectionFile="ui/SingleConnector.xwt">
+        <widget href="ui/SingleConnector.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L43ZoBRAEeu0R6u-xFcX1w" name="Multiple Connector" sectionFile="ui/MultipleConnector.xwt">
+        <widget href="ui/MultipleConnector.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L43ZoRRAEeu0R6u-xFcX1w" name="Single Entity" sectionFile="ui/SingleEntity.xwt">
+        <widget href="ui/SingleEntity.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L43ZohRAEeu0R6u-xFcX1w" name="Multiple Entity" sectionFile="ui/MultipleEntity.xwt">
+        <widget href="ui/MultipleEntity.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L43ZoxRAEeu0R6u-xFcX1w" name="Single Connects" sectionFile="ui/SingleConnects.xwt">
+        <widget href="ui/SingleConnects.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L44AsBRAEeu0R6u-xFcX1w" name="Multiple Connects" sectionFile="ui/MultipleConnects.xwt">
+        <widget href="ui/MultipleConnects.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L44nwBRAEeu0R6u-xFcX1w" name="Single Relation" sectionFile="ui/SingleRelation.xwt">
+        <widget href="ui/SingleRelation.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L44nwRRAEeu0R6u-xFcX1w" name="Multiple Relation" sectionFile="ui/MultipleRelation.xwt">
+        <widget href="ui/MultipleRelation.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L45O0BRAEeu0R6u-xFcX1w" name="Single Block" sectionFile="ui/SingleBlock.xwt">
+        <widget href="ui/SingleBlock.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L45O0RRAEeu0R6u-xFcX1w" name="Multiple Block" sectionFile="ui/MultipleBlock.xwt">
+        <widget href="ui/MultipleBlock.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L45O0hRAEeu0R6u-xFcX1w" name="Single Contains" sectionFile="ui/SingleContains.xwt">
+        <widget href="ui/SingleContains.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L4514BRAEeu0R6u-xFcX1w" name="Multiple Contains" sectionFile="ui/MultipleContains.xwt">
+        <widget href="ui/MultipleContains.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L4514RRAEeu0R6u-xFcX1w" name="Single Instance_of" sectionFile="ui/SingleInstance_of.xwt">
+        <widget href="ui/SingleInstance_of.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L4514hRAEeu0R6u-xFcX1w" name="Multiple Instance_of" sectionFile="ui/MultipleInstance_of.xwt">
+        <widget href="ui/MultipleInstance_of.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L4514xRAEeu0R6u-xFcX1w" name="Single Collection" sectionFile="ui/SingleCollection.xwt">
+        <widget href="ui/SingleCollection.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L46c8BRAEeu0R6u-xFcX1w" name="Multiple Collection" sectionFile="ui/MultipleCollection.xwt">
+        <widget href="ui/MultipleCollection.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L46c8RRAEeu0R6u-xFcX1w" name="Single Dock" sectionFile="ui/SingleDock.xwt">
+        <widget href="ui/SingleDock.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L46c8hRAEeu0R6u-xFcX1w" name="Multiple Dock" sectionFile="ui/MultipleDock.xwt">
+        <widget href="ui/MultipleDock.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L46c8xRAEeu0R6u-xFcX1w" name="Single Port" sectionFile="ui/SinglePort.xwt">
+        <widget href="ui/SinglePort.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L46c9BRAEeu0R6u-xFcX1w" name="Multiple Port" sectionFile="ui/MultiplePort.xwt">
+        <widget href="ui/MultiplePort.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L46c9RRAEeu0R6u-xFcX1w" name="Single IdMetaData" sectionFile="ui/SingleIdMetaData.xwt">
+        <widget href="ui/SingleIdMetaData.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L46c9hRAEeu0R6u-xFcX1w" name="Multiple IdMetaData" sectionFile="ui/MultipleIdMetaData.xwt">
+        <widget href="ui/MultipleIdMetaData.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47EABRAEeu0R6u-xFcX1w" name="Single Conforms_to" sectionFile="ui/SingleConforms_to.xwt">
+        <widget href="ui/SingleConforms_to.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47EARRAEeu0R6u-xFcX1w" name="Multiple Conforms_to" sectionFile="ui/MultipleConforms_to.xwt">
+        <widget href="ui/MultipleConforms_to.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47EAhRAEeu0R6u-xFcX1w" name="Single ReificationMetaData" sectionFile="ui/SingleReificationMetaData.xwt">
+        <widget href="ui/SingleReificationMetaData.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47EAxRAEeu0R6u-xFcX1w" name="Multiple ReificationMetaData" sectionFile="ui/MultipleReificationMetaData.xwt">
+        <widget href="ui/MultipleReificationMetaData.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47EBBRAEeu0R6u-xFcX1w" name="Single Is_a" sectionFile="ui/SingleIs_a.xwt">
+        <widget href="ui/SingleIs_a.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47rEBRAEeu0R6u-xFcX1w" name="Multiple Is_a" sectionFile="ui/MultipleIs_a.xwt">
+        <widget href="ui/MultipleIs_a.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47rERRAEeu0R6u-xFcX1w" name="Single VersionMetaData" sectionFile="ui/SingleVersionMetaData.xwt">
+        <widget href="ui/SingleVersionMetaData.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47rEhRAEeu0R6u-xFcX1w" name="Multiple VersionMetaData" sectionFile="ui/MultipleVersionMetaData.xwt">
+        <widget href="ui/MultipleVersionMetaData.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L47rExRAEeu0R6u-xFcX1w" name="Single Has_a" sectionFile="ui/SingleHas_a.xwt">
+        <widget href="ui/SingleHas_a.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L48SIBRAEeu0R6u-xFcX1w" name="Multiple Has_a" sectionFile="ui/MultipleHas_a.xwt">
+        <widget href="ui/MultipleHas_a.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L48SIRRAEeu0R6u-xFcX1w" name="Single Constraints" sectionFile="ui/SingleConstraints.xwt">
+        <widget href="ui/SingleConstraints.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L48SIhRAEeu0R6u-xFcX1w" name="Multiple Constraints" sectionFile="ui/MultipleConstraints.xwt">
+        <widget href="ui/MultipleConstraints.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L48SIxRAEeu0R6u-xFcX1w" name="Single Property" sectionFile="ui/SingleProperty.xwt">
+        <widget href="ui/SingleProperty.xwt#/"/>
+      </sections>
+      <sections xmi:id="_L48SJBRAEeu0R6u-xFcX1w" name="Multiple Property" sectionFile="ui/MultipleProperty.xwt">
+        <widget href="ui/MultipleProperty.xwt#/"/>
+      </sections>
+    </tabs>
+    <views xmi:id="_C4V0hRRAEeu0R6u-xFcX1w" name="Single Connector" sections="_L42ykRRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1AxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0hhRAEeu0R6u-xFcX1w" name="isSingleConnector">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0hxRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Connector"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0iBRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Connector" sections="_L43ZoBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1AxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0iRRAEeu0R6u-xFcX1w" name="isMultipleConnector">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0ihRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Connector"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0ixRAEeu0R6u-xFcX1w" name="Single Entity" sections="_L43ZoRRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V09RRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0jBRAEeu0R6u-xFcX1w" name="isSingleEntity">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0jRRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Entity"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0jhRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Entity" sections="_L43ZohRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V09RRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0jxRAEeu0R6u-xFcX1w" name="isMultipleEntity">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0kBRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Entity"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0kRRAEeu0R6u-xFcX1w" name="Single Connects" sections="_L43ZoxRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1BRRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0khRAEeu0R6u-xFcX1w" name="isSingleConnects">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0kxRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Connects"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0lBRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Connects" sections="_L44AsBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1BRRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0lRRAEeu0R6u-xFcX1w" name="isMultipleConnects">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0lhRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Connects"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0lxRAEeu0R6u-xFcX1w" name="Single Relation" sections="_L44nwBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1ExRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0mBRAEeu0R6u-xFcX1w" name="isSingleRelation">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0mRRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Relation"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0mhRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Relation" sections="_L44nwRRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1ExRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0mxRAEeu0R6u-xFcX1w" name="isMultipleRelation">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0nBRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Relation"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0nRRAEeu0R6u-xFcX1w" name="Single Block" sections="_L45O0BRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1FRRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0nhRAEeu0R6u-xFcX1w" name="isSingleBlock">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0nxRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Block"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0oBRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Block" sections="_L45O0RRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1FRRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0oRRAEeu0R6u-xFcX1w" name="isMultipleBlock">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0ohRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Block"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0oxRAEeu0R6u-xFcX1w" name="Single Contains" sections="_L45O0hRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1BhRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0pBRAEeu0R6u-xFcX1w" name="isSingleContains">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0pRRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Contains"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0phRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Contains" sections="_L4514BRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1BhRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0pxRAEeu0R6u-xFcX1w" name="isMultipleContains">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0qBRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Contains"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0qRRAEeu0R6u-xFcX1w" name="Single Instance_of" sections="_L4514RRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V08xRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0qhRAEeu0R6u-xFcX1w" name="isSingleInstance_of">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0qxRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Instance_of"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0rBRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Instance_of" sections="_L4514hRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V08xRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0rRRAEeu0R6u-xFcX1w" name="isMultipleInstance_of">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0rhRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Instance_of"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0rxRAEeu0R6u-xFcX1w" name="Single Collection" sections="_L4514xRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1CBRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0sBRAEeu0R6u-xFcX1w" name="isSingleCollection">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0sRRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Collection"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0shRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Collection" sections="_L46c8BRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1CBRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0sxRAEeu0R6u-xFcX1w" name="isMultipleCollection">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0tBRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Collection"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0tRRAEeu0R6u-xFcX1w" name="Single Dock" sections="_L46c8RRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V08hRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0thRAEeu0R6u-xFcX1w" name="isSingleDock">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0txRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Dock"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0uBRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Dock" sections="_L46c8hRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V08hRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0uRRAEeu0R6u-xFcX1w" name="isMultipleDock">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0uhRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Dock"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0uxRAEeu0R6u-xFcX1w" name="Single Port" sections="_L46c8xRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1BBRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0vBRAEeu0R6u-xFcX1w" name="isSinglePort">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0vRRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Port"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0vhRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Port" sections="_L46c9BRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1BBRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0vxRAEeu0R6u-xFcX1w" name="isMultiplePort">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0wBRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Port"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0wRRAEeu0R6u-xFcX1w" name="Single IdMetaData" sections="_L46c9RRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V0_RRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0whRAEeu0R6u-xFcX1w" name="isSingleIdMetaData">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0wxRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::IdMetaData"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0xBRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple IdMetaData" sections="_L46c9hRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V0_RRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0xRRAEeu0R6u-xFcX1w" name="isMultipleIdMetaData">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0xhRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::IdMetaData"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0xxRAEeu0R6u-xFcX1w" name="Single Conforms_to" sections="_L47EABRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1DxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0yBRAEeu0R6u-xFcX1w" name="isSingleConforms_to">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0yRRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Conforms_to"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0yhRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Conforms_to" sections="_L47EARRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1DxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0yxRAEeu0R6u-xFcX1w" name="isMultipleConforms_to">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0zBRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Conforms_to"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V0zRRAEeu0R6u-xFcX1w" name="Single ReificationMetaData" sections="_L47EAhRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1CxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V0zhRAEeu0R6u-xFcX1w" name="isSingleReificationMetaData">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V0zxRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::ReificationMetaData"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V00BRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple ReificationMetaData" sections="_L47EAxRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1CxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V00RRAEeu0R6u-xFcX1w" name="isMultipleReificationMetaData">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V00hRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::ReificationMetaData"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V00xRAEeu0R6u-xFcX1w" name="Single Is_a" sections="_L47EBBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1BxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V01BRAEeu0R6u-xFcX1w" name="isSingleIs_a">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V01RRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Is_a"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V01hRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Is_a" sections="_L47rEBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1BxRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V01xRAEeu0R6u-xFcX1w" name="isMultipleIs_a">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V02BRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Is_a"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V02RRAEeu0R6u-xFcX1w" name="Single VersionMetaData" sections="_L47rERRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1EBRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V02hRAEeu0R6u-xFcX1w" name="isSingleVersionMetaData">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V02xRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::VersionMetaData"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V03BRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple VersionMetaData" sections="_L47rEhRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1EBRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V03RRAEeu0R6u-xFcX1w" name="isMultipleVersionMetaData">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V03hRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::VersionMetaData"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V03xRAEeu0R6u-xFcX1w" name="Single Has_a" sections="_L47rExRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1DhRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V04BRAEeu0R6u-xFcX1w" name="isSingleHas_a">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V04RRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Has_a"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V04hRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Has_a" sections="_L48SIBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1DhRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V04xRAEeu0R6u-xFcX1w" name="isMultipleHas_a">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V05BRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Has_a"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V05RRAEeu0R6u-xFcX1w" name="Single Constraints" sections="_L48SIRRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V09BRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V05hRAEeu0R6u-xFcX1w" name="isSingleConstraints">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V05xRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Constraints"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V06BRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Constraints" sections="_L48SIhRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V09BRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V06RRAEeu0R6u-xFcX1w" name="isMultipleConstraints">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V06hRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Constraints"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V06xRAEeu0R6u-xFcX1w" name="Single Property" sections="_L48SIxRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1AhRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V07BRAEeu0R6u-xFcX1w" name="isSingleProperty">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V07RRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Property"/>
+      </constraints>
+    </views>
+    <views xmi:id="_C4V07hRAEeu0R6u-xFcX1w" elementMultiplicity="-1" name="Multiple Property" sections="_L48SJBRAEeu0R6u-xFcX1w" automaticContext="true" datacontexts="_C4V1AhRAEeu0R6u-xFcX1w">
+      <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_C4V07xRAEeu0R6u-xFcX1w" name="isMultipleProperty">
+        <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
+        <properties xsi:type="constraints:ValueProperty" xmi:id="_C4V08BRAEeu0R6u-xFcX1w" name="stereotypeName" value="bpc::Property"/>
+      </constraints>
+    </views>
+    <dataContexts xmi:id="_C4V08RRAEeu0R6u-xFcX1w" name="bpc">
+      <elements xmi:id="_C4V08hRAEeu0R6u-xFcX1w" name="Dock"/>
+      <elements xmi:id="_C4V08xRAEeu0R6u-xFcX1w" name="Instance_of" supertypes="_C4V1ExRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V09BRAEeu0R6u-xFcX1w" name="Constraints" supertypes="_C4V1ExRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V09RRAEeu0R6u-xFcX1w" name="Entity">
+        <properties xmi:id="_C4V09hRAEeu0R6u-xFcX1w" name="property" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V09xRAEeu0R6u-xFcX1w" name="instance_uid"/>
+        <properties xmi:id="_C4V0-BRAEeu0R6u-xFcX1w" name="description"/>
+        <properties xmi:id="_C4V0-RRAEeu0R6u-xFcX1w" name="authorship"/>
+        <properties xmi:id="_C4V0-hRAEeu0R6u-xFcX1w" name="provenance"/>
+        <properties xmi:id="_C4V0-xRAEeu0R6u-xFcX1w" name="model_uid"/>
+        <properties xmi:id="_C4V0_BRAEeu0R6u-xFcX1w" name="metamodel_uid"/>
+      </elements>
+      <elements xmi:id="_C4V0_RRAEeu0R6u-xFcX1w" name="IdMetaData">
+        <properties xmi:id="_C4V0_hRAEeu0R6u-xFcX1w" name="instance_uid"/>
+        <properties xmi:id="_C4V0_xRAEeu0R6u-xFcX1w" name="model_uid"/>
+        <properties xmi:id="_C4V1ABRAEeu0R6u-xFcX1w" name="description"/>
+        <properties xmi:id="_C4V1ARRAEeu0R6u-xFcX1w" name="metamodel_uid"/>
+      </elements>
+      <elements xmi:id="_C4V1AhRAEeu0R6u-xFcX1w" name="Property" supertypes="_C4V09RRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V1AxRAEeu0R6u-xFcX1w" name="Connector" supertypes="_C4V09RRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V1BBRAEeu0R6u-xFcX1w" name="Port" supertypes="_C4V09RRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V1BRRAEeu0R6u-xFcX1w" name="Connects" supertypes="_C4V1ExRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V1BhRAEeu0R6u-xFcX1w" name="Contains" supertypes="_C4V1ExRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V1BxRAEeu0R6u-xFcX1w" name="Is_a" supertypes="_C4V1ExRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V1CBRAEeu0R6u-xFcX1w" name="Collection" supertypes="_C4V09RRAEeu0R6u-xFcX1w">
+        <properties xmi:id="_C4V1CRRAEeu0R6u-xFcX1w" name="relation" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V1ChRAEeu0R6u-xFcX1w" name="entity" type="Reference" multiplicity="-1"/>
+      </elements>
+      <elements xmi:id="_C4V1CxRAEeu0R6u-xFcX1w" name="ReificationMetaData">
+        <properties xmi:id="_C4V1DBRAEeu0R6u-xFcX1w" name="parents_eref_name"/>
+        <properties xmi:id="_C4V1DRRAEeu0R6u-xFcX1w" name="entity" type="Reference"/>
+      </elements>
+      <elements xmi:id="_C4V1DhRAEeu0R6u-xFcX1w" name="Has_a" supertypes="_C4V1ExRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V1DxRAEeu0R6u-xFcX1w" name="Conforms_to" supertypes="_C4V1ExRAEeu0R6u-xFcX1w"/>
+      <elements xmi:id="_C4V1EBRAEeu0R6u-xFcX1w" name="VersionMetaData">
+        <properties xmi:id="_C4V1ERRAEeu0R6u-xFcX1w" name="provenance"/>
+        <properties xmi:id="_C4V1EhRAEeu0R6u-xFcX1w" name="authorship"/>
+      </elements>
+      <elements xmi:id="_C4V1ExRAEeu0R6u-xFcX1w" name="Relation" supertypes="_C4V09RRAEeu0R6u-xFcX1w _C4V1FRRAEeu0R6u-xFcX1w">
+        <properties xmi:id="_C4V1FBRAEeu0R6u-xFcX1w" name="reification" type="Reference"/>
+      </elements>
+      <elements xmi:id="_C4V1FRRAEeu0R6u-xFcX1w" name="Block">
+        <properties xmi:id="_C4V1FhRAEeu0R6u-xFcX1w" name="port" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V1FxRAEeu0R6u-xFcX1w" name="connector" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V1GBRAEeu0R6u-xFcX1w" name="collection" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V1GRRAEeu0R6u-xFcX1w" name="block" type="Reference" multiplicity="-1"/>
+        <properties xmi:id="_C4V1GhRAEeu0R6u-xFcX1w" name="relation" type="Reference" multiplicity="-1"/>
+        <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
+        <supertypes href="#_C4V09RRAEeu0R6u-xFcX1w"/>
+      </elements>
+      <modelElementFactory href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@modelElementFactories.2"/>
+    </dataContexts>
+  </contexts:Context>
+</xmi:XMI>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleBlock.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleBlock.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleBlock.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleCollection.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleCollection.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleCollection.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConforms_to.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConforms_to.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConforms_to.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConnector.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConnector.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConnector.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConnects.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConnects.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConnects.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConstraints.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConstraints.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleConstraints.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleContains.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleContains.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleContains.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleDock.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleDock.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleDock.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleEntity.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleEntity.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleEntity.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHas_a.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHas_a.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHas_a.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHazardAnalysis.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHazardAnalysis.xwt
new file mode 100644
index 0000000..ea8b89b
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHazardAnalysis.xwt
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_Occurence"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_Avoidance"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_Frequency"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_Severity"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_Occurence"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_Avoidance"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_Frequency"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_Severity"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Hazard"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:ContactAera"></ppe:EnumCombo>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHazardAnalysisContext.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHazardAnalysisContext.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleHazardAnalysisContext.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleIdMetaData.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleIdMetaData.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleIdMetaData.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleInstance_of.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleInstance_of.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleInstance_of.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleIs_a.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleIs_a.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleIs_a.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultiplePort.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultiplePort.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultiplePort.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleProperty.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleProperty.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleProperty.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleReificationMetaData.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleReificationMetaData.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleReificationMetaData.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleRelation.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleRelation.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleRelation.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleRiskReduction.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleRiskReduction.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleRiskReduction.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleVersionMetaData.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleVersionMetaData.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/MultipleVersionMetaData.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleBlock.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleBlock.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleBlock.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleCollection.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleCollection.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleCollection.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConforms_to.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConforms_to.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConforms_to.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConnector.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConnector.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConnector.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConnects.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConnects.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConnects.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConstraints.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConstraints.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleConstraints.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleContains.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleContains.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleContains.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleDock.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleDock.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleDock.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleEntity.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleEntity.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleEntity.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHas_a.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHas_a.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHas_a.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHazardAnalysis.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHazardAnalysis.xwt
new file mode 100644
index 0000000..37ebfc0
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHazardAnalysis.xwt
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Skill"></ppe:ReferenceDialog>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Hazard"></ppe:EnumCombo>
+		<ppe:StringEditor input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:PossibleHarm"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Origin"></ppe:StringEditor>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:ContactAera"></ppe:EnumCombo>
+		<ppe:StringEditor input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:HazardousSituation"></ppe:StringEditor>
+		<ppe:StringEditor input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:HazardousEvent"></ppe:StringEditor>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_Occurence"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_Avoidance"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_Frequency"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_Severity"></ppe:EnumCombo>
+		<ppe:MultiReference input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_DesignRiskReduction"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_TechnicalRiskReduction"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Initial_OrganizationalRiskReduction"></ppe:MultiReference>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+	</Composite>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_Occurence"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_Avoidance"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_Frequency"></ppe:EnumCombo>
+		<ppe:EnumCombo input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_Severity"></ppe:EnumCombo>
+		<ppe:MultiReference input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_DesignRiskReduction"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_TechnicalRiskReduction"></ppe:MultiReference>
+		<ppe:MultiReference input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Final_OrganizationalRiskReduction"></ppe:MultiReference>
+		<ppe:StringEditor input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysis:Comment"></ppe:StringEditor>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHazardAnalysisContext.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHazardAnalysisContext.xwt
new file mode 100644
index 0000000..a672d58
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleHazardAnalysisContext.xwt
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:ReferenceDialog input="{Binding}"
+			property="TaskBasedRiskAnalysis:HazardAnalysisContext:task"></ppe:ReferenceDialog>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleIdMetaData.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleIdMetaData.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleIdMetaData.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleInstance_of.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleInstance_of.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleInstance_of.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleIs_a.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleIs_a.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleIs_a.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SinglePort.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SinglePort.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SinglePort.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleProperty.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleProperty.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleProperty.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleReificationMetaData.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleReificationMetaData.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleReificationMetaData.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleRelation.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleRelation.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleRelation.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleRiskReduction.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleRiskReduction.xwt
new file mode 100644
index 0000000..c7a6df3
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleRiskReduction.xwt
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+	<Composite>
+		<Composite.layout>
+			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
+		</Composite.layout>
+		<ppe:StringEditor input="{Binding}"
+			property="TaskBasedRiskAnalysis:RiskReduction:Description"></ppe:StringEditor>
+	</Composite>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleVersionMetaData.xwt b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleVersionMetaData.xwt
new file mode 100644
index 0000000..e29bdbb
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/properties/ui/SingleVersionMetaData.xwt
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Composite xmlns="http://www.eclipse.org/xwt/presentation"
+	xmlns:j="clr-namespace:java.lang"
+	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+	xmlns:x="http://www.eclipse.org/xwt">
+	<Composite.layout>
+		<ppel:PropertiesLayout></ppel:PropertiesLayout>
+	</Composite.layout>
+</Composite>
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/src/org/eclipse/papyrus/robotics/safety/riskanalysis/property/Activator.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/src/org/eclipse/papyrus/robotics/safety/riskanalysis/property/Activator.java
new file mode 100644
index 0000000..96db0a7
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.property/src/org/eclipse/papyrus/robotics/safety/riskanalysis/property/Activator.java
@@ -0,0 +1,44 @@
+package org.eclipse.papyrus.robotics.safety.riskanalysis.property;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.robotics.safety.riskanalysis.property"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/.classpath b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/.classpath
index bc3587d..3098251 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/.classpath
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/.classpath
@@ -1,6 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+		<accessrules>
+			<accessrule kind="accessible" pattern="*"/>
+		</accessrules>
+	</classpathentry>
+	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/.settings/org.eclipse.jdt.core.prefs b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/.settings/org.eclipse.jdt.core.prefs
index f4d933e..7adc0fb 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/.settings/org.eclipse.jdt.core.prefs
@@ -3,5 +3,8 @@
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
 org.eclipse.jdt.core.compiler.compliance=11
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
 org.eclipse.jdt.core.compiler.source=11
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/META-INF/MANIFEST.MF b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/META-INF/MANIFEST.MF
index 1bca595..1618d82 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/META-INF/MANIFEST.MF
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/META-INF/MANIFEST.MF
@@ -5,6 +5,21 @@
 Bundle-Version: 0.8.0.qualifier
 Automatic-Module-Name: org.polarsys.esf.riskanalysis.table
 Bundle-RequiredExecutionEnvironment: JavaSE-11
-Require-Bundle: org.eclipse.papyrus.infra.nattable
+Require-Bundle: org.eclipse.papyrus.infra.nattable,
+ org.eclipse.uml2.uml;bundle-version="5.5.0",
+ org.eclipse.papyrus.uml.nattable;bundle-version="[5.0.0,7.0.0)",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="5.5.100",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.4.0,5.0.0)",
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="[1.3.0,3.0.0)",
+ org.eclipse.papyrus.robotics.safety.riskanalysis.profile;bundle-version="0.8.0",
+ org.eclipse.nebula.widgets.nattable.core;bundle-version="1.5.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.9.0",
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="[5.2.0,7.0.0)",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="[4.2.0,6.0.0)",
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.6.0,5.0.0)",
+ org.eclipse.papyrus.uml.nattable;bundle-version="[5.0.0,7.0.0)",
+ org.eclipse.ui,
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="[2.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.1.0,5.0.0)"
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/architecture/hazardanalysis.architecture b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/architecture/hazardanalysis.architecture
index 2ce6833..9d05dd6 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/architecture/hazardanalysis.architecture
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/architecture/hazardanalysis.architecture
@@ -1,15 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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: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="org.eclipse.papyrus.robotics.safety.riskanalysis.haraarch" id="org.eclipse.papyrus.robotics" name="Papyrus for Robotics - compliant with RobMoSys H2020" description="Architecture domain for Papyrus for Robotics" icon="platform:/plugin/org.eclipse.papyrus.robotics.diagrams/icons/robotics-16x16.png">
   <stakeholders xmi:type="architecture:Stakeholder" xmi:id="_SFcaQOGpEeewEL8Y1DXhbQ" id="org.eclipse.papyrus.robotics.safety.riskanalysis.stakeholder.HARAExpert" name="Hazard and Risk Analysis Expert" description="Analysis of Hazards and Assessment of Risks for Robotics Tasks" concerns="org.eclipse.papyrus.robotics.safety.riskanalysis.concern.HARAModeling"/>
-  <!--
-  <stakeholders xmi:type="architecture:Stakeholder" xmi:id="_wrP_4EmSEem0gvUEdUYVHQ" id="org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysisDesigner" name="Hazard Analysis Expert" description="Task Based Hazard Analysis Expert" concerns="org.eclipse.papyrus.robotics.safety.riskanalysis.concern.SafetyModeling"/>
-  -->
   <concerns xmi:type="architecture:Concern" xmi:id="org.eclipse.papyrus.robotics.safety.riskanalysis.concern.HARAModeling" id="org.eclipse.papyrus.robotics.safety.riskanalysis.concern.HARAModeling" name="Task-Based Hazard Analysis and Risk Assessment"/>
   <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_JosFoFZaEeefxp1AU1LPhQ" id="org.eclipse.papyrus.robotics.architecture" name="Papyrus for Robotics ADL" description="Papyrus for Robotics ADL (architecture description language)" icon="platform:/plugin/org.eclipse.papyrus.robotics.diagrams/icons/robotics-16x16.png" extensionPrefix="" creationCommandClass="org.eclipse.papyrus.robotics.core.commands.CreateRobMoSysModelCommand">
-  <!--
-  <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_XiGkgEMqEeeNE9tB5iN5zA" id="org.eclipse.papyrus.robotics.safety.context" name="Robotics Task-Based Hazard Analysis ADL" description="Extension for Papyrus Robotics Safety" defaultViewpoints="_fuR0EPRYEeer9MDJI6SgXA" extensionPrefix="" creationCommandClass="org.polarsys.esf.core.diagram.esfarchitectureconcepts.command.CreateESFModelCommand">
-  -->
-    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_fuR0EPRYEeer9MDJI6SgXA" id="org.eclipse.papyrus.robotics.viewpoint.TadkBasedHazardAnalysis" name="Task-Based Hazard Analysis View" description="Perform Task-Based Hazard Analysis" concerns="org.eclipse.papyrus.robotics.safety.riskanalysis.concern.HARAModeling" representationKinds="org.eclipse.papyrus.robotics.safety.riskanalysis.table.HazardAnalysisTableType"/>
+    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_fuR0EPRYEeer9MDJI6SgXA" id="org.eclipse.papyrus.robotics.viewpoint.TaskBasedHazardAnalysis" name="Task-Based Hazard Analysis View" description="Perform Task-Based Hazard Analysis" concerns="org.eclipse.papyrus.robotics.safety.riskanalysis.concern.HARAModeling" representationKinds="org.eclipse.papyrus.robotics.safety.riskanalysis.table.HazardAnalysisTableType _7O6uYBRLEeu0R6u-xFcX1w"/>
     <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/notation.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
     <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/gmfdiag-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
     <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.services.controlmode/model/controlmode.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
@@ -28,7 +22,16 @@
       <owningRules xmi:type="representation:OwningRule" xmi:id="_mu1-EEWVEemNyPj0A9fWiA" permit="true" multiplicity="-1">
         <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>
       </owningRules>
-      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration#_4sLZQEWIEem1bPXeAqLfZw"/>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration#_ofc8oGuBEeuXXJEl13q1ZA"/>
+    </representationKinds>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="_7O6uYBRLEeu0R6u-xFcX1w" id="org.eclipse.papyrus.robotics.safety.riskanalysis.table.RiskReductionTableType" name="Papyrus for Robotics ADL Risk Reduction Table" description="" icon="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/icons/RiskReductionTableType.png" concerns="org.eclipse.papyrus.robotics.safety.riskanalysis.concern.HARAModeling" implementationID="RiskReductionTableType">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_7O7VcBRLEeu0R6u-xFcX1w" permit="true" elementMultiplicity="1" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>
+      </modelRules>
+      <owningRules xmi:type="representation:OwningRule" xmi:id="_7O78gBRLEeu0R6u-xFcX1w" permit="true" multiplicity="-1">
+        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>
+      </owningRules>
+      <configuration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/RiskReductionTableType.nattableconfiguration#_ofc8oGuBEeuXXJEl13q1ZA"/>
     </representationKinds>
     <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/robotics/safety/riskanalysis/1#/"/>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/build.properties b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/build.properties
index b032dd4..a651036 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/build.properties
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/build.properties
@@ -7,6 +7,8 @@
                plugin.xml/,\
                plugin.properties,\
                plugin.xml,\
-               architecture/
+               architecture/,\
+               src/,\
+               .classpath
 output..=bin/
 source..=src/
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/icons/RiskReductionTableType.png b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/icons/RiskReductionTableType.png
new file mode 100644
index 0000000..2a97952
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/icons/RiskReductionTableType.png
Binary files differ
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/plugin.properties b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/plugin.properties
index fe34567..c3fb113 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/plugin.properties
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/plugin.properties
@@ -1,13 +1,4 @@
-#################################################################################
-# Copyright (c) 2020 CEA LIST.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
 #
-# SPDX-License-Identifier: EPL-2.0
-#
-##################################################################################
 
-providerName = Eclipse Modeling Project
-pluginName = Papyrus Robotics table for Task-Based Risk Analysis (Incubation)
+pluginName = Papyrus Robotics table for Task-Based Risk Analysis
+providerName = CEA LIST
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/plugin.xml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/plugin.xml
index c310eea..a93252c 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/plugin.xml
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/plugin.xml
@@ -1,10 +1,47 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?eclipse version="3.4"?><plugin>
+                            <extension
+                                  point="org.eclipse.papyrus.infra.nattable.axismanager">
+                               <axisManager
+                                     id="org.eclipse.papyrus.robotics.safety.riskananlysis.table.hazardanalysisaxismanager"
+                                     manager="org.eclipse.papyrus.robotics.safety.riskanalysis.table.HazardAnalysisAxisManager">
+                               </axisManager>
+                               <axisManager
+                                     id="org.eclipse.papyrus.robotics.safety.riskananlysis.table.riskreductionaxismanager"
+                                     manager="org.eclipse.papyrus.robotics.safety.riskanalysis.table.RiskReductionAxisManager">
+                               </axisManager>
+                            </extension>
+                            <extension
+                                  point="org.eclipse.papyrus.infra.services.labelprovider.labelProvider">
+                               <labelProvider
+                                     priority="1400"
+                                     provider="org.eclipse.papyrus.robotics.safety.riskanalysis.table.PartHazardAnalysisHeaderLabelProvider">
+                               </labelProvider>
+                               <labelProvider
+                                     priority="1400"
+                                     provider="org.eclipse.papyrus.robotics.safety.riskanalysis.table.PartRiskReductionHeaderLabelProvider">
+                               </labelProvider>
+                            </extension>
+                            <extension
+                                  point="org.eclipse.papyrus.infra.nattable.tester">
+                               <tester
+                                     class="org.eclipse.papyrus.robotics.safety.riskanalysis.table.HazardAnalysisTableTester"
+                                     id="org.eclipse.papyrus.robotics.safety.riskanalysis.table.hazardanalysistabletester">
+                               </tester>
+                               <tester
+                                     class="org.eclipse.papyrus.robotics.safety.riskanalysis.table.RiskReductionTableTester"
+                                     id="org.eclipse.papyrus.robotics.safety.riskanalysis.table.riskreductiontabletester">
+                               </tester>
+                            </extension>
 <extension point="org.eclipse.papyrus.infra.architecture.models">
 		<model path="architecture/hazardanalysis.architecture"/>
 	</extension>
 <extension point="org.eclipse.papyrus.infra.nattable.configuration">
       <configuration file="tableConfiguration/HazardAnalysisTableType.nattableconfiguration" type="HazardAnalysisTableType"/>
+      <configuration
+            file="tableConfiguration/RiskReductionTableType.nattableconfiguration"
+            type="RiskReductionTableType">
+      </configuration>
    </extension>
       
 </plugin>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/pom.xml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/pom.xml
index 95a5523..73ee40d 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/pom.xml
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/pom.xml
@@ -1,13 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>  
-  <parent>
-    <artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
-    <groupId>org.eclipse.papyrus.robotics</groupId>
-    <version>0.8.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.table</artifactId>
-  <packaging>eclipse-plugin</packaging>
-  <description>This module contains the table description for Task-Based Risk Analysis in Papyrus Robotics.</description>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
+		<groupId>org.eclipse.papyrus.robotics</groupId>
+		<version>0.8.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.table</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the table description for Task-Based Risk Analysis in Papyrus Robotics.</description>
 </project>
+
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/Activator.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/Activator.java
new file mode 100644
index 0000000..8ce52c5
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/Activator.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are property of the CEA, their use is subject to specific agreement 
+ * with the CEA.
+ *
+ * Project:  sophia
+ * 
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ * 
+ *****************************************************************************/
+/*  com.cea.sophia.fha.table.config Activator.java */
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	//public static final String PLUGIN_ID = "com.cea.sophia.fha.table.config"; //$NON-NLS-1$
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.robotics.safety.riskanalysis.table;"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.
+	 * BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.
+	 * BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/HazardAnalysisAxisManager.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/HazardAnalysisAxisManager.java
new file mode 100644
index 0000000..0aa87a7
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/HazardAnalysisAxisManager.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are property of the CEA, their use is subject to specific agreement 
+ * with the CEA.
+ *
+ * Project:  Papyrus Robotics
+ * 
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ * 
+ *****************************************************************************/
+/*  com.cea.sophia.fha.table.config.axismanager FHAAxisManager.java */
+
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.HazardAnalysis;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage;
+
+
+// TODO: Auto-generated Javadoc
+/**
+ * 
+ * HazardAnalysisAxisManager Class is dedicated exclusively to manger the items (rows)
+ * in a HazardAnalysis Table.
+ * 
+ */
+public class HazardAnalysisAxisManager
+		extends AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager<HazardAnalysis> {
+
+	
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * stereotypeApplicationHasChanged(org.eclipse.emf.common.notify.
+	 * Notification)
+	 */
+	@Override
+	protected void stereotypeApplicationHasChanged(final Notification notification) {
+		if (notification.isTouch()) {
+			return;
+		}
+		final Object notifier = notification.getNotifier();
+		if (!isInstanceOfRequiredStereotypeApplication(notifier)) {
+			return;
+		}
+		Object feature = notification.getFeature();
+		int eventType = notification.getEventType();
+		if (feature instanceof EReference
+				&& ((EReference) feature).getName().startsWith(getStereotypeApplicationBasePropertyName())) {
+			switch (eventType) {
+			case Notification.SET:
+				final Object newValue = notification.getNewValue();
+				final Object oldValue = notification.getOldValue();
+				if (newValue instanceof Element && isAllowedAsBaseElement((Element) newValue)) {
+					updateManagedList(Collections.singletonList(newValue), Collections.emptyList());
+					this.stereotypedElementsMap.put((EObject) notifier, (Element) newValue);
+				} else if (newValue == null && this.managedObject.contains(oldValue)) {
+					updateManagedList(Collections.emptyList(), Collections.singletonList(oldValue));
+					this.stereotypedElementsMap.remove(notifier);
+					removeStereotypeApplicationListener((EObject) notifier);
+				}
+				break;
+
+			case Notification.UNSET:// never used?
+				final Object oldValue2 = notification.getOldValue();
+				if (oldValue2 instanceof Element && this.managedObject.contains(oldValue2)) {
+					updateManagedList(Collections.emptyList(), Collections.singletonList(oldValue2));
+					this.stereotypedElementsMap.remove(notifier);
+					removeStereotypeApplicationListener((EObject) notifier);
+				}
+				break;
+			default:
+				break;
+			}
+		}
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.emf.nattable.manager.axis.
+	 * AbstractSynchronizedOnEStructuralFeatureAxisManager#getAllManagedAxis()
+	 */
+	@Override
+	public List<Object> getAllManagedAxis() {
+		List<Object> HazardAnalysis = new ArrayList<Object>();
+
+		for (Element el : ((org.eclipse.uml2.uml.Interface) getTableContext()).allOwnedElements()) {
+			if (el.getAppliedStereotype("TaskBasedRiskAnalysis::HazardAnalysis") != null)
+				HazardAnalysis.add(el);
+		}
+		return HazardAnalysis;
+	}
+
+	
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.manager.axis.AbstractAxisManager#
+	 * canCreateAxisElement(java.lang.String)
+	 */
+	@Override
+	public boolean canCreateAxisElement(String elementId) {
+		return RiskanalysisPackage.eINSTANCE.getHazardAnalysis().getInstanceTypeName().equals(elementId);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * isInstanceOfRequiredStereotypeApplication(java.lang.Object)
+	 */
+	@Override
+	protected boolean isInstanceOfRequiredStereotypeApplication(Object object) {
+		return object instanceof HazardAnalysis;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * isAllowedAsBaseElement(org.eclipse.uml2.uml.Element)
+	 */
+	@Override
+	protected boolean isAllowedAsBaseElement(Element element) {
+		return element instanceof org.eclipse.uml2.uml.Class;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * getStereotypeApplication(org.eclipse.uml2.uml.Element)
+	 */
+	@Override
+	protected HazardAnalysis getStereotypeApplication(Element element) {
+		return UMLUtil.getStereotypeApplication(element, HazardAnalysis.class);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * getStereotypeApplicationBasePropertyName()
+	 */
+	@Override
+	protected String getStereotypeApplicationBasePropertyName() {
+		return RiskanalysisPackage.eINSTANCE.getHazardAnalysis_Base_Property().getName();
+	}
+
+	/**
+	 * Gets the stereotype base element.
+	 *
+	 * @param stereotypeApplication
+	 *            the stereotype application
+	 * @return the stereotype base element
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#getStereotypeBaseElement(org.eclipse.emf.ecore.EObject)
+	 */
+	@Override
+	protected Element getStereotypeBaseElement(final HazardAnalysis stereotypeApplication) {
+		return stereotypeApplication.getBase_Property();
+	}
+
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/HazardAnalysisTableTester.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/HazardAnalysisTableTester.java
new file mode 100644
index 0000000..0c7a4cc
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/HazardAnalysisTableTester.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Ansgar Radermacher (CEA LIST)
+ *  yakoub Karoui (CEA LIST)
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.papyrus.infra.nattable.tester.ITableTester;
+
+
+public class HazardAnalysisTableTester implements ITableTester {
+
+	@Override
+	public IStatus isAllowed(Object context) {
+		IStatus status = null;
+		if(context instanceof Class){
+			status = Status.OK_STATUS;
+		}
+		return status;
+	}
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/ParameterTableUtils.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/ParameterTableUtils.java
new file mode 100644
index 0000000..7ab9791
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/ParameterTableUtils.java
@@ -0,0 +1,125 @@
+/*****************************************************************************
+ * 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 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Jeremie Tatibouet (CEA LIST)
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LiteralInteger;
+import org.eclipse.uml2.uml.LiteralReal;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+public class ParameterTableUtils {
+
+	public static boolean isProperty(Object modelElement) {
+		return modelElement instanceof Property;
+	}
+
+	public static boolean hasDefaultValue(Property property) {
+		return property.getDefaultValue() != null;
+	}
+
+
+	public static boolean isSlotValueAnOpaqueExpression(Slot slot) {
+		if (slot != null) {
+			if (slot.getValues().size() == 1) {
+				return slot.getValues().iterator().next() instanceof OpaqueExpression;
+			}
+		}
+		return false;
+	}
+
+	public static OpaqueExpression getSlotValue(Slot slot) {
+		if (slot != null) {
+			if (slot.getValues().size() == 1) {
+				ValueSpecification specification = slot.getValues().iterator().next();
+				if (specification instanceof OpaqueExpression) {
+					return (OpaqueExpression) specification;
+				}
+			}
+		}
+		return null;
+	}
+
+	public static ValueSpecification createValueSpecification(Element context, Slot slot, String value) {
+		if (slot != null && slot.getDefiningFeature() != null && slot.getDefiningFeature().getType() != null) {
+			Type type = slot.getDefiningFeature().getType();
+			return createValueSpecification(context, type, value);
+		}
+		return null;
+	}
+
+	public static ValueSpecification createValueSpecification(Element context, Type type, String value) {
+		ValueSpecification specification = null;
+		if (type == UMLPrimitiveTypesUtils.getInteger(context)) {
+			specification = UMLFactory.eINSTANCE.createLiteralInteger();
+			Integer integerValue = null;
+			try {
+				integerValue = Integer.parseInt(value);
+			} catch (Exception e) {
+			}
+			if (integerValue != null) {
+				((LiteralInteger) specification).setValue(integerValue);
+			}
+		} else if (type == UMLPrimitiveTypesUtils.getBoolean(context)) {
+			specification = UMLFactory.eINSTANCE.createLiteralBoolean();
+			Boolean booleanValue = null;
+			try {
+				booleanValue = Boolean.parseBoolean(value);
+			} catch (Exception e) {
+			}
+			if (booleanValue != null) {
+				((LiteralBoolean) specification).setValue(booleanValue);
+			}
+		} else if (type == UMLPrimitiveTypesUtils.getUnlimitedNatural(context)) {
+			specification = UMLFactory.eINSTANCE.createLiteralUnlimitedNatural();
+			Integer integerValue = null;
+			try {
+				integerValue = Integer.parseInt(value);
+			} catch (Exception e) {
+			}
+			if (integerValue != null) {
+				((LiteralUnlimitedNatural) specification).setValue(integerValue);
+			}
+		} else if (type == UMLPrimitiveTypesUtils.getReal(context)) {
+			specification = UMLFactory.eINSTANCE.createLiteralReal();
+			Double doubleValue = null;
+			try {
+				doubleValue = Double.parseDouble(value);
+			} catch (Exception e) {
+			}
+			if (doubleValue != null) {
+				((LiteralReal) specification).setValue(doubleValue);
+			}
+		} else if (type == UMLPrimitiveTypesUtils.getString(context)) {
+			specification = UMLFactory.eINSTANCE.createLiteralString();
+			((LiteralString) specification).setValue(value);
+		} else {
+			specification = UMLFactory.eINSTANCE.createOpaqueExpression();
+			((OpaqueExpression) specification).getLanguages().add("VSL"); //$NON-NLS-1$
+			((OpaqueExpression) specification).getBodies().add(value);
+		}
+
+		return specification;
+	}
+
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/ParameterUtils.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/ParameterUtils.java
new file mode 100644
index 0000000..ed287ce
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/ParameterUtils.java
@@ -0,0 +1,57 @@
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.papyrus.robotics.profile.robotics.parameters.Parameter;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StructuredClassifier;
+
+public class ParameterUtils {
+	public static List<Property> getAllParameters(Class clazz) {
+		List<Property> parameterList = new ArrayList<Property>();
+		for (Class superClass : clazz.getSuperClasses()) {
+			StructuredClassifier paramClass = ParameterUtils.getParameterClass(superClass);
+			if (paramClass != null) {
+				parameterList.addAll(paramClass.getOwnedAttributes());
+			}
+		}
+		StructuredClassifier paramClass = ParameterUtils.getParameterClass(clazz);
+		if (paramClass != null) {
+			parameterList.addAll(paramClass.getOwnedAttributes());
+		}
+		return parameterList;
+	}
+
+	/**
+	 * Return the nested classifier within a component that is holding configuration parameters
+	 * Return null, if not found
+	 */
+	public static Class getParameterClass(Class component) {
+		for (Classifier cl : component.getNestedClassifiers()) {
+			if (cl instanceof Class && StereotypeUtil.isApplied(cl, Parameter.class)) {
+				return (Class) cl;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Return the part within a component that is typed with the passed nested classifier
+	 */
+	public static Property getParameterProperty(Class nestedClassifier) {
+		Element owner = nestedClassifier.getOwner();
+		if (owner instanceof Class) {
+			for (Property p : ((Class) owner).getOwnedAttributes()) {
+				if (p.getType() == nestedClassifier) {
+					return p;
+				}
+			}
+		}
+		return null;
+	}
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/PartHazardAnalysisHeaderLabelProvider.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/PartHazardAnalysisHeaderLabelProvider.java
new file mode 100644
index 0000000..4fab532
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/PartHazardAnalysisHeaderLabelProvider.java
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are property of the CEA, their use is subject to specific agreement 
+ * with the CEA.
+ *
+ * Project:  Papyrus Robotics
+ * 
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ * 
+ *****************************************************************************/
+/*  com.cea.sophia.fha.table.config.provider PartHeaderLabelProvider.java */
+
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
+import org.eclipse.papyrus.infra.emf.nattable.provider.EMFEObjectHeaderLabelProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ObjectLabelProviderConfiguration;
+import org.eclipse.papyrus.infra.nattable.utils.ILabelProviderContextElementWrapper;
+import org.eclipse.papyrus.infra.nattable.utils.LabelProviderCellContextElementWrapper;
+import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+
+
+
+/**
+ * 
+ * PartHeaderLabelProvider Class is dedicated exclusively to customizing the
+ * header label of the Function that have Hazardous Events in a HARA Table.
+ * 
+ */
+public class PartHazardAnalysisHeaderLabelProvider extends EMFEObjectHeaderLabelProvider {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.emf.nattable.provider.
+	 * EMFEObjectHeaderLabelProvider#accept(java.lang.Object)
+	 */
+	@Override
+	public boolean accept(Object element) {
+		if (element instanceof ILabelProviderContextElementWrapper) {
+			Object object = ((ILabelProviderContextElementWrapper) element).getObject();
+			if (object instanceof IAxis) {
+				object = ((IAxis) object).getElement();
+			}
+			if (object instanceof Property) {
+				return ((Property) object)
+						.getAppliedStereotype("TaskBasedRiskAnalysis::HazardAnalysis") != null;
+			}
+		}
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.emf.nattable.provider.
+	 * EMFEObjectHeaderLabelProvider#getText(java.lang.Object)
+	 */
+	@Override
+	public String getText(Object element) {
+		ILabelProviderContextElementWrapper context = (ILabelProviderContextElementWrapper) element;
+		EObject object = (EObject) ((ILabelProviderContextElementWrapper) element).getObject();
+		if (object instanceof EObjectAxis) {
+			object = ((EObjectAxis) object).getElement();
+		}
+		final IConfigRegistry configRegistry = context.getConfigRegistry();
+		final LabelProviderService serv = getLabelProviderService(configRegistry);
+		ILabelProviderConfiguration conf = null;
+		if (element instanceof LabelProviderCellContextElementWrapper) {
+			conf = getLabelConfiguration((LabelProviderCellContextElementWrapper) element);
+		}
+		if (conf instanceof ObjectLabelProviderConfiguration
+				&& !((ObjectLabelProviderConfiguration) conf).isDisplayLabel()) {
+			return ""; //$NON-NLS-1$
+		}
+
+		String label = ""; //$NON-NLS-1$
+		if (object instanceof Property) {
+			object = object.eContainer();
+			if (object instanceof Property) {
+				label = ((Property) object).getType().getName() + ":" + serv.getLabelProvider(object).getText(object); //$NON-NLS-1$
+			} else if (object instanceof Class) {
+				label = serv.getLabelProvider(object).getText(object);
+			}
+		}
+
+		return label;
+	}
+
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/PartRiskReductionHeaderLabelProvider.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/PartRiskReductionHeaderLabelProvider.java
new file mode 100644
index 0000000..6379148
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/PartRiskReductionHeaderLabelProvider.java
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are property of the CEA, their use is subject to specific agreement 
+ * with the CEA.
+ *
+ * Project:  Papyrus Robotics
+ * 
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ * 
+ *****************************************************************************/
+/*  com.cea.sophia.fha.table.config.provider PartHeaderLabelProvider.java */
+
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
+import org.eclipse.papyrus.infra.emf.nattable.provider.EMFEObjectHeaderLabelProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ObjectLabelProviderConfiguration;
+import org.eclipse.papyrus.infra.nattable.utils.ILabelProviderContextElementWrapper;
+import org.eclipse.papyrus.infra.nattable.utils.LabelProviderCellContextElementWrapper;
+import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+
+
+
+/**
+ * 
+ * PartHeaderLabelProvider Class is dedicated exclusively to customizing the
+ * header label of the Function that have Hazardous Events in a HARA Table.
+ * 
+ */
+public class PartRiskReductionHeaderLabelProvider extends EMFEObjectHeaderLabelProvider {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.emf.nattable.provider.
+	 * EMFEObjectHeaderLabelProvider#accept(java.lang.Object)
+	 */
+	@Override
+	public boolean accept(Object element) {
+		if (element instanceof ILabelProviderContextElementWrapper) {
+			Object object = ((ILabelProviderContextElementWrapper) element).getObject();
+			if (object instanceof IAxis) {
+				object = ((IAxis) object).getElement();
+			}
+			if (object instanceof Property) {
+				return ((Property) object)
+						.getAppliedStereotype("TaskBasedRiskAnalysis::RiskReduction") != null;
+			}
+		}
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.emf.nattable.provider.
+	 * EMFEObjectHeaderLabelProvider#getText(java.lang.Object)
+	 */
+	@Override
+	public String getText(Object element) {
+		ILabelProviderContextElementWrapper context = (ILabelProviderContextElementWrapper) element;
+		EObject object = (EObject) ((ILabelProviderContextElementWrapper) element).getObject();
+		if (object instanceof EObjectAxis) {
+			object = ((EObjectAxis) object).getElement();
+		}
+		final IConfigRegistry configRegistry = context.getConfigRegistry();
+		final LabelProviderService serv = getLabelProviderService(configRegistry);
+		ILabelProviderConfiguration conf = null;
+		if (element instanceof LabelProviderCellContextElementWrapper) {
+			conf = getLabelConfiguration((LabelProviderCellContextElementWrapper) element);
+		}
+		if (conf instanceof ObjectLabelProviderConfiguration
+				&& !((ObjectLabelProviderConfiguration) conf).isDisplayLabel()) {
+			return ""; //$NON-NLS-1$
+		}
+
+		String label = ""; //$NON-NLS-1$
+		if (object instanceof Property) {
+			object = object.eContainer();
+			if (object instanceof Property) {
+				label = ((Property) object).getType().getName() + ":" + serv.getLabelProvider(object).getText(object); //$NON-NLS-1$
+			} else if (object instanceof Class) {
+				label = serv.getLabelProvider(object).getText(object);
+			}
+		}
+
+		return label;
+	}
+
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RegisteredLibraryLoadAndSearchUtils.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RegisteredLibraryLoadAndSearchUtils.java
new file mode 100644
index 0000000..1ab177f
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RegisteredLibraryLoadAndSearchUtils.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * 
+ * Copyright (c) 2016 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  CEA LIST Initial API and implementation
+ * 
+ *****************************************************************************/
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.uml.extensionpoints.library.IRegisteredLibrary;
+import org.eclipse.papyrus.uml.extensionpoints.library.RegisteredLibrary;
+import org.eclipse.papyrus.uml.tools.utils.NameResolutionUtils;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+
+public class RegisteredLibraryLoadAndSearchUtils {
+
+	public static NamedElement getNamedElement(Element context, String qualifiedTypeName, String libraryName) {
+		Model libraryModel = loadLibrary(context, libraryName) ;
+		if (libraryModel != null) {
+			List<NamedElement> result = NameResolutionUtils.getNamedElements(qualifiedTypeName, libraryModel, UMLPackage.eINSTANCE.getNamedElement()) ;
+			if (! result.isEmpty()) {
+				return result.get(0) ;
+			}
+		}
+		return null ;
+	}
+	
+	/**
+	 * If the model library is not loaded in the
+	 * resource set containing the model that contains the given context model element,
+	 * this method loads the library in the resource set, and then returns it.
+	 * If the library is already loaded, then it is simply returned. 
+	 * 
+	 * @param context The context UML model element, whose resource set will be the place where the library will be loaded
+	 * @return The model library
+	 */
+	public static Model loadLibrary(Element context, String libraryName) {
+		Model libraryModel = null;
+		IRegisteredLibrary registeredLibrary = null ;
+		for (IRegisteredLibrary l : RegisteredLibrary.getRegisteredLibraries()) {
+			if (l.getName().equals(libraryName)) {
+				registeredLibrary=l ;
+			}
+		}
+		if (registeredLibrary != null) {
+			Resource libraryResource = context.eResource().getResourceSet().getResource(registeredLibrary.getUri(), true) ;
+			if (libraryResource.getContents().get(0) instanceof Model) {
+				libraryModel = (Model) libraryResource.getContents().get(0) ;
+			}
+		}
+		return libraryModel;
+	}
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RiskReductionAxisManager.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RiskReductionAxisManager.java
new file mode 100644
index 0000000..d52a8b6
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RiskReductionAxisManager.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are property of the CEA, their use is subject to specific agreement 
+ * with the CEA.
+ *
+ * Project:  Papyrus Robotics
+ * 
+ * Contributors:
+ *  CEA LIST - Initial API and implementation
+ * 
+ *****************************************************************************/
+/*  com.cea.sophia.fha.table.config.axismanager FHAAxisManager.java */
+
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskanalysisPackage;
+
+/**
+ * 
+ * RiskReductionAxisManager Class is dedicated exclusively to manger the items (rows)
+ * in a RiskReduction Table.
+ * 
+ */
+// TODO: Auto-generated Javadoc
+
+public class RiskReductionAxisManager
+		extends AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager<RiskReduction> {
+
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * stereotypeApplicationHasChanged(org.eclipse.emf.common.notify.
+	 * Notification)
+	 */
+	@Override
+	protected void stereotypeApplicationHasChanged(final Notification notification) {
+		if (notification.isTouch()) {
+			return;
+		}
+		final Object notifier = notification.getNotifier();
+		if (!isInstanceOfRequiredStereotypeApplication(notifier)) {
+			return;
+		}
+		Object feature = notification.getFeature();
+		int eventType = notification.getEventType();
+		if (feature instanceof EReference
+				&& ((EReference) feature).getName().startsWith(getStereotypeApplicationBasePropertyName())) {
+			switch (eventType) {
+			case Notification.SET:
+				final Object newValue = notification.getNewValue();
+				final Object oldValue = notification.getOldValue();
+				if (newValue instanceof Element && isAllowedAsBaseElement((Element) newValue)) {
+					updateManagedList(Collections.singletonList(newValue), Collections.emptyList());
+					this.stereotypedElementsMap.put((EObject) notifier, (Element) newValue);
+				} else if (newValue == null && this.managedObject.contains(oldValue)) {
+					updateManagedList(Collections.emptyList(), Collections.singletonList(oldValue));
+					this.stereotypedElementsMap.remove(notifier);
+					removeStereotypeApplicationListener((EObject) notifier);
+				}
+				break;
+
+			case Notification.UNSET:// never used?
+				final Object oldValue2 = notification.getOldValue();
+				if (oldValue2 instanceof Element && this.managedObject.contains(oldValue2)) {
+					updateManagedList(Collections.emptyList(), Collections.singletonList(oldValue2));
+					this.stereotypedElementsMap.remove(notifier);
+					removeStereotypeApplicationListener((EObject) notifier);
+				}
+				break;
+			default:
+				break;
+			}
+		}
+	}
+
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.emf.nattable.manager.axis.
+	 * AbstractSynchronizedOnEStructuralFeatureAxisManager#getAllManagedAxis()
+	 */
+	@Override
+	public List<Object> getAllManagedAxis() {
+		List<Object> RiskReduction = new ArrayList<Object>();
+
+		for (Element el : ((org.eclipse.uml2.uml.Interface) getTableContext()).allOwnedElements()) {
+			if (el.getAppliedStereotype("TaskBasedRiskAnalysis::RiskReduction") != null)
+				RiskReduction.add(el);
+		}
+		return RiskReduction;
+	}
+
+	
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.manager.axis.AbstractAxisManager#
+	 * canCreateAxisElement(java.lang.String)
+	 */
+	@Override
+	public boolean canCreateAxisElement(String elementId) {
+		return RiskanalysisPackage.eINSTANCE.getRiskReduction().getInstanceTypeName().equals(elementId);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * isInstanceOfRequiredStereotypeApplication(java.lang.Object)
+	 */
+	@Override
+	protected boolean isInstanceOfRequiredStereotypeApplication(Object object) {
+		return object instanceof RiskReduction;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * isAllowedAsBaseElement(org.eclipse.uml2.uml.Element)
+	 */
+	@Override
+	protected boolean isAllowedAsBaseElement(Element element) {
+		return element instanceof org.eclipse.uml2.uml.Class;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * getStereotypeApplication(org.eclipse.uml2.uml.Element)
+	 */
+	@Override
+	protected RiskReduction getStereotypeApplication(Element element) {
+		return UMLUtil.getStereotypeApplication(element, RiskReduction.class);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.
+	 * AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#
+	 * getStereotypeApplicationBasePropertyName()
+	 */
+	@Override
+	protected String getStereotypeApplicationBasePropertyName() {
+		return RiskanalysisPackage.eINSTANCE.getRiskReduction_Base_Property().getName();
+	}
+
+	/**
+	 * Gets the stereotype base element.
+	 *
+	 * @param stereotypeApplication
+	 *            the stereotype application
+	 * @return the stereotype base element
+	 * @see org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager#getStereotypeBaseElement(org.eclipse.emf.ecore.EObject)
+	 */
+	@Override
+	protected Element getStereotypeBaseElement(final RiskReduction stereotypeApplication) {
+		return stereotypeApplication.getBase_Property();
+	}
+
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RiskReductionTableTester.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RiskReductionTableTester.java
new file mode 100644
index 0000000..50dcde6
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/RiskReductionTableTester.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Ansgar Radermacher (CEA LIST)
+ *  yakoub Karoui (CEA LIST)
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.papyrus.infra.nattable.tester.ITableTester;
+
+
+public class RiskReductionTableTester implements ITableTester {
+
+	@Override
+	public IStatus isAllowed(Object context) {
+		IStatus status = null;
+		if(context instanceof Class){
+			status = Status.OK_STATUS;
+		}
+		return status;
+	}
+	
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/UMLPrimitiveTypesUtils.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/UMLPrimitiveTypesUtils.java
new file mode 100644
index 0000000..00421e0
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/src/org/eclipse/papyrus/robotics/safety/riskanalysis/table/UMLPrimitiveTypesUtils.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * 
+ * Copyright (c) 2016 CEA LIST.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  CEA LIST Initial API and implementation
+ * 
+ *****************************************************************************/
+package org.eclipse.papyrus.robotics.safety.riskanalysis.table;
+
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * Utility class to retrieve UML primitive types defined in the UMLPrimitiveTypes library
+ * (i.e., Integer, String, Boolean, UnlimitedNatural, Real)
+ * 
+ */
+@SuppressWarnings("nls")
+public class UMLPrimitiveTypesUtils {
+
+	private final static String INTEGER_TYPE_NAME = "PrimitiveTypes::Integer" ;
+	private final static String STRING_TYPE_NAME = "PrimitiveTypes::String" ;
+	private final static String BOOLEAN_TYPE_NAME = "PrimitiveTypes::Boolean" ;
+	private final static String UNLIMITED_NATURAL_TYPE_NAME = "PrimitiveTypes::UnlimitedNatural" ;
+	private final static String REAL_TYPE_NAME = "PrimitiveTypes::Real" ;
+	private final static String UML_PRIMITIVE_TYPES_LIBRARY_NAME = "UMLPrimitiveTypes" ;
+
+	/**
+	 * Retrieves a predefined UML PrimitiveType whose qualified name is qualifiedTypeName,
+	 * in the context of the given context UML model element.
+	 * The effect is that, if the UML Primitive TYpes library is not loaded in the
+	 * resource set containing the model that contains the given context model element,
+	 * the UML Primitive Types library is loaded in the resource set. Once the library
+	 * is loaded, the desired primitive type is retrieve from the library using the given
+	 * qualifiedTypeName 
+	 * 
+	 * @param context The context UML model element from which the UML Primitive Type is required
+	 * @param qualifiedTypeName The qualified name of the predefined UML primitive type
+	 * @return A Primitive Type from the UML Primitive Types library, whose qualified name equals qualifiedTypeName
+	 */
+	private static Type getUMLPrimitiveType(Element context, String qualifiedTypeName) {
+		NamedElement element = RegisteredLibraryLoadAndSearchUtils.getNamedElement(context, qualifiedTypeName, UML_PRIMITIVE_TYPES_LIBRARY_NAME) ;
+		if (element != null && element instanceof Type) {
+			return (Type)element ;
+		}
+		return null ;
+	}
+	
+	public static Type getInteger(Element context) {
+		return getUMLPrimitiveType(context, INTEGER_TYPE_NAME) ;
+	}
+
+	public static Type getBoolean(Element context) {
+		return getUMLPrimitiveType(context, BOOLEAN_TYPE_NAME) ;
+	}
+	
+	public static Type getUnlimitedNatural(Element context) {
+		return getUMLPrimitiveType(context, UNLIMITED_NATURAL_TYPE_NAME) ;
+	}
+	
+	public static Type getReal(Element context) {
+		return getUMLPrimitiveType(context, REAL_TYPE_NAME) ;
+	}
+	
+	public static Type getString(Element context) {
+		return getUMLPrimitiveType(context, STRING_TYPE_NAME) ;
+	}
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration
index 5146fcc..b459224 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration
@@ -1,93 +1,106 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<nattableconfiguration:TableConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmi:id="_4sLZQEWIEem1bPXeAqLfZw" description="" name="HazardAnalysisTable" type="HazardAnalysisTableType" iconPath="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/icons/HazardAnalysisTableType.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="_4sLZY0WIEem1bPXeAqLfZw" defaultColumnAxisProvider="_4sLZT0WIEem1bPXeAqLfZw">
-  <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_4sLZQUWIEem1bPXeAqLfZw" name="hiddenCategoriesByDepth">
-    <intListValue>0</intListValue>
-  </styles>
-  <styles xmi:type="nattablestyle:TableDisplayStyle" xmi:id="_4sLZQkWIEem1bPXeAqLfZw" displayStyle="HIERARCHIC_SINGLE_TREE_COLUMN"/>
-  <styles xmi:type="nattablestyle:StringListValueStyle" xmi:id="_4sLZQ0WIEem1bPXeAqLfZw" name="dragRegions">
-    <stringListValue>ROW_HEADER</stringListValue>
-  </styles>
-  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_4sLZREWIEem1bPXeAqLfZw" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="true">
-    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_4sLZRUWIEem1bPXeAqLfZw" displayIcon="true" displayLabel="true"/>
-    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_4sLZRkWIEem1bPXeAqLfZw" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="false" displayMultiplicity="false" displayName="true"/>
-    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:TreeFillingConfiguration" xmi:id="_4sLZR0WIEem1bPXeAqLfZw" pasteConfiguration="_VWOB0EopEemVHZcw501Xsg" labelProvider="_4sLZRkWIEem1bPXeAqLfZw" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.treefilling.feature.labelprovider">
-      <axisUsedAsAxisProvider xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_4sLZSEWIEem1bPXeAqLfZw">
-        <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/attribute"/>
-      </axisUsedAsAxisProvider>
+<nattableconfiguration:TableConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmi:id="_ofc8oGuBEeuXXJEl13q1ZA" description="A table for Hazard Analysis" name="Hazard Analysis Table" type="HazardAnalysisTableType" iconPath="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/icons/HazardAnalysisTableType.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="_DySCYGuHEeuXXJEl13q1ZA" defaultColumnAxisProvider="_rXFe0GuGEeuXXJEl13q1ZA">
+  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_bH4hwGuFEeuXXJEl13q1ZA" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_gpkBoGuFEeuXXJEl13q1ZA" displayIcon="true" displayLabel="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:EStructuralFeatureValueFillingConfiguration" xmi:id="_jNHjgGuFEeuXXJEl13q1ZA">
+      <listenFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace/ownedMember"/>
     </ownedAxisConfigurations>
-    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_VWOB0EopEemVHZcw501Xsg" detachedMode="false" pastedElementId="org.eclipse.papyrus.uml.Property">
-      <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface/ownedAttribute"/>
-      <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_AzcIAEouEemVHZcw501Xsg" manager="_4sLZTUWIEem1bPXeAqLfZw">
-        <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
-      </axisIdentifier>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_oCR7oGuFEeuXXJEl13q1ZA" detachedMode="true" pastedElementId="org.eclipse.papyrus.uml.Property">
+      <postActions>applyStereotype:/TaskBasedRiskAnalysis::HazardAnalysis</postActions>
+      <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Artifact/ownedAttribute"/>
     </ownedAxisConfigurations>
-    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_4sLZSUWIEem1bPXeAqLfZw" axisManagerId="org.eclipse.papyrus.infra.uml.nattable.tree.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_4sLZRUWIEem1bPXeAqLfZw" specificAxisConfigurations="_4sLZR0WIEem1bPXeAqLfZw"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_3qDhwGuFEeuXXJEl13q1ZA" axisManagerId="org.eclipse.papyrus.robotics.safety.riskananlysis.table.hazardanalysisaxismanager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_gpkBoGuFEeuXXJEl13q1ZA" specificAxisConfigurations="_jNHjgGuFEeuXXJEl13q1ZA"/>
   </rowHeaderAxisConfiguration>
-  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_4sLZSkWIEem1bPXeAqLfZw" displayLabel="true" displayFilter="false" displayIndex="true">
-    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_4sLZS0WIEem1bPXeAqLfZw" displayIcon="true" displayLabel="true" displayIsDerived="false" displayType="false" displayMultiplicity="false" displayName="true"/>
-    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_4sLZTEWIEem1bPXeAqLfZw" displayIcon="true" displayLabel="true" displayIsDerived="false" displayType="false" displayMultiplicity="false" displayName="true"/>
-    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_4sLZTUWIEem1bPXeAqLfZw" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_4sLZS0WIEem1bPXeAqLfZw"/>
-    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_4sLZTkWIEem1bPXeAqLfZw" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_4sLZTEWIEem1bPXeAqLfZw"/>
+  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_ZHewQGuFEeuXXJEl13q1ZA" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_FNt7EGuGEeuXXJEl13q1ZA" displayIcon="false" displayLabel="true" displayIsDerived="false" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_KZHo8GuGEeuXXJEl13q1ZA" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_FNt7EGuGEeuXXJEl13q1ZA"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_Me8tAGuGEeuXXJEl13q1ZA" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_FNt7EGuGEeuXXJEl13q1ZA"/>
   </columnHeaderAxisConfiguration>
-  <columnAxisProviders xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_4sLZT0WIEem1bPXeAqLfZw" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZUEWIEem1bPXeAqLfZw" alias="Skill" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Skill">
+  <columnAxisProviders xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_rXFe0GuGEeuXXJEl13q1ZA" description="Provides the column of the tables with a default configuration" name="HazardAnalysis Feature Columns Provider">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_8BOg4GuGEeuXXJEl13q1ZA" alias="Skill" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Skill">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_4sLZUUWIEem1bPXeAqLfZw" alias="Hazard">
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_AKDXcGuHEeuXXJEl13q1ZA" alias="Hazard">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBDzQEei_1txcmoHe_A"/>
       <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZUkWIEem1bPXeAqLfZw" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Origin">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKD-gGuHEeuXXJEl13q1ZA" alias="Hazard Type" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Hazard">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZU0WIEem1bPXeAqLfZw" alias="Hazardous Situation" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::HazardousSituation">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKD-gWuHEeuXXJEl13q1ZA" alias="Possible Harm" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::PossibleHarm">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZVEWIEem1bPXeAqLfZw" alias="Hazardous Event" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::HazardousEvent">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKElkGuHEeuXXJEl13q1ZA" alias="Origin" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Origin">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZVUWIEem1bPXeAqLfZw" alias="Possible Harm" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::PossibleHarm">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKElkWuHEeuXXJEl13q1ZA" alias="Contact Aera" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::ContactAera">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZVkWIEem1bPXeAqLfZw" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Comment">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKFMoGuHEeuXXJEl13q1ZA" alias="Hazardous Situation" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::HazardousSituation">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZV0WIEem1bPXeAqLfZw" alias="Initial Occurence" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Occurence">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKFMoWuHEeuXXJEl13q1ZA" alias="Hazardous Event" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::HazardousEvent">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZWEWIEem1bPXeAqLfZw" alias="Initial Avoidance" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Avoidance">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKFzsGuHEeuXXJEl13q1ZA" alias="Initial Occurence" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Occurence">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZWUWIEem1bPXeAqLfZw" alias="Initial Frequency" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Frequency">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKGawGuHEeuXXJEl13q1ZA" alias="Initial Avoidance" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Avoidance">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZWkWIEem1bPXeAqLfZw" alias="Initial Severity" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Severity">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKGawWuHEeuXXJEl13q1ZA" alias="Initial Frequency" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Frequency">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZW0WIEem1bPXeAqLfZw" alias="Initial Criticality" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Criticality">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKHB0GuHEeuXXJEl13q1ZA" alias="Initial Severity" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Severity">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZXEWIEem1bPXeAqLfZw" alias="Initial Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_RiskReduction">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKHB0WuHEeuXXJEl13q1ZA" alias="Initial Criticality" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Criticality">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZXUWIEem1bPXeAqLfZw" alias="Final Occurence" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Occurence">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKHB0muHEeuXXJEl13q1ZA" alias="Initial Risk Level" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_RiskLevel">
+      <styles xmi:type="nattablestyle:IntValueStyle" xmi:id="_aNYN8HH_Eeu-H5i18g5byw" name="axisWidth" intValue="150"/>
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZXkWIEem1bPXeAqLfZw" alias="Final Avoidance" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Avoidance">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKIP8GuHEeuXXJEl13q1ZA" alias="Initial Design Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_DesignRiskReduction">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZX0WIEem1bPXeAqLfZw" alias="Final Frequency" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Frequency">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKIP8WuHEeuXXJEl13q1ZA" alias="Initial Technical Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_TechnicalRiskReduction">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZYEWIEem1bPXeAqLfZw" alias="Final Severity" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Severity">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKIP8muHEeuXXJEl13q1ZA" alias="Initial Organizational Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_OrganizationalRiskReduction">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZYUWIEem1bPXeAqLfZw" alias="Final Criticality" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Criticality">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKJeEGuHEeuXXJEl13q1ZA" alias="Final Occurence" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Occurence">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_4sLZYkWIEem1bPXeAqLfZw" alias="Final Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_RiskReduction">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKJeEWuHEeuXXJEl13q1ZA" alias="Final Avoidance" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Avoidance">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKJeEmuHEeuXXJEl13q1ZA" alias="Final Frequency" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Frequency">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKKFIGuHEeuXXJEl13q1ZA" alias="Final Severity" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Severity">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKKFIWuHEeuXXJEl13q1ZA" alias="Final Criticality" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Criticality">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKKsMGuHEeuXXJEl13q1ZA" alias="Final Risk Level" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_RiskLevel">
+      <styles xmi:type="nattablestyle:IntValueStyle" xmi:id="_iaRhQHHbEeuiS5P54oLsOA" name="axisWidth" intValue="150"/>
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKKsMWuHEeuXXJEl13q1ZA" alias="Final Design Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_DesignRiskReduction">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKLTQGuHEeuXXJEl13q1ZA" alias="Final Technical Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_TechnicalRiskReduction">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKLTQWuHEeuXXJEl13q1ZA" alias="Final Organizational Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_OrganizationalRiskReduction">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_AKL6UGuHEeuXXJEl13q1ZA" alias="Comment" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Comment">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
     </axis>
   </columnAxisProviders>
-  <rowAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_4sLZY0WIEem1bPXeAqLfZw" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
+  <columnAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_DySCYGuHEeuXXJEl13q1ZA" description="provides the Hazard Analysis directly owned by the context of the table" name="HazardAnalysis Axis Provider" disconnectSlave="true"/>
 </nattableconfiguration:TableConfiguration>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/RiskReductionTableType.nattableconfiguration b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/RiskReductionTableType.nattableconfiguration
new file mode 100644
index 0000000..28770bd
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/RiskReductionTableType.nattableconfiguration
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattableconfiguration:TableConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmi:id="_ofc8oGuBEeuXXJEl13q1ZA" description="A table for Risk Reduction" name="Risk Reduction Table" type="RiskReductionTableType" iconPath="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/icons/HazardAnalysisTableType.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="_DySCYGuHEeuXXJEl13q1ZA" defaultColumnAxisProvider="_rXFe0GuGEeuXXJEl13q1ZA">
+  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_bH4hwGuFEeuXXJEl13q1ZA" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_gpkBoGuFEeuXXJEl13q1ZA" displayIcon="true" displayLabel="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:EStructuralFeatureValueFillingConfiguration" xmi:id="_jNHjgGuFEeuXXJEl13q1ZA">
+      <listenFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace/ownedMember"/>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_oCR7oGuFEeuXXJEl13q1ZA" detachedMode="true" pastedElementId="org.eclipse.papyrus.uml.Property">
+      <postActions>applyStereotype:/TaskBasedRiskAnalysis::RiskReduction</postActions>
+      <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Artifact/ownedAttribute"/>
+    </ownedAxisConfigurations>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_3qDhwGuFEeuXXJEl13q1ZA" axisManagerId="org.eclipse.papyrus.robotics.safety.riskananlysis.table.riskreductionaxismanager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_gpkBoGuFEeuXXJEl13q1ZA" specificAxisConfigurations="_jNHjgGuFEeuXXJEl13q1ZA"/>
+  </rowHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_ZHewQGuFEeuXXJEl13q1ZA" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_FNt7EGuGEeuXXJEl13q1ZA" displayIcon="false" displayLabel="true" displayIsDerived="false" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_KZHo8GuGEeuXXJEl13q1ZA" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_FNt7EGuGEeuXXJEl13q1ZA"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_Me8tAGuGEeuXXJEl13q1ZA" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_FNt7EGuGEeuXXJEl13q1ZA"/>
+  </columnHeaderAxisConfiguration>
+  <columnAxisProviders xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_rXFe0GuGEeuXXJEl13q1ZA" description="Provides the column of the tables with a default configuration" name="RiskReduction Feature Columns Provider">
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_8a-EQGxPEeuiS5P54oLsOA" alias="Risk Reduction">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBDzQEei_1txcmoHe_A"/>
+      <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_8a-rUGxPEeuiS5P54oLsOA" alias="Description" element="property_of_stereotype:/TaskBasedRiskAnalysis::RiskReduction::Description">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+    </axis>
+  </columnAxisProviders>
+  <columnAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_DySCYGuHEeuXXJEl13q1ZA" description="provides the Risk Reduction directly owned by the context of the table" name="RiskReduction Axis Provider" disconnectSlave="true"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/.settings/org.eclipse.jdt.core.prefs
index f4d933e..7adc0fb 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/.settings/org.eclipse.jdt.core.prefs
@@ -3,5 +3,8 @@
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
 org.eclipse.jdt.core.compiler.compliance=11
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
 org.eclipse.jdt.core.compiler.source=11
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/META-INF/MANIFEST.MF b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/META-INF/MANIFEST.MF
index 928615b..41837bf 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/META-INF/MANIFEST.MF
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/META-INF/MANIFEST.MF
@@ -13,11 +13,11 @@
  org.eclipse.papyrus.robotics.safety.riskanalysis.profile,
  org.eclipse.papyrus.uml.tools.utils,
  org.eclipse.papyrus.robotics.core;bundle-version="0.7.0",
- org.eclipse.papyrus.uml.tools;bundle-version="[4.3.0,6.0.0)",
+ org.eclipse.papyrus.uml.tools;bundle-version="4.0.0",
  org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.8.0",
  org.eclipse.papyrus.robotics.bt.profile;bundle-version="0.7.0",
  org.eclipse.papyrus.infra.widgets;bundle-version="[3.6.0,5.0.0)",
- org.eclipse.core.expressions;bundle-version="3.0.0"
+ org.eclipse.core.expressions;bundle-version="[3.6.0,5.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-11
 Automatic-Module-Name: org.eclipse.papyrus.robotics.safety.riskanalysis.ui
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/plugin.properties b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/plugin.properties
index 16aab82..974f8db 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/plugin.properties
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/plugin.properties
@@ -1,13 +1,4 @@
-##################################################################################
-# Copyright (c) 2020 CEA LIST.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
 #
-# SPDX-License-Identifier: EPL-2.0
-#
-##################################################################################
 
-providerName = Eclipse Modeling Project
-pluginName = Papyrus Robotics UI for Task-Based Risk Analysis (Incubation)
+pluginName = Papyrus Robotics UI for Task-Based Risk Analysis
+providerName = CEA LIST
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/plugin.xml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/plugin.xml
index 6175cce..c099daf 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/plugin.xml
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/plugin.xml
@@ -14,6 +14,11 @@
       </command>
       <command
             categoryId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.category"
+            id="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.CreateNewRiskReduction"
+            name="Create New Risk Reduction">
+      </command>
+      <command
+            categoryId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.category"
             id="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.AssignTaskModelToAnalysisContext"
             name="Assign Task Model to the Analysis Context">
       </command>
@@ -24,6 +29,10 @@
             class="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.handlers.CreateHazardAnalysisHandler"
             commandId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.CreateNewHazard">
       </handler>
+   <handler
+         class="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.handlers.CreateRiskReductionHandler"
+         commandId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.CreateNewRiskReduction">
+   </handler>
       <handler
             class="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.handlers.AssignTaskModelToAnalysisContextHandler"
             commandId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.AssignTaskModelToAnalysisContext">
@@ -76,6 +85,26 @@
             </visibleWhen>
          </command>
          <command
+               commandId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.CreateNewRiskReduction"
+               id="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.menus.modelexplorer.CreateNewRiskReduction">
+            <visibleWhen
+                  checkEnabled="false">
+               <and>
+                  <with
+                        variable="selection">
+                     <test
+                           forcePluginActivation="true"
+                           property="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.propertytesters.HazardAnalysisContextTester.isHazardAnalysisContext"
+                           value="true">
+                     </test>
+                  </with>
+                  <count
+                        value="1">
+                  </count>
+               </and>
+            </visibleWhen>
+         </command>
+         <command
                commandId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.AssignTaskModelToAnalysisContext"
                id="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.menus.modelexplorer.AssignTaskModelToAnalysisContext">
             <visibleWhen
@@ -104,6 +133,10 @@
             icon="icons/icon_sfailuremodefmea.png">
       </image>
       <image
+            commandId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.CreateNewRiskReduction"
+            icon="icons/icon_sfailuremodefmea.png">
+      </image>
+      <image
             commandId="org.eclipse.papyrus.robotics.safety.riskanalysis.ui.commands.AssignTaskModelToAnalysisContext"
             icon="icons/icon_sfailuremodefmea.png">
       </image>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/pom.xml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/pom.xml
index 71c09a6..ad8800e 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/pom.xml
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
-    <groupId>org.eclipse.papyrus.robotics</groupId>
-    <version>0.8.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.ui</artifactId>
-  <packaging>eclipse-plugin</packaging>
-  <description>This module contains the UI definitions for Task-Based Risk Analysis in Papyrus Robotics.</description>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
+		<groupId>org.eclipse.papyrus.robotics</groupId>
+		<version>0.8.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.ui</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the UI definitions for Task-Based Risk Analysis in Papyrus Robotics.</description>
 </project>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/src/org/eclipse/papyrus/robotics/safety/riskanalysis/ui/handlers/CreateRiskReductionHandler.java b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/src/org/eclipse/papyrus/robotics/safety/riskanalysis/ui/handlers/CreateRiskReductionHandler.java
new file mode 100644
index 0000000..71a37d7
--- /dev/null
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.ui/src/org/eclipse/papyrus/robotics/safety/riskanalysis/ui/handlers/CreateRiskReductionHandler.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2019 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ * Contributors:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.robotics.safety.riskanalysis.ui.handlers;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.esf.core.utils.ModelUtil;
+import org.eclipse.papyrus.robotics.safety.riskanalysis.RiskReduction;
+
+
+public class CreateRiskReductionHandler extends AbstractHandler  {
+	/** Create Risk Reduction. */
+	private static final String CREATE_RISKREDUCTION_LABEL = "Create Risk Reduction"; //$NON-NLS-1$
+
+	/**
+	 * Default constructor.
+	 */
+	public CreateRiskReductionHandler() {
+		
+	}	
+	
+	/**
+	 * Get the selected element (Interface) and call the command for creating a RiskReduction.
+	 *
+	 * {@inheritDoc}
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		ISelection vSelection = HandlerUtil.getCurrentSelection(event);
+		final Interface vSelectedInterface =
+				(Interface) ModelUtil.getSelectedEObjectOfType(vSelection, UMLPackage.eINSTANCE.getInterface());
+		if (vSelectedInterface != null) {
+		
+				TransactionalEditingDomain vDomain = ModelUtil.getTransactionalEditingDomain(vSelectedInterface.getPackage());
+				RecordingCommand vCreateRiskReduction = new RecordingCommand(vDomain, CREATE_RISKREDUCTION_LABEL) {
+
+					@Override
+					protected void doExecute() {
+						// compute the name for the new Class
+						String vName = "RiskReduction";
+						// Create the object 'Property' of the interface containing the hazard to analyse
+						Property riskReductionProperty = vSelectedInterface.createOwnedAttribute(vName, null);
+
+						// Apply 'RiskReduction' stereotype on 'hazardAnalysisProperty'
+						StereotypeUtil.apply(riskReductionProperty, RiskReduction.class);
+						
+					}
+				};
+
+				// Verify if command can be executed
+				if (vCreateRiskReduction.canExecute()) {
+					// Execute command
+					vDomain.getCommandStack().execute(vCreateRiskReduction);
+				}
+			}
+		
+		return null;
+	}
+
+	
+
+}
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/.settings/org.eclipse.jdt.core.prefs b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/.settings/org.eclipse.jdt.core.prefs
index f4d933e..7adc0fb 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/.settings/org.eclipse.jdt.core.prefs
@@ -3,5 +3,8 @@
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
 org.eclipse.jdt.core.compiler.compliance=11
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
 org.eclipse.jdt.core.compiler.source=11
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/META-INF/MANIFEST.MF b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/META-INF/MANIFEST.MF
index 2f28a9e..d0d7ca6 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/META-INF/MANIFEST.MF
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/META-INF/MANIFEST.MF
@@ -14,15 +14,14 @@
  org.eclipse.papyrus.infra.architecture;bundle-version="1.0.0",
  org.eclipse.papyrus.robotics.core;bundle-version="0.7.0",
  org.eclipse.papyrus.robotics.profile;bundle-version="0.7.0",
- org.eclipse.papyrus.uml.diagram.wizards;bundle-version="[3.2.0,5.0.0)",
- org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.1.0,5.0.0)",
- org.eclipse.papyrus.infra.core.architecture;bundle-version="[2.1.0,4.0.0)",
- org.eclipse.papyrus.uml.tools;bundle-version="[4.3.0,6.0.0)",
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="3.0.0",
+ org.eclipse.papyrus.infra.core.architecture;bundle-version="2.0.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="4.0.0",
  org.eclipse.papyrus.robotics.wizards;bundle-version="0.7.0",
- org.eclipse.papyrus.robotics.safety.riskanalysis.table;bundle-version="0.7.0",
- org.eclipse.papyrus.robotics.safety.riskanalysis.profile;bundle-version="0.7.0"
+ org.eclipse.papyrus.robotics.safety.riskanalysis.table;bundle-version="0.8.0",
+ org.eclipse.papyrus.robotics.safety.riskanalysis.profile;bundle-version="0.8.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-11
 Automatic-Module-Name: org.eclipse.papyrus.robotics.safety.riskanalysis.wizard
 Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/plugin.properties b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/plugin.properties
index 38e0ea2..b6244b8 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/plugin.properties
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/plugin.properties
@@ -12,5 +12,5 @@
 #
 ##################################################################################
 
-providerName = Eclipse Modeling Project
 pluginName = Wizard for Creating Task-Based HARA Models (Incubation)
+providerName = CEA LIST
\ No newline at end of file
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/pom.xml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/pom.xml
index 9112b7e..86c17f9 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/pom.xml
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
-    <groupId>org.eclipse.papyrus.robotics</groupId>
-    <version>0.8.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.wizard</artifactId>
-  <packaging>eclipse-plugin</packaging>
-  <description>This module contains the Wizard to create Models for Task-Based Risk Analysis in Papyrus Robotics.</description>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis</artifactId>
+		<groupId>org.eclipse.papyrus.robotics</groupId>
+		<version>0.8.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.robotics.safety.riskanalysis.wizard</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>This module contains the Wizard to create Models for Task-Based Risk Analysis in Papyrus Robotics.</description>
 </project>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/templates/robotics.thara.notation b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/templates/robotics.thara.notation
index 67e2e90..764d000 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/templates/robotics.thara.notation
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/templates/robotics.thara.notation
@@ -1,75 +1,120 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle" xmi:id="_--ogcBDIEeqAh-edQ6JabA" name="HazardAnalysisTable" currentRowAxisProvider="_--pHhhDIEeqAh-edQ6JabA" currentColumnAxisProvider="_--ogchDIEeqAh-edQ6JabA" tableKindId="org.eclipse.papyrus.robotics.safety.riskanalysis.table.HazardAnalysisTableType">
-  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_--qVoBDIEeqAh-edQ6JabA" source="http://www.eclipse.org/papyrus/infra/nattable/version">
-    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_--q8sBDIEeqAh-edQ6JabA" key="version" value="1.3.0"/>
-  </eAnnotations>
-  <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_--ogcRDIEeqAh-edQ6JabA" name="hiddenCategoriesByDepth">
-    <intListValue>0</intListValue>
-  </styles>
-  <context xmi:type="uml:Interface" href="robotics.thara.uml#_HY8g8OaxEemlT_oHH5awCQ"/>
-  <owner xmi:type="uml:Interface" href="robotics.thara.uml#_HY8g8OaxEemlT_oHH5awCQ"/>
-  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration#_4sLZQEWIEem1bPXeAqLfZw"/>
-  <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_--ogchDIEeqAh-edQ6JabA" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogcxDIEeqAh-edQ6JabA" alias="Skill" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Skill">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_--ogdBDIEeqAh-edQ6JabA" alias="Hazard">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBDzQEei_1txcmoHe_A"/>
-      <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogdRDIEeqAh-edQ6JabA" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Origin">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogdhDIEeqAh-edQ6JabA" alias="Hazardous Situation" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::HazardousSituation">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogdxDIEeqAh-edQ6JabA" alias="Hazardous Event" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::HazardousEvent">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogeBDIEeqAh-edQ6JabA" alias="Possible Harm" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::PossibleHarm">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogeRDIEeqAh-edQ6JabA" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Comment">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogehDIEeqAh-edQ6JabA" alias="Initial Occurence" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Occurence">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogexDIEeqAh-edQ6JabA" alias="Initial Avoidance" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Avoidance">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogfBDIEeqAh-edQ6JabA" alias="Initial Frequency" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Frequency">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogfRDIEeqAh-edQ6JabA" alias="Initial Severity" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Severity">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogfhDIEeqAh-edQ6JabA" alias="Initial Criticality" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Criticality">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--ogfxDIEeqAh-edQ6JabA" alias="Initial Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_RiskReduction">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--pHgBDIEeqAh-edQ6JabA" alias="Final Occurence" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Occurence">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--pHgRDIEeqAh-edQ6JabA" alias="Final Avoidance" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Avoidance">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--pHghDIEeqAh-edQ6JabA" alias="Final Frequency" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Frequency">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--pHgxDIEeqAh-edQ6JabA" alias="Final Severity" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Severity">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--pHhBDIEeqAh-edQ6JabA" alias="Final Criticality" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Criticality">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_--pHhRDIEeqAh-edQ6JabA" alias="Final Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_RiskReduction">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
-    </axis>
-  </columnAxisProvidersHistory>
-  <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_--pHhhDIEeqAh-edQ6JabA" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
-  <localRowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_B0QpwBDJEeqAh-edQ6JabA" indexStyle="NUMERIC" displayIndex="false"/>
-  <localColumnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:LocalTableHeaderAxisConfiguration" xmi:id="_A-OZoBDJEeqAh-edQ6JabA" displayIndex="false"/>
-</nattable:Table>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle http://www.eclipse.org/papyrus/nattable/model#//nattablestyle">
+  <nattable:Table xmi:id="_1OAgYBRBEeuI4vzoU026IQ" name="HazardAnalysisTable" currentRowAxisProvider="_1OAgfhRBEeuI4vzoU026IQ" currentColumnAxisProvider="_1OAgYhRBEeuI4vzoU026IQ" tableKindId="org.eclipse.papyrus.robotics.safety.riskanalysis.table.HazardAnalysisTableType">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1OTbUBRBEeuI4vzoU026IQ" source="http://www.eclipse.org/papyrus/infra/nattable/version">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1OTbURRBEeuI4vzoU026IQ" key="version" value="1.3.0"/>
+    </eAnnotations>
+    <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_1OAgYRRBEeuI4vzoU026IQ" name="hiddenCategoriesByDepth">
+      <intListValue>0</intListValue>
+    </styles>
+    <context xmi:type="uml:Interface" href="robotics.thara.uml#_HY8g8OaxEemlT_oHH5awCQ"/>
+    <owner xmi:type="uml:Interface" href="robotics.thara.uml#_HY8g8OaxEemlT_oHH5awCQ"/>
+    <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration#_4sLZQEWIEem1bPXeAqLfZw"/>
+    <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_1OAgYhRBEeuI4vzoU026IQ" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgYxRBEeuI4vzoU026IQ" alias="Skill" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Skill">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_1OAgZBRBEeuI4vzoU026IQ" alias="Hazard">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBDzQEei_1txcmoHe_A"/>
+        <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgZRRBEeuI4vzoU026IQ" alias="Hazard Type" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Hazard">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgZhRBEeuI4vzoU026IQ" alias="Possible Harm" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::PossibleHarm">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgZxRBEeuI4vzoU026IQ" alias="Origin" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Origin">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgaBRBEeuI4vzoU026IQ" alias="Contact Aera" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::ContactAera">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgaRRBEeuI4vzoU026IQ" alias="Hazardous Situation" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::HazardousSituation">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgahRBEeuI4vzoU026IQ" alias="Hazardous Event" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::HazardousEvent">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgaxRBEeuI4vzoU026IQ" alias="Initial Occurence" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Occurence">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgbBRBEeuI4vzoU026IQ" alias="Initial Avoidance" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Avoidance">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgbRRBEeuI4vzoU026IQ" alias="Initial Frequency" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Frequency">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgbhRBEeuI4vzoU026IQ" alias="Initial Severity" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Severity">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgbxRBEeuI4vzoU026IQ" alias="Initial Criticality" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_Criticality">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgcBRBEeuI4vzoU026IQ" alias="Initial Risk Level" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_RiskLevel">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgcRRBEeuI4vzoU026IQ" alias="Initial Design Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_DesignRiskReduction">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgchRBEeuI4vzoU026IQ" alias="Initial Technical Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_TechnicalRiskReduction">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgcxRBEeuI4vzoU026IQ" alias="Initial Organizational Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Initial_OrganizationalRiskReduction">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgdBRBEeuI4vzoU026IQ" alias="Final Occurence" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Occurence">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgdRRBEeuI4vzoU026IQ" alias="Final Avoidance" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Avoidance">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgdhRBEeuI4vzoU026IQ" alias="Final Frequency" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Frequency">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgdxRBEeuI4vzoU026IQ" alias="Final Severity" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Severity">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgeBRBEeuI4vzoU026IQ" alias="Final Criticality" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_Criticality">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgeRRBEeuI4vzoU026IQ" alias="Final Risk Level" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_RiskLevel">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgehRBEeuI4vzoU026IQ" alias="Final Design Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_DesignRiskReduction">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgexRBEeuI4vzoU026IQ" alias="Final Technical Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_TechnicalRiskReduction">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgfBRBEeuI4vzoU026IQ" alias="Final Organizational Risk Reduction" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Final_OrganizationalRiskReduction">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1OAgfRRBEeuI4vzoU026IQ" alias="Comment" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Comment">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+    </columnAxisProvidersHistory>
+    <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_1OAgfhRBEeuI4vzoU026IQ" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
+  </nattable:Table>
+  <nattable:Table xmi:id="_yIOrIBRVEeuNVosEJUzztQ" name="RiskReductionTable" currentRowAxisProvider="_yIOrJRRVEeuNVosEJUzztQ" currentColumnAxisProvider="_yIOrIhRVEeuNVosEJUzztQ" tableKindId="org.eclipse.papyrus.robotics.safety.riskanalysis.table.RiskReductionTableType">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yIfw4BRVEeuNVosEJUzztQ" source="http://www.eclipse.org/papyrus/infra/nattable/version">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yIfw4RRVEeuNVosEJUzztQ" key="version" value="1.3.0"/>
+    </eAnnotations>
+    <styles xmi:type="nattablestyle:IntListValueStyle" xmi:id="_yIOrIRRVEeuNVosEJUzztQ" name="hiddenCategoriesByDepth">
+      <intListValue>0</intListValue>
+    </styles>
+    <context xmi:type="uml:Interface" href="robotics.thara.uml#_HY8g8OaxEemlT_oHH5awCQ"/>
+    <owner xmi:type="uml:Interface" href="robotics.thara.uml#_HY8g8OaxEemlT_oHH5awCQ"/>
+    <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.safety.riskanalysis.table/tableConfiguration/RiskReductionTableType.nattableconfiguration#_4sLZQEWIEem1bPXeAqLfZw"/>
+    <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_yIOrIhRVEeuNVosEJUzztQ" description="This axis provider provides available columns according to the rows of the table (features of the object displayed on the other axis)" name="UML Feature axis provider">
+      <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_yIOrIxRVEeuNVosEJUzztQ" alias="Risk Reduction">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBDzQEei_1txcmoHe_A"/>
+        <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+      </axis>
+      <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_yIOrJBRVEeuNVosEJUzztQ" alias="Description" element="property_of_stereotype:/TaskBasedRiskAnalysis::RiskReduction::Description">
+        <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.uml.nattable/configs/genericTreeTable.nattableconfiguration#_Wa4BBTzQEei_1txcmoHe_A"/>
+      </axis>
+    </columnAxisProvidersHistory>
+    <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_yIOrJRRVEeuNVosEJUzztQ" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
+  </nattable:Table>
+</xmi:XMI>
diff --git a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/templates/robotics.thara.uml b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/templates/robotics.thara.uml
index 59125ff..fecf1a2 100644
--- a/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/templates/robotics.thara.uml
+++ b/plugins/taskbasedriskanalysis/org.eclipse.papyrus.robotics.safety.riskanalysis.wizard/templates/robotics.thara.uml
@@ -1,7 +1,12 @@
 <?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:RiskAnalysis="http://www.eclipse.org/papyrus/robotics/safety/riskanalysis/1" xmlns:bpc="http://www.eclipse.org/papyrus/robotics/bpc/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:robotics.generics="http://www.eclipse.org/papyrus/robotics/generics/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/robotics/generics/1 http://www.eclipse.org/papyrus/robotics/1#//generics">
   <uml:Model xmi:id="_s7EokDqZEemGLPXFKe4Rmw" name="template">
-    <packagedElement xmi:type="uml:Interface" xmi:id="_HY8g8OaxEemlT_oHH5awCQ" name="[modelNameUC]"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_HY8g8OaxEemlT_oHH5awCQ" name="[modelNameUC]">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_TCyoMDooEeuXC9lPn58rfw" name="Hazard"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_TsEOsDooEeuXC9lPn58rfw" name="RiskReduction"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Ulo7ADooEeuXC9lPn58rfw" name="Hazard"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_VRvMADooEeuXC9lPn58rfw" name="RiskReduction"/>
+    </packagedElement>
     <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_JySa4Ey2Eem1-_1aC5o6fw">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JyTB8Ey2Eem1-_1aC5o6fw" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//generics"/>
@@ -44,4 +49,8 @@
     <id xmi:type="bpc:IdMetaData" xmi:id="_LXMjMky2Eem1-_1aC5o6fw" instance_uid="_LXMjMEy2Eem1-_1aC5o6fw"/>
   </robotics.generics:Package>
   <RiskAnalysis:HazardAnalysisContext xmi:id="_arKXYAzjEeqF2u7BghbLPQ" base_Interface="_HY8g8OaxEemlT_oHH5awCQ"/>
+  <RiskAnalysis:HazardAnalysis xmi:id="_TC1EcDooEeuXC9lPn58rfw" base_Property="_TCyoMDooEeuXC9lPn58rfw"/>
+  <RiskAnalysis:RiskReduction xmi:id="_TsGq8DooEeuXC9lPn58rfw" base_Property="_TsEOsDooEeuXC9lPn58rfw"/>
+  <RiskAnalysis:HazardAnalysis xmi:id="_UlslYDooEeuXC9lPn58rfw" base_Property="_Ulo7ADooEeuXC9lPn58rfw"/>
+  <RiskAnalysis:RiskReduction xmi:id="_VRyPUDooEeuXC9lPn58rfw" base_Property="_VRvMADooEeuXC9lPn58rfw"/>
 </xmi:XMI>
diff --git a/plugins/taskbasedriskanalysis/pom.xml b/plugins/taskbasedriskanalysis/pom.xml
index 0e7fb15..6344a50 100644
--- a/plugins/taskbasedriskanalysis/pom.xml
+++ b/plugins/taskbasedriskanalysis/pom.xml
@@ -17,6 +17,7 @@
   
   <modules>
 	<module>org.eclipse.papyrus.robotics.safety.riskanalysis.profile</module>
+	<module>org.eclipse.papyrus.robotics.safety.riskanalysis.property</module>
 	<module>org.eclipse.papyrus.robotics.safety.riskanalysis.table</module>
 	<module>org.eclipse.papyrus.robotics.safety.riskanalysis.ui</module>
 	<module>org.eclipse.papyrus.robotics.safety.riskanalysis.wizard</module>
diff --git a/releng/org.eclipse.papyrus.robotics.safety.riskanalysis.feature/feature.xml b/releng/org.eclipse.papyrus.robotics.safety.riskanalysis.feature/feature.xml
index 2bfbbdd..e9391e4 100644
--- a/releng/org.eclipse.papyrus.robotics.safety.riskanalysis.feature/feature.xml
+++ b/releng/org.eclipse.papyrus.robotics.safety.riskanalysis.feature/feature.xml
@@ -23,13 +23,13 @@
       <import plugin="org.eclipse.emf.ecore"/>
       <import plugin="org.eclipse.uml2.types"/>
       <import plugin="org.eclipse.uml2.uml"/>
+      <import plugin="org.eclipse.papyrus.uml.extensionpoints" version="1.3.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.papyrus.infra.nattable"/>
+      <import plugin="org.eclipse.uml2.uml" version="5.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.ui"/>
       <import plugin="org.polarsys.esf.core.utils" version="0.7.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.transaction"/>
       <import plugin="org.eclipse.papyrus.uml.tools.utils"/>
-      <import plugin="org.eclipse.papyrus.uml.extensionpoints" version="1.3.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.uml2.uml" version="5.5.0" match="greaterOrEqual"/>
    </requires>
 
    <plugin
@@ -60,4 +60,11 @@
          version="0.0.0"
          unpack="false"/>
 
+   <plugin
+         id="org.eclipse.papyrus.robotics.safety.riskanalysis.property"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>